agentfootprint 9.41.0 → 9.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +30 -1
- package/CLAUDE.md +3 -1
- package/ai-instructions/claude-code/SKILL.md +31 -1
- package/dist/adapters/hosting/agentcore.js +71 -10
- package/dist/adapters/hosting/agentcore.js.map +1 -1
- package/dist/adapters/hosting/firestoreSessions.js +184 -14
- package/dist/adapters/hosting/firestoreSessions.js.map +1 -1
- package/dist/adapters/hosting/googleAgentEngine.js +29 -0
- package/dist/adapters/hosting/googleAgentEngine.js.map +1 -1
- package/dist/core/Agent.js +14 -1
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/agent/AgentBuilder.js +56 -1
- package/dist/core/agent/AgentBuilder.js.map +1 -1
- package/dist/core/agent/buildAgentChart.js +5 -1
- package/dist/core/agent/buildAgentChart.js.map +1 -1
- package/dist/core/agent/buildDynamicAgentChart.js +5 -1
- package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/core/agent/coverage/absent.js +163 -0
- package/dist/core/agent/coverage/absent.js.map +1 -0
- package/dist/core/agent/coverage/answer.js +90 -0
- package/dist/core/agent/coverage/answer.js.map +1 -0
- package/dist/core/agent/coverage/evidence.js +90 -0
- package/dist/core/agent/coverage/evidence.js.map +1 -0
- package/dist/core/agent/coverage/index.js +37 -0
- package/dist/core/agent/coverage/index.js.map +1 -0
- package/dist/core/agent/coverage/items.js +91 -0
- package/dist/core/agent/coverage/items.js.map +1 -0
- package/dist/core/agent/coverage/ledger.js +131 -0
- package/dist/core/agent/coverage/ledger.js.map +1 -0
- package/dist/core/agent/coverage/read.js +56 -0
- package/dist/core/agent/coverage/read.js.map +1 -0
- package/dist/core/agent/coverage/types.js +15 -0
- package/dist/core/agent/coverage/types.js.map +1 -0
- package/dist/core/agent/evidence/evidenceIndex.js +18 -1
- package/dist/core/agent/evidence/evidenceIndex.js.map +1 -1
- package/dist/core/agent/stages/prepareFinal.js +44 -3
- package/dist/core/agent/stages/prepareFinal.js.map +1 -1
- package/dist/core/agent/stages/toolCalls.js +109 -3
- package/dist/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/core/agent/toolEffects.js +1 -1
- package/dist/debug.js +49 -25
- package/dist/debug.js.map +1 -1
- package/dist/esm/adapters/hosting/agentcore.d.ts +8 -0
- package/dist/esm/adapters/hosting/agentcore.js +71 -10
- package/dist/esm/adapters/hosting/agentcore.js.map +1 -1
- package/dist/esm/adapters/hosting/firestoreSessions.d.ts +162 -14
- package/dist/esm/adapters/hosting/firestoreSessions.js +182 -13
- package/dist/esm/adapters/hosting/firestoreSessions.js.map +1 -1
- package/dist/esm/adapters/hosting/googleAgentEngine.d.ts +16 -1
- package/dist/esm/adapters/hosting/googleAgentEngine.js +29 -0
- package/dist/esm/adapters/hosting/googleAgentEngine.js.map +1 -1
- package/dist/esm/core/Agent.d.ts +8 -1
- package/dist/esm/core/Agent.js +14 -1
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/agent/AgentBuilder.d.ts +43 -0
- package/dist/esm/core/agent/AgentBuilder.js +56 -1
- package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
- package/dist/esm/core/agent/buildAgentChart.d.ts +9 -0
- package/dist/esm/core/agent/buildAgentChart.js +6 -2
- package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
- package/dist/esm/core/agent/buildDynamicAgentChart.js +6 -2
- package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/esm/core/agent/coverage/absent.d.ts +104 -0
- package/dist/esm/core/agent/coverage/absent.js +157 -0
- package/dist/esm/core/agent/coverage/absent.js.map +1 -0
- package/dist/esm/core/agent/coverage/answer.d.ts +46 -0
- package/dist/esm/core/agent/coverage/answer.js +86 -0
- package/dist/esm/core/agent/coverage/answer.js.map +1 -0
- package/dist/esm/core/agent/coverage/evidence.d.ts +68 -0
- package/dist/esm/core/agent/coverage/evidence.js +86 -0
- package/dist/esm/core/agent/coverage/evidence.js.map +1 -0
- package/dist/esm/core/agent/coverage/index.d.ts +17 -0
- package/dist/esm/core/agent/coverage/index.js +17 -0
- package/dist/esm/core/agent/coverage/index.js.map +1 -0
- package/dist/esm/core/agent/coverage/items.d.ts +35 -0
- package/dist/esm/core/agent/coverage/items.js +85 -0
- package/dist/esm/core/agent/coverage/items.js.map +1 -0
- package/dist/esm/core/agent/coverage/ledger.d.ts +80 -0
- package/dist/esm/core/agent/coverage/ledger.js +125 -0
- package/dist/esm/core/agent/coverage/ledger.js.map +1 -0
- package/dist/esm/core/agent/coverage/read.d.ts +51 -0
- package/dist/esm/core/agent/coverage/read.js +52 -0
- package/dist/esm/core/agent/coverage/read.js.map +1 -0
- package/dist/esm/core/agent/coverage/types.d.ts +142 -0
- package/dist/esm/core/agent/coverage/types.js +14 -0
- package/dist/esm/core/agent/coverage/types.js.map +1 -0
- package/dist/esm/core/agent/evidence/evidenceIndex.d.ts +7 -0
- package/dist/esm/core/agent/evidence/evidenceIndex.js +18 -1
- package/dist/esm/core/agent/evidence/evidenceIndex.js.map +1 -1
- package/dist/esm/core/agent/stages/prepareFinal.d.ts +18 -0
- package/dist/esm/core/agent/stages/prepareFinal.js +42 -2
- package/dist/esm/core/agent/stages/prepareFinal.js.map +1 -1
- package/dist/esm/core/agent/stages/toolCalls.js +109 -3
- package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/esm/core/agent/toolEffects.d.ts +2 -2
- package/dist/esm/core/agent/toolEffects.js +1 -1
- package/dist/esm/core/agent/types.d.ts +14 -0
- package/dist/esm/debug.d.ts +1 -0
- package/dist/esm/debug.js +7 -0
- package/dist/esm/debug.js.map +1 -1
- package/dist/esm/events/payloads.d.ts +46 -0
- package/dist/esm/events/registry.d.ts +5 -1
- package/dist/esm/events/registry.js +4 -0
- package/dist/esm/events/registry.js.map +1 -1
- package/dist/esm/hosting/conformance/cases.d.ts +2 -1
- package/dist/esm/hosting/conformance/cases.js +88 -2
- package/dist/esm/hosting/conformance/cases.js.map +1 -1
- package/dist/esm/hosting/conformance/types.d.ts +7 -7
- package/dist/esm/hosting/errors.d.ts +28 -0
- package/dist/esm/hosting/errors.js +40 -0
- package/dist/esm/hosting/errors.js.map +1 -1
- package/dist/esm/hosting/index.d.ts +11 -3
- package/dist/esm/hosting/index.js +15 -2
- package/dist/esm/hosting/index.js.map +1 -1
- package/dist/esm/hosting/memorySessions.js +39 -0
- package/dist/esm/hosting/memorySessions.js.map +1 -1
- package/dist/esm/hosting/sessionRetention.d.ts +56 -0
- package/dist/esm/hosting/sessionRetention.js +69 -0
- package/dist/esm/hosting/sessionRetention.js.map +1 -0
- package/dist/esm/hosting/sqliteSessions.d.ts +11 -1
- package/dist/esm/hosting/sqliteSessions.js +51 -0
- package/dist/esm/hosting/sqliteSessions.js.map +1 -1
- package/dist/esm/hosting/types.d.ts +184 -0
- package/dist/esm/hosting/types.js +9 -0
- package/dist/esm/hosting/types.js.map +1 -1
- package/dist/esm/hosting-providers.d.ts +15 -11
- package/dist/esm/hosting-providers.js +21 -11
- package/dist/esm/hosting-providers.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +18 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/context-bisect/arms/apply.d.ts +54 -0
- package/dist/esm/lib/context-bisect/arms/apply.js +41 -0
- package/dist/esm/lib/context-bisect/arms/apply.js.map +1 -0
- package/dist/esm/lib/context-bisect/arms/compare.d.ts +27 -0
- package/dist/esm/lib/context-bisect/arms/compare.js +112 -0
- package/dist/esm/lib/context-bisect/arms/compare.js.map +1 -0
- package/dist/esm/lib/context-bisect/arms/index.d.ts +16 -0
- package/dist/esm/lib/context-bisect/arms/index.js +16 -0
- package/dist/esm/lib/context-bisect/arms/index.js.map +1 -0
- package/dist/esm/lib/context-bisect/arms/manifest.d.ts +79 -0
- package/dist/esm/lib/context-bisect/arms/manifest.js +199 -0
- package/dist/esm/lib/context-bisect/arms/manifest.js.map +1 -0
- package/dist/esm/lib/context-bisect/arms/probe.d.ts +54 -0
- package/dist/esm/lib/context-bisect/arms/probe.js +125 -0
- package/dist/esm/lib/context-bisect/arms/probe.js.map +1 -0
- package/dist/esm/lib/context-bisect/arms/types.d.ts +319 -0
- package/dist/esm/lib/context-bisect/arms/types.js +67 -0
- package/dist/esm/lib/context-bisect/arms/types.js.map +1 -0
- package/dist/esm/lib/context-bisect/arms/validate.d.ts +26 -0
- package/dist/esm/lib/context-bisect/arms/validate.js +122 -0
- package/dist/esm/lib/context-bisect/arms/validate.js.map +1 -0
- package/dist/esm/lib/context-bisect/arms/verdict.d.ts +53 -0
- package/dist/esm/lib/context-bisect/arms/verdict.js +103 -0
- package/dist/esm/lib/context-bisect/arms/verdict.js.map +1 -0
- package/dist/esm/lib/context-bisect/index.d.ts +1 -0
- package/dist/esm/lib/context-bisect/index.js +5 -0
- package/dist/esm/lib/context-bisect/index.js.map +1 -1
- package/dist/esm/lib/injection-engine/index.d.ts +1 -1
- package/dist/esm/lib/injection-engine/index.js +3 -1
- package/dist/esm/lib/injection-engine/index.js.map +1 -1
- package/dist/esm/lib/injection-engine/skillExamples.d.ts +16 -13
- package/dist/esm/lib/injection-engine/skillExamples.js +16 -60
- package/dist/esm/lib/injection-engine/skillExamples.js.map +1 -1
- package/dist/esm/lib/injection-engine/skillGraph.d.ts +50 -0
- package/dist/esm/lib/injection-engine/skillGraph.js +52 -1
- package/dist/esm/lib/injection-engine/skillGraph.js.map +1 -1
- package/dist/esm/lib/injection-engine/skillGraphCheckup.d.ts +6 -5
- package/dist/esm/lib/injection-engine/skillGraphCheckup.js.map +1 -1
- package/dist/esm/lib/injection-engine/skillNeverRoutes.d.ts +131 -0
- package/dist/esm/lib/injection-engine/skillNeverRoutes.js +228 -0
- package/dist/esm/lib/injection-engine/skillNeverRoutes.js.map +1 -0
- package/dist/esm/lib/injection-engine/skillPartition.d.ts +69 -0
- package/dist/esm/lib/injection-engine/skillPartition.js +273 -0
- package/dist/esm/lib/injection-engine/skillPartition.js.map +1 -0
- package/dist/esm/lib/injection-engine/skillsFromDir.d.ts +83 -3
- package/dist/esm/lib/injection-engine/skillsFromDir.js +118 -7
- package/dist/esm/lib/injection-engine/skillsFromDir.js.map +1 -1
- package/dist/esm/lib/injection-engine/skillsFromDirRoutes.d.ts +105 -0
- package/dist/esm/lib/injection-engine/skillsFromDirRoutes.js +169 -0
- package/dist/esm/lib/injection-engine/skillsFromDirRoutes.js.map +1 -0
- package/dist/esm/lib/injection-engine/startRuleClaim.d.ts +91 -0
- package/dist/esm/lib/injection-engine/startRuleClaim.js +78 -0
- package/dist/esm/lib/injection-engine/startRuleClaim.js.map +1 -0
- package/dist/esm/lib/injection-engine/toolOutcome.d.ts +12 -3
- package/dist/esm/lib/injection-engine/toolOutcome.js +2 -1
- package/dist/esm/lib/injection-engine/toolOutcome.js.map +1 -1
- package/dist/events/registry.js +4 -0
- package/dist/events/registry.js.map +1 -1
- package/dist/hosting/conformance/cases.js +88 -2
- package/dist/hosting/conformance/cases.js.map +1 -1
- package/dist/hosting/errors.js +42 -1
- package/dist/hosting/errors.js.map +1 -1
- package/dist/hosting/index.js +18 -2
- package/dist/hosting/index.js.map +1 -1
- package/dist/hosting/memorySessions.js +39 -0
- package/dist/hosting/memorySessions.js.map +1 -1
- package/dist/hosting/sessionRetention.js +73 -0
- package/dist/hosting/sessionRetention.js.map +1 -0
- package/dist/hosting/sqliteSessions.js +51 -0
- package/dist/hosting/sqliteSessions.js.map +1 -1
- package/dist/hosting/types.js +10 -1
- package/dist/hosting/types.js.map +1 -1
- package/dist/hosting-providers.js +21 -11
- package/dist/hosting-providers.js.map +1 -1
- package/dist/index.js +72 -43
- package/dist/index.js.map +1 -1
- package/dist/lib/context-bisect/arms/apply.js +45 -0
- package/dist/lib/context-bisect/arms/apply.js.map +1 -0
- package/dist/lib/context-bisect/arms/compare.js +116 -0
- package/dist/lib/context-bisect/arms/compare.js.map +1 -0
- package/dist/lib/context-bisect/arms/index.js +35 -0
- package/dist/lib/context-bisect/arms/index.js.map +1 -0
- package/dist/lib/context-bisect/arms/manifest.js +207 -0
- package/dist/lib/context-bisect/arms/manifest.js.map +1 -0
- package/dist/lib/context-bisect/arms/probe.js +132 -0
- package/dist/lib/context-bisect/arms/probe.js.map +1 -0
- package/dist/lib/context-bisect/arms/types.js +68 -0
- package/dist/lib/context-bisect/arms/types.js.map +1 -0
- package/dist/lib/context-bisect/arms/validate.js +128 -0
- package/dist/lib/context-bisect/arms/validate.js.map +1 -0
- package/dist/lib/context-bisect/arms/verdict.js +107 -0
- package/dist/lib/context-bisect/arms/verdict.js.map +1 -0
- package/dist/lib/context-bisect/index.js +23 -1
- package/dist/lib/context-bisect/index.js.map +1 -1
- package/dist/lib/injection-engine/index.js +4 -1
- package/dist/lib/injection-engine/index.js.map +1 -1
- package/dist/lib/injection-engine/skillExamples.js +24 -68
- package/dist/lib/injection-engine/skillExamples.js.map +1 -1
- package/dist/lib/injection-engine/skillGraph.js +52 -1
- package/dist/lib/injection-engine/skillGraph.js.map +1 -1
- package/dist/lib/injection-engine/skillGraphCheckup.js.map +1 -1
- package/dist/lib/injection-engine/skillNeverRoutes.js +234 -0
- package/dist/lib/injection-engine/skillNeverRoutes.js.map +1 -0
- package/dist/lib/injection-engine/skillPartition.js +277 -0
- package/dist/lib/injection-engine/skillPartition.js.map +1 -0
- package/dist/lib/injection-engine/skillsFromDir.js +121 -9
- package/dist/lib/injection-engine/skillsFromDir.js.map +1 -1
- package/dist/lib/injection-engine/skillsFromDirRoutes.js +174 -0
- package/dist/lib/injection-engine/skillsFromDirRoutes.js.map +1 -0
- package/dist/lib/injection-engine/startRuleClaim.js +85 -0
- package/dist/lib/injection-engine/startRuleClaim.js.map +1 -0
- package/dist/lib/injection-engine/toolOutcome.js +2 -1
- package/dist/lib/injection-engine/toolOutcome.js.map +1 -1
- package/dist/types/adapters/hosting/agentcore.d.ts +8 -0
- package/dist/types/adapters/hosting/agentcore.d.ts.map +1 -1
- package/dist/types/adapters/hosting/firestoreSessions.d.ts +162 -14
- package/dist/types/adapters/hosting/firestoreSessions.d.ts.map +1 -1
- package/dist/types/adapters/hosting/googleAgentEngine.d.ts +16 -1
- package/dist/types/adapters/hosting/googleAgentEngine.d.ts.map +1 -1
- package/dist/types/core/Agent.d.ts +8 -1
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/agent/AgentBuilder.d.ts +43 -0
- package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
- package/dist/types/core/agent/buildAgentChart.d.ts +9 -0
- package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/coverage/absent.d.ts +105 -0
- package/dist/types/core/agent/coverage/absent.d.ts.map +1 -0
- package/dist/types/core/agent/coverage/answer.d.ts +47 -0
- package/dist/types/core/agent/coverage/answer.d.ts.map +1 -0
- package/dist/types/core/agent/coverage/evidence.d.ts +69 -0
- package/dist/types/core/agent/coverage/evidence.d.ts.map +1 -0
- package/dist/types/core/agent/coverage/index.d.ts +18 -0
- package/dist/types/core/agent/coverage/index.d.ts.map +1 -0
- package/dist/types/core/agent/coverage/items.d.ts +36 -0
- package/dist/types/core/agent/coverage/items.d.ts.map +1 -0
- package/dist/types/core/agent/coverage/ledger.d.ts +81 -0
- package/dist/types/core/agent/coverage/ledger.d.ts.map +1 -0
- package/dist/types/core/agent/coverage/read.d.ts +52 -0
- package/dist/types/core/agent/coverage/read.d.ts.map +1 -0
- package/dist/types/core/agent/coverage/types.d.ts +143 -0
- package/dist/types/core/agent/coverage/types.d.ts.map +1 -0
- package/dist/types/core/agent/evidence/evidenceIndex.d.ts +7 -0
- package/dist/types/core/agent/evidence/evidenceIndex.d.ts.map +1 -1
- package/dist/types/core/agent/stages/prepareFinal.d.ts +18 -0
- package/dist/types/core/agent/stages/prepareFinal.d.ts.map +1 -1
- package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
- package/dist/types/core/agent/toolEffects.d.ts +2 -2
- package/dist/types/core/agent/types.d.ts +14 -0
- package/dist/types/core/agent/types.d.ts.map +1 -1
- package/dist/types/debug.d.ts +1 -0
- package/dist/types/debug.d.ts.map +1 -1
- package/dist/types/events/payloads.d.ts +46 -0
- package/dist/types/events/payloads.d.ts.map +1 -1
- package/dist/types/events/registry.d.ts +5 -1
- package/dist/types/events/registry.d.ts.map +1 -1
- package/dist/types/hosting/conformance/cases.d.ts +2 -1
- package/dist/types/hosting/conformance/cases.d.ts.map +1 -1
- package/dist/types/hosting/conformance/types.d.ts +7 -7
- package/dist/types/hosting/conformance/types.d.ts.map +1 -1
- package/dist/types/hosting/errors.d.ts +28 -0
- package/dist/types/hosting/errors.d.ts.map +1 -1
- package/dist/types/hosting/index.d.ts +11 -3
- package/dist/types/hosting/index.d.ts.map +1 -1
- package/dist/types/hosting/memorySessions.d.ts.map +1 -1
- package/dist/types/hosting/sessionRetention.d.ts +57 -0
- package/dist/types/hosting/sessionRetention.d.ts.map +1 -0
- package/dist/types/hosting/sqliteSessions.d.ts +11 -1
- package/dist/types/hosting/sqliteSessions.d.ts.map +1 -1
- package/dist/types/hosting/types.d.ts +184 -0
- package/dist/types/hosting/types.d.ts.map +1 -1
- package/dist/types/hosting-providers.d.ts +15 -11
- package/dist/types/hosting-providers.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/context-bisect/arms/apply.d.ts +55 -0
- package/dist/types/lib/context-bisect/arms/apply.d.ts.map +1 -0
- package/dist/types/lib/context-bisect/arms/compare.d.ts +28 -0
- package/dist/types/lib/context-bisect/arms/compare.d.ts.map +1 -0
- package/dist/types/lib/context-bisect/arms/index.d.ts +17 -0
- package/dist/types/lib/context-bisect/arms/index.d.ts.map +1 -0
- package/dist/types/lib/context-bisect/arms/manifest.d.ts +80 -0
- package/dist/types/lib/context-bisect/arms/manifest.d.ts.map +1 -0
- package/dist/types/lib/context-bisect/arms/probe.d.ts +55 -0
- package/dist/types/lib/context-bisect/arms/probe.d.ts.map +1 -0
- package/dist/types/lib/context-bisect/arms/types.d.ts +320 -0
- package/dist/types/lib/context-bisect/arms/types.d.ts.map +1 -0
- package/dist/types/lib/context-bisect/arms/validate.d.ts +27 -0
- package/dist/types/lib/context-bisect/arms/validate.d.ts.map +1 -0
- package/dist/types/lib/context-bisect/arms/verdict.d.ts +54 -0
- package/dist/types/lib/context-bisect/arms/verdict.d.ts.map +1 -0
- package/dist/types/lib/context-bisect/index.d.ts +1 -0
- package/dist/types/lib/context-bisect/index.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/index.d.ts +1 -1
- package/dist/types/lib/injection-engine/index.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/skillExamples.d.ts +16 -13
- package/dist/types/lib/injection-engine/skillExamples.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/skillGraph.d.ts +50 -0
- package/dist/types/lib/injection-engine/skillGraph.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/skillGraphCheckup.d.ts +6 -5
- package/dist/types/lib/injection-engine/skillGraphCheckup.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/skillNeverRoutes.d.ts +132 -0
- package/dist/types/lib/injection-engine/skillNeverRoutes.d.ts.map +1 -0
- package/dist/types/lib/injection-engine/skillPartition.d.ts +70 -0
- package/dist/types/lib/injection-engine/skillPartition.d.ts.map +1 -0
- package/dist/types/lib/injection-engine/skillsFromDir.d.ts +83 -3
- package/dist/types/lib/injection-engine/skillsFromDir.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/skillsFromDirRoutes.d.ts +106 -0
- package/dist/types/lib/injection-engine/skillsFromDirRoutes.d.ts.map +1 -0
- package/dist/types/lib/injection-engine/startRuleClaim.d.ts +92 -0
- package/dist/types/lib/injection-engine/startRuleClaim.d.ts.map +1 -0
- package/dist/types/lib/injection-engine/toolOutcome.d.ts +12 -3
- package/dist/types/lib/injection-engine/toolOutcome.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/hosting/index.js
CHANGED
|
@@ -73,6 +73,13 @@
|
|
|
73
73
|
* adapter inherits when a stored session is PRESENT but cannot be read. An
|
|
74
74
|
* unreadable stored conversation and an absent one are different facts, and
|
|
75
75
|
* only one of them is safe to answer with a fresh start.
|
|
76
|
+
* • `sessionRetention(sessions)` — how long a store keeps a conversation.
|
|
77
|
+
* The port's optional `retention()` member, feature-detected once: a store
|
|
78
|
+
* that deletes its own bytes hands back a sweep your cron calls, one whose
|
|
79
|
+
* backend expires rows hands back the policy and the step that arms it, and
|
|
80
|
+
* a store that can do neither is REFUSED BY NAME rather than sweeping
|
|
81
|
+
* nothing. Nothing here runs on a timer of its own, and no wire op deletes
|
|
82
|
+
* a conversation.
|
|
76
83
|
* • `requireCapability` — feature-detection with teeth.
|
|
77
84
|
*
|
|
78
85
|
* @example An agent that stays up and remembers
|
|
@@ -87,8 +94,8 @@
|
|
|
87
94
|
* process.on('SIGTERM', () => void handle.close());
|
|
88
95
|
*/
|
|
89
96
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
90
|
-
exports.
|
|
91
|
-
exports.ARTIFACT_GET_OP = exports.ARTIFACT_HEAD_OP = exports.artifactWireBody = exports.readArtifactWireOp = exports.WIRE_OPS = exports.refuseUnknownWireOp = exports.isWireOp = exports.ALL_WIRE_OPS = exports.SESSION_TRANSCRIPT_OP = exports.SESSION_LIST_OP = exports.sessionWireBody = exports.readSessionWireOp = exports.turnsPerHour = void 0;
|
|
97
|
+
exports.bearerToken = exports.sessionLifecycleConformance = exports.runSessionLifecycleConformance = exports.runSessionLifecycleCase = exports.formatConformanceReport = exports.resolveSessionOwner = exports.sessionRetention = exports.SessionsNotCarriedError = exports.SessionOwnershipConflictError = exports.SessionNotFoundError = exports.SessionRetentionUnavailableError = exports.SessionIndexUnavailableError = exports.SessionOpNeedsIdentityError = exports.AdmissionRefusedError = exports.VerifierUnavailableError = exports.IdentityNotVerifiedError = exports.ArtifactNotCarriedError = exports.ArtifactNotFoundError = exports.NoArtifactStoreError = exports.ArtifactSessionRequiredError = exports.InvalidWireOpError = exports.FrameTooLargeError = exports.ConversationClosedError = exports.UnreadableEnvelopeError = exports.NoPendingAskError = exports.AwaitingDecisionError = exports.PauseNotCarriedError = exports.ConcurrentRunError = exports.HostClosedError = exports.requireCapability = exports.DEFAULT_SWEEP_LIMIT = exports.DEFAULT_MAX_ACTIVE_SESSIONS = exports.standingAgent = exports.checkEnvelope = exports.readPausedRun = exports.readEnvelope = exports.toPausedEnvelope = exports.envelopeTranscript = exports.envelopeOwner = exports.toEnvelope = exports.UnreadableSessionFileError = exports.SqliteUnavailableError = exports.sqliteSessions = exports.memorySessions = exports.headerValue = exports.httpHost = exports.DEFAULT_SESSION_HEADER = exports.jsonWireWith = exports.jsonWire = exports.nodeHost = void 0;
|
|
98
|
+
exports.ARTIFACT_GET_OP = exports.ARTIFACT_HEAD_OP = exports.artifactWireBody = exports.readArtifactWireOp = exports.WIRE_OPS = exports.refuseUnknownWireOp = exports.isWireOp = exports.ALL_WIRE_OPS = exports.SESSION_TRANSCRIPT_OP = exports.SESSION_LIST_OP = exports.sessionWireBody = exports.readSessionWireOp = exports.turnsPerHour = exports.spendLedger = exports.spendKeyFor = exports.verifyRequestIdentity = void 0;
|
|
92
99
|
var nodeHost_js_1 = require("./nodeHost.js");
|
|
93
100
|
Object.defineProperty(exports, "nodeHost", { enumerable: true, get: function () { return nodeHost_js_1.nodeHost; } });
|
|
94
101
|
Object.defineProperty(exports, "jsonWire", { enumerable: true, get: function () { return nodeHost_js_1.jsonWire; } });
|
|
@@ -121,6 +128,7 @@ var standingAgent_js_1 = require("./standingAgent.js");
|
|
|
121
128
|
Object.defineProperty(exports, "standingAgent", { enumerable: true, get: function () { return standingAgent_js_1.standingAgent; } });
|
|
122
129
|
var types_js_1 = require("./types.js");
|
|
123
130
|
Object.defineProperty(exports, "DEFAULT_MAX_ACTIVE_SESSIONS", { enumerable: true, get: function () { return types_js_1.DEFAULT_MAX_ACTIVE_SESSIONS; } });
|
|
131
|
+
Object.defineProperty(exports, "DEFAULT_SWEEP_LIMIT", { enumerable: true, get: function () { return types_js_1.DEFAULT_SWEEP_LIMIT; } });
|
|
124
132
|
var errors_js_1 = require("./errors.js");
|
|
125
133
|
Object.defineProperty(exports, "requireCapability", { enumerable: true, get: function () { return errors_js_1.requireCapability; } });
|
|
126
134
|
Object.defineProperty(exports, "HostClosedError", { enumerable: true, get: function () { return errors_js_1.HostClosedError; } });
|
|
@@ -141,9 +149,17 @@ Object.defineProperty(exports, "VerifierUnavailableError", { enumerable: true, g
|
|
|
141
149
|
Object.defineProperty(exports, "AdmissionRefusedError", { enumerable: true, get: function () { return errors_js_1.AdmissionRefusedError; } });
|
|
142
150
|
Object.defineProperty(exports, "SessionOpNeedsIdentityError", { enumerable: true, get: function () { return errors_js_1.SessionOpNeedsIdentityError; } });
|
|
143
151
|
Object.defineProperty(exports, "SessionIndexUnavailableError", { enumerable: true, get: function () { return errors_js_1.SessionIndexUnavailableError; } });
|
|
152
|
+
Object.defineProperty(exports, "SessionRetentionUnavailableError", { enumerable: true, get: function () { return errors_js_1.SessionRetentionUnavailableError; } });
|
|
144
153
|
Object.defineProperty(exports, "SessionNotFoundError", { enumerable: true, get: function () { return errors_js_1.SessionNotFoundError; } });
|
|
145
154
|
Object.defineProperty(exports, "SessionOwnershipConflictError", { enumerable: true, get: function () { return errors_js_1.SessionOwnershipConflictError; } });
|
|
146
155
|
Object.defineProperty(exports, "SessionsNotCarriedError", { enumerable: true, get: function () { return errors_js_1.SessionsNotCarriedError; } });
|
|
156
|
+
// Retention (9.42.0) — the ONE feature detection for the port's optional
|
|
157
|
+
// `retention()` member, and the refusal a store without one produces. A door
|
|
158
|
+
// rather than `sessions.retention?.()`, because `undefined` there reads as
|
|
159
|
+
// "fine" and a retention job that quietly deletes nothing is the failure this
|
|
160
|
+
// whole member exists to prevent.
|
|
161
|
+
var sessionRetention_js_1 = require("./sessionRetention.js");
|
|
162
|
+
Object.defineProperty(exports, "sessionRetention", { enumerable: true, get: function () { return sessionRetention_js_1.sessionRetention; } });
|
|
147
163
|
// The one owner-transition rule (9.36.1) — shared by every store here, and
|
|
148
164
|
// available to any store anybody else writes. Four adapters each spelling this
|
|
149
165
|
// rule out in their own dialect is how all four came to be missing the same
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hosting/index.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hosting/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6FG;;;;AAEH,6CAAyF;AAAhF,uGAAA,QAAQ,OAAA;AAAE,uGAAA,QAAQ,OAAA;AAAE,2GAAA,YAAY,OAAA;AAAE,qHAAA,sBAAsB,OAAA;AAEjE,6EAA6E;AAC7E,2EAA2E;AAC3E,+EAA+E;AAC/E,0EAA0E;AAC1E,+EAA+E;AAC/E,oCAAoC;AAEpC,6CAAsD;AAA7C,uGAAA,QAAQ,OAAA;AAAE,0GAAA,WAAW,OAAA;AAW9B,yDAAqD;AAA5C,mHAAA,cAAc,OAAA;AACvB,yDAI6B;AAH3B,mHAAA,cAAc,OAAA;AACd,2HAAA,sBAAsB,OAAA;AACtB,+HAAA,0BAA0B,OAAA;AAM5B,6CAQuB;AAPrB,yGAAA,UAAU,OAAA;AACV,4GAAA,aAAa,OAAA;AACb,iHAAA,kBAAkB,OAAA;AAClB,+GAAA,gBAAgB,OAAA;AAChB,2GAAA,YAAY,OAAA;AACZ,4GAAA,aAAa,OAAA;AACb,4GAAA,aAAa,OAAA;AAEf,uDAAmD;AAA1C,iHAAA,aAAa,OAAA;AAEtB,uCAA8E;AAArE,uHAAA,2BAA2B,OAAA;AAAE,+GAAA,mBAAmB,OAAA;AAEzD,yCAwBqB;AAvBnB,8GAAA,iBAAiB,OAAA;AACjB,4GAAA,eAAe,OAAA;AACf,+GAAA,kBAAkB,OAAA;AAClB,iHAAA,oBAAoB,OAAA;AACpB,kHAAA,qBAAqB,OAAA;AACrB,8GAAA,iBAAiB,OAAA;AACjB,oHAAA,uBAAuB,OAAA;AACvB,oHAAA,uBAAuB,OAAA;AACvB,+GAAA,kBAAkB,OAAA;AAClB,+GAAA,kBAAkB,OAAA;AAClB,yHAAA,4BAA4B,OAAA;AAC5B,iHAAA,oBAAoB,OAAA;AACpB,kHAAA,qBAAqB,OAAA;AACrB,oHAAA,uBAAuB,OAAA;AACvB,qHAAA,wBAAwB,OAAA;AACxB,qHAAA,wBAAwB,OAAA;AACxB,kHAAA,qBAAqB,OAAA;AACrB,wHAAA,2BAA2B,OAAA;AAC3B,yHAAA,4BAA4B,OAAA;AAC5B,6HAAA,gCAAgC,OAAA;AAChC,iHAAA,oBAAoB,OAAA;AACpB,0HAAA,6BAA6B,OAAA;AAC7B,oHAAA,uBAAuB,OAAA;AAIzB,yEAAyE;AACzE,6EAA6E;AAC7E,2EAA2E;AAC3E,8EAA8E;AAC9E,kCAAkC;AAClC,6DAAyD;AAAhD,uHAAA,gBAAgB,OAAA;AAEzB,2EAA2E;AAC3E,+EAA+E;AAC/E,4EAA4E;AAC5E,cAAc;AACd,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAE5B,4EAA4E;AAC5E,4EAA4E;AAC5E,4CAA4C;AAC5C,yCAAyC;AACzC,mDAKgC;AAJ9B,mHAAA,uBAAuB,OAAA;AACvB,mHAAA,uBAAuB,OAAA;AACvB,0HAAA,8BAA8B,OAAA;AAC9B,uHAAA,2BAA2B,OAAA;AAY7B,2EAA2E;AAC3E,iEAAiE;AACjE,8EAA8E;AAC9E,yDAAyD;AACzD,qEAA+E;AAAtE,sHAAA,WAAW,OAAA;AAAE,gIAAA,qBAAqB,OAAA;AAO3C,+EAA+E;AAC/E,uEAAuE;AACvE,2DAA2D;AAC3D,+CAAwE;AAA/D,2GAAA,WAAW,OAAA;AAAE,2GAAA,WAAW,OAAA;AAAE,4GAAA,YAAY,OAAA;AAuB/C,+EAA+E;AAC/E,yEAAyE;AACzE,qBAAqB;AACrB,mDAK0B;AAJxB,mHAAA,iBAAiB,OAAA;AACjB,iHAAA,eAAe,OAAA;AACf,iHAAA,eAAe,OAAA;AACf,uHAAA,qBAAqB,OAAA;AAQvB,2CAAqF;AAA5E,0GAAA,YAAY,OAAA;AAAE,sGAAA,QAAQ,OAAA;AAAE,iHAAA,mBAAmB,OAAA;AAAE,sGAAA,QAAQ,OAAA;AAG9D,8EAA8E;AAC9E,6EAA6E;AAC7E,yEAAyE;AACzE,0EAA0E;AAC1E,2EAA2E;AAC3E,2BAA2B;AAC3B,qDAK2B;AAJzB,qHAAA,kBAAkB,OAAA;AAClB,mHAAA,gBAAgB,OAAA;AAChB,mHAAA,gBAAgB,OAAA;AAChB,kHAAA,eAAe,OAAA"}
|
|
@@ -33,6 +33,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
33
33
|
exports.memorySessions = void 0;
|
|
34
34
|
const envelope_js_1 = require("./envelope.js");
|
|
35
35
|
const sessionOwnership_js_1 = require("./sessionOwnership.js");
|
|
36
|
+
const types_js_1 = require("./types.js");
|
|
36
37
|
/** How many rows one `listByUser` page carries when the caller names no limit. */
|
|
37
38
|
const DEFAULT_PAGE = 50;
|
|
38
39
|
/**
|
|
@@ -126,6 +127,44 @@ function memorySessions() {
|
|
|
126
127
|
// `undefined` for "no such session" AND for "a session nobody signed
|
|
127
128
|
// for" — the deliberate ambiguity the composer's one not-found rests on.
|
|
128
129
|
Promise.resolve(stored.has(sessionId) ? owners.get(sessionId) : undefined),
|
|
130
|
+
// ── Retention (9.42.0) ──────────────────────────────────────────────
|
|
131
|
+
//
|
|
132
|
+
// `'this-store'`, obviously: the conversations are two Maps in this
|
|
133
|
+
// process, and nothing else is going to delete from them. Worth
|
|
134
|
+
// implementing rather than leaving absent even though a restart forgets
|
|
135
|
+
// everything anyway — this store is what a test and a local run use, so it
|
|
136
|
+
// is where a retention job gets WRITTEN, and a job that cannot be
|
|
137
|
+
// exercised until it reaches production is a job that is first exercised
|
|
138
|
+
// in production.
|
|
139
|
+
retention: () => ({
|
|
140
|
+
deletedBy: 'this-store',
|
|
141
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
142
|
+
forgetOlderThan: async (before, sweepOptions) => {
|
|
143
|
+
const limit = Math.max(1, Math.floor(sweepOptions?.limit ?? types_js_1.DEFAULT_SWEEP_LIMIT));
|
|
144
|
+
let forgotten = 0;
|
|
145
|
+
let more = false;
|
|
146
|
+
for (const [sessionId, envelope] of stored) {
|
|
147
|
+
if (envelope.savedAt >= before)
|
|
148
|
+
continue;
|
|
149
|
+
if (forgotten >= limit) {
|
|
150
|
+
// One older session was found past the limit, which is all `more`
|
|
151
|
+
// claims. Stopping here rather than counting the rest keeps a
|
|
152
|
+
// sweep O(sessions) instead of making it walk the whole map twice
|
|
153
|
+
// to produce a number nobody reads.
|
|
154
|
+
more = true;
|
|
155
|
+
break;
|
|
156
|
+
}
|
|
157
|
+
// Both maps, together. `forget`-shaped deletion that left the owner
|
|
158
|
+
// index behind would leave a listing pointing at conversations
|
|
159
|
+
// nobody can open — the same law the conformance battery holds
|
|
160
|
+
// `forget` to.
|
|
161
|
+
stored.delete(sessionId);
|
|
162
|
+
owners.delete(sessionId);
|
|
163
|
+
forgotten += 1;
|
|
164
|
+
}
|
|
165
|
+
return { forgotten, more };
|
|
166
|
+
},
|
|
167
|
+
}),
|
|
129
168
|
};
|
|
130
169
|
}
|
|
131
170
|
exports.memorySessions = memorySessions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memorySessions.js","sourceRoot":"","sources":["../../src/hosting/memorySessions.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;;;AAEH,+CAA8C;AAC9C,+DAA4D;
|
|
1
|
+
{"version":3,"file":"memorySessions.js","sourceRoot":"","sources":["../../src/hosting/memorySessions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* hosting/sessionRetention — the ONE feature detection for the port's
|
|
4
|
+
* retention member, and the refusal a store that has none produces.
|
|
5
|
+
*
|
|
6
|
+
* ── Why this is a function and not `sessions.retention?.()` ──────────────────
|
|
7
|
+
* Because `?.()` answers `undefined`, and `undefined` is exactly the wrong
|
|
8
|
+
* answer here. Every other optional member on this port is asked for behind a
|
|
9
|
+
* door that refuses by name when it is absent — `session-list` does not report
|
|
10
|
+
* "you have no conversations" when a store keeps no index — and retention needs
|
|
11
|
+
* that more than either of them, not less: a cleanup job whose call returned
|
|
12
|
+
* without complaining looks precisely like a cleanup job that is working. The
|
|
13
|
+
* difference surfaces the day somebody asks how long conversations are kept,
|
|
14
|
+
* and by then the answer is "all of them, since the beginning".
|
|
15
|
+
*
|
|
16
|
+
* So the detection lives here, once, and produces
|
|
17
|
+
* {@link SessionRetentionUnavailableError} rather than a value that reads as
|
|
18
|
+
* "fine". A caller that wants the silent shape can still write
|
|
19
|
+
* `sessions.retention?.()` — the port is honest about what it has — but nothing
|
|
20
|
+
* in this package does, and the door somebody reaches for first refuses.
|
|
21
|
+
*
|
|
22
|
+
* ── What it deliberately does not do ────────────────────────────────────────
|
|
23
|
+
* It does not sweep, schedule, or decide a cutoff. The cutoff is a policy
|
|
24
|
+
* decision — a jurisdiction, a contract, a retention schedule somebody signed —
|
|
25
|
+
* and a library that shipped a default would be answering a legal question with
|
|
26
|
+
* a constant. It hands back what the store can do; WHEN is yours.
|
|
27
|
+
*/
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.sessionRetention = void 0;
|
|
30
|
+
const errors_js_1 = require("./errors.js");
|
|
31
|
+
/**
|
|
32
|
+
* How a store's conversations stop existing — or a refusal that names the
|
|
33
|
+
* store's limitation.
|
|
34
|
+
*
|
|
35
|
+
* The same detection every door in this package uses (`typeof … ===
|
|
36
|
+
* 'function'`), in the one place a consumer reaches for it, so a store that
|
|
37
|
+
* implements the member and a store that does not are told apart once rather
|
|
38
|
+
* than at every call site.
|
|
39
|
+
*
|
|
40
|
+
* @param sessions The store to ask.
|
|
41
|
+
* @param purpose What you are doing, in your own words. It becomes the first
|
|
42
|
+
* clause of the refusal, so an operator reading a log knows which job stopped
|
|
43
|
+
* — the same reason the session-history refusals carry their op name.
|
|
44
|
+
*
|
|
45
|
+
* @throws SessionRetentionUnavailableError when the store implements no
|
|
46
|
+
* `retention()`. Never returns `undefined`: a caller cannot mistake "this
|
|
47
|
+
* store cannot expire anything" for "there was nothing to expire".
|
|
48
|
+
*
|
|
49
|
+
* @example A nightly job, against whatever store this deployment was built with
|
|
50
|
+
* const policy = sessionRetention(sessions, 'the nightly retention job');
|
|
51
|
+
* if (policy.deletedBy === 'this-store') {
|
|
52
|
+
* let more = true;
|
|
53
|
+
* while (more) ({ more } = await policy.forgetOlderThan(Date.now() - THIRTY_DAYS));
|
|
54
|
+
* } else {
|
|
55
|
+
* // Nothing to run: the backend expires them. Log what turns it on.
|
|
56
|
+
* console.log(policy.active ? 'expiry is armed' : policy.enableWith);
|
|
57
|
+
* }
|
|
58
|
+
*/
|
|
59
|
+
function sessionRetention(sessions, purpose = 'expiring old conversations') {
|
|
60
|
+
// Read once into a local: a store is free to be a class instance, a literal,
|
|
61
|
+
// or a Proxy, and asking twice would let a getter answer differently between
|
|
62
|
+
// the check and the call — the shape of bug feature detection exists to
|
|
63
|
+
// remove, not to introduce.
|
|
64
|
+
const member = sessions.retention;
|
|
65
|
+
if (typeof member !== 'function')
|
|
66
|
+
throw new errors_js_1.SessionRetentionUnavailableError(purpose);
|
|
67
|
+
// Called as a METHOD, so a store that closes over nothing and one that reads
|
|
68
|
+
// `this` both work. Every shipped store here returns a literal; a class-based
|
|
69
|
+
// one is somebody else's perfectly reasonable choice.
|
|
70
|
+
return member.call(sessions);
|
|
71
|
+
}
|
|
72
|
+
exports.sessionRetention = sessionRetention;
|
|
73
|
+
//# sourceMappingURL=sessionRetention.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionRetention.js","sourceRoot":"","sources":["../../src/hosting/sessionRetention.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;;;AAEH,2CAA+D;AAG/D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,SAAgB,gBAAgB,CAC9B,QAA0B,EAC1B,OAAO,GAAG,4BAA4B;IAEtC,6EAA6E;IAC7E,6EAA6E;IAC7E,wEAAwE;IACxE,4BAA4B;IAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC;IAClC,IAAI,OAAO,MAAM,KAAK,UAAU;QAAE,MAAM,IAAI,4CAAgC,CAAC,OAAO,CAAC,CAAC;IACtF,6EAA6E;IAC7E,8EAA8E;IAC9E,sDAAsD;IACtD,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAdD,4CAcC"}
|
|
@@ -60,6 +60,7 @@ const errors_js_1 = require("./errors.js");
|
|
|
60
60
|
const sessionOwnership_js_1 = require("./sessionOwnership.js");
|
|
61
61
|
const lazyRequire_js_1 = require("../lib/lazyRequire.js");
|
|
62
62
|
const sqliteUnavailable_js_1 = require("../lib/sqliteUnavailable.js");
|
|
63
|
+
const types_js_1 = require("./types.js");
|
|
63
64
|
// ─── The refusals ────────────────────────────────────────────────────
|
|
64
65
|
/**
|
|
65
66
|
* Raised when `node:sqlite` is not available in the running Node.
|
|
@@ -243,6 +244,14 @@ function sqliteSessions(options) {
|
|
|
243
244
|
const listOwned = db.prepare(`SELECT session_id, format, saved_at, message_count FROM ${SESSIONS_TABLE} ` +
|
|
244
245
|
`WHERE owner = ? AND (saved_at < ? OR (saved_at = ? AND session_id > ?)) ` +
|
|
245
246
|
`ORDER BY saved_at DESC, session_id ASC LIMIT ?`);
|
|
247
|
+
// Retention (9.42.0). OLDEST FIRST, so a bounded sweep of a long-neglected
|
|
248
|
+
// file makes progress from the far end rather than nibbling at whichever
|
|
249
|
+
// rows the query planner happened to reach — after N calls the backlog is
|
|
250
|
+
// genuinely N × limit shorter. It selects rather than deleting in one
|
|
251
|
+
// statement because `DELETE … LIMIT` needs a compile-time option that is off
|
|
252
|
+
// in most SQLite builds, including Node's, and because the ids are what make
|
|
253
|
+
// the count exact without reading a driver-specific `changes` field.
|
|
254
|
+
const listExpired = db.prepare(`SELECT session_id FROM ${SESSIONS_TABLE} WHERE saved_at < ? ORDER BY saved_at ASC LIMIT ?`);
|
|
246
255
|
let closed = false;
|
|
247
256
|
const open = (verb) => {
|
|
248
257
|
if (closed) {
|
|
@@ -362,6 +371,48 @@ function sqliteSessions(options) {
|
|
|
362
371
|
open('forget a session');
|
|
363
372
|
remove.run(sessionId);
|
|
364
373
|
},
|
|
374
|
+
// ── Retention (9.42.0) ──────────────────────────────────────────────
|
|
375
|
+
//
|
|
376
|
+
// `'this-store'`: the rows are in a file this process owns, and there is
|
|
377
|
+
// no service behind it with a policy of its own. A cron job calls this;
|
|
378
|
+
// nothing here runs on a timer, because a library that started an interval
|
|
379
|
+
// would own your process's lifetime, and a deletion nobody asked for at a
|
|
380
|
+
// time nobody chose is the one kind of deletion you cannot explain
|
|
381
|
+
// afterwards.
|
|
382
|
+
retention: () => ({
|
|
383
|
+
deletedBy: 'this-store',
|
|
384
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
385
|
+
forgetOlderThan: async (before, sweepOptions) => {
|
|
386
|
+
open('forget old sessions');
|
|
387
|
+
const limit = Math.max(1, Math.floor(sweepOptions?.limit ?? types_js_1.DEFAULT_SWEEP_LIMIT));
|
|
388
|
+
// BEGIN IMMEDIATE, the same bargain `persist` makes: the select and
|
|
389
|
+
// the deletes must not have another writer's turn between them, or a
|
|
390
|
+
// conversation that was written after it was selected is deleted a
|
|
391
|
+
// millisecond later — the one bug a retention sweep must not have,
|
|
392
|
+
// since what it destroys is somebody's live conversation and there is
|
|
393
|
+
// nothing to notice afterwards.
|
|
394
|
+
db.exec('BEGIN IMMEDIATE');
|
|
395
|
+
try {
|
|
396
|
+
// One extra row, so "is there more to do?" is a fact rather than a
|
|
397
|
+
// guess from a full batch — the same trick every listing here uses.
|
|
398
|
+
const rows = listExpired.all(before, limit + 1);
|
|
399
|
+
const doomed = rows.slice(0, limit);
|
|
400
|
+
for (const row of doomed)
|
|
401
|
+
remove.run(String(row.session_id));
|
|
402
|
+
db.exec('COMMIT');
|
|
403
|
+
return { forgotten: doomed.length, more: rows.length > limit };
|
|
404
|
+
}
|
|
405
|
+
catch (err) {
|
|
406
|
+
try {
|
|
407
|
+
db.exec('ROLLBACK');
|
|
408
|
+
}
|
|
409
|
+
catch {
|
|
410
|
+
/* Already rolled back or never opened; the error below says why. */
|
|
411
|
+
}
|
|
412
|
+
throw err;
|
|
413
|
+
}
|
|
414
|
+
},
|
|
415
|
+
}),
|
|
365
416
|
close() {
|
|
366
417
|
if (closed)
|
|
367
418
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqliteSessions.js","sourceRoot":"","sources":["../../src/hosting/sqliteSessions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sqliteSessions.js","sourceRoot":"","sources":["../../src/hosting/sqliteSessions.ts"],"names":[],"mappings":"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"}
|
package/dist/hosting/types.js
CHANGED
|
@@ -21,7 +21,16 @@
|
|
|
21
21
|
* Pattern: Ports & adapters (hexagonal). Role: the port side, exclusively.
|
|
22
22
|
*/
|
|
23
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
-
exports.DEFAULT_MAX_ACTIVE_SESSIONS = void 0;
|
|
24
|
+
exports.DEFAULT_MAX_ACTIVE_SESSIONS = exports.DEFAULT_SWEEP_LIMIT = void 0;
|
|
25
|
+
/**
|
|
26
|
+
* How many sessions one {@link SessionSweep.forgetOlderThan} forgets when the
|
|
27
|
+
* caller names no limit.
|
|
28
|
+
*
|
|
29
|
+
* Big enough that an ordinary nightly sweep finishes in one call, small enough
|
|
30
|
+
* that the first sweep of a neglected store is a series of short transactions
|
|
31
|
+
* rather than one long one.
|
|
32
|
+
*/
|
|
33
|
+
exports.DEFAULT_SWEEP_LIMIT = 1000;
|
|
25
34
|
/** How many sessions a `agentFactory` pool holds before it evicts the least
|
|
26
35
|
* recently used one. See {@link StandingAgentPoolOptions.maxActiveSessions}. */
|
|
27
36
|
exports.DEFAULT_MAX_ACTIVE_SESSIONS = 100;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/hosting/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/hosting/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;AAo8BH;;;;;;;GAOG;AACU,QAAA,mBAAmB,GAAG,IAAI,CAAC;AA6MxC;iFACiF;AACpE,QAAA,2BAA2B,GAAG,GAAG,CAAC"}
|
|
@@ -57,16 +57,20 @@
|
|
|
57
57
|
* the `_client` seam and no test pretends to have reached AWS. Real-cloud
|
|
58
58
|
* verification lands with a field deployment.
|
|
59
59
|
*
|
|
60
|
-
* `firestoreSessions` is **
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
60
|
+
* `firestoreSessions` is **field-validated except the ownership refusal
|
|
61
|
+
* (2026-08)**: an independent trial ran it against a real Firestore and
|
|
62
|
+
* exercised seven of its eight areas live — the round trip, the indexed and
|
|
63
|
+
* cursored listing, the missing-index refusal, the hashed document name, the
|
|
64
|
+
* size ceiling, derived ownership and `forget`. The eighth, refusing a turn
|
|
65
|
+
* signed by somebody ELSE, was added after that trial and is held by tests
|
|
66
|
+
* here and by nothing in the field. Two further caveats stand: every SDK
|
|
67
|
+
* member it calls was read off a real install of `@google-cloud/firestore`
|
|
68
|
+
* 9.0.0 and hand-verified there, but the package is deliberately NOT installed
|
|
69
|
+
* in this repository (it would hoist `@opentelemetry/api` and disarm an
|
|
70
|
+
* absent-peer refusal test), so the assertion that re-checks those names
|
|
71
|
+
* against the real package SKIPS here and runs for anyone who installs it
|
|
72
|
+
* locally; what CI checks is dispatch. See the adapter's module header for the
|
|
73
|
+
* full account.
|
|
70
74
|
*
|
|
71
75
|
* @example An agent in an AgentCore Runtime container
|
|
72
76
|
* import { standingAgent } from 'agentfootprint/hosting';
|
|
@@ -84,7 +88,7 @@
|
|
|
84
88
|
* symbols, one door. Import from the door.
|
|
85
89
|
*/
|
|
86
90
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
87
|
-
exports.FirestoreIndexMissingError = exports.EnvelopeTooLargeError = exports.FIRESTORE_MAX_ENVELOPE_BYTES = exports.FIRESTORE_MAX_DOCUMENT_BYTES = exports.DEFAULT_SESSION_COLLECTION = exports.firestoreSessions = exports.SESSION_EVENT_AUTHOR = exports.SESSION_STATE_KEY = exports.DEFAULT_USER_ID = exports.agentEngineSessions = exports.DEFAULT_SESSION_STORAGE_PATH = exports.agentCoreSessions = exports.readAgentCoreConversation = exports.agentCoreRuntimeWire = exports.agentCoreRuntimeHost = void 0;
|
|
91
|
+
exports.FirestoreIndexMissingError = exports.EnvelopeTooLargeError = exports.FIRESTORE_MAX_ENVELOPE_BYTES = exports.FIRESTORE_MAX_DOCUMENT_BYTES = exports.EXPIRES_AT_FIELD = exports.DEFAULT_SESSION_COLLECTION = exports.firestoreSessions = exports.SESSION_EVENT_AUTHOR = exports.SESSION_STATE_KEY = exports.DEFAULT_USER_ID = exports.agentEngineSessions = exports.DEFAULT_SESSION_STORAGE_PATH = exports.agentCoreSessions = exports.readAgentCoreConversation = exports.agentCoreRuntimeWire = exports.agentCoreRuntimeHost = void 0;
|
|
88
92
|
var agentcore_js_1 = require("./adapters/hosting/agentcore.js");
|
|
89
93
|
Object.defineProperty(exports, "agentCoreRuntimeHost", { enumerable: true, get: function () { return agentcore_js_1.agentCoreRuntimeHost; } });
|
|
90
94
|
Object.defineProperty(exports, "agentCoreRuntimeWire", { enumerable: true, get: function () { return agentcore_js_1.agentCoreRuntimeWire; } });
|
|
@@ -105,6 +109,12 @@ Object.defineProperty(exports, "SESSION_EVENT_AUTHOR", { enumerable: true, get:
|
|
|
105
109
|
var firestoreSessions_js_1 = require("./adapters/hosting/firestoreSessions.js");
|
|
106
110
|
Object.defineProperty(exports, "firestoreSessions", { enumerable: true, get: function () { return firestoreSessions_js_1.firestoreSessions; } });
|
|
107
111
|
Object.defineProperty(exports, "DEFAULT_SESSION_COLLECTION", { enumerable: true, get: function () { return firestoreSessions_js_1.DEFAULT_SESSION_COLLECTION; } });
|
|
112
|
+
// The field a native TTL policy is configured against (9.42.0). On the
|
|
113
|
+
// barrel beside the collection name for the same reason: an operator types
|
|
114
|
+
// both of them into a console, and a name that lives only inside a string
|
|
115
|
+
// literal is a name somebody mistypes at 2am. `ttlPolicyCommand` stays off —
|
|
116
|
+
// it is reachable, already filled in, as `store.retention().enableWith`.
|
|
117
|
+
Object.defineProperty(exports, "EXPIRES_AT_FIELD", { enumerable: true, get: function () { return firestoreSessions_js_1.EXPIRES_AT_FIELD; } });
|
|
108
118
|
Object.defineProperty(exports, "FIRESTORE_MAX_DOCUMENT_BYTES", { enumerable: true, get: function () { return firestoreSessions_js_1.FIRESTORE_MAX_DOCUMENT_BYTES; } });
|
|
109
119
|
Object.defineProperty(exports, "FIRESTORE_MAX_ENVELOPE_BYTES", { enumerable: true, get: function () { return firestoreSessions_js_1.FIRESTORE_MAX_ENVELOPE_BYTES; } });
|
|
110
120
|
Object.defineProperty(exports, "EnvelopeTooLargeError", { enumerable: true, get: function () { return firestoreSessions_js_1.EnvelopeTooLargeError; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hosting-providers.js","sourceRoot":"","sources":["../src/hosting-providers.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"hosting-providers.js","sourceRoot":"","sources":["../src/hosting-providers.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuFG;;;AAEH,gEAMyC;AALvC,oHAAA,oBAAoB,OAAA;AACpB,oHAAA,oBAAoB,OAAA;AACpB,yHAAA,yBAAyB,OAAA;AACzB,iHAAA,iBAAiB,OAAA;AACjB,4HAAA,4BAA4B,OAAA;AAG9B,gFAKiD;AAJ/C,2HAAA,mBAAmB,OAAA;AACnB,uHAAA,eAAe,OAAA;AACf,yHAAA,iBAAiB,OAAA;AACjB,4HAAA,oBAAoB,OAAA;AAQtB,gFAAgF;AAChF,+EAA+E;AAC/E,gFAAgF;AAChF,4EAA4E;AAC5E,6EAA6E;AAC7E,mBAAmB;AACnB,gFAaiD;AAZ/C,yHAAA,iBAAiB,OAAA;AACjB,kIAAA,0BAA0B,OAAA;AAC1B,uEAAuE;AACvE,2EAA2E;AAC3E,0EAA0E;AAC1E,6EAA6E;AAC7E,yEAAyE;AACzE,wHAAA,gBAAgB,OAAA;AAChB,oIAAA,4BAA4B,OAAA;AAC5B,oIAAA,4BAA4B,OAAA;AAC5B,6HAAA,qBAAqB,OAAA;AACrB,kIAAA,0BAA0B,OAAA"}
|