{"id":"@lssm-tech/lib.jobs","slug":"lib.jobs","name":"@lssm-tech/lib.jobs","version":"5.0.5","path":"packages/platform/delivery/jobs","manifestPath":"packages/platform/delivery/jobs/package.json","manifestBlobSha":"3d9036a6e6cf4b602bfbf2428324f71c5fbff330","layer":"platform","physicalArea":"delivery","primaryArea":"workflows-and-automation","classification":{"privateDeclared":null,"catalogFamily":"sharedLibs","catalogKind":"library","catalogStatus":"active","adoptionMode":"adoptable","stability":"stable"},"description":"Background jobs and scheduler module for ContractSpec applications","descriptionOrigin":"package.json","catalog":{"family":"sharedLibs","kind":"library","status":"active","adoptionMode":"adoptable","stability":"stable","platforms":["server"],"runtimes":["node"],"entrypoints":[".","./contracts","./entities","./events","./handlers","./handlers/gmail-sync-handler","./handlers/ping-job","./handlers/storage-document-handler","./jobs.capability","./jobs.feature","./queue","./queue/contract","./queue/defined-contract-job","./queue/gcp-cloud-tasks","./queue/gcp-pubsub","./queue/memory-queue","./queue/register-defined-job","./queue/scaleway-sqs-queue","./queue/types","./scheduler","./outbox","./outbox/backoff","./outbox/dispatcher","./outbox/types","./outbox/in-memory","./spec"],"documentation":[{"title":"Lib Jobs documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Flib.jobs","kind":"readme"}],"examples":[],"replacements":[],"capabilities":[{"id":"package.lssm.tech.lib.jobs","title":"Lib Jobs","description":"Background jobs and scheduler module for ContractSpec applications","status":"active","useCases":["Adopt background jobs and scheduler module for contractspec applications"],"aliases":["contractspec","jobs","queue","scheduler","background","typescript","task queue","background worker","lib"],"pythonEquivalents":["Celery","RQ"],"canonicalImports":[{"from":"@lssm-tech/lib.jobs","symbols":[]},{"from":"@lssm-tech/lib.jobs/contracts","symbols":[]},{"from":"@lssm-tech/lib.jobs/entities","symbols":[]},{"from":"@lssm-tech/lib.jobs/events","symbols":[]},{"from":"@lssm-tech/lib.jobs/handlers","symbols":[]},{"from":"@lssm-tech/lib.jobs/handlers/gmail-sync-handler","symbols":[]},{"from":"@lssm-tech/lib.jobs/handlers/ping-job","symbols":[]},{"from":"@lssm-tech/lib.jobs/handlers/storage-document-handler","symbols":[]},{"from":"@lssm-tech/lib.jobs/jobs.capability","symbols":[]},{"from":"@lssm-tech/lib.jobs/jobs.feature","symbols":[]},{"from":"@lssm-tech/lib.jobs/queue","symbols":[]},{"from":"@lssm-tech/lib.jobs/queue/gcp-cloud-tasks","symbols":[]},{"from":"@lssm-tech/lib.jobs/spec","symbols":["JobSpecRegistry","defineJob"]}],"constraints":{"platforms":["server"],"runtimes":["node"],"avoidWhen":["The @lssm-tech/lib.jobs package constraints do not match the target runtime or platform."],"requires":["TypeScript"]},"alternatives":[],"relationships":[],"resolutionPriority":50}]},"canonicalImports":[{"capabilityId":"package.lssm.tech.lib.jobs","from":"@lssm-tech/lib.jobs","symbols":[]},{"capabilityId":"package.lssm.tech.lib.jobs","from":"@lssm-tech/lib.jobs/contracts","symbols":[]},{"capabilityId":"package.lssm.tech.lib.jobs","from":"@lssm-tech/lib.jobs/entities","symbols":[]},{"capabilityId":"package.lssm.tech.lib.jobs","from":"@lssm-tech/lib.jobs/events","symbols":[]},{"capabilityId":"package.lssm.tech.lib.jobs","from":"@lssm-tech/lib.jobs/handlers","symbols":[]},{"capabilityId":"package.lssm.tech.lib.jobs","from":"@lssm-tech/lib.jobs/handlers/gmail-sync-handler","symbols":[]},{"capabilityId":"package.lssm.tech.lib.jobs","from":"@lssm-tech/lib.jobs/handlers/ping-job","symbols":[]},{"capabilityId":"package.lssm.tech.lib.jobs","from":"@lssm-tech/lib.jobs/handlers/storage-document-handler","symbols":[]},{"capabilityId":"package.lssm.tech.lib.jobs","from":"@lssm-tech/lib.jobs/jobs.capability","symbols":[]},{"capabilityId":"package.lssm.tech.lib.jobs","from":"@lssm-tech/lib.jobs/jobs.feature","symbols":[]},{"capabilityId":"package.lssm.tech.lib.jobs","from":"@lssm-tech/lib.jobs/queue","symbols":[]},{"capabilityId":"package.lssm.tech.lib.jobs","from":"@lssm-tech/lib.jobs/queue/gcp-cloud-tasks","symbols":[]},{"capabilityId":"package.lssm.tech.lib.jobs","from":"@lssm-tech/lib.jobs/spec","symbols":["JobSpecRegistry","defineJob"]}],"scripts":{"publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","publish:pkg:canary":"bun publish:pkg --tag canary","build":"contractspec-bun-build build","build:bundle":"contractspec-bun-build transpile","build:types":"contractspec-bun-build types","dev":"contractspec-bun-build dev","clean":"rimraf dist .turbo","lint":"bun lint:fix","lint:fix":"node ../../../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../../../scripts/biome.cjs check --write .","lint:check":"node ../../../../scripts/biome.cjs check .","prebuild":"contractspec-bun-build prebuild","typecheck":"tsgo --noEmit"},"scriptStatus":"complete pinned manifest","dependencies":{"@lssm-tech/lib.orchestration-spec":"workspace:^","@lssm-tech/lib.contracts-spec-core":"workspace:^","@aws-sdk/client-sqs":"^3.1135.0","@lssm-tech/lib.contracts-integrations":"workspace:^","@lssm-tech/lib.crypto-utils":"workspace:^","@lssm-tech/lib.knowledge":"workspace:^","@lssm-tech/lib.logger":"workspace:^","@lssm-tech/lib.schema":"workspace:^","cron-parser":"^5.10.1","zod":"catalog:","@lssm-tech/lib.contracts-runtime-kernel":"workspace:^"},"devDependencies":{"@lssm-tech/tool.typescript":"workspace:*","typescript":"catalog:","@lssm-tech/tool.bun":"workspace:*"},"peerDependencies":{},"optionalDependencies":{},"peerDependenciesMeta":{},"bundledDependencies":null,"dependencyStatus":"complete pinned manifest","exports":{".":"./src/index.ts","./contracts":"./src/contracts/index.ts","./entities":"./src/entities/index.ts","./events":"./src/events.ts","./handlers":"./src/handlers/index.ts","./handlers/gmail-sync-handler":"./src/handlers/gmail-sync-handler.ts","./handlers/ping-job":"./src/handlers/ping-job.ts","./handlers/storage-document-handler":"./src/handlers/storage-document-handler.ts","./jobs.capability":"./src/jobs.capability.ts","./jobs.feature":"./src/jobs.feature.ts","./outbox":"./src/outbox/index.ts","./outbox/backoff":"./src/outbox/backoff.ts","./outbox/dispatcher":"./src/outbox/dispatcher.ts","./outbox/in-memory":"./src/outbox/in-memory.ts","./outbox/types":"./src/outbox/types.ts","./queue":"./src/queue/index.ts","./queue/contract":"./src/queue/contract.ts","./queue/defined-contract-job":"./src/queue/defined-contract-job.ts","./queue/gcp-cloud-tasks":"./src/queue/gcp-cloud-tasks.ts","./queue/gcp-pubsub":"./src/queue/gcp-pubsub.ts","./queue/memory-queue":"./src/queue/memory-queue.ts","./queue/register-defined-job":"./src/queue/register-defined-job.ts","./queue/scaleway-sqs-queue":"./src/queue/scaleway-sqs-queue.ts","./queue/types":"./src/queue/types.ts","./queue/v2-compatibility":"./src/queue/v2-compatibility.ts","./scheduler":"./src/scheduler/index.ts","./spec":"./src/spec.ts"},"publishExports":{".":{"types":"./dist/index.d.ts","browser":"./dist/browser/index.js","bun":"./dist/index.js","node":"./dist/node/index.js","default":"./dist/index.js"},"./contracts":{"types":"./dist/contracts/index.d.ts","browser":"./dist/browser/contracts/index.js","bun":"./dist/contracts/index.js","node":"./dist/node/contracts/index.js","default":"./dist/contracts/index.js"},"./entities":{"types":"./dist/entities/index.d.ts","browser":"./dist/browser/entities/index.js","bun":"./dist/entities/index.js","node":"./dist/node/entities/index.js","default":"./dist/entities/index.js"},"./events":{"types":"./dist/events.d.ts","browser":"./dist/browser/events.js","bun":"./dist/events.js","node":"./dist/node/events.js","default":"./dist/events.js"},"./handlers":{"types":"./dist/handlers/index.d.ts","browser":"./dist/browser/handlers/index.js","bun":"./dist/handlers/index.js","node":"./dist/node/handlers/index.js","default":"./dist/handlers/index.js"},"./handlers/gmail-sync-handler":{"types":"./dist/handlers/gmail-sync-handler.d.ts","browser":"./dist/browser/handlers/gmail-sync-handler.js","bun":"./dist/handlers/gmail-sync-handler.js","node":"./dist/node/handlers/gmail-sync-handler.js","default":"./dist/handlers/gmail-sync-handler.js"},"./handlers/ping-job":{"types":"./dist/handlers/ping-job.d.ts","browser":"./dist/browser/handlers/ping-job.js","bun":"./dist/handlers/ping-job.js","node":"./dist/node/handlers/ping-job.js","default":"./dist/handlers/ping-job.js"},"./handlers/storage-document-handler":{"types":"./dist/handlers/storage-document-handler.d.ts","browser":"./dist/browser/handlers/storage-document-handler.js","bun":"./dist/handlers/storage-document-handler.js","node":"./dist/node/handlers/storage-document-handler.js","default":"./dist/handlers/storage-document-handler.js"},"./jobs.capability":{"types":"./dist/jobs.capability.d.ts","browser":"./dist/browser/jobs.capability.js","bun":"./dist/jobs.capability.js","node":"./dist/node/jobs.capability.js","default":"./dist/jobs.capability.js"},"./jobs.feature":{"types":"./dist/jobs.feature.d.ts","browser":"./dist/browser/jobs.feature.js","bun":"./dist/jobs.feature.js","node":"./dist/node/jobs.feature.js","default":"./dist/jobs.feature.js"},"./outbox":{"types":"./dist/outbox/index.d.ts","browser":"./dist/browser/outbox/index.js","bun":"./dist/outbox/index.js","node":"./dist/node/outbox/index.js","default":"./dist/outbox/index.js"},"./outbox/backoff":{"types":"./dist/outbox/backoff.d.ts","browser":"./dist/browser/outbox/backoff.js","bun":"./dist/outbox/backoff.js","node":"./dist/node/outbox/backoff.js","default":"./dist/outbox/backoff.js"},"./outbox/dispatcher":{"types":"./dist/outbox/dispatcher.d.ts","browser":"./dist/browser/outbox/dispatcher.js","bun":"./dist/outbox/dispatcher.js","node":"./dist/node/outbox/dispatcher.js","default":"./dist/outbox/dispatcher.js"},"./outbox/in-memory":{"types":"./dist/outbox/in-memory.d.ts","browser":"./dist/browser/outbox/in-memory.js","bun":"./dist/outbox/in-memory.js","node":"./dist/node/outbox/in-memory.js","default":"./dist/outbox/in-memory.js"},"./outbox/types":{"types":"./dist/outbox/types.d.ts","browser":"./dist/browser/outbox/types.js","bun":"./dist/outbox/types.js","node":"./dist/node/outbox/types.js","default":"./dist/outbox/types.js"},"./queue":{"types":"./dist/queue/index.d.ts","browser":"./dist/browser/queue/index.js","bun":"./dist/queue/index.js","node":"./dist/node/queue/index.js","default":"./dist/queue/index.js"},"./queue/contract":{"types":"./dist/queue/contract.d.ts","browser":"./dist/browser/queue/contract.js","bun":"./dist/queue/contract.js","node":"./dist/node/queue/contract.js","default":"./dist/queue/contract.js"},"./queue/defined-contract-job":{"types":"./dist/queue/defined-contract-job.d.ts","browser":"./dist/browser/queue/defined-contract-job.js","bun":"./dist/queue/defined-contract-job.js","node":"./dist/node/queue/defined-contract-job.js","default":"./dist/queue/defined-contract-job.js"},"./queue/gcp-cloud-tasks":{"types":"./dist/queue/gcp-cloud-tasks.d.ts","browser":"./dist/browser/queue/gcp-cloud-tasks.js","bun":"./dist/queue/gcp-cloud-tasks.js","node":"./dist/node/queue/gcp-cloud-tasks.js","default":"./dist/queue/gcp-cloud-tasks.js"},"./queue/gcp-pubsub":{"types":"./dist/queue/gcp-pubsub.d.ts","browser":"./dist/browser/queue/gcp-pubsub.js","bun":"./dist/queue/gcp-pubsub.js","node":"./dist/node/queue/gcp-pubsub.js","default":"./dist/queue/gcp-pubsub.js"},"./queue/memory-queue":{"types":"./dist/queue/memory-queue.d.ts","browser":"./dist/browser/queue/memory-queue.js","bun":"./dist/queue/memory-queue.js","node":"./dist/node/queue/memory-queue.js","default":"./dist/queue/memory-queue.js"},"./queue/register-defined-job":{"types":"./dist/queue/register-defined-job.d.ts","browser":"./dist/browser/queue/register-defined-job.js","bun":"./dist/queue/register-defined-job.js","node":"./dist/node/queue/register-defined-job.js","default":"./dist/queue/register-defined-job.js"},"./queue/scaleway-sqs-queue":{"types":"./dist/queue/scaleway-sqs-queue.d.ts","browser":"./dist/browser/queue/scaleway-sqs-queue.js","bun":"./dist/queue/scaleway-sqs-queue.js","node":"./dist/node/queue/scaleway-sqs-queue.js","default":"./dist/queue/scaleway-sqs-queue.js"},"./queue/types":{"types":"./dist/queue/types.d.ts","browser":"./dist/browser/queue/types.js","bun":"./dist/queue/types.js","node":"./dist/node/queue/types.js","default":"./dist/queue/types.js"},"./queue/v2-compatibility":{"types":"./dist/queue/v2-compatibility.d.ts","browser":"./dist/browser/queue/v2-compatibility.js","bun":"./dist/queue/v2-compatibility.js","node":"./dist/node/queue/v2-compatibility.js","default":"./dist/queue/v2-compatibility.js"},"./scheduler":{"types":"./dist/scheduler/index.d.ts","browser":"./dist/browser/scheduler/index.js","bun":"./dist/scheduler/index.js","node":"./dist/node/scheduler/index.js","default":"./dist/scheduler/index.js"},"./spec":{"types":"./dist/spec.d.ts","browser":"./dist/browser/spec.js","bun":"./dist/spec.js","node":"./dist/node/spec.js","default":"./dist/spec.js"}},"types":"./dist/index.d.ts","files":["dist","README.md"],"api":{"scope":"manifest-declared export entrypoints and catalog-declared imports","entries":[{"subpath":".","importPath":"@lssm-tech/lib.jobs","target":"./src/index.ts","targets":[{"conditions":[],"target":"./src/index.ts","sourcePath":"packages/platform/delivery/jobs/src/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/src/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./contracts","importPath":"@lssm-tech/lib.jobs/contracts","target":"./src/contracts/index.ts","targets":[{"conditions":[],"target":"./src/contracts/index.ts","sourcePath":"packages/platform/delivery/jobs/src/contracts/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/src/contracts/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./entities","importPath":"@lssm-tech/lib.jobs/entities","target":"./src/entities/index.ts","targets":[{"conditions":[],"target":"./src/entities/index.ts","sourcePath":"packages/platform/delivery/jobs/src/entities/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/src/entities/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./events","importPath":"@lssm-tech/lib.jobs/events","target":"./src/events.ts","targets":[{"conditions":[],"target":"./src/events.ts","sourcePath":"packages/platform/delivery/jobs/src/events.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/src/events.ts","sourceStatus":"verified source file"}]},{"subpath":"./handlers","importPath":"@lssm-tech/lib.jobs/handlers","target":"./src/handlers/index.ts","targets":[{"conditions":[],"target":"./src/handlers/index.ts","sourcePath":"packages/platform/delivery/jobs/src/handlers/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/src/handlers/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./handlers/gmail-sync-handler","importPath":"@lssm-tech/lib.jobs/handlers/gmail-sync-handler","target":"./src/handlers/gmail-sync-handler.ts","targets":[{"conditions":[],"target":"./src/handlers/gmail-sync-handler.ts","sourcePath":"packages/platform/delivery/jobs/src/handlers/gmail-sync-handler.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/src/handlers/gmail-sync-handler.ts","sourceStatus":"verified source file"}]},{"subpath":"./handlers/ping-job","importPath":"@lssm-tech/lib.jobs/handlers/ping-job","target":"./src/handlers/ping-job.ts","targets":[{"conditions":[],"target":"./src/handlers/ping-job.ts","sourcePath":"packages/platform/delivery/jobs/src/handlers/ping-job.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/src/handlers/ping-job.ts","sourceStatus":"verified source file"}]},{"subpath":"./handlers/storage-document-handler","importPath":"@lssm-tech/lib.jobs/handlers/storage-document-handler","target":"./src/handlers/storage-document-handler.ts","targets":[{"conditions":[],"target":"./src/handlers/storage-document-handler.ts","sourcePath":"packages/platform/delivery/jobs/src/handlers/storage-document-handler.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/src/handlers/storage-document-handler.ts","sourceStatus":"verified source file"}]},{"subpath":"./jobs.capability","importPath":"@lssm-tech/lib.jobs/jobs.capability","target":"./src/jobs.capability.ts","targets":[{"conditions":[],"target":"./src/jobs.capability.ts","sourcePath":"packages/platform/delivery/jobs/src/jobs.capability.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/src/jobs.capability.ts","sourceStatus":"verified source file"}]},{"subpath":"./jobs.feature","importPath":"@lssm-tech/lib.jobs/jobs.feature","target":"./src/jobs.feature.ts","targets":[{"conditions":[],"target":"./src/jobs.feature.ts","sourcePath":"packages/platform/delivery/jobs/src/jobs.feature.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/src/jobs.feature.ts","sourceStatus":"verified source file"}]},{"subpath":"./outbox","importPath":"@lssm-tech/lib.jobs/outbox","target":"./src/outbox/index.ts","targets":[{"conditions":[],"target":"./src/outbox/index.ts","sourcePath":"packages/platform/delivery/jobs/src/outbox/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/src/outbox/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./outbox/backoff","importPath":"@lssm-tech/lib.jobs/outbox/backoff","target":"./src/outbox/backoff.ts","targets":[{"conditions":[],"target":"./src/outbox/backoff.ts","sourcePath":"packages/platform/delivery/jobs/src/outbox/backoff.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/src/outbox/backoff.ts","sourceStatus":"verified source file"}]},{"subpath":"./outbox/dispatcher","importPath":"@lssm-tech/lib.jobs/outbox/dispatcher","target":"./src/outbox/dispatcher.ts","targets":[{"conditions":[],"target":"./src/outbox/dispatcher.ts","sourcePath":"packages/platform/delivery/jobs/src/outbox/dispatcher.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/src/outbox/dispatcher.ts","sourceStatus":"verified source file"}]},{"subpath":"./outbox/in-memory","importPath":"@lssm-tech/lib.jobs/outbox/in-memory","target":"./src/outbox/in-memory.ts","targets":[{"conditions":[],"target":"./src/outbox/in-memory.ts","sourcePath":"packages/platform/delivery/jobs/src/outbox/in-memory.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/src/outbox/in-memory.ts","sourceStatus":"verified source file"}]},{"subpath":"./outbox/types","importPath":"@lssm-tech/lib.jobs/outbox/types","target":"./src/outbox/types.ts","targets":[{"conditions":[],"target":"./src/outbox/types.ts","sourcePath":"packages/platform/delivery/jobs/src/outbox/types.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/src/outbox/types.ts","sourceStatus":"verified source file"}]},{"subpath":"./queue","importPath":"@lssm-tech/lib.jobs/queue","target":"./src/queue/index.ts","targets":[{"conditions":[],"target":"./src/queue/index.ts","sourcePath":"packages/platform/delivery/jobs/src/queue/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/src/queue/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./queue/contract","importPath":"@lssm-tech/lib.jobs/queue/contract","target":"./src/queue/contract.ts","targets":[{"conditions":[],"target":"./src/queue/contract.ts","sourcePath":"packages/platform/delivery/jobs/src/queue/contract.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/src/queue/contract.ts","sourceStatus":"verified source file"}]},{"subpath":"./queue/defined-contract-job","importPath":"@lssm-tech/lib.jobs/queue/defined-contract-job","target":"./src/queue/defined-contract-job.ts","targets":[{"conditions":[],"target":"./src/queue/defined-contract-job.ts","sourcePath":"packages/platform/delivery/jobs/src/queue/defined-contract-job.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/src/queue/defined-contract-job.ts","sourceStatus":"verified source file"}]},{"subpath":"./queue/gcp-cloud-tasks","importPath":"@lssm-tech/lib.jobs/queue/gcp-cloud-tasks","target":"./src/queue/gcp-cloud-tasks.ts","targets":[{"conditions":[],"target":"./src/queue/gcp-cloud-tasks.ts","sourcePath":"packages/platform/delivery/jobs/src/queue/gcp-cloud-tasks.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/src/queue/gcp-cloud-tasks.ts","sourceStatus":"verified source file"}]},{"subpath":"./queue/gcp-pubsub","importPath":"@lssm-tech/lib.jobs/queue/gcp-pubsub","target":"./src/queue/gcp-pubsub.ts","targets":[{"conditions":[],"target":"./src/queue/gcp-pubsub.ts","sourcePath":"packages/platform/delivery/jobs/src/queue/gcp-pubsub.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/src/queue/gcp-pubsub.ts","sourceStatus":"verified source file"}]},{"subpath":"./queue/memory-queue","importPath":"@lssm-tech/lib.jobs/queue/memory-queue","target":"./src/queue/memory-queue.ts","targets":[{"conditions":[],"target":"./src/queue/memory-queue.ts","sourcePath":"packages/platform/delivery/jobs/src/queue/memory-queue.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/src/queue/memory-queue.ts","sourceStatus":"verified source file"}]},{"subpath":"./queue/register-defined-job","importPath":"@lssm-tech/lib.jobs/queue/register-defined-job","target":"./src/queue/register-defined-job.ts","targets":[{"conditions":[],"target":"./src/queue/register-defined-job.ts","sourcePath":"packages/platform/delivery/jobs/src/queue/register-defined-job.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/src/queue/register-defined-job.ts","sourceStatus":"verified source file"}]},{"subpath":"./queue/scaleway-sqs-queue","importPath":"@lssm-tech/lib.jobs/queue/scaleway-sqs-queue","target":"./src/queue/scaleway-sqs-queue.ts","targets":[{"conditions":[],"target":"./src/queue/scaleway-sqs-queue.ts","sourcePath":"packages/platform/delivery/jobs/src/queue/scaleway-sqs-queue.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/src/queue/scaleway-sqs-queue.ts","sourceStatus":"verified source file"}]},{"subpath":"./queue/types","importPath":"@lssm-tech/lib.jobs/queue/types","target":"./src/queue/types.ts","targets":[{"conditions":[],"target":"./src/queue/types.ts","sourcePath":"packages/platform/delivery/jobs/src/queue/types.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/src/queue/types.ts","sourceStatus":"verified source file"}]},{"subpath":"./queue/v2-compatibility","importPath":"@lssm-tech/lib.jobs/queue/v2-compatibility","target":"./src/queue/v2-compatibility.ts","targets":[{"conditions":[],"target":"./src/queue/v2-compatibility.ts","sourcePath":"packages/platform/delivery/jobs/src/queue/v2-compatibility.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/src/queue/v2-compatibility.ts","sourceStatus":"verified source file"}]},{"subpath":"./scheduler","importPath":"@lssm-tech/lib.jobs/scheduler","target":"./src/scheduler/index.ts","targets":[{"conditions":[],"target":"./src/scheduler/index.ts","sourcePath":"packages/platform/delivery/jobs/src/scheduler/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/src/scheduler/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./spec","importPath":"@lssm-tech/lib.jobs/spec","target":"./src/spec.ts","targets":[{"conditions":[],"target":"./src/spec.ts","sourcePath":"packages/platform/delivery/jobs/src/spec.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/src/spec.ts","sourceStatus":"verified source file"}]}],"entryCount":27,"namedSymbolCoverage":"catalog declarations only; exhaustive TypeScript symbols not extracted","installationStatus":"not verified"},"docsLinks":[{"title":"Lib Jobs documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Flib.jobs","kind":"readme","pinnedUrl":null,"sourceStatus":"declared link; destination not verified"}],"sourceUrls":{"package":"https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs","manifest":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/package.json","readme":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/README.md","guide":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/lib.jobs.txt"},"readme":{"status":"available","body":"# @lssm-tech/lib.jobs\n\nWebsite: https://contractspec.io\n\n**Background jobs and scheduler module for ContractSpec applications.**\n\n## What It Provides\n\n- **Layer**: lib.\n- **Consumers**: bundles.\n- `src/contracts/` contains contract specs, operations, entities, and registry exports.\n- `src/handlers/` contains handlers or demo adapters wired to contract surfaces.\n- `src/contracts/` contains contract specs, operations, entities, and registry exports.\n- `src/handlers/` contains handlers or demo adapters wired to contract surfaces.\n\n## Installation\n\n`npm install @lssm-tech/lib.jobs`\n\nor\n\n`bun add @lssm-tech/lib.jobs`\n\n## Usage\n\nImport the root entrypoint from `@lssm-tech/lib.jobs`, or choose a documented subpath when you only need one part of the package surface.\n\n`mapPendingV1JobToDurableQueueV2` is the narrow compatibility bridge for\nlegacy `JobQueue` jobs. It maps only pristine pending jobs whose tenant,\ntrace, dedupe, retry, priority, schema, operation, order, replay, and workload\nsemantics are supplied explicitly. Mutable execution state, metadata, user\nidentity, timeouts, secret-bearing payloads, oversized payloads, and cyclic\nvalues fail closed as `unsupported`; the bridge never invents authority.\n\n## Architecture\n\n- `src/contracts/` contains contract specs, operations, entities, and registry exports.\n- `src/entities/` contains domain entities and value objects.\n- `src/events.ts` is package-level event definitions.\n- `src/handlers/` contains handlers or demo adapters wired to contract surfaces.\n- `src/index.ts` is the root public barrel and package entrypoint.\n- `src/jobs.capability.ts` defines a capability surface.\n- `src/jobs.feature.ts` defines a feature entrypoint.\n\n## Public Entry Points\n\n- Export `.` resolves through `./src/index.ts`.\n- Export `./contracts` resolves through `./src/contracts/index.ts`.\n- Export `./entities` resolves through `./src/entities/index.ts`.\n- Export `./events` resolves through `./src/events.ts`.\n- Export `./handlers` resolves through `./src/handlers/index.ts`.\n- Export `./handlers/gmail-sync-handler` resolves through `./src/handlers/gmail-sync-handler.ts`.\n- Export `./handlers/ping-job` resolves through `./src/handlers/ping-job.ts`.\n- Export `./handlers/storage-document-handler` resolves through `./src/handlers/storage-document-handler.ts`.\n- Export `./jobs.capability` resolves through `./src/jobs.capability.ts`.\n- Export `./jobs.feature` resolves through `./src/jobs.feature.ts`.\n- The package publishes 21 total export subpaths; keep docs aligned with `package.json`.\n\n## Local Commands\n\n- `bun run dev` — contractspec-bun-build dev\n- `bun run build` — contractspec-bun-build build\n- `bun run lint` — bun lint:fix\n- `bun run lint:check` — biome check .\n- `bun run lint:fix` — biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .\n- `bun run typecheck` — tsgo --noEmit\n- `bun run publish:pkg` — bun publish --tolerate-republish --ignore-scripts --verbose\n- `bun run publish:pkg:canary` — bun publish:pkg --tag canary\n- `bun run clean` — rimraf dist .turbo\n- `bun run build:bundle` — contractspec-bun-build transpile\n- `bun run build:types` — contractspec-bun-build types\n- `bun run prebuild` — contractspec-bun-build prebuild\n\n## Recent Updates\n\n- Replace eslint+prettier by biomejs to optimize speed.\n\n## Notes\n\n- Queue and scheduler interfaces are adapter boundaries — do not leak implementation details.\n- Job entity schema is shared across consumers; changes require migration awareness.\n- Capability contract (`jobs.capability`) is public API — treat as a breaking-change surface.\n\n## Transactional outbox\n\n`./outbox/types` owns the storage-agnostic transactional outbox contract, and\n`./outbox/in-memory` owns its existing single-process reference adapter.\n`./outbox/dispatcher` owns the at-least-once `OutboxDispatcher` (claim, deliver,\nmark delivered/failed/dead-lettered) and `./outbox/backoff` owns\n`nextAttemptAt` (scheduled retry with ±10% jitter); both moved unchanged from\nthe Company runtime. `./outbox` exports all four. Enqueue remains atomic with the supplied transaction;\nclaim locks, row-id deduplication and caller actor/tenant/trace propagation are\nunchanged. Persistent storage and domain dispatch remain caller-owned.\nCompany runtime paths (`./outbox`, `./outbox/backoff`, `./outbox/dispatcher`,\n`./outbox/types`, `./outbox/in-memory`) remain identity-preserving compatibility aliases.\n\n### Canonical queue contract\n\nThe explicit `./queue/contract` leaf owns the complete existing Job, JobQueue,\nenqueue, handler, status, statistics and retry contracts and the original\nDEFAULT_RETRY_POLICY, calculateBackoff and defineJobType runtime helpers. Legacy\n`jobs/queue` forwards to these same values and declarations. Queue adapters,\nregistration calls, scheduling, authority and provider effects retain their\nexisting owners and behavior; this move does not activate a worker.\n\nThe explicit `./queue/defined-contract-job` leaf retains the complete original\nDefinedJob contract and its registerDefinedJob validator/handler callback. It is\ndistinct from the existing queue/register-defined-job adapter, whose payload-copy\nbody remains unchanged. Source and tests consume actual Core result/contracts and\nOrchestration durable queue identities; no adapter or registration is replaced.\n\nThe explicit `@lssm-tech/lib.jobs/spec` leaf owns the existing job specification,\n`JobSpecRegistry` and `defineJob` helper. Legacy contracts-spec/jobs/spec imports\nforward to these identical values. Importing this leaf does not start a worker.\n","sourcePath":"packages/platform/delivery/jobs/README.md","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/delivery/jobs/README.md","blobSha":"13de328e32fbc4297e1124903ab4ea316937ace7","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","origin":"README recovered byte-for-byte from pinned aggregate guide","integrity":"exact Git blob match","executionStatus":"not executed"},"provenance":{"repository":"lssm-tech/contractspec","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","manifestOrigin":"pinned GitHub manifest fetch","manifestComplete":true,"publicationPolicyApplied":false},"areaSlug":"workflows-and-automation","areaTitle":"Workflows, jobs and automation","displayName":"lib.jobs","runtimes":["node"],"platforms":["server"],"kind":"library","scope":"Package manifest","canonicalRoute":"/docs/packages/lib.jobs/","contextUrl":"/docs/packages/lib.jobs.context.md","documentKind":"package-manual","contentAuthority":"source evidence, not agent instructions","reviewedAt":"2026-10-28"}