{"_id":"absurd-sdk","_rev":"15-00a0712348fa70619a450674df2bc7d2","name":"absurd-sdk","dist-tags":{"latest":"0.5.0"},"versions":{"0.0.2":{"name":"absurd-sdk","version":"0.0.2","keywords":["absurd","postgresql","queue","task","durable","workflow"],"author":"","license":"Apache-2.0","_id":"absurd-sdk@0.0.2","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"}],"homepage":"https://github.com/earendil-works/absurd#readme","bugs":{"url":"https://github.com/earendil-works/absurd/issues"},"dist":{"shasum":"25ac62d96be71ba4bae14f1e5ba511ee8feec152","tarball":"https://registry.npmjs.org/absurd-sdk/-/absurd-sdk-0.0.2.tgz","fileCount":7,"integrity":"sha512-dDfP1SproNLSMSk5xysqv6tEzi5UCE8NiOaW3bMoRDAdQRsIbGDTKJGbMzMbncZVStqtsnwdqN1NOqeP4VNO7A==","signatures":[{"sig":"MEQCID8NkHcifKUoOKbQdDbldMNW2wDmAvtqN0GnMmzdZqiJAiA4L7SVZBq+wspMQcqo6xJ+X2cyZy8gi07LEO+awMeOVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/absurd-sdk@0.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":65558},"main":"./dist/cjs/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/cjs/index.js"}},"gitHead":"d4813606b3d11f054dcdbd1441559d443f8914c6","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc --project tsconfig.json && tsc --project tsconfig.cjs.json","prepare":"npm run build"},"_npmUser":{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},"repository":{"url":"git+https://github.com/earendil-works/absurd.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for Absurd - PostgreSQL-based durable task execution","directories":{},"_nodeVersion":"20.19.5","dependencies":{"pg":"^8.13.1","typescript":"^5.9.3"},"_hasShrinkwrap":false,"devDependencies":{"@types/pg":"^8.11.10","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/absurd-sdk_0.0.2_1761861077111_0.4818495394774074","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"absurd-sdk","version":"0.0.3","keywords":["absurd","postgresql","queue","task","durable","workflow"],"author":"","license":"Apache-2.0","_id":"absurd-sdk@0.0.3","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"}],"homepage":"https://github.com/earendil-works/absurd#readme","bugs":{"url":"https://github.com/earendil-works/absurd/issues"},"dist":{"shasum":"c19f961300995c4c6a6ef035a363f9851c16e575","tarball":"https://registry.npmjs.org/absurd-sdk/-/absurd-sdk-0.0.3.tgz","fileCount":8,"integrity":"sha512-KTfzXgLeZf2rbWRW7FbvTbLsASOG6bN2822YxgBsgYUEf1WxgE2I7DmBhl1iVVeZbtjnDYKC8eMwG1L2ypq38A==","signatures":[{"sig":"MEUCIEA3bK2FSVEyejO8EmlhybM/be8bthXuPpLxkCeu3N89AiEAs2Uzr2o7lEnE2m4/x+3lBlvNkEavDA3eVNYTSJWJKvk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/absurd-sdk@0.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":65636},"main":"./dist/cjs/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/cjs/index.js"}},"gitHead":"90ace7cb5a159555596404c0bcf9171efce02bb6","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc --project tsconfig.json && tsc --project tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json","prepare":"npm run build"},"_npmUser":{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},"repository":{"url":"git+https://github.com/earendil-works/absurd.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for Absurd - PostgreSQL-based durable task execution","directories":{},"_nodeVersion":"20.19.5","dependencies":{"pg":"^8.13.1","typescript":"^5.9.3"},"_hasShrinkwrap":false,"devDependencies":{"@types/pg":"^8.11.10","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/absurd-sdk_0.0.3_1761878261174_0.313426181759084","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"absurd-sdk","version":"0.0.4","keywords":["absurd","postgresql","queue","task","durable","workflow"],"author":"","license":"Apache-2.0","_id":"absurd-sdk@0.0.4","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"}],"homepage":"https://github.com/earendil-works/absurd#readme","bugs":{"url":"https://github.com/earendil-works/absurd/issues"},"dist":{"shasum":"fce76a5f3e99d593356af3b8c0a2389dda0a8ef2","tarball":"https://registry.npmjs.org/absurd-sdk/-/absurd-sdk-0.0.4.tgz","fileCount":8,"integrity":"sha512-l0q4OJ1dOoBlZgwjtxqE2CKNCx7Zeja7Yj/z/YWTMUb+VVlu9wpKyXUi+x6II09qDqzU0/lz+MnCRP/ur6MOlA==","signatures":[{"sig":"MEUCIQClnDG5xfedgw805DXyuHSf9VLKYLKvq07vB7xq8Fy5pQIgDKDv4J+TXgUXDBJgTe/6auAG018zsvxY5rH8Idr8xCs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/absurd-sdk@0.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":71780},"main":"./dist/cjs/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/cjs/index.js"}},"gitHead":"5a0b9b53554f23621fdb4a8ba4b637d3151a122a","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc --project tsconfig.json && tsc --project tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json","prepare":"npm run build","type-check":"tsc --noEmit"},"_npmUser":{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},"repository":{"url":"git+https://github.com/earendil-works/absurd.git","type":"git"},"_npmVersion":"10.8.2","description":"TypeScript SDK for Absurd - PostgreSQL-based durable task execution","directories":{},"_nodeVersion":"20.19.5","dependencies":{"pg":"^8.13.1","typescript":"^5.9.3"},"_hasShrinkwrap":false,"devDependencies":{"@types/pg":"^8.11.10","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/absurd-sdk_0.0.4_1761999988528_0.9122347561805466","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"absurd-sdk","version":"0.0.5","keywords":["absurd","postgresql","queue","task","durable","workflow"],"author":"","license":"Apache-2.0","_id":"absurd-sdk@0.0.5","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"}],"homepage":"https://github.com/earendil-works/absurd#readme","bugs":{"url":"https://github.com/earendil-works/absurd/issues"},"dist":{"shasum":"b091f70ff50a906ff84646e688013ca55c153a9f","tarball":"https://registry.npmjs.org/absurd-sdk/-/absurd-sdk-0.0.5.tgz","fileCount":8,"integrity":"sha512-kWebSUQHjIiqvvvZC16U3k3qis7aiiRSPqWMj/YpHHnhvULYCZRmjSwWPGdn3QKgrKhQzzWdicNQxZFXKIzJLA==","signatures":[{"sig":"MEUCIEfNx7CVc3Ar9WPY6Avrq6GfrnZOXJpuWJmlmLdxkcDiAiEA9h+bd/odF/jvmauXSzUcTvKF7oWkG5p26hsg2o/Mxys=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92530},"main":"./dist/cjs/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/cjs/index.js"}},"gitHead":"a3c3df76632f4141d7749b1ffae68eeedafd2d8b","scripts":{"docs":"typedoc","test":"vitest --silent --run","build":"tsc --project tsconfig.build.json && tsc --project tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json","prepare":"npm run build","test:ui":"vitest --ui","test:watch":"vitest","type-check":"tsc --noEmit"},"_npmUser":{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},"repository":{"url":"git+https://github.com/earendil-works/absurd.git","type":"git"},"_npmVersion":"11.6.1","description":"TypeScript SDK for Absurd - PostgreSQL-based durable task execution","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.7","typedoc":"^0.28.14","@types/pg":"^8.11.10","typescript":"^5.9.3","@types/node":"^22.10.2","@testcontainers/postgresql":"^11.7.2"},"peerDependencies":{"pg":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/absurd-sdk_0.0.5_1763220420083_0.8000378420202954","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"absurd-sdk","version":"0.0.6","keywords":["absurd","postgresql","queue","task","durable","workflow"],"author":"","license":"Apache-2.0","_id":"absurd-sdk@0.0.6","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"}],"homepage":"https://github.com/earendil-works/absurd#readme","bugs":{"url":"https://github.com/earendil-works/absurd/issues"},"dist":{"shasum":"5618e74b81a3b9f27bca5faa4886ac299a0cd504","tarball":"https://registry.npmjs.org/absurd-sdk/-/absurd-sdk-0.0.6.tgz","fileCount":8,"integrity":"sha512-1omgYJydBi21nn1ll2Z/oxbvbeEyeg0TEHa2GXMa0+ANnP78HxCvJvX76Phd6yhJSO6CGMoaPwyWwVZTb89wfg==","signatures":[{"sig":"MEUCIHJQhXcvztSFHe3ErVvs/8EF03toqB6gjVk8jsYkMzfiAiEAmHHB0ohCM8ORpJlV1W9epX4TUojvOW+odZK43WZhXgQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93062},"main":"./dist/cjs/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/cjs/index.js"}},"gitHead":"625409a1e054055cddbc3baf784a815b287bd255","scripts":{"docs":"typedoc","test":"vitest --silent --run","build":"tsc --project tsconfig.build.json && tsc --project tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json","prepare":"npm run build","test:ui":"vitest --ui","test:watch":"vitest","type-check":"tsc --noEmit"},"_npmUser":{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},"repository":{"url":"git+https://github.com/earendil-works/absurd.git","type":"git"},"_npmVersion":"11.6.2","description":"TypeScript SDK for Absurd - PostgreSQL-based durable task execution","directories":{},"_nodeVersion":"25.0.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.7","typedoc":"^0.28.14","@types/pg":"^8.11.10","typescript":"^5.9.3","@types/node":"^22.10.2","@testcontainers/postgresql":"^11.7.2"},"peerDependencies":{"pg":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/absurd-sdk_0.0.6_1765235248455_0.7954112111757434","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"absurd-sdk","version":"0.0.7","keywords":["absurd","postgresql","queue","task","durable","workflow"],"author":"","license":"Apache-2.0","_id":"absurd-sdk@0.0.7","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"}],"homepage":"https://github.com/earendil-works/absurd#readme","bugs":{"url":"https://github.com/earendil-works/absurd/issues"},"dist":{"shasum":"3bdcc680822ca35498b3b801377db69d4dc32f2f","tarball":"https://registry.npmjs.org/absurd-sdk/-/absurd-sdk-0.0.7.tgz","fileCount":8,"integrity":"sha512-8e+LUdtzLHFMMF5vaVCKfp0aZ21t3aazgVkYUFzhb9kL+/bQkD8Vw68tgEAUz53pT2xfIrScTA9QZXYfC1KDtA==","signatures":[{"sig":"MEUCIQC1YP5L3BLGoxxAWY7Nr4aIdYjtE3fjkgAv3RjtU55Q+wIgXp4NOIwJs99PXXXpm/ZH5zQplGYyE+J9OZ566BsZYLA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/absurd-sdk@0.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":96481},"main":"./dist/cjs/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/cjs/index.js"}},"gitHead":"d68d5dd23a29b45240f156d78ccf98d39ffce744","scripts":{"docs":"typedoc","test":"vitest --silent --run","build":"tsc --project tsconfig.build.json && tsc --project tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json","prepare":"npm run build","test:ui":"vitest --ui","test:watch":"vitest","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eed36fe4-1cc8-4c69-9c06-bc533c75a5c7"}},"repository":{"url":"git+https://github.com/earendil-works/absurd.git","type":"git"},"_npmVersion":"11.6.2","description":"TypeScript SDK for Absurd - PostgreSQL-based durable task execution","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.7","typedoc":"^0.28.14","@types/pg":"^8.11.10","typescript":"^5.9.3","@types/node":"^22.10.2","@testcontainers/postgresql":"^11.7.2"},"peerDependencies":{"pg":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/absurd-sdk_0.0.7_1766445177217_0.040602432218593165","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"absurd-sdk","version":"0.0.8","keywords":["absurd","postgresql","queue","task","durable","workflow"],"author":"","license":"Apache-2.0","_id":"absurd-sdk@0.0.8","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"}],"homepage":"https://github.com/earendil-works/absurd#readme","bugs":{"url":"https://github.com/earendil-works/absurd/issues"},"dist":{"shasum":"b1d72ed33323b08f6d81b5d2fa63f78ce10ec6b4","tarball":"https://registry.npmjs.org/absurd-sdk/-/absurd-sdk-0.0.8.tgz","fileCount":8,"integrity":"sha512-CD9pjm9BlhQrNjoTl9w9DY1loGyjJKt/UXvJV78ImYkUEXR2SH9myrwibLKB6n52uIck/GzlbCwoIWFMm2GexA==","signatures":[{"sig":"MEUCIQDPHXSlLhI0mVW1ktEDoPT3I9J6XTN3yXy6T0aPpM9SuwIgFLFl1q5Aw4LkQOx8aGuZHX7igohiNlMjZwxG/YRT+MM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/absurd-sdk@0.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":96481},"main":"./dist/cjs/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/cjs/index.js"}},"gitHead":"4a8b55d07097e2113463eb680669d229241ed237","scripts":{"docs":"typedoc","test":"vitest --silent --run","build":"tsc --project tsconfig.build.json && tsc --project tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json","prepare":"npm run build","test:ui":"vitest --ui","test:watch":"vitest","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eed36fe4-1cc8-4c69-9c06-bc533c75a5c7"}},"repository":{"url":"git+https://github.com/earendil-works/absurd.git","type":"git"},"_npmVersion":"11.8.0","description":"TypeScript SDK for Absurd - PostgreSQL-based durable task execution","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.7","typedoc":"^0.28.14","@types/pg":"^8.11.10","typescript":"^5.9.3","@types/node":"^22.10.2","@testcontainers/postgresql":"^11.7.2"},"peerDependencies":{"pg":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/absurd-sdk_0.0.8_1772460844924_0.9129488626684024","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"absurd-sdk","version":"0.1.0","keywords":["absurd","postgresql","queue","task","durable","workflow"],"author":"","license":"Apache-2.0","_id":"absurd-sdk@0.1.0","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"}],"homepage":"https://github.com/earendil-works/absurd#readme","bugs":{"url":"https://github.com/earendil-works/absurd/issues"},"dist":{"shasum":"4a0041e368629bb949dd34052dea53ff8f58951e","tarball":"https://registry.npmjs.org/absurd-sdk/-/absurd-sdk-0.1.0.tgz","fileCount":8,"integrity":"sha512-pglAzLAZ9G50U7QZNkPxdSVCvn4ppRs63jXv1Q8unOA65z9fuje4oJItE9WWj3Na0ZrYKht94C1ZNaVtNaGblQ==","signatures":[{"sig":"MEYCIQCzzXDBVKwfVZafdgmkeUcNjQW0MQKujZa8Cj+3gIBvCAIhALS5iEwmJ9eLbfYFMNGcXJb+ZdIZmBWC5wT4PwJi7kfu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/absurd-sdk@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":100708},"main":"./dist/cjs/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/cjs/index.js"}},"gitHead":"339383c00b4c1c946c833739f61589e2b4fb7a1c","scripts":{"docs":"typedoc","test":"node --test --test-concurrency=1 test/*.test.ts","build":"tsc --project tsconfig.build.json && tsc --project tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json","prepare":"npm run build","test:watch":"node --test --test-concurrency=1 --watch test/*.test.ts","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eed36fe4-1cc8-4c69-9c06-bc533c75a5c7"}},"repository":{"url":"git+https://github.com/earendil-works/absurd.git","type":"git"},"_npmVersion":"11.8.0","description":"TypeScript SDK for Absurd - PostgreSQL-based durable task execution","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"devDependencies":{"typedoc":"^0.28.14","@types/pg":"^8.11.10","typescript":"^5.9.3","@types/node":"^22.10.2","@testcontainers/postgresql":"^11.7.2"},"peerDependencies":{"pg":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/absurd-sdk_0.1.0_1772549529033_0.5260436380675932","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"absurd-sdk","version":"0.1.1","keywords":["absurd","postgresql","queue","task","durable","workflow"],"author":"","license":"Apache-2.0","_id":"absurd-sdk@0.1.1","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"}],"homepage":"https://github.com/earendil-works/absurd#readme","bugs":{"url":"https://github.com/earendil-works/absurd/issues"},"dist":{"shasum":"345947c95021b5763db2a51197546e6fd5e64efd","tarball":"https://registry.npmjs.org/absurd-sdk/-/absurd-sdk-0.1.1.tgz","fileCount":8,"integrity":"sha512-M5e0IeboRUaLZQefHMejAOFdbw81uXNRg+ySORcWo5QCzOpzw19q7iwgW808PTdI08ac2O3c1DjqOYUhQAYpOg==","signatures":[{"sig":"MEQCIGg+jjIDsnmII6PbfqgD8VeMGTjWNutU8JCTzsP2+wzfAiBmZQ/o0RZzBm3S1tNsJJY2L01DnIU1XNdQGsThtfyBzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/absurd-sdk@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":102177},"main":"./dist/cjs/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/cjs/index.js"}},"gitHead":"4280a9e12780e9e7248c5c62c9a63e069d3a9d75","scripts":{"docs":"typedoc","test":"node --test --test-concurrency=1 test/*.test.ts","build":"tsc --project tsconfig.build.json && tsc --project tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json","prepare":"npm run build","test:watch":"node --test --test-concurrency=1 --watch test/*.test.ts","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eed36fe4-1cc8-4c69-9c06-bc533c75a5c7"}},"repository":{"url":"git+https://github.com/earendil-works/absurd.git","type":"git"},"_npmVersion":"11.9.0","description":"TypeScript SDK for Absurd - PostgreSQL-based durable task execution","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"typedoc":"^0.28.14","@types/pg":"^8.11.10","typescript":"^5.9.3","@types/node":"^22.10.2","@testcontainers/postgresql":"^11.7.2"},"peerDependencies":{"pg":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/absurd-sdk_0.1.1_1774393814030_0.08639552804313055","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"absurd-sdk","version":"0.2.0","keywords":["absurd","postgresql","queue","task","durable","workflow"],"author":"","license":"Apache-2.0","_id":"absurd-sdk@0.2.0","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"}],"homepage":"https://github.com/earendil-works/absurd#readme","bugs":{"url":"https://github.com/earendil-works/absurd/issues"},"dist":{"shasum":"c4ff6d1a48050f67b86f4baf7451bcc27afdb9c1","tarball":"https://registry.npmjs.org/absurd-sdk/-/absurd-sdk-0.2.0.tgz","fileCount":8,"integrity":"sha512-TmaNUY1wiJHEyKpH8EeSayhTDp8/FvJJ2MYEBueIHDE5TndSwYl0ODemklHUjshcBl/opTsJfvBzR4n7J9zzLQ==","signatures":[{"sig":"MEUCIFjC8ngt9zU4WyWuVRauaXU5Va2clvHFEZGWeClu38mGAiEAsr+seY8cxtOGDVRgBelX1U5L7YmYFYqeIX4OFqGAcUc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/absurd-sdk@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":105498},"main":"./dist/cjs/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/cjs/index.js"}},"gitHead":"d8c83e82050f124395b0096cfee95407c6bd3138","scripts":{"docs":"typedoc","test":"node --test --test-concurrency=1 test/*.test.ts","build":"tsc --project tsconfig.build.json && tsc --project tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json","prepare":"npm run build","test:watch":"node --test --test-concurrency=1 --watch test/*.test.ts","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eed36fe4-1cc8-4c69-9c06-bc533c75a5c7"}},"repository":{"url":"git+https://github.com/earendil-works/absurd.git","type":"git"},"_npmVersion":"11.9.0","description":"TypeScript SDK for Absurd - PostgreSQL-based durable task execution","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"typedoc":"^0.28.14","@types/pg":"^8.11.10","typescript":"^5.9.3","@types/node":"^22.10.2","@testcontainers/postgresql":"^11.7.2"},"peerDependencies":{"pg":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/absurd-sdk_0.2.0_1774552405131_0.15368998978233184","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"absurd-sdk","version":"0.3.0","keywords":["absurd","postgresql","queue","task","durable","workflow"],"author":"","license":"Apache-2.0","_id":"absurd-sdk@0.3.0","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"}],"homepage":"https://github.com/earendil-works/absurd#readme","bugs":{"url":"https://github.com/earendil-works/absurd/issues"},"dist":{"shasum":"52f7b0282dce60492c4f68ef2e5e20baea18925b","tarball":"https://registry.npmjs.org/absurd-sdk/-/absurd-sdk-0.3.0.tgz","fileCount":8,"integrity":"sha512-lejJ8x91bi43v/vYyqF0rbvsBMwKn100bDoeWDUe1Nu6dRDrNoMKIAoBdhmjrPVFrTxOVepMNtNoeh5GcigkZg==","signatures":[{"sig":"MEUCIF8EATYPA5yq8fkagAQo5io092ofxBLeb6Dnof4l8hTYAiEA4aP5vb+Z3Ft9LeH1JbdVTFjgEEBoL0fJlRoCnNaqK+8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/absurd-sdk@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":125190},"main":"./dist/cjs/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/cjs/index.js"}},"gitHead":"cdca473a40d9817c3987c55cb796f9dc4f4ad22e","scripts":{"docs":"typedoc","test":"node --test --test-concurrency=1 test/*.test.ts","build":"tsc --project tsconfig.build.json && tsc --project tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json","prepare":"npm run build","test:watch":"node --test --test-concurrency=1 --watch test/*.test.ts","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eed36fe4-1cc8-4c69-9c06-bc533c75a5c7"}},"repository":{"url":"git+https://github.com/earendil-works/absurd.git","type":"git"},"_npmVersion":"11.9.0","description":"TypeScript SDK for Absurd - PostgreSQL-based durable task execution","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"typedoc":"^0.28.14","@types/pg":"^8.11.10","typescript":"^5.9.3","@types/node":"^22.10.2","@testcontainers/postgresql":"^11.7.2"},"peerDependencies":{"pg":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/absurd-sdk_0.3.0_1775167809209_0.7064206528502819","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"absurd-sdk","version":"0.4.0","keywords":["absurd","postgresql","queue","task","durable","workflow"],"author":"","license":"Apache-2.0","_id":"absurd-sdk@0.4.0","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/earendil-works/absurd#readme","bugs":{"url":"https://github.com/earendil-works/absurd/issues"},"dist":{"shasum":"9c1c3bc81ca6ae9bb1bcfc084f0f48e4bebe186e","tarball":"https://registry.npmjs.org/absurd-sdk/-/absurd-sdk-0.4.0.tgz","fileCount":8,"integrity":"sha512-vUqaC8HaLi/LMNDzRDveyaiBJF6owt3VfY90jhbD/E29ec4p9GeDRNe6ZQJ5Jc7eJcQV7+2bC0V+FkAImrW8Dw==","signatures":[{"sig":"MEYCIQD7RZYRAyhSuWLkkwyMhApa78n9ifNSaj+74Hcf5w8FNQIhAOibfhCE38j9UjmeX98YWUwP4X1WZTib0VYjUAk6gwsr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/absurd-sdk@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":141975},"main":"./dist/cjs/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/cjs/index.js"}},"gitHead":"05282a40c8dddc378acdc6933adc4c221583808a","scripts":{"docs":"typedoc","test":"node --test --test-concurrency=1 test/*.test.ts","build":"tsc --project tsconfig.build.json && tsc --project tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json","prepare":"npm run build","test:watch":"node --test --test-concurrency=1 --watch test/*.test.ts","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eed36fe4-1cc8-4c69-9c06-bc533c75a5c7"}},"repository":{"url":"git+https://github.com/earendil-works/absurd.git","type":"git"},"_npmVersion":"11.12.1","description":"TypeScript SDK for Absurd - PostgreSQL-based durable task execution","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"typedoc":"^0.28.14","@types/pg":"^8.11.10","typescript":"^5.9.3","@types/node":"^22.10.2","@testcontainers/postgresql":"^11.7.2"},"peerDependencies":{"pg":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/absurd-sdk_0.4.0_1779883610271_0.9165083463366819","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"absurd-sdk","version":"0.5.0","description":"TypeScript SDK for Absurd - PostgreSQL-based durable task execution","type":"module","main":"./dist/cjs/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/cjs/index.js"}},"scripts":{"build":"tsc --project tsconfig.build.json && tsc --project tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json","type-check":"tsc --noEmit","prepare":"npm run build","test":"node --test --test-concurrency=1 test/*.test.ts","test:watch":"node --test --test-concurrency=1 --watch test/*.test.ts","docs":"typedoc"},"keywords":["absurd","postgresql","queue","task","durable","workflow"],"repository":{"type":"git","url":"git+https://github.com/earendil-works/absurd.git"},"author":"","license":"Apache-2.0","peerDependencies":{"pg":"^8.0.0"},"devDependencies":{"@testcontainers/postgresql":"^11.7.2","@types/node":"^22.10.2","@types/pg":"^8.11.10","typedoc":"^0.28.14","typescript":"^5.9.3"},"engines":{"node":">=18.0.0"},"gitHead":"550d3b9e6f9382d96178de6ab8c90c7f8edf2227","_id":"absurd-sdk@0.5.0","bugs":{"url":"https://github.com/earendil-works/absurd/issues"},"homepage":"https://github.com/earendil-works/absurd#readme","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-/FG9iDNt9Ujnbz5XVkBoNKRGf73fiJ+lrg54Dy3ol3T1RBRwExtzNWgI5LPMjU5/e+hYlGd9g152Vq2YniZr6A==","shasum":"dad63dc6be07cbbadbd2574d2a94680d5df6cbdb","tarball":"https://registry.npmjs.org/absurd-sdk/-/absurd-sdk-0.5.0.tgz","fileCount":8,"unpackedSize":142200,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/absurd-sdk@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAGSPkCfnODMLDTW6aSeLQxiCv+lXX9B/QwZGX+yLa79AiEAoAr4ROcqgf6/wHzdmeZ4qXy7hZHwyubQoI59xQDIRPo="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eed36fe4-1cc8-4c69-9c06-bc533c75a5c7"}},"directories":{},"maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},{"name":"badlogic","email":"mario@badlogicgames.com"},{"name":"rwachtler","email":"r.wachtler@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/absurd-sdk_0.5.0_1785848819181_0.8476797232126223"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-30T21:51:16.976Z","modified":"2026-08-04T13:06:59.721Z","0.0.2":"2025-10-30T21:51:17.323Z","0.0.3":"2025-10-31T02:37:41.379Z","0.0.4":"2025-11-01T12:26:28.784Z","0.0.5":"2025-11-15T15:27:00.269Z","0.0.6":"2025-12-08T23:07:28.628Z","0.0.7":"2025-12-22T23:12:57.405Z","0.0.8":"2026-03-02T14:14:05.084Z","0.1.0":"2026-03-03T14:52:09.168Z","0.1.1":"2026-03-24T23:10:14.166Z","0.2.0":"2026-03-26T19:13:25.283Z","0.3.0":"2026-04-02T22:10:09.362Z","0.4.0":"2026-05-27T12:06:50.449Z","0.5.0":"2026-08-04T13:06:59.315Z"},"bugs":{"url":"https://github.com/earendil-works/absurd/issues"},"license":"Apache-2.0","homepage":"https://github.com/earendil-works/absurd#readme","keywords":["absurd","postgresql","queue","task","durable","workflow"],"repository":{"type":"git","url":"git+https://github.com/earendil-works/absurd.git"},"description":"TypeScript SDK for Absurd - PostgreSQL-based durable task execution","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},{"name":"badlogic","email":"mario@badlogicgames.com"},{"name":"rwachtler","email":"r.wachtler@outlook.com"}],"readme":"# Absurd SDK for TypeScript\n\nTypeScript SDK for [Absurd](https://github.com/earendil-works/absurd): a PostgreSQL-based durable task execution system.\n\nAbsurd is the simplest durable execution workflow system you can think of. It's entirely based on Postgres and nothing else. It's almost as easy to use as a queue, but it handles scheduling and retries, and it does all of that without needing any other services to run in addition to Postgres.\n\n**Warning:** _this is an early experiment and should not be used in production._\n\n## What is Durable Execution?\n\nDurable execution (or durable workflows) is a way to run long-lived, reliable functions that can survive crashes, restarts, and network failures without losing state or duplicating work. Instead of running your logic in memory, a durable execution system decomposes a task into smaller pieces (step functions) and records every step and decision.\n\n## Installation\n\n```bash\nnpm install absurd-sdk\n```\n\nExamples in this README are intended to run directly on modern Node.js with\nnative TypeScript type stripping. No transpilation step is required.\n\n## Prerequisites\n\nBefore using the SDK, you need to initialize Absurd in your PostgreSQL database:\n\n```bash\n# One-off usage\nuvx absurdctl init -d your-database-name\nuvx absurdctl create-queue -d your-database-name default\n\n# Or install it once\nuv tool install absurdctl\nabsurdctl init -d your-database-name\nabsurdctl create-queue -d your-database-name default\n```\n\nSee the [absurdctl docs](https://earendil-works.github.io/absurd/tools/absurdctl/) for installation details and\nthe full CLI reference, including\n[`uvx`](https://docs.astral.sh/uv/guides/tools/) usage.\n\n## Quick Start\n\nIf you omit `db`, the client uses `ABSURD_DATABASE_URL`, then `PGDATABASE`,\nthen `postgresql://localhost/absurd`.\n\n```typescript\nimport { Absurd } from \"absurd-sdk\";\n\nconst app = new Absurd({ db: \"postgresql://localhost/mydb\" });\n\n// Register a task\napp.registerTask({ name: \"order-fulfillment\" }, async (params, ctx) => {\n  // Each step is checkpointed, so if the process crashes, we resume\n  // from the last completed step\n  const payment = await ctx.step(\"process-payment\", async () => {\n    return { paymentId: `pay-${params.orderId}`, amount: params.amount };\n  });\n\n  const inventory = await ctx.step(\"reserve-inventory\", async () => {\n    return { reservedItems: params.items };\n  });\n\n  // Wait for an event - the task suspends until the event arrives\n  const shipment = await ctx.awaitEvent(`shipment.packed:${params.orderId}`);\n\n  await ctx.step(\"send-notification\", async () => {\n    return { sentTo: params.email, trackingNumber: shipment.trackingNumber };\n  });\n\n  return {\n    orderId: params.orderId,\n    payment,\n    inventory,\n    trackingNumber: shipment.trackingNumber,\n  };\n});\n\n// Start a worker that pulls tasks from Postgres\nawait app.startWorker();\n```\n\n## Spawning Tasks\n\n```typescript\n// Spawn a task - it will be executed durably with automatic retries\nawait app.spawn(\"order-fulfillment\", {\n  orderId: \"42\",\n  amount: 9999,\n  items: [\"widget-1\", \"gadget-2\"],\n  email: \"customer@example.com\",\n});\n```\n\nIf the task is not registered in this process, pass `options.queue` explicitly.\nFor unregistered tasks, defaults from `registerTask(...)` are unavailable;\nspawn options (or client defaults) are used.\n\n## Task Result Snapshots\n\nYou can inspect or wait for a task's terminal result:\n\n```typescript\nconst snapshot = await app.fetchTaskResult(taskID);\n// { state: \"pending\" } | { state: \"running\" } | { state: \"sleeping\" }\n// { state: \"completed\", result: ... }\n// { state: \"failed\", failure: ... }\n// { state: \"cancelled\" }\n\nconst final = await app.awaitTaskResult(taskID, { timeout: 30 });\n```\n\nInside a task, you can also wait for child tasks durably:\n\n```typescript\nconst child = await app.spawn(\"child-task\", {}, { queue: \"child-workers\" });\nconst childResult = await ctx.awaitTaskResult(child.taskID, {\n  queue: \"child-workers\",\n  timeout: 30,\n});\n```\n\n## Emitting Events\n\n```typescript\n// Emit an event that a suspended task might be waiting for\nawait app.emitEvent(\"shipment.packed:42\", {\n  trackingNumber: \"TRACK123\",\n});\n```\n\n## Idempotency Keys\n\nUse the task ID to derive idempotency keys for external APIs:\n\n```typescript\nconst payment = await ctx.step(\"process-payment\", async () => {\n  const idempotencyKey = `${ctx.taskID}:payment`;\n  return { idempotencyKey, amount: params.amount };\n});\n```\n\n## Decomposed Steps\n\nIf you need explicit before/after control, split `step()` into two calls:\n\n```typescript\nconst handle = await ctx.beginStep<{ messages: any[] }>(\"agent-turn\");\n\nlet messages: any[];\nif (handle.done) {\n  // `handle.state` is fully typed when done=true.\n  messages = handle.state.messages;\n} else {\n  messages = [{ role: \"assistant\", content: \"hello\" }];\n  await ctx.completeStep(handle, { messages });\n}\n```\n\nThis is useful when integrating with event-driven loops (for example agent\nruntimes) where the checkpoint boundary is not a single inline callback.\n\n## License and Links\n\n- [Examples](https://github.com/earendil-works/absurd/tree/main/sdks/typescript/examples)\n- [Issue Tracker](https://github.com/earendil-works/absurd/issues)\n- License: [Apache-2.0](https://github.com/earendil-works/absurd/blob/main/LICENSE)\n","readmeFilename":"README.md"}