{"_id":"pi-scheduler-core","_rev":"57-c3eeae3ceb2694ab5307347bb2fbfded","name":"pi-scheduler-core","dist-tags":{"latest":"0.4.0"},"versions":{"0.1.0":{"name":"pi-scheduler-core","version":"0.1.0","keywords":["scheduler","agent","automation","pi","task-runner"],"license":"MIT","_id":"pi-scheduler-core@0.1.0","maintainers":[{"name":"rckflr","email":"mauricio.perera@gmail.com"}],"dist":{"shasum":"51f1cf6ae57eeef4cb3a0599384573987c4688da","tarball":"https://registry.npmjs.org/pi-scheduler-core/-/pi-scheduler-core-0.1.0.tgz","fileCount":38,"integrity":"sha512-3agjMpgt1N59/U5yR6C/cHBCrUiZ9tA9k14oelIpIlvE8COGV5VMvLwNO3CXvJ0aXsHq25hv6TEdn26wk5LB5w==","signatures":[{"sig":"MEYCIQCWz9UFqktkmFWVZ0pXVz3LxuplzoVWG4t6NpmSTEdFUwIhAPy+FaTlR6U1NLBToAELFz8/W4fadCbSzZu1PC91UwJh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90435},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"9ac1dc1a837dc4632d5075f96e0a60bb942468b5","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","test:coverage":"vitest --run --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"rckflr","email":"mauricio.perera@gmail.com"},"deprecated":"Upgrade to 0.2.8 — includes security hardening, spawn migration, automation crash recovery, and event-loop fix","_npmVersion":"11.12.1","description":"Motor de scheduling persistente para agentes de IA. Zero dependencies.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.12.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-scheduler-core_0.1.0_1778977310713_0.6615215841737416","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"pi-scheduler-core","version":"0.1.1","keywords":["scheduler","agent","automation","pi","task-runner"],"license":"MIT","_id":"pi-scheduler-core@0.1.1","maintainers":[{"name":"rckflr","email":"mauricio.perera@gmail.com"}],"dist":{"shasum":"a5e8a2ba3e16022863f12048741c5d72f78d1e3e","tarball":"https://registry.npmjs.org/pi-scheduler-core/-/pi-scheduler-core-0.1.1.tgz","fileCount":38,"integrity":"sha512-oRc+2fJnU6wWbwhwvXIOoBnUyphLBoi5OZ00EFbur/8Z4InW4MmhCUV4jozZdAFanwxmDlNupYP8q1Ef0xnKGw==","signatures":[{"sig":"MEYCIQCpn3rhj47rQ8/J7z++XynCVnwjUnqET0WM7HM4/FgxNQIhAIZsgaMiPAlX/lCJPuXnwa+3spUtyBhQuHdHgaHNMPW9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93036},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"bee236aec2d939cdaab719231c16eb7533516a78","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","test:coverage":"vitest --run --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"rckflr","email":"mauricio.perera@gmail.com"},"deprecated":"Upgrade to 0.2.8 — includes security hardening, spawn migration, automation crash recovery, and event-loop fix","_npmVersion":"11.12.1","description":"Motor de scheduling persistente para agentes de IA. Zero dependencies.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.12.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-scheduler-core_0.1.1_1778980437970_0.46314712131502156","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"pi-scheduler-core","version":"0.1.2","keywords":["scheduler","agent","automation","pi","task-runner"],"license":"MIT","_id":"pi-scheduler-core@0.1.2","maintainers":[{"name":"rckflr","email":"mauricio.perera@gmail.com"}],"dist":{"shasum":"dab2bd71697bc3295c99fe67e5d8d3bf64a8a22a","tarball":"https://registry.npmjs.org/pi-scheduler-core/-/pi-scheduler-core-0.1.2.tgz","fileCount":38,"integrity":"sha512-/6mwXFnNmfqaYD7GRwfUKXN0G5bYxW/yszx5F2gurOgO/wHH8J/SUXpdA3qclMm6jyp1twGnYjGMnmYkt6ye2Q==","signatures":[{"sig":"MEYCIQC2n67Oq8729Le6pdOSZEdN1RqWxIDDjVHgsO8EHuqMuAIhAKwLMTaEisB0dJBkrluQ9tXwa5HHqOrSuF9xYrs/dRbo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94130},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"293e9be3679c07970e027e75fee0c152f732d1c3","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","test:coverage":"vitest --run --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"rckflr","email":"mauricio.perera@gmail.com"},"deprecated":"Upgrade to 0.2.8 — includes security hardening, spawn migration, automation crash recovery, and event-loop fix","_npmVersion":"11.12.1","description":"Motor de scheduling persistente para agentes de IA. Zero dependencies.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.12.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-scheduler-core_0.1.2_1778982164736_0.8097638286380995","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"pi-scheduler-core","version":"0.1.3","keywords":["scheduler","agent","automation","pi","task-runner"],"license":"MIT","_id":"pi-scheduler-core@0.1.3","maintainers":[{"name":"rckflr","email":"mauricio.perera@gmail.com"}],"dist":{"shasum":"409fa69c14239ec4c1669fb0f9d2a6a7ad433e67","tarball":"https://registry.npmjs.org/pi-scheduler-core/-/pi-scheduler-core-0.1.3.tgz","fileCount":38,"integrity":"sha512-vMnk2KXJjtC/P2E3t+RLoI1J2SrL+UdV8Sb+9UjGmH9FXdRs1lTomOjoi/AVWnAOkAiVQ9QIQImJmd24l16yXw==","signatures":[{"sig":"MEYCIQC8wkmB60Ap1Z/Ac779h4i+WmLtkvh6RMvL0v1yTuuiRQIhAIPbo91YIfWMSDK3ORvkUQlfYGq6H06F5PWoPN4Z+JRP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94130},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"89e9a35846d5566979c51c065613954c8b989f97","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","test:coverage":"vitest --run --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"rckflr","email":"mauricio.perera@gmail.com"},"deprecated":"Upgrade to 0.2.8 — includes security hardening, spawn migration, automation crash recovery, and event-loop fix","_npmVersion":"11.12.1","description":"Motor de scheduling persistente para agentes de IA. Zero dependencies.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.12.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-scheduler-core_0.1.3_1778983044828_0.5174766283049965","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"pi-scheduler-core","version":"0.1.4","keywords":["scheduler","agent","automation","pi","task-runner"],"license":"MIT","_id":"pi-scheduler-core@0.1.4","maintainers":[{"name":"rckflr","email":"mauricio.perera@gmail.com"}],"dist":{"shasum":"4736e502dd3e0aa82e58adae070936ba77e7051a","tarball":"https://registry.npmjs.org/pi-scheduler-core/-/pi-scheduler-core-0.1.4.tgz","fileCount":38,"integrity":"sha512-5n2KPw5Ly5LZACKYVjsnsRKaDb8oxcL7SOLh2FdZQ4FvnGDMHy2UnmN2kYfnG2CuT0IUNXV78ZHWID5Q3sBorg==","signatures":[{"sig":"MEYCIQDX2kYKF8tWITGs4ZCHGtXyKnmRvBynoIWFruep7g5LiAIhAISkUJYBhB50O0KcOVd6qqokCLXodFVThF8Oy/bhrqR0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94320},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1412ea7646f7bca12a9dc943348ff03869c6b3e7","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","test:coverage":"vitest --run --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"rckflr","email":"mauricio.perera@gmail.com"},"deprecated":"Upgrade to 0.2.8 — includes security hardening, spawn migration, automation crash recovery, and event-loop fix","_npmVersion":"11.12.1","description":"Motor de scheduling persistente para agentes de IA. Zero dependencies.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.12.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-scheduler-core_0.1.4_1778983306684_0.7553314327447","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"pi-scheduler-core","version":"0.1.5","keywords":["scheduler","agent","automation","pi","task-runner"],"license":"MIT","_id":"pi-scheduler-core@0.1.5","maintainers":[{"name":"rckflr","email":"mauricio.perera@gmail.com"}],"dist":{"shasum":"010ebea27ba2184a3fcd930c91b396955a4698d8","tarball":"https://registry.npmjs.org/pi-scheduler-core/-/pi-scheduler-core-0.1.5.tgz","fileCount":38,"integrity":"sha512-geByzhmtCovh4WUzRifp02hX7KHWJRT8l/aMxOfReSXR8TBXIhD2FEds4grnvfJ23eBd0Y0v5iGtL4CLGogr+w==","signatures":[{"sig":"MEUCIAT1hp7O5nHkt6YxuFmq/9PTUG9Z/GMsu5a2O9JOD2aDAiEAkeAhyuVsdZkd+uSWFOu5nAEdeHMLGou726H0v+XigyQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99408},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"96e29723a3249359cebe7ff4b2198f762daae1ab","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","test:coverage":"vitest --run --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"rckflr","email":"mauricio.perera@gmail.com"},"deprecated":"Upgrade to 0.2.8 — includes security hardening, spawn migration, automation crash recovery, and event-loop fix","_npmVersion":"11.12.1","description":"Motor de scheduling persistente para agentes de IA. Zero dependencies.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.12.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-scheduler-core_0.1.5_1778985151171_0.434303273563865","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"pi-scheduler-core","version":"0.1.6","keywords":["scheduler","agent","automation","pi","task-runner"],"license":"MIT","_id":"pi-scheduler-core@0.1.6","maintainers":[{"name":"rckflr","email":"mauricio.perera@gmail.com"}],"dist":{"shasum":"6258d432af71d2d1a8039323eb35bf80bf269c8a","tarball":"https://registry.npmjs.org/pi-scheduler-core/-/pi-scheduler-core-0.1.6.tgz","fileCount":38,"integrity":"sha512-e6ig0dI9R0coYGUxwWXcBcIrX1DOZ/HoQsQHvbc2BZ77yrajezMm7iwo5irAtaD+jZPVFKKPa9CR8Rx/dyMAdw==","signatures":[{"sig":"MEUCIGqKEsNyvily9coAGTkGCmLrTL/oUiTWeb67Gaekb5vbAiEA0nY4X7WpwEUZ6eCuH+cw6iEOZvvpsUWZCyS5tys8BBw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99408},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"2d30aa9771874a49cf0b600a0f58be7c0488e2b8","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","test:coverage":"vitest --run --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"rckflr","email":"mauricio.perera@gmail.com"},"deprecated":"Upgrade to 0.2.8 — includes security hardening, spawn migration, automation crash recovery, and event-loop fix","_npmVersion":"11.12.1","description":"Motor de scheduling persistente para agentes de IA. Zero dependencies.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.12.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-scheduler-core_0.1.6_1778985781242_0.1561172545373406","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"pi-scheduler-core","version":"0.2.0","keywords":["scheduler","agent","automation","pi","task-runner"],"license":"MIT","_id":"pi-scheduler-core@0.2.0","maintainers":[{"name":"rckflr","email":"mauricio.perera@gmail.com"}],"dist":{"shasum":"7d7d9da593d67269b2a979caa9a7947998bf0f59","tarball":"https://registry.npmjs.org/pi-scheduler-core/-/pi-scheduler-core-0.2.0.tgz","fileCount":38,"integrity":"sha512-gGORcDa6qQO8OSkhB+f5LwGAoOEWxyCdFLmNv0PjTr6QpPQ/SwDKhpp4YA0SXpMxAi8zSWlEUUJqHWwSOVsFiA==","signatures":[{"sig":"MEUCIQDZb+D7VeBkOy3KlwQ0lXi+9OGr498CSPPP7yg1n9nungIgCQ9nQvwA0KMBphhuF0dmsLEJ/SEQolRvz6kWJp7Qa9I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99408},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"70dca4b56317ce671197603a781b7d558c46b1be","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","test:coverage":"vitest --run --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"rckflr","email":"mauricio.perera@gmail.com"},"deprecated":"Upgrade to 0.2.8 — includes security hardening, spawn migration, automation crash recovery, and event-loop fix","_npmVersion":"11.12.1","description":"Motor de scheduling persistente para agentes de IA. Zero dependencies.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.12.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-scheduler-core_0.2.0_1778986176159_0.3300593384037196","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"pi-scheduler-core","version":"0.2.1","keywords":["scheduler","agent","automation","pi","task-runner"],"license":"MIT","_id":"pi-scheduler-core@0.2.1","maintainers":[{"name":"rckflr","email":"mauricio.perera@gmail.com"}],"dist":{"shasum":"97b52a3190d1fe9edbde0494dcb3131d71cf4d56","tarball":"https://registry.npmjs.org/pi-scheduler-core/-/pi-scheduler-core-0.2.1.tgz","fileCount":38,"integrity":"sha512-nkhGpGKgOIr2VfxPIPIhdyTB9f2eCA2JOpIdi8xJhC+uZcCSrbWDqqiHVhDVE406iM0PL9ELrt1LSW09Ur4kFw==","signatures":[{"sig":"MEQCIFWiaxCMJ32ALEc1gDH+STtngBdrwcumcOcEx9V6JKNpAiAYeZ/5zmuzZ6c4gUaxTMmIxGSHwITWuNVtKkR9wl3rtg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99408},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e52ef23dff1bfd7711af360039e173d8e6569be7","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","test:coverage":"vitest --run --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"rckflr","email":"mauricio.perera@gmail.com"},"deprecated":"Upgrade to 0.2.8 — includes security hardening, spawn migration, automation crash recovery, and event-loop fix","_npmVersion":"11.12.1","description":"Motor de scheduling persistente para agentes de IA. Zero dependencies.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.12.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-scheduler-core_0.2.1_1778986335342_0.197460031794233","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"pi-scheduler-core","version":"0.2.2","keywords":["scheduler","agent","automation","pi","task-runner"],"license":"MIT","_id":"pi-scheduler-core@0.2.2","maintainers":[{"name":"rckflr","email":"mauricio.perera@gmail.com"}],"dist":{"shasum":"78f672c017c5c26a65225ccdbc64ef825cb3cb3c","tarball":"https://registry.npmjs.org/pi-scheduler-core/-/pi-scheduler-core-0.2.2.tgz","fileCount":38,"integrity":"sha512-HIYQ3bL7xOpPFhBqYU5LFoDnk0TsNTnM221Mbuv5540Y/WhYQRXrCanYCBD+/G+MBXhYjoZLIHJwnfhNCb/uJg==","signatures":[{"sig":"MEUCIDfqb41Md3RE45yj6NzusSGCLsDOb+C0fXYvbeRJzErHAiEAnAvxAabLyf+jGfIATWMPpGY4mJ+GK54QFJN7t+PfnPc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100789},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"4a462f99ed584221090bf8b0a5d656a740f6db19","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","test:coverage":"vitest --run --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"rckflr","email":"mauricio.perera@gmail.com"},"deprecated":"Upgrade to 0.2.8 — includes security hardening, spawn migration, automation crash recovery, and event-loop fix","_npmVersion":"11.12.1","description":"Motor de scheduling persistente para agentes de IA. Zero dependencies.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.12.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-scheduler-core_0.2.2_1778986989450_0.6461258652619477","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"pi-scheduler-core","version":"0.2.3","keywords":["scheduler","agent","automation","pi","task-runner"],"license":"MIT","_id":"pi-scheduler-core@0.2.3","maintainers":[{"name":"rckflr","email":"mauricio.perera@gmail.com"}],"dist":{"shasum":"c21c435c53da627c4c39982a101b43f626d6b3df","tarball":"https://registry.npmjs.org/pi-scheduler-core/-/pi-scheduler-core-0.2.3.tgz","fileCount":38,"integrity":"sha512-61EDo5CItZs7Ir42V5Xoo9+4eSzWq7ioTK70xQjDBkCOnJ3jTwGRdDF1YFyUB2KVbRqHMMW70ToO59Ib5Blh0A==","signatures":[{"sig":"MEUCIArUfL3knf7e8HSykS7mJ7opAFSce8T9nFvirj+DCkB3AiEA2b1JF0Ct+5gBg3XpgDltIOZnnzbt0vrc7rhIVqoR8js=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103977},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"4b09bccb607bea219f27ba8f1c2722383b65aaae","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","test:coverage":"vitest --run --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"rckflr","email":"mauricio.perera@gmail.com"},"deprecated":"Upgrade to 0.2.8 — includes security hardening, spawn migration, automation crash recovery, and event-loop fix","_npmVersion":"11.12.1","description":"Motor de scheduling persistente para agentes de IA. Zero dependencies.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.12.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-scheduler-core_0.2.3_1778988073747_0.10932301655262888","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"pi-scheduler-core","version":"0.2.4","keywords":["scheduler","agent","automation","pi","task-runner"],"license":"MIT","_id":"pi-scheduler-core@0.2.4","maintainers":[{"name":"rckflr","email":"mauricio.perera@gmail.com"}],"dist":{"shasum":"0c6fb2bd068887599cb78c211cc433d8cd975d7a","tarball":"https://registry.npmjs.org/pi-scheduler-core/-/pi-scheduler-core-0.2.4.tgz","fileCount":38,"integrity":"sha512-LuoTVpYZnjLW/iaAZRiLecyIn60PYZeDJk/nAT3FEj/afTkfMScqHcRJbIMhCJiD8VeXamZFK4pfYxDk/E6jQw==","signatures":[{"sig":"MEUCIQDagYfacrYUvC8yTxLTMiWf3PHEtFPpVtVuc9BOYPnvMwIgP0DJQMVWRU0wfCQo9jqsf0O46Cb+Zkt448ZdEIqloJU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104578},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"79b333d3403a7e7ebf4bec67e5b0a917edcfe86c","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","test:coverage":"vitest --run --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"rckflr","email":"mauricio.perera@gmail.com"},"deprecated":"Upgrade to 0.2.8 — includes security hardening, spawn migration, automation crash recovery, and event-loop fix","_npmVersion":"11.12.1","description":"Motor de scheduling persistente para agentes de IA. Zero dependencies.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.12.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-scheduler-core_0.2.4_1778988443731_0.49573381241689884","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"pi-scheduler-core","version":"0.2.5","keywords":["scheduler","agent","automation","pi","task-runner"],"license":"MIT","_id":"pi-scheduler-core@0.2.5","maintainers":[{"name":"rckflr","email":"mauricio.perera@gmail.com"}],"dist":{"shasum":"3ab28d654f8347e9436f98b6f7a5b0b579e24df1","tarball":"https://registry.npmjs.org/pi-scheduler-core/-/pi-scheduler-core-0.2.5.tgz","fileCount":38,"integrity":"sha512-dLcrzsWZDzS2kDlYulMJEh1MSzSh1EDhdbGHpNCxBFW07CUJpUV3WoM/927si4nmKpoFU+fFV078VU2vRd17Kg==","signatures":[{"sig":"MEUCIQDE0RSw6pC6G8zWVr/r1jy/YqTPxuvLjfiJPH2d7j1LBAIgEWuM5hzHg4yceEa4DNdt4GYWcIQpD2lHJEEIdTUnWZg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112685},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a0372197be9154b62778417fd9278eab8b74b402","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","test:coverage":"vitest --run --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"rckflr","email":"mauricio.perera@gmail.com"},"deprecated":"Upgrade to 0.2.8 — includes security hardening, spawn migration, automation crash recovery, and event-loop fix","_npmVersion":"11.12.1","description":"Motor de scheduling persistente para agentes de IA. Zero dependencies.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.12.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-scheduler-core_0.2.5_1778989547028_0.02822636684911628","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"pi-scheduler-core","version":"0.2.6","keywords":["scheduler","agent","automation","pi","task-runner"],"license":"MIT","_id":"pi-scheduler-core@0.2.6","maintainers":[{"name":"rckflr","email":"mauricio.perera@gmail.com"}],"dist":{"shasum":"35ae9a663a4523c8e9398e83216e7ffb16d2bb3e","tarball":"https://registry.npmjs.org/pi-scheduler-core/-/pi-scheduler-core-0.2.6.tgz","fileCount":38,"integrity":"sha512-RlUZaaKKHOSO8lPF3PPe5jdI4hex3XAOLmj7+c6fVkSfhwN9KWmwgTELH3OJnBZjM96Odn1OvFbGBIlBe09bJw==","signatures":[{"sig":"MEUCIQDWm/fp73HJhBhoL62EIywPLlwerc6XZYnSWd3SteIpggIgXCSode2SJoHAJjB0Ywz2y57YoTpEQnCItq/3kqCS1MU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":113677},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"46520ebe582061f88861bb437cda2a9581869279","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","test:coverage":"vitest --run --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"rckflr","email":"mauricio.perera@gmail.com"},"deprecated":"Upgrade to 0.2.8 — includes security hardening, spawn migration, automation crash recovery, and event-loop fix","_npmVersion":"11.12.1","description":"Motor de scheduling persistente para agentes de IA. Zero dependencies.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.12.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-scheduler-core_0.2.6_1778990780930_0.11157465111350162","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"pi-scheduler-core","version":"0.2.7","keywords":["scheduler","agent","automation","pi","task-runner"],"license":"MIT","_id":"pi-scheduler-core@0.2.7","maintainers":[{"name":"rckflr","email":"mauricio.perera@gmail.com"}],"dist":{"shasum":"f259d173ccda490410e1e999b4090f0dcb7892df","tarball":"https://registry.npmjs.org/pi-scheduler-core/-/pi-scheduler-core-0.2.7.tgz","fileCount":38,"integrity":"sha512-uVFR1EKwLaGbsfeNphcMEB41E+ephXvG5Vcrl8XY5TLR0CZXTiFvjH+G2ury5dfz4BALJjClfs37kHWylr2Efw==","signatures":[{"sig":"MEUCIQDfpZCJnxWbA4lSJ/qCu5I4gOBx3jCD45X4BjB3inzxvQIgFboPr8P9qdJ8/8H6TAMVx7mpeAnSiI1AgHBBr/9Ghyc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":113860},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ff4d366fb8f3fb0f21b31a556c584b8ddbaaf027","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","test:coverage":"vitest --run --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"rckflr","email":"mauricio.perera@gmail.com"},"deprecated":"Upgrade to 0.2.8 — includes security hardening, spawn migration, automation crash recovery, and event-loop fix","_npmVersion":"11.12.1","description":"Motor de scheduling persistente para agentes de IA. Zero dependencies.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.12.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-scheduler-core_0.2.7_1778991764937_0.6881527509220922","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"pi-scheduler-core","version":"0.2.8","keywords":["scheduler","agent","automation","pi","task-runner"],"license":"MIT","_id":"pi-scheduler-core@0.2.8","maintainers":[{"name":"rckflr","email":"mauricio.perera@gmail.com"}],"dist":{"shasum":"7a5497f9259feb7a25fde9950653c5530eb68010","tarball":"https://registry.npmjs.org/pi-scheduler-core/-/pi-scheduler-core-0.2.8.tgz","fileCount":38,"integrity":"sha512-Ov8sQ0zoBibqWetUgDgp6JaTf/KAKpQ0zY88Hp+sUQgcnuMJzKnp0r0cIA2h3sXCIjCC7eT4Uvo48rpkH2by4Q==","signatures":[{"sig":"MEQCIGxnKgECYdCeQ7bCsGD3WXU9FyFLR5uhDSM4LBTN04JlAiBkicxuUU1LaF4XZGo9ZRxOFZ6wKetGnVML7mx6EENGWQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":115664},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"371bb7aa44778975c1500c87ce0f639293383eb5","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","test:coverage":"vitest --run --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"rckflr","email":"mauricio.perera@gmail.com"},"deprecated":"Upgrade to 0.2.9 — adds web-screenshot, url-health-check, login-flow Playwright templates","_npmVersion":"11.12.1","description":"Motor de scheduling persistente para agentes de IA. Zero dependencies.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.12.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-scheduler-core_0.2.8_1778998141704_0.5852339013709917","host":"s3://npm-registry-packages-npm-production"}},"0.2.9":{"name":"pi-scheduler-core","version":"0.2.9","keywords":["scheduler","agent","automation","pi","task-runner"],"license":"MIT","_id":"pi-scheduler-core@0.2.9","maintainers":[{"name":"rckflr","email":"mauricio.perera@gmail.com"}],"dist":{"shasum":"e76c7d68b1100a0878368598470a72439caedc42","tarball":"https://registry.npmjs.org/pi-scheduler-core/-/pi-scheduler-core-0.2.9.tgz","fileCount":38,"integrity":"sha512-qd6YxAayFx3nL/e9xPqSzkitnuqRW+TfCZetnGF+Mk2P5z9+G1HZgSkjXo5oVNEP0XClE1uhA582ou/s1TuFGg==","signatures":[{"sig":"MEUCIHiA5fsG9A6Mc5WOq4/TVHC0AwKkWwucbFqvBX2O8CT7AiEAorSZPdPf9O2+iABwJix2edh+OT1kn8r6lvnr0t499/A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119733},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e92a5d41673960b95144d80dd63ea9156b3612fd","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","test:coverage":"vitest --run --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"rckflr","email":"mauricio.perera@gmail.com"},"deprecated":"superseded by 0.3.0 (backoff + fixes)","_npmVersion":"11.12.1","description":"Motor de scheduling persistente para agentes de IA. Zero dependencies.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.12.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-scheduler-core_0.2.9_1779000258037_0.9707539436277492","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"pi-scheduler-core","version":"0.3.0","keywords":["scheduler","agent","automation","pi","task-runner"],"license":"MIT","_id":"pi-scheduler-core@0.3.0","maintainers":[{"name":"rckflr","email":"mauricio.perera@gmail.com"}],"dist":{"shasum":"48604041967ee1c2e20931d07a10926d31706a5a","tarball":"https://registry.npmjs.org/pi-scheduler-core/-/pi-scheduler-core-0.3.0.tgz","fileCount":38,"integrity":"sha512-afUNiAjMHra3KC6QGohs9GU+Z09PvAAS3OD3dbHa7e+Ezn2W+2fRDcIk5ZxjOyTUFY4L645aUohCINqUYrQ49Q==","signatures":[{"sig":"MEUCIE9TtM+Fu1B2wG7OI4jAnrel4ldra/wLirbtFDpZnQN+AiEAr4kh3nkna+nYCtBOxK6yjz60IG52XMVNQ9Gj7TnPn0U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121666},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"46eaa34c0ccf094300b0f8772bcc35b718ca26bc","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","test:coverage":"vitest --run --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"rckflr","email":"mauricio.perera@gmail.com"},"deprecated":"superseded by 0.3.1 (backup on corruption)","_npmVersion":"11.12.1","description":"Motor de scheduling persistente para agentes de IA. Zero dependencies.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.12.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-scheduler-core_0.3.0_1779002321145_0.2921660931693517","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"pi-scheduler-core","version":"0.3.1","keywords":["scheduler","agent","automation","pi","task-runner"],"license":"MIT","_id":"pi-scheduler-core@0.3.1","maintainers":[{"name":"rckflr","email":"mauricio.perera@gmail.com"}],"dist":{"shasum":"fd33f5dedc276ab479880df3914a0190245f6421","tarball":"https://registry.npmjs.org/pi-scheduler-core/-/pi-scheduler-core-0.3.1.tgz","fileCount":38,"integrity":"sha512-y2gHR0vAEpd8CCkiiJYIHCJzozs3U9T3jQ2UounakJFf9MMb7lHWtDyj/U+jKj+st33XiGGSBGnvdDYKNpufxw==","signatures":[{"sig":"MEUCIQC+XWFsd0XR2xqTo8C4sDr2D4IuHUO7UBJEh34WxqZQzAIgDGoRiNinSfLiI9fJeD77iOQk+7gdWK9+cks90Wf3630=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122629},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"aea48c4c222332a4866cc2c39fccba7f567efb93","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","test:coverage":"vitest --run --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"rckflr","email":"mauricio.perera@gmail.com"},"_npmVersion":"11.12.1","description":"Motor de scheduling persistente para agentes de IA. Zero dependencies.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.12.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-scheduler-core_0.3.1_1779021316549_0.5376244721774124","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"pi-scheduler-core","version":"0.3.2","keywords":["scheduler","agent","automation","pi","task-runner"],"license":"MIT","_id":"pi-scheduler-core@0.3.2","maintainers":[{"name":"rckflr","email":"mauricio.perera@gmail.com"}],"dist":{"shasum":"0874d4d6a736c443bb6c3dd2a683d215fe9f0d46","tarball":"https://registry.npmjs.org/pi-scheduler-core/-/pi-scheduler-core-0.3.2.tgz","fileCount":38,"integrity":"sha512-rywDqGNdTVHpe+EEYVX+UiUb9/bJYBLlPamFya7vJLAhucrOmK0yRQ7NE8E8lESVYId0gQzq9dYOvfjBDldYuw==","signatures":[{"sig":"MEQCIFc+WcXzsylK9DGUXt+hO6SCJAI9E9m8NbiiCfBdNK8yAiBf1R63dQpo2Jn+4kp48hv/+zfoOVHS0TYYS7DN59V4og==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124929},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"41f536840676558ba5259cbe9a912437f1ad3522","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","test:coverage":"vitest --run --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"rckflr","email":"mauricio.perera@gmail.com"},"_npmVersion":"11.12.1","description":"Motor de scheduling persistente para agentes de IA. Zero dependencies.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.12.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-scheduler-core_0.3.2_1779032213606_0.2326107981064951","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"pi-scheduler-core","version":"0.3.3","keywords":["scheduler","agent","automation","pi","task-runner"],"license":"MIT","_id":"pi-scheduler-core@0.3.3","maintainers":[{"name":"rckflr","email":"mauricio.perera@gmail.com"}],"dist":{"shasum":"196d04466bd71db513c81ca2961619cc2afe84a3","tarball":"https://registry.npmjs.org/pi-scheduler-core/-/pi-scheduler-core-0.3.3.tgz","fileCount":38,"integrity":"sha512-D8mWFSn3y9kYpITXsLogjpsoJ1w7GMlLMpQkysSC7xEgu+FbavvByBwn1G+L6vPEM6g4zHKpFWBzWAiBVu4/Hg==","signatures":[{"sig":"MEYCIQCXUxD6SxXLJpQvEY8DvrVIEc4k3zXJnmxPzsKYsh/PWwIhAMkZ616PuXt/uRSfbQnVSr2aCFCvLkAh9YSHO9c/8XTr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124929},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0b6a8c1d7c12d0627e02b6eacc5206b9dd642e13","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","test:coverage":"vitest --run --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"rckflr","email":"mauricio.perera@gmail.com"},"_npmVersion":"11.12.1","description":"Motor de scheduling persistente para agentes de IA. Zero dependencies.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.12.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-scheduler-core_0.3.3_1779032501580_0.640909019088137","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"pi-scheduler-core","version":"0.3.4","keywords":["scheduler","agent","automation","pi","task-runner"],"license":"MIT","_id":"pi-scheduler-core@0.3.4","maintainers":[{"name":"rckflr","email":"mauricio.perera@gmail.com"}],"dist":{"shasum":"61b3983c7dcee805f2e423c658e10000e8609494","tarball":"https://registry.npmjs.org/pi-scheduler-core/-/pi-scheduler-core-0.3.4.tgz","fileCount":38,"integrity":"sha512-hanQAkXW39RCoNVXLEjyZTLXKvpHdB++e0DaMdHKHmwDieY2vy7qlSsf/gUHraAwjYEHcqiQT3ThlMS/zlvhmQ==","signatures":[{"sig":"MEUCIQChIAFC+2BajONoOtgIe2jEhRmeqoEr7+RVF/2Ntfk56AIgGyZBJJdreNmUAonT8fzvIaMJAzX9gWn8cV0GH9aL0EI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124929},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"97270c8fc24a005d0b3c40f4eb181146445a3dfd","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","test:coverage":"vitest --run --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"rckflr","email":"mauricio.perera@gmail.com"},"_npmVersion":"11.12.1","description":"Motor de scheduling persistente para agentes de IA. Zero dependencies.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.12.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-scheduler-core_0.3.4_1779034137290_0.42561110592034024","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"pi-scheduler-core","version":"0.3.5","keywords":["scheduler","agent","automation","pi","task-runner"],"license":"MIT","_id":"pi-scheduler-core@0.3.5","maintainers":[{"name":"rckflr","email":"mauricio.perera@gmail.com"}],"dist":{"shasum":"40031cec101e556595a3b0ffed34c91b0024af2b","tarball":"https://registry.npmjs.org/pi-scheduler-core/-/pi-scheduler-core-0.3.5.tgz","fileCount":38,"integrity":"sha512-roEuv/i4oQUA6TD/SwRUObXJb53zNVkZbT/aPgPwUQRwBAcm7kvHhPIVx3u/6diDcW6/S1VNO9r1cvEhB0xt2g==","signatures":[{"sig":"MEYCIQCPENOVyQjHwZ/ZMPgshVNKaqqbHaUG7yNzbxmS2WwMowIhAL/sPWIWq29RUL2OG7YAzlJ7G0Kxij2G3NVKG0X8JOh1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124929},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"68826e0d096877ddb76b57f8491f54a5eb6017bb","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","test:coverage":"vitest --run --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"rckflr","email":"mauricio.perera@gmail.com"},"_npmVersion":"11.12.1","description":"Motor de scheduling persistente para agentes de IA. Zero dependencies.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","vitest":"^3.2.4","typescript":"^5.9.3","@types/node":"^24.12.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-scheduler-core_0.3.5_1779034769559_0.6907991862987857","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"pi-scheduler-core","version":"0.4.0","description":"Motor de scheduling persistente para agentes de IA. Zero dependencies.","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"clean":"shx rm -rf dist","build":"tsc -p tsconfig.build.json","dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","test:coverage":"vitest --run --coverage","prepublishOnly":"npm run clean && npm run build"},"keywords":["scheduler","agent","automation","pi","task-runner"],"license":"MIT","engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.12.4","shx":"^0.3.4","typescript":"^5.9.3","vitest":"^3.2.4"},"publishConfig":{"access":"public"},"gitHead":"23bb41f860aece9850d9cc6657e853b7b83fd2d3","_id":"pi-scheduler-core@0.4.0","_nodeVersion":"24.15.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-hTL3GTDjrriQPPS+OFsI0ReMnNXg7GBS1cX5HdE7JLKBbXyk8lK4RcUDQ3MhUFS/Ty2kxEvcveLLHiMOlRaHBQ==","shasum":"21869d70b8a661b8413165333082d429e962b80b","tarball":"https://registry.npmjs.org/pi-scheduler-core/-/pi-scheduler-core-0.4.0.tgz","fileCount":38,"unpackedSize":124929,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCmLROTjOQqinDwHREoanw4CPZdPowXPVHt8+Sp/3BTEAIhAM0AEJOyvzJxH2zVeyE9dpcyUEkTCqivZ4w1pFTNfO2B"}]},"_npmUser":{"name":"rckflr","email":"mauricio.perera@gmail.com"},"directories":{},"maintainers":[{"name":"rckflr","email":"mauricio.perera@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-scheduler-core_0.4.0_1779041464110_0.03669734572759431"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-17T00:21:50.580Z","modified":"2026-05-17T18:11:04.364Z","0.1.0":"2026-05-17T00:21:50.863Z","0.1.1":"2026-05-17T01:13:58.118Z","0.1.2":"2026-05-17T01:42:44.910Z","0.1.3":"2026-05-17T01:57:24.982Z","0.1.4":"2026-05-17T02:01:46.837Z","0.1.5":"2026-05-17T02:32:31.332Z","0.1.6":"2026-05-17T02:43:01.380Z","0.2.0":"2026-05-17T02:49:36.340Z","0.2.1":"2026-05-17T02:52:15.478Z","0.2.2":"2026-05-17T03:03:09.577Z","0.2.3":"2026-05-17T03:21:13.907Z","0.2.4":"2026-05-17T03:27:23.877Z","0.2.5":"2026-05-17T03:45:47.178Z","0.2.6":"2026-05-17T04:06:21.076Z","0.2.7":"2026-05-17T04:22:45.077Z","0.2.8":"2026-05-17T06:09:01.893Z","0.2.9":"2026-05-17T06:44:18.199Z","0.3.0":"2026-05-17T07:18:41.323Z","0.3.1":"2026-05-17T12:35:16.734Z","0.3.2":"2026-05-17T15:36:53.752Z","0.3.3":"2026-05-17T15:41:41.713Z","0.3.4":"2026-05-17T16:08:57.433Z","0.3.5":"2026-05-17T16:19:29.674Z","0.4.0":"2026-05-17T18:11:04.252Z"},"license":"MIT","keywords":["scheduler","agent","automation","pi","task-runner"],"description":"Motor de scheduling persistente para agentes de IA. Zero dependencies.","maintainers":[{"name":"rckflr","email":"mauricio.perera@gmail.com"}],"readme":"# pi-scheduler-core\n\n> v0.3.5 — Motor de scheduling persistente para agentes de IA. Zero dependencies (solo Node.js built-ins).\n\n## Install\n\n```bash\nnpm install pi-scheduler-core\n```\n\n## Usage\n\n```typescript\nimport { Scheduler } from 'pi-scheduler-core';\n\nconst scheduler = Scheduler.create({\n  dataDir: '~/.pi/scheduler',\n  tickIntervalMs: 30000,\n  allowedDirs: ['D:/repos', 'C:/temp'],\n});\n\nscheduler.start();\n\n// Recurring automation\nconst auto = scheduler.createAutomation({\n  name: 'Build MyProject',\n  intervalMinutes: 60,\n  command: 'dotnet build',\n  cwd: 'D:/repos/myproject',\n});\n\n// One-shot task\nconst task = scheduler.runTask({\n  name: 'Run tests',\n  command: 'npm test',\n  cwd: 'D:/repos/myproject',\n});\n\n// Listen to events\nscheduler.on('automation_run', (event) => {\n  console.log(`${event.automationName} finished with exit code ${event.result.exitCode}`);\n});\n\n// Stop\nscheduler.stop();\n```\n\n## Subagent Executor\n\n`scheduler-core` is zero-dependency, but supports delegating automations to an LLM subagent via an optional executor callback:\n\n```typescript\nimport { Scheduler, SubagentExecutor } from 'pi-scheduler-core';\n\nconst myExecutor: SubagentExecutor = async (config, cwd) => {\n  // config.agent — role name (optional)\n  // config.task  — instruction for the agent\n  // config.chain — sequential multi-agent chain (optional)\n  // ...invoke your LLM here...\n  return { exitCode: 0, stdout: '...', stderr: '' };\n};\n\nconst scheduler = Scheduler.create({\n  dataDir: '~/.pi/scheduler',\n  subagentExecutor: myExecutor,\n});\n\n// Automation backed by a subagent instead of a shell command\nscheduler.createAutomation({\n  name: 'Nightly review',\n  intervalMinutes: 1440,\n  cwd: 'D:/repos/myproject',\n  subagentConfig: {\n    agent: 'reviewer',\n    task: 'Review all uncommitted changes and summarize risks.',\n  },\n});\n```\n\n`pi-scheduler-ext` ships a ready-made executor that invokes `claude CLI` with built-in agent roles.\n\n## Backoff on Repeated Failures\n\nAutomations that exit with a non-zero code automatically back off exponentially so a broken automation does not hammer the system:\n\n| Consecutive failures | Next retry delay |\n|---|---|\n| 1 | 1× interval |\n| 2 | 2× interval |\n| 3 | 4× interval |\n| 4 | 8× interval |\n| 5+ | 16× interval (capped at 24 h); warning logged |\n\nA successful run resets the counter to 0.\n\n## Security\n\nFive layers of validation:\n\n1. **Command blocklist** — blocks dangerous patterns (`rm -rf`, `format`, `curl | sh`, etc.) using word-boundary matching.\n2. **Script blocklist** — blocks dangerous Python/shell calls (`os.system`, `shutil.rmtree`, etc.).\n3. **CWD allowlist** — working directory must be under `~`, `C:/temp`, or an explicitly configured `allowedDirs` entry.\n4. **Template interpolation hardening** — param values validated against a character whitelist before substitution.\n5. **Required params validation** — templates with `requiredParams` refuse to run if any param is missing.\n\n## Persistence\n\nState is stored as atomic JSON files (`.tmp` + `renameSync`) in `dataDir`. If a file is corrupted on disk, the scheduler renames it to `<file>.corrupted-<timestamp>.bak` before resetting to empty state, so no data is silently discarded.\n\nOptionally use `SqliteStorageAdapter` (from `pi-scheduler-ext`) for SQLite-backed persistence.\n\n## Templates\n\n14 built-in templates grouped by type:\n\n**Shell command templates** (no extra dependencies):\n\n| ID | Default interval | Description |\n|---|---|---|\n| `build-project` | 60 min | `dotnet build` |\n| `disk-check` | 5 min | PowerShell disk space check |\n| `git-sync` | 30 min | `git pull` |\n| `npm-test` | 30 min | `npm test` |\n| `npm-outdated` | 1440 min | `npm outdated` |\n| `memory-check` | 15 min | Top 5 processes by memory |\n| `service-ping` | 5 min | TCP reachability check (params: `host`, `port`) |\n| `git-log` | 60 min | Last 10 commits |\n\n**Subagent templates** (require `subagentExecutor` in `SchedulerOptions`):\n\n| ID | Default interval | Agent role |\n|---|---|---|\n| `nightly-review` | 1440 min | `reviewer` |\n| `daily-research` | 1440 min | `researcher` |\n| `weekly-audit` | 10080 min | `oracle` |\n\n**Playwright templates** (require `playwright` installed in the automation's `cwd`):\n\n| ID | Default interval | Description |\n|---|---|---|\n| `web-screenshot` | 60 min | Screenshot to `screenshot.png` (param: `url`) |\n| `url-health-check` | 5 min | HTTP status < 400 check (param: `url`) |\n| `login-flow` | 30 min | Login form check (param: `url`; env: `PW_USERNAME`, `PW_PASSWORD`) |\n\n```typescript\n// Shell template\nconst auto = scheduler.instantiateTemplate('build-project', {\n  name: 'Build MyProject',\n  cwd: 'D:/repos/myproject',\n});\n\n// Template with params\nconst ping = scheduler.instantiateTemplate('service-ping', {\n  cwd: 'C:/temp',\n  params: { host: 'localhost', port: '8080' },\n});\n\n// Subagent template (needs subagentExecutor in SchedulerOptions)\nconst review = scheduler.instantiateTemplate('nightly-review', {\n  name: 'Nightly review',\n  cwd: 'D:/repos/myproject',\n});\n\n// Register a custom template at runtime\nscheduler.registerTemplate({\n  id: 'my-task',\n  name: 'My task',\n  description: 'Custom automation.',\n  defaultInterval: 30,\n  scriptType: null,\n  command: 'my-command',\n  script: null,\n  subagentConfig: null,\n  requiredParams: [],\n});\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}