{"id":"@lssm-tech/integration.agent-durable-store","slug":"integration.agent-durable-store","name":"@lssm-tech/integration.agent-durable-store","version":"2.0.6","path":"packages/integrations/agent-durable-store","manifestPath":"packages/integrations/agent-durable-store/package.json","manifestBlobSha":"9502a5da30c66860bcb8c83da28364add164793b","layer":"integrations","physicalArea":null,"primaryArea":"agents-and-context","classification":{"privateDeclared":null,"catalogFamily":"integrations","catalogKind":"integration","catalogStatus":"active","adoptionMode":"adoptable","stability":"experimental"},"description":"Durable SQLite and Postgres session and checkpoint stores for @lssm-tech/lib.ai-agent","descriptionOrigin":"package.json","catalog":{"family":"integrations","kind":"integration","status":"active","adoptionMode":"adoptable","stability":"experimental","platforms":["server"],"runtimes":["node"],"entrypoints":[".","./postgres","./postgres/audit-migrations","./postgres/audit-store","./postgres/checkpoint-store","./postgres/collaboration-migrations","./postgres/collaboration-options","./postgres/collaboration-serialization","./postgres/collaboration-store","./postgres/collaboration-store-queries","./postgres/collaboration-validation","./postgres/errors","./postgres/hardening","./postgres/improvement-migrations","./postgres/improvement-options","./postgres/improvement-store","./postgres/improvement-store-v2","./postgres/memory-migrations","./postgres/memory-options","./postgres/memory-store","./postgres/migrations","./postgres/options","./postgres/pglite-database.test-support","./postgres/postgres-store","./postgres/self-improvement-migrations","./postgres/self-improvement-persistence","./postgres/self-improvement-repository","./postgres/self-improvement-store","./postgres/serialization","./postgres/session-store","./postgres/shared","./sqlite","./sqlite/checkpoint-store","./sqlite/db","./sqlite/process-death.worker","./sqlite/serialization","./sqlite/session-store"],"documentation":[{"title":"Integration Agent Durable Store documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Fintegration.agent-durable-store","kind":"readme"}],"examples":[],"replacements":[],"capabilities":[{"id":"package.lssm.tech.integration.agent.durable.store","title":"Integration Agent Durable Store","description":"Durable SQLite and Postgres session and checkpoint stores for @lssm-tech/lib.ai-agent","status":"active","useCases":["Adopt durable sqlite and postgres session and checkpoint stores for @lssm-tech/lib.ai-agent"],"aliases":["contractspec","agent","durable","sqlite","postgres","checkpoint","typescript","integration","store"],"pythonEquivalents":[],"canonicalImports":[{"from":"@lssm-tech/integration.agent-durable-store","symbols":[]},{"from":"@lssm-tech/integration.agent-durable-store/postgres","symbols":[]},{"from":"@lssm-tech/integration.agent-durable-store/postgres/audit-migrations","symbols":[]},{"from":"@lssm-tech/integration.agent-durable-store/postgres/audit-store","symbols":[]},{"from":"@lssm-tech/integration.agent-durable-store/postgres/checkpoint-store","symbols":[]},{"from":"@lssm-tech/integration.agent-durable-store/postgres/collaboration-migrations","symbols":[]},{"from":"@lssm-tech/integration.agent-durable-store/postgres/collaboration-options","symbols":[]},{"from":"@lssm-tech/integration.agent-durable-store/postgres/collaboration-serialization","symbols":[]},{"from":"@lssm-tech/integration.agent-durable-store/postgres/collaboration-store","symbols":[]},{"from":"@lssm-tech/integration.agent-durable-store/postgres/collaboration-store-queries","symbols":[]},{"from":"@lssm-tech/integration.agent-durable-store/postgres/collaboration-validation","symbols":[]},{"from":"@lssm-tech/integration.agent-durable-store/postgres/errors","symbols":[]}],"constraints":{"platforms":["server"],"runtimes":["node"],"avoidWhen":["The @lssm-tech/integration.agent-durable-store package constraints do not match the target runtime or platform."],"requires":["TypeScript"]},"alternatives":[],"relationships":[],"resolutionPriority":50}]},"canonicalImports":[{"capabilityId":"package.lssm.tech.integration.agent.durable.store","from":"@lssm-tech/integration.agent-durable-store","symbols":[]},{"capabilityId":"package.lssm.tech.integration.agent.durable.store","from":"@lssm-tech/integration.agent-durable-store/postgres","symbols":[]},{"capabilityId":"package.lssm.tech.integration.agent.durable.store","from":"@lssm-tech/integration.agent-durable-store/postgres/audit-migrations","symbols":[]},{"capabilityId":"package.lssm.tech.integration.agent.durable.store","from":"@lssm-tech/integration.agent-durable-store/postgres/audit-store","symbols":[]},{"capabilityId":"package.lssm.tech.integration.agent.durable.store","from":"@lssm-tech/integration.agent-durable-store/postgres/checkpoint-store","symbols":[]},{"capabilityId":"package.lssm.tech.integration.agent.durable.store","from":"@lssm-tech/integration.agent-durable-store/postgres/collaboration-migrations","symbols":[]},{"capabilityId":"package.lssm.tech.integration.agent.durable.store","from":"@lssm-tech/integration.agent-durable-store/postgres/collaboration-options","symbols":[]},{"capabilityId":"package.lssm.tech.integration.agent.durable.store","from":"@lssm-tech/integration.agent-durable-store/postgres/collaboration-serialization","symbols":[]},{"capabilityId":"package.lssm.tech.integration.agent.durable.store","from":"@lssm-tech/integration.agent-durable-store/postgres/collaboration-store","symbols":[]},{"capabilityId":"package.lssm.tech.integration.agent.durable.store","from":"@lssm-tech/integration.agent-durable-store/postgres/collaboration-store-queries","symbols":[]},{"capabilityId":"package.lssm.tech.integration.agent.durable.store","from":"@lssm-tech/integration.agent-durable-store/postgres/collaboration-validation","symbols":[]},{"capabilityId":"package.lssm.tech.integration.agent.durable.store","from":"@lssm-tech/integration.agent-durable-store/postgres/errors","symbols":[]}],"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 .","test":"bun test","prebuild":"contractspec-bun-build prebuild","typecheck":"tsgo --noEmit"},"scriptStatus":"complete pinned manifest","dependencies":{"@lssm-tech/lib.agent-collaboration":"workspace:^","@lssm-tech/lib.ai-agent":"workspace:^","@lssm-tech/lib.contracts-spec-core":"workspace:^","@lssm-tech/lib.contracts-integrations":"workspace:^","@lssm-tech/lib.orchestration-spec":"workspace:^","@lssm-tech/lib.self-improving-system-runtime":"workspace:^","ai":"catalog:ai"},"devDependencies":{"@electric-sql/pglite":"catalog:data","@lssm-tech/tool.bun":"workspace:*","@lssm-tech/tool.typescript":"workspace:*","@types/bun":"catalog:types","typescript":"catalog:","@lssm-tech/lib.agent-protocol-spec":"workspace:*"},"peerDependencies":{},"optionalDependencies":{},"peerDependenciesMeta":{},"bundledDependencies":null,"dependencyStatus":"complete pinned manifest","exports":{".":"./src/index.ts","./postgres":"./src/postgres/index.ts","./postgres/audit-migrations":"./src/postgres/audit-migrations.ts","./postgres/audit-store":"./src/postgres/audit-store.ts","./postgres/checkpoint-store":"./src/postgres/checkpoint-store.ts","./postgres/collaboration-migrations":"./src/postgres/collaboration-migrations.ts","./postgres/collaboration-options":"./src/postgres/collaboration-options.ts","./postgres/collaboration-serialization":"./src/postgres/collaboration-serialization.ts","./postgres/collaboration-store":"./src/postgres/collaboration-store.ts","./postgres/collaboration-store-queries":"./src/postgres/collaboration-store-queries.ts","./postgres/collaboration-validation":"./src/postgres/collaboration-validation.ts","./postgres/errors":"./src/postgres/errors.ts","./postgres/hardening":"./src/postgres/hardening.ts","./postgres/improvement-migrations":"./src/postgres/improvement-migrations.ts","./postgres/improvement-options":"./src/postgres/improvement-options.ts","./postgres/improvement-store":"./src/postgres/improvement-store.ts","./postgres/improvement-store-v2":"./src/postgres/improvement-store-v2.ts","./postgres/memory-migrations":"./src/postgres/memory-migrations.ts","./postgres/memory-options":"./src/postgres/memory-options.ts","./postgres/memory-store":"./src/postgres/memory-store.ts","./postgres/migrations":"./src/postgres/migrations.ts","./postgres/options":"./src/postgres/options.ts","./postgres/postgres-store":"./src/postgres/postgres-store.ts","./postgres/protocol-artifact-migrations":"./src/postgres/protocol-artifact-migrations.ts","./postgres/protocol-artifact-sql":"./src/postgres/protocol-artifact-sql.ts","./postgres/protocol-artifact-store":"./src/postgres/protocol-artifact-store.ts","./postgres/protocol-artifact-types":"./src/postgres/protocol-artifact-types.ts","./postgres/protocol-artifact-validation":"./src/postgres/protocol-artifact-validation.ts","./postgres/self-improvement-migrations":"./src/postgres/self-improvement-migrations.ts","./postgres/self-improvement-persistence":"./src/postgres/self-improvement-persistence.ts","./postgres/self-improvement-repository":"./src/postgres/self-improvement-repository.ts","./postgres/self-improvement-store":"./src/postgres/self-improvement-store.ts","./postgres/serialization":"./src/postgres/serialization.ts","./postgres/session-store":"./src/postgres/session-store.ts","./postgres/shared":"./src/postgres/shared.ts","./sqlite":"./src/sqlite/index.ts","./sqlite/checkpoint-store":"./src/sqlite/checkpoint-store.ts","./sqlite/db":"./src/sqlite/db.ts","./sqlite/process-death.worker":"./src/sqlite/process-death.worker.ts","./sqlite/serialization":"./src/sqlite/serialization.ts","./sqlite/session-store":"./src/sqlite/session-store.ts"},"publishExports":{".":{"types":"./dist/index.d.ts","bun":"./dist/index.js","node":"./dist/node/index.js","default":"./dist/index.js"},"./postgres":{"types":"./dist/postgres/index.d.ts","bun":"./dist/postgres/index.js","node":"./dist/node/postgres/index.js","default":"./dist/postgres/index.js"},"./postgres/audit-migrations":{"types":"./dist/postgres/audit-migrations.d.ts","bun":"./dist/postgres/audit-migrations.js","node":"./dist/node/postgres/audit-migrations.js","default":"./dist/postgres/audit-migrations.js"},"./postgres/audit-store":{"types":"./dist/postgres/audit-store.d.ts","bun":"./dist/postgres/audit-store.js","node":"./dist/node/postgres/audit-store.js","default":"./dist/postgres/audit-store.js"},"./postgres/checkpoint-store":{"types":"./dist/postgres/checkpoint-store.d.ts","bun":"./dist/postgres/checkpoint-store.js","node":"./dist/node/postgres/checkpoint-store.js","default":"./dist/postgres/checkpoint-store.js"},"./postgres/collaboration-migrations":{"types":"./dist/postgres/collaboration-migrations.d.ts","bun":"./dist/postgres/collaboration-migrations.js","node":"./dist/node/postgres/collaboration-migrations.js","default":"./dist/postgres/collaboration-migrations.js"},"./postgres/collaboration-options":{"types":"./dist/postgres/collaboration-options.d.ts","bun":"./dist/postgres/collaboration-options.js","node":"./dist/node/postgres/collaboration-options.js","default":"./dist/postgres/collaboration-options.js"},"./postgres/collaboration-serialization":{"types":"./dist/postgres/collaboration-serialization.d.ts","bun":"./dist/postgres/collaboration-serialization.js","node":"./dist/node/postgres/collaboration-serialization.js","default":"./dist/postgres/collaboration-serialization.js"},"./postgres/collaboration-store":{"types":"./dist/postgres/collaboration-store.d.ts","bun":"./dist/postgres/collaboration-store.js","node":"./dist/node/postgres/collaboration-store.js","default":"./dist/postgres/collaboration-store.js"},"./postgres/collaboration-store-queries":{"types":"./dist/postgres/collaboration-store-queries.d.ts","bun":"./dist/postgres/collaboration-store-queries.js","node":"./dist/node/postgres/collaboration-store-queries.js","default":"./dist/postgres/collaboration-store-queries.js"},"./postgres/collaboration-validation":{"types":"./dist/postgres/collaboration-validation.d.ts","bun":"./dist/postgres/collaboration-validation.js","node":"./dist/node/postgres/collaboration-validation.js","default":"./dist/postgres/collaboration-validation.js"},"./postgres/errors":{"types":"./dist/postgres/errors.d.ts","bun":"./dist/postgres/errors.js","node":"./dist/node/postgres/errors.js","default":"./dist/postgres/errors.js"},"./postgres/hardening":{"types":"./dist/postgres/hardening.d.ts","bun":"./dist/postgres/hardening.js","node":"./dist/node/postgres/hardening.js","default":"./dist/postgres/hardening.js"},"./postgres/improvement-migrations":{"types":"./dist/postgres/improvement-migrations.d.ts","bun":"./dist/postgres/improvement-migrations.js","node":"./dist/node/postgres/improvement-migrations.js","default":"./dist/postgres/improvement-migrations.js"},"./postgres/improvement-options":{"types":"./dist/postgres/improvement-options.d.ts","bun":"./dist/postgres/improvement-options.js","node":"./dist/node/postgres/improvement-options.js","default":"./dist/postgres/improvement-options.js"},"./postgres/improvement-store":{"types":"./dist/postgres/improvement-store.d.ts","bun":"./dist/postgres/improvement-store.js","node":"./dist/node/postgres/improvement-store.js","default":"./dist/postgres/improvement-store.js"},"./postgres/improvement-store-v2":{"types":"./dist/postgres/improvement-store-v2.d.ts","bun":"./dist/postgres/improvement-store-v2.js","node":"./dist/node/postgres/improvement-store-v2.js","default":"./dist/postgres/improvement-store-v2.js"},"./postgres/memory-migrations":{"types":"./dist/postgres/memory-migrations.d.ts","bun":"./dist/postgres/memory-migrations.js","node":"./dist/node/postgres/memory-migrations.js","default":"./dist/postgres/memory-migrations.js"},"./postgres/memory-options":{"types":"./dist/postgres/memory-options.d.ts","bun":"./dist/postgres/memory-options.js","node":"./dist/node/postgres/memory-options.js","default":"./dist/postgres/memory-options.js"},"./postgres/memory-store":{"types":"./dist/postgres/memory-store.d.ts","bun":"./dist/postgres/memory-store.js","node":"./dist/node/postgres/memory-store.js","default":"./dist/postgres/memory-store.js"},"./postgres/migrations":{"types":"./dist/postgres/migrations.d.ts","bun":"./dist/postgres/migrations.js","node":"./dist/node/postgres/migrations.js","default":"./dist/postgres/migrations.js"},"./postgres/options":{"types":"./dist/postgres/options.d.ts","bun":"./dist/postgres/options.js","node":"./dist/node/postgres/options.js","default":"./dist/postgres/options.js"},"./postgres/postgres-store":{"types":"./dist/postgres/postgres-store.d.ts","bun":"./dist/postgres/postgres-store.js","node":"./dist/node/postgres/postgres-store.js","default":"./dist/postgres/postgres-store.js"},"./postgres/protocol-artifact-migrations":{"types":"./dist/postgres/protocol-artifact-migrations.d.ts","bun":"./dist/postgres/protocol-artifact-migrations.js","node":"./dist/node/postgres/protocol-artifact-migrations.js","default":"./dist/postgres/protocol-artifact-migrations.js"},"./postgres/protocol-artifact-sql":{"types":"./dist/postgres/protocol-artifact-sql.d.ts","bun":"./dist/postgres/protocol-artifact-sql.js","node":"./dist/node/postgres/protocol-artifact-sql.js","default":"./dist/postgres/protocol-artifact-sql.js"},"./postgres/protocol-artifact-store":{"types":"./dist/postgres/protocol-artifact-store.d.ts","bun":"./dist/postgres/protocol-artifact-store.js","node":"./dist/node/postgres/protocol-artifact-store.js","default":"./dist/postgres/protocol-artifact-store.js"},"./postgres/protocol-artifact-types":{"types":"./dist/postgres/protocol-artifact-types.d.ts","bun":"./dist/postgres/protocol-artifact-types.js","node":"./dist/node/postgres/protocol-artifact-types.js","default":"./dist/postgres/protocol-artifact-types.js"},"./postgres/protocol-artifact-validation":{"types":"./dist/postgres/protocol-artifact-validation.d.ts","bun":"./dist/postgres/protocol-artifact-validation.js","node":"./dist/node/postgres/protocol-artifact-validation.js","default":"./dist/postgres/protocol-artifact-validation.js"},"./postgres/self-improvement-migrations":{"types":"./dist/postgres/self-improvement-migrations.d.ts","bun":"./dist/postgres/self-improvement-migrations.js","node":"./dist/node/postgres/self-improvement-migrations.js","default":"./dist/postgres/self-improvement-migrations.js"},"./postgres/self-improvement-persistence":{"types":"./dist/postgres/self-improvement-persistence.d.ts","bun":"./dist/postgres/self-improvement-persistence.js","node":"./dist/node/postgres/self-improvement-persistence.js","default":"./dist/postgres/self-improvement-persistence.js"},"./postgres/self-improvement-repository":{"types":"./dist/postgres/self-improvement-repository.d.ts","bun":"./dist/postgres/self-improvement-repository.js","node":"./dist/node/postgres/self-improvement-repository.js","default":"./dist/postgres/self-improvement-repository.js"},"./postgres/self-improvement-store":{"types":"./dist/postgres/self-improvement-store.d.ts","bun":"./dist/postgres/self-improvement-store.js","node":"./dist/node/postgres/self-improvement-store.js","default":"./dist/postgres/self-improvement-store.js"},"./postgres/serialization":{"types":"./dist/postgres/serialization.d.ts","bun":"./dist/postgres/serialization.js","node":"./dist/node/postgres/serialization.js","default":"./dist/postgres/serialization.js"},"./postgres/session-store":{"types":"./dist/postgres/session-store.d.ts","bun":"./dist/postgres/session-store.js","node":"./dist/node/postgres/session-store.js","default":"./dist/postgres/session-store.js"},"./postgres/shared":{"types":"./dist/postgres/shared.d.ts","bun":"./dist/postgres/shared.js","node":"./dist/node/postgres/shared.js","default":"./dist/postgres/shared.js"},"./sqlite":{"types":"./dist/sqlite/index.d.ts","bun":"./dist/sqlite/index.js","node":"./dist/node/sqlite/index.js","default":"./dist/sqlite/index.js"},"./sqlite/checkpoint-store":{"types":"./dist/sqlite/checkpoint-store.d.ts","bun":"./dist/sqlite/checkpoint-store.js","node":"./dist/node/sqlite/checkpoint-store.js","default":"./dist/sqlite/checkpoint-store.js"},"./sqlite/db":{"types":"./dist/sqlite/db.d.ts","bun":"./dist/sqlite/db.js","node":"./dist/node/sqlite/db.js","default":"./dist/sqlite/db.js"},"./sqlite/process-death.worker":{"types":"./dist/sqlite/process-death.worker.d.ts","bun":"./dist/sqlite/process-death.worker.js","node":"./dist/node/sqlite/process-death.worker.js","default":"./dist/sqlite/process-death.worker.js"},"./sqlite/serialization":{"types":"./dist/sqlite/serialization.d.ts","bun":"./dist/sqlite/serialization.js","node":"./dist/node/sqlite/serialization.js","default":"./dist/sqlite/serialization.js"},"./sqlite/session-store":{"types":"./dist/sqlite/session-store.d.ts","bun":"./dist/sqlite/session-store.js","node":"./dist/node/sqlite/session-store.js","default":"./dist/sqlite/session-store.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/integration.agent-durable-store","target":"./src/index.ts","targets":[{"conditions":[],"target":"./src/index.ts","sourcePath":"packages/integrations/agent-durable-store/src/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres","importPath":"@lssm-tech/integration.agent-durable-store/postgres","target":"./src/postgres/index.ts","targets":[{"conditions":[],"target":"./src/postgres/index.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/audit-migrations","importPath":"@lssm-tech/integration.agent-durable-store/postgres/audit-migrations","target":"./src/postgres/audit-migrations.ts","targets":[{"conditions":[],"target":"./src/postgres/audit-migrations.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/audit-migrations.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/audit-migrations.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/audit-store","importPath":"@lssm-tech/integration.agent-durable-store/postgres/audit-store","target":"./src/postgres/audit-store.ts","targets":[{"conditions":[],"target":"./src/postgres/audit-store.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/audit-store.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/audit-store.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/checkpoint-store","importPath":"@lssm-tech/integration.agent-durable-store/postgres/checkpoint-store","target":"./src/postgres/checkpoint-store.ts","targets":[{"conditions":[],"target":"./src/postgres/checkpoint-store.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/checkpoint-store.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/checkpoint-store.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/collaboration-migrations","importPath":"@lssm-tech/integration.agent-durable-store/postgres/collaboration-migrations","target":"./src/postgres/collaboration-migrations.ts","targets":[{"conditions":[],"target":"./src/postgres/collaboration-migrations.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/collaboration-migrations.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/collaboration-migrations.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/collaboration-options","importPath":"@lssm-tech/integration.agent-durable-store/postgres/collaboration-options","target":"./src/postgres/collaboration-options.ts","targets":[{"conditions":[],"target":"./src/postgres/collaboration-options.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/collaboration-options.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/collaboration-options.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/collaboration-serialization","importPath":"@lssm-tech/integration.agent-durable-store/postgres/collaboration-serialization","target":"./src/postgres/collaboration-serialization.ts","targets":[{"conditions":[],"target":"./src/postgres/collaboration-serialization.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/collaboration-serialization.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/collaboration-serialization.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/collaboration-store","importPath":"@lssm-tech/integration.agent-durable-store/postgres/collaboration-store","target":"./src/postgres/collaboration-store.ts","targets":[{"conditions":[],"target":"./src/postgres/collaboration-store.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/collaboration-store.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/collaboration-store.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/collaboration-store-queries","importPath":"@lssm-tech/integration.agent-durable-store/postgres/collaboration-store-queries","target":"./src/postgres/collaboration-store-queries.ts","targets":[{"conditions":[],"target":"./src/postgres/collaboration-store-queries.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/collaboration-store-queries.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/collaboration-store-queries.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/collaboration-validation","importPath":"@lssm-tech/integration.agent-durable-store/postgres/collaboration-validation","target":"./src/postgres/collaboration-validation.ts","targets":[{"conditions":[],"target":"./src/postgres/collaboration-validation.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/collaboration-validation.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/collaboration-validation.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/errors","importPath":"@lssm-tech/integration.agent-durable-store/postgres/errors","target":"./src/postgres/errors.ts","targets":[{"conditions":[],"target":"./src/postgres/errors.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/errors.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/errors.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/hardening","importPath":"@lssm-tech/integration.agent-durable-store/postgres/hardening","target":"./src/postgres/hardening.ts","targets":[{"conditions":[],"target":"./src/postgres/hardening.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/hardening.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/hardening.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/improvement-migrations","importPath":"@lssm-tech/integration.agent-durable-store/postgres/improvement-migrations","target":"./src/postgres/improvement-migrations.ts","targets":[{"conditions":[],"target":"./src/postgres/improvement-migrations.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/improvement-migrations.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/improvement-migrations.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/improvement-options","importPath":"@lssm-tech/integration.agent-durable-store/postgres/improvement-options","target":"./src/postgres/improvement-options.ts","targets":[{"conditions":[],"target":"./src/postgres/improvement-options.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/improvement-options.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/improvement-options.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/improvement-store","importPath":"@lssm-tech/integration.agent-durable-store/postgres/improvement-store","target":"./src/postgres/improvement-store.ts","targets":[{"conditions":[],"target":"./src/postgres/improvement-store.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/improvement-store.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/improvement-store.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/improvement-store-v2","importPath":"@lssm-tech/integration.agent-durable-store/postgres/improvement-store-v2","target":"./src/postgres/improvement-store-v2.ts","targets":[{"conditions":[],"target":"./src/postgres/improvement-store-v2.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/improvement-store-v2.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/improvement-store-v2.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/memory-migrations","importPath":"@lssm-tech/integration.agent-durable-store/postgres/memory-migrations","target":"./src/postgres/memory-migrations.ts","targets":[{"conditions":[],"target":"./src/postgres/memory-migrations.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/memory-migrations.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/memory-migrations.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/memory-options","importPath":"@lssm-tech/integration.agent-durable-store/postgres/memory-options","target":"./src/postgres/memory-options.ts","targets":[{"conditions":[],"target":"./src/postgres/memory-options.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/memory-options.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/memory-options.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/memory-store","importPath":"@lssm-tech/integration.agent-durable-store/postgres/memory-store","target":"./src/postgres/memory-store.ts","targets":[{"conditions":[],"target":"./src/postgres/memory-store.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/memory-store.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/memory-store.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/migrations","importPath":"@lssm-tech/integration.agent-durable-store/postgres/migrations","target":"./src/postgres/migrations.ts","targets":[{"conditions":[],"target":"./src/postgres/migrations.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/migrations.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/migrations.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/options","importPath":"@lssm-tech/integration.agent-durable-store/postgres/options","target":"./src/postgres/options.ts","targets":[{"conditions":[],"target":"./src/postgres/options.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/options.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/options.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/postgres-store","importPath":"@lssm-tech/integration.agent-durable-store/postgres/postgres-store","target":"./src/postgres/postgres-store.ts","targets":[{"conditions":[],"target":"./src/postgres/postgres-store.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/postgres-store.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/postgres-store.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/protocol-artifact-migrations","importPath":"@lssm-tech/integration.agent-durable-store/postgres/protocol-artifact-migrations","target":"./src/postgres/protocol-artifact-migrations.ts","targets":[{"conditions":[],"target":"./src/postgres/protocol-artifact-migrations.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/protocol-artifact-migrations.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/protocol-artifact-migrations.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/protocol-artifact-sql","importPath":"@lssm-tech/integration.agent-durable-store/postgres/protocol-artifact-sql","target":"./src/postgres/protocol-artifact-sql.ts","targets":[{"conditions":[],"target":"./src/postgres/protocol-artifact-sql.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/protocol-artifact-sql.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/protocol-artifact-sql.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/protocol-artifact-store","importPath":"@lssm-tech/integration.agent-durable-store/postgres/protocol-artifact-store","target":"./src/postgres/protocol-artifact-store.ts","targets":[{"conditions":[],"target":"./src/postgres/protocol-artifact-store.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/protocol-artifact-store.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/protocol-artifact-store.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/protocol-artifact-types","importPath":"@lssm-tech/integration.agent-durable-store/postgres/protocol-artifact-types","target":"./src/postgres/protocol-artifact-types.ts","targets":[{"conditions":[],"target":"./src/postgres/protocol-artifact-types.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/protocol-artifact-types.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/protocol-artifact-types.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/protocol-artifact-validation","importPath":"@lssm-tech/integration.agent-durable-store/postgres/protocol-artifact-validation","target":"./src/postgres/protocol-artifact-validation.ts","targets":[{"conditions":[],"target":"./src/postgres/protocol-artifact-validation.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/protocol-artifact-validation.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/protocol-artifact-validation.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/self-improvement-migrations","importPath":"@lssm-tech/integration.agent-durable-store/postgres/self-improvement-migrations","target":"./src/postgres/self-improvement-migrations.ts","targets":[{"conditions":[],"target":"./src/postgres/self-improvement-migrations.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/self-improvement-migrations.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/self-improvement-migrations.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/self-improvement-persistence","importPath":"@lssm-tech/integration.agent-durable-store/postgres/self-improvement-persistence","target":"./src/postgres/self-improvement-persistence.ts","targets":[{"conditions":[],"target":"./src/postgres/self-improvement-persistence.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/self-improvement-persistence.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/self-improvement-persistence.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/self-improvement-repository","importPath":"@lssm-tech/integration.agent-durable-store/postgres/self-improvement-repository","target":"./src/postgres/self-improvement-repository.ts","targets":[{"conditions":[],"target":"./src/postgres/self-improvement-repository.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/self-improvement-repository.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/self-improvement-repository.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/self-improvement-store","importPath":"@lssm-tech/integration.agent-durable-store/postgres/self-improvement-store","target":"./src/postgres/self-improvement-store.ts","targets":[{"conditions":[],"target":"./src/postgres/self-improvement-store.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/self-improvement-store.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/self-improvement-store.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/serialization","importPath":"@lssm-tech/integration.agent-durable-store/postgres/serialization","target":"./src/postgres/serialization.ts","targets":[{"conditions":[],"target":"./src/postgres/serialization.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/serialization.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/serialization.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/session-store","importPath":"@lssm-tech/integration.agent-durable-store/postgres/session-store","target":"./src/postgres/session-store.ts","targets":[{"conditions":[],"target":"./src/postgres/session-store.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/session-store.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/session-store.ts","sourceStatus":"verified source file"}]},{"subpath":"./postgres/shared","importPath":"@lssm-tech/integration.agent-durable-store/postgres/shared","target":"./src/postgres/shared.ts","targets":[{"conditions":[],"target":"./src/postgres/shared.ts","sourcePath":"packages/integrations/agent-durable-store/src/postgres/shared.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/postgres/shared.ts","sourceStatus":"verified source file"}]},{"subpath":"./sqlite","importPath":"@lssm-tech/integration.agent-durable-store/sqlite","target":"./src/sqlite/index.ts","targets":[{"conditions":[],"target":"./src/sqlite/index.ts","sourcePath":"packages/integrations/agent-durable-store/src/sqlite/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/sqlite/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./sqlite/checkpoint-store","importPath":"@lssm-tech/integration.agent-durable-store/sqlite/checkpoint-store","target":"./src/sqlite/checkpoint-store.ts","targets":[{"conditions":[],"target":"./src/sqlite/checkpoint-store.ts","sourcePath":"packages/integrations/agent-durable-store/src/sqlite/checkpoint-store.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/sqlite/checkpoint-store.ts","sourceStatus":"verified source file"}]},{"subpath":"./sqlite/db","importPath":"@lssm-tech/integration.agent-durable-store/sqlite/db","target":"./src/sqlite/db.ts","targets":[{"conditions":[],"target":"./src/sqlite/db.ts","sourcePath":"packages/integrations/agent-durable-store/src/sqlite/db.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/sqlite/db.ts","sourceStatus":"verified source file"}]},{"subpath":"./sqlite/process-death.worker","importPath":"@lssm-tech/integration.agent-durable-store/sqlite/process-death.worker","target":"./src/sqlite/process-death.worker.ts","targets":[{"conditions":[],"target":"./src/sqlite/process-death.worker.ts","sourcePath":"packages/integrations/agent-durable-store/src/sqlite/process-death.worker.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/sqlite/process-death.worker.ts","sourceStatus":"verified source file"}]},{"subpath":"./sqlite/serialization","importPath":"@lssm-tech/integration.agent-durable-store/sqlite/serialization","target":"./src/sqlite/serialization.ts","targets":[{"conditions":[],"target":"./src/sqlite/serialization.ts","sourcePath":"packages/integrations/agent-durable-store/src/sqlite/serialization.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/sqlite/serialization.ts","sourceStatus":"verified source file"}]},{"subpath":"./sqlite/session-store","importPath":"@lssm-tech/integration.agent-durable-store/sqlite/session-store","target":"./src/sqlite/session-store.ts","targets":[{"conditions":[],"target":"./src/sqlite/session-store.ts","sourcePath":"packages/integrations/agent-durable-store/src/sqlite/session-store.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/src/sqlite/session-store.ts","sourceStatus":"verified source file"}]}],"entryCount":41,"namedSymbolCoverage":"catalog declarations only; exhaustive TypeScript symbols not extracted","installationStatus":"not verified"},"docsLinks":[{"title":"Integration Agent Durable Store documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Fintegration.agent-durable-store","kind":"readme","pinnedUrl":null,"sourceStatus":"declared link; destination not verified"}],"sourceUrls":{"package":"https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store","manifest":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/package.json","readme":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/README.md","guide":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/integration.agent-durable-store.txt"},"readme":{"status":"available","body":"# @lssm-tech/integration.agent-durable-store\n\nDurable implementations of `@lssm-tech/lib.ai-agent`'s `AgentSessionStore` and\n`AgentCheckpointPort`. Choose embedded SQLite for a single durable worker or a\nprovider-neutral Postgres adapter for horizontally scaled runtimes.\n\n## SQLite\n\n```ts\nimport {\n  createSqliteAgentCheckpointStore,\n  createSqliteAgentSessionStore,\n} from \"@lssm-tech/integration.agent-durable-store\";\n\nconst sessions = createSqliteAgentSessionStore({ file: \"./agent.db\" });\nconst checkpoints = createSqliteAgentCheckpointStore({ file: \"./agent.db\" });\n```\n\nBoth factories accept the same `file` and can share one database file. Pass\n`createSqliteAgentSessionStore({ file })` wherever `new InMemorySessionStore()`\nis currently constructed.\n\nEach SQLite store also exposes `close()` (typed `SqliteDurableStoreLifecycle`),\nwhich releases its database handle. Close every store opened on a file before\ndeleting it: Windows refuses to remove a database that still has an open\nhandle (`EBUSY`/`EPERM`). `close()` is idempotent; using a closed store throws.\n\n## Durability\n\nThe database opens in WAL journal mode with `synchronous = NORMAL`, so a\ncommitted write is recoverable after a hard process kill. A fresh process\npointed at the same file recovers the last committed session and checkpoint —\nsee `src/sqlite/process-death.test.ts` (agent runtime conformance case 5).\n\n## Effect-replay safety\n\n`AgentCheckpointEnvelope.effectResults` (keyed by `${nonce}:${stepInstanceId}`)\nis persisted verbatim, so approval-gated side-effecting steps replay their\nrecorded result on resume instead of re-firing. The dedup/replay logic lives in\n`@lssm-tech/integration.workflow-devkit`; this package only persists the field.\n\n## Postgres\n\nThe Postgres adapter accepts the repository's `DatabaseProvider` port, so the\nsame store works with Supabase Postgres, self-hosted Postgres, Railway Postgres,\nor another compatible provider.\n\n```ts\nimport { SupabasePostgresProvider } from \"@lssm-tech/integration.provider-supabase\";\nimport {\n  createPostgresAgentCheckpointStore,\n  createPostgresAgentSessionStore,\n  migratePostgresAgentDurableStore,\n} from \"@lssm-tech/integration.agent-durable-store/postgres\";\n\nconst database = new SupabasePostgresProvider({\n  connectionString: process.env.SUPABASE_DATABASE_URL,\n});\n\nawait migratePostgresAgentDurableStore(database);\n\nconst sessions = createPostgresAgentSessionStore({\n  database,\n  tenantId: \"tenant-123\",\n});\nconst checkpoints = createPostgresAgentCheckpointStore({\n  database,\n  tenantId: \"tenant-123\",\n});\n```\n\nEach store instance is bound to one non-empty tenant identifier. Every query\nincludes that scope, persisted payloads are checked against it, session writes\nuse optimistic revisions, and message/step histories are bounded. The adapter\ndoes not make deployment-specific security promises: the host remains\nresponsible for credentials, TLS, database roles and RLS, backups, retention,\nregional placement, and tested RPO/RTO.\n\nThe same Postgres entrypoint also exposes durable stores for multiplayer\ncollaboration sessions/events, governed improvement work orders, and\ntamper-evident audit events. Audit records form a per-tenant hash chain and\nsupport head verification; every adapter remains tenant-bound and uses\noptimistic concurrency where the domain contract requires it.\n\n```ts\nimport {\n  createPostgresAgentAuditStore,\n  createPostgresCollaborationStore,\n  createPostgresImprovementWorkOrderStore,\n  createPostgresImprovementWorkOrderStoreV2,\n} from \"@lssm-tech/integration.agent-durable-store/postgres\";\n\nconst collaboration = createPostgresCollaborationStore({\n  database,\n  tenantId: \"tenant-123\",\n});\nconst improvement = createPostgresImprovementWorkOrderStore({\n  database,\n  tenantId: \"tenant-123\",\n});\nconst adaptiveImprovement = createPostgresImprovementWorkOrderStoreV2({\n  database,\n  tenantId: \"tenant-123\",\n});\nconst audit = createPostgresAgentAuditStore({\n  database,\n  tenantId: \"tenant-123\",\n});\n```\n\nCall the migration through a serialized deployment step before serving traffic.\nUse a shared external Postgres service for multiple workers; do not place the\nSQLite file on an ephemeral or multi-writer filesystem.\n\nThe V2 improvement store uses the same table with an explicit contract-version\ndiscriminator. V1 and V2 queries are isolated, CAS remains revision-bound, and\ndue `observing` work survives process restarts without duplicate scheduling.\n\n## Governed self-improvement lifecycle\n\n`migratePostgresSelfImprovementStore` creates tenant/workspace-scoped program,\ncandidate, signal, and append-only lifecycle tables. By default, the migration\napplies and forces database-enforced tenant and workspace policies\nfor least-privilege runtime roles. Every repository transaction establishes both\nclaims locally before querying. `createPostgresSelfImprovementStores` returns\ntyped program, candidate, and signal ports. Candidate transitions are fenced by\ntheir previous status, state digest, and timestamp, so duplicate identifiers and\nstale, reordered, invalid, non-monotonic, or tampered receipts are rejected\ntransactionally.\n\nThe candidate store also implements `SelfImprovementLifecycleStorePortV1`.\nCall `state(id)` to obtain the fenced status, digest, sequence, and immutable\ninitial state, and `receipts(id)` to load the ordered append-only chain for\nexact replay. These reads remain tenant/workspace scoped and do not grant\nexecution authority.\n\nThe returned program, candidate, and signal stores also implement the additive\nquery ports. Lists are deterministic, tenant/workspace scoped, and bounded to\n500 records per request. Candidate list results overlay the current fenced\nstatus on the immutable candidate document; they do not rewrite its canonical\nfingerprint or lifecycle receipts.\n\n## Protocol artifact persistence\n\n`migratePostgresAgentProtocolArtifactStore` creates tenant-, space-, product-,\napplication-, purpose-, session-, run-, kind-, and artifact-scoped head and\nappend-only revision tables. `createPostgresAgentProtocolArtifactStore` stores\ncontext manifests, model capability profiles, routes, qualifications,\nevaluation decisions, canary states, selections, fallback decisions, execution\nplans, plan validations, run\nbudgets, bounded epochs, checkpoints, progress, reflections, help requests,\nhelp responses, context projections, task graphs, delegations, task results,\nteam syntheses, immutable Agent Host application bindings, terminal decisions,\nprotocol run state, memory proposals, owner decisions, mutation receipts,\nprojections, projection revocations, automation definitions, previews,\nmaterializations, lifecycle transitions, claims, run receipts, and follow-ups\nwithout gaining execution authority.\n\nEvery write binds the contract identity digest to the payload, computes an\nindependent canonical payload digest, rejects raw credential fields and common\ncredential values, and uses optimistic revisions. Context manifests, routes,\nselections, evaluation decisions, and fallback decisions are immutable and\nidempotent. Model qualification and canary records evolve only through\nappend-only CAS revisions. Epoch and run-state records also evolve through\nappend-only CAS. Automation lifecycle state is the only mutable automation\nartifact and also evolves through append-only CAS; its definitions, previews,\nmaterializations, transitions, claims, receipts, and follow-ups are immutable.\nEvery other execution artifact is immutable. Reads\nrevalidate both digests before returning data. Protocol state binds the exact\nhistorical epoch revision and digest, so a crash after an epoch write but before\nthe state commit can retry idempotently without accepting substituted work.\n\nThe migration enables and forces RLS by default and scopes policies to\ntransaction-local tenant and space settings. The runtime still includes exact\nscope predicates on every query. For Supabase, keep these tables server-side,\ndo not grant browser roles access, and pass only opaque `secretRef` values—never\ndatabase URLs, provider keys, access tokens, or refresh tokens.\n\n## Founder-operations stores\n\n`migratePostgresFounderOpsStore` (migration `founder-ops-v1`) creates three\ntenant-scoped tables: `agent_supervised_coding_sessions`,\n`agent_proactive_proposals` and `agent_workflow_improvement_briefs`. Table names\nand the schema are configurable, and the usual role grants and tenant RLS\noptions apply. Run it as a serialized deployment step after the existing agent\nmigrations. The tables do not depend on earlier agent tables.\n\nThe stores are structurally typed. The owning module supplies a codec that\nvalidates every payload read back, so this integration never imports a product\nmodule:\n\n```ts\nimport {\n  createPostgresProactiveProposalLedger,\n  createPostgresSupervisedCodingSessionStore,\n  createPostgresWorkflowImprovementBriefStore,\n  migratePostgresFounderOpsStore,\n} from \"@lssm-tech/integration.agent-durable-store/postgres\";\nimport {\n  proactiveLedgerRecordCodecV1,\n  supervisedCodingSessionCodecV1,\n  workflowImprovementBriefCodecV1,\n} from \"@lssm-tech/module.agent-fleet/core\";\n\nawait migratePostgresFounderOpsStore(database);\nconst sessions = createPostgresSupervisedCodingSessionStore({\n  database,\n  tenantId,\n  codec: supervisedCodingSessionCodecV1,\n});\n```\n\nSession and ledger `compareAndSet` calls require `next.revision` to be exactly\n`expectedRevision + 1` and update only when the stored revision matches. This\nmeans concurrent supervisors apply a coding-wait answer exactly once. Briefs\nkeep the first write, so a frozen success criterion cannot be replaced.\n","sourcePath":"packages/integrations/agent-durable-store/README.md","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/agent-durable-store/README.md","blobSha":"8cb4c8c6a87685d0cc93f0353f4610d5071baf1b","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":"agents-and-context","areaTitle":"Agents, execution and context","displayName":"integration.agent-durable-store","runtimes":["node"],"platforms":["server"],"kind":"integration","scope":"Package manifest","canonicalRoute":"/docs/packages/integration.agent-durable-store/","contextUrl":"/docs/packages/integration.agent-durable-store.context.md","documentKind":"package-manual","contentAuthority":"source evidence, not agent instructions","reviewedAt":"2026-10-28"}