agentfootprint 9.41.0 → 9.44.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 +163 -23
- 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/artifacts/conformance/cases.js +20 -0
- package/dist/artifacts/conformance/cases.js.map +1 -1
- package/dist/artifacts/scopePath.js +41 -1
- package/dist/artifacts/scopePath.js.map +1 -1
- package/dist/core/Agent.js +17 -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/core/outputFallback.js.map +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 +163 -23
- 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/artifacts/conformance/cases.js +20 -0
- package/dist/esm/artifacts/conformance/cases.js.map +1 -1
- package/dist/esm/artifacts/scopePath.d.ts +31 -0
- package/dist/esm/artifacts/scopePath.js +41 -1
- package/dist/esm/artifacts/scopePath.js.map +1 -1
- package/dist/esm/core/Agent.d.ts +8 -1
- package/dist/esm/core/Agent.js +18 -2
- 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/core/outputFallback.d.ts +15 -1
- package/dist/esm/core/outputFallback.js.map +1 -1
- 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/dispatcher.d.ts +1 -1
- package/dist/esm/events/dispatcher.js.map +1 -1
- package/dist/esm/events/payloads.d.ts +82 -0
- package/dist/esm/events/registry.d.ts +11 -1
- package/dist/esm/events/registry.js +10 -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 +229 -22
- 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/dispatcher.js.map +1 -1
- package/dist/events/registry.js +10 -0
- package/dist/events/registry.js.map +1 -1
- package/dist/hosting/conformance/cases.js +229 -22
- 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/artifacts/conformance/cases.d.ts.map +1 -1
- package/dist/types/artifacts/scopePath.d.ts +31 -0
- package/dist/types/artifacts/scopePath.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/core/outputFallback.d.ts +15 -1
- package/dist/types/core/outputFallback.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/dispatcher.d.ts +1 -1
- package/dist/types/events/dispatcher.d.ts.map +1 -1
- package/dist/types/events/payloads.d.ts +82 -0
- package/dist/types/events/payloads.d.ts.map +1 -1
- package/dist/types/events/registry.d.ts +11 -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
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
* containers, one conversation" answer Google has.
|
|
12
12
|
*
|
|
13
13
|
* ── The shape, said plainly ─────────────────────────────────────────────────
|
|
14
|
-
* One collection. One document per session.
|
|
14
|
+
* One collection. One document per session. Seven fields:
|
|
15
15
|
*
|
|
16
|
-
* sessionId · format · savedAt · envelope · owner · messageCount
|
|
16
|
+
* sessionId · format · savedAt · envelope · owner · messageCount · expiresAt
|
|
17
17
|
*
|
|
18
18
|
* That is the SQLite table, moved. It is deliberately the same shape, because
|
|
19
19
|
* the two stores implement the same port under the same laws, and a reader who
|
|
@@ -95,6 +95,45 @@
|
|
|
95
95
|
* in, and names those fields rather than restating the service's message — see
|
|
96
96
|
* {@link firestoreFailure} for why no Google text is ever echoed here.
|
|
97
97
|
*
|
|
98
|
+
* ── Retention: a SECOND timestamp, not a converted one (9.42.0) ─────────────
|
|
99
|
+
* A native Firestore TTL policy deletes a document when a field of type
|
|
100
|
+
* **Timestamp** is in the past. `savedAt` is a NUMBER — epoch milliseconds —
|
|
101
|
+
* so until this release an operator could not point a policy at this
|
|
102
|
+
* collection at all without a library change. The fix is a second field,
|
|
103
|
+
* `expiresAt`, written as a `Date` (the client stores one as a Timestamp) on
|
|
104
|
+
* every persist, holding `savedAt + expireAfterMs`. Give the store no
|
|
105
|
+
* `expireAfterMs` and the field is written as `null`, which a TTL policy
|
|
106
|
+
* ignores, and nothing about this release changes.
|
|
107
|
+
*
|
|
108
|
+
* **`savedAt` was NOT converted, and that is the load-bearing decision.** It is
|
|
109
|
+
* the ordering key of the composite index, the field the listing sorts by, and
|
|
110
|
+
* the first half of every cursor this store has ever minted (`<savedAt>:<docId>`,
|
|
111
|
+
* parsed with `parseFloat` and handed back to `startAfter` as a number).
|
|
112
|
+
* Converting it would have meant a new index, a new cursor grammar, and every
|
|
113
|
+
* pagination token issued by an earlier release becoming unreadable — but the
|
|
114
|
+
* decisive one is quieter: **Firestore's value ordering sorts by TYPE first.**
|
|
115
|
+
* Every number sorts before every timestamp. A collection holding old
|
|
116
|
+
* number-`savedAt` documents beside new timestamp-`savedAt` ones would list
|
|
117
|
+
* them in two blocks, all of one type then all of the other, with a person's
|
|
118
|
+
* conversations silently out of order by the type of the field rather than by
|
|
119
|
+
* when they were written. A second field costs one small write per turn and
|
|
120
|
+
* has no such shadow.
|
|
121
|
+
*
|
|
122
|
+
* So the migration consequence, plainly:
|
|
123
|
+
*
|
|
124
|
+
* • **Every document already stored stays readable and listable.** Nothing
|
|
125
|
+
* about `savedAt`, the index, the cursor or the query changed, and a
|
|
126
|
+
* document written by 9.33–9.41 is read by this release unchanged.
|
|
127
|
+
* • **Old documents do not start expiring.** They carry no `expiresAt`, and
|
|
128
|
+
* a TTL policy ignores a document whose field is missing. A conversation
|
|
129
|
+
* that is still being used gains one on its next turn; a conversation
|
|
130
|
+
* nobody ever writes to again keeps living. If those matter, delete them
|
|
131
|
+
* by hand once (a query on `savedAt` plus `forget`, or a `gcloud`
|
|
132
|
+
* bulk-delete) — this adapter will not walk your collection behind your
|
|
133
|
+
* back.
|
|
134
|
+
* • **The policy is still yours to create.** `retention().enableWith` prints
|
|
135
|
+
* the exact command with your collection and database in it.
|
|
136
|
+
*
|
|
98
137
|
* ── The ceiling, since a store should name its own ──────────────────────────
|
|
99
138
|
* A Firestore document is capped at 1 MiB. A conversation whose stored envelope
|
|
100
139
|
* approaches that is refused BY NAME before the write
|
|
@@ -122,8 +161,29 @@
|
|
|
122
161
|
* for it. So the write is a transaction.
|
|
123
162
|
*
|
|
124
163
|
* ── How much of this is verified ────────────────────────────────────────────
|
|
125
|
-
* **
|
|
126
|
-
* against a
|
|
164
|
+
* **Field-validated except the ownership refusal (2026-08).** An independent
|
|
165
|
+
* field trial ran THIS adapter against a real Firestore and exercised seven of
|
|
166
|
+
* its eight areas live: the round trip, the server-side indexed listing with
|
|
167
|
+
* its document-name tiebreak and real cursor, the missing-index refusal, the
|
|
168
|
+
* hashed document name, the size ceiling, ownership derived from the envelope,
|
|
169
|
+
* and `forget`.
|
|
170
|
+
*
|
|
171
|
+
* The eighth is named because under-claiming and over-claiming are the same
|
|
172
|
+
* defect: **the refusal of a turn signed by somebody else** — the
|
|
173
|
+
* `resolveSessionOwner` conflict this file's `persist` raises out of the
|
|
174
|
+
* transaction — was NOT exercised, because it did not exist when the trial
|
|
175
|
+
* ran. It is held by tests here, including the contested-write case of the
|
|
176
|
+
* shared conformance battery, and by nothing in the field. Two writers racing
|
|
177
|
+
* for one fresh session against a real Firestore, with the real client's
|
|
178
|
+
* transaction retry underneath, is exactly the shape a double models by
|
|
179
|
+
* assumption; the sibling Vertex adapter's equivalent was found in the field
|
|
180
|
+
* and not in a test suite.
|
|
181
|
+
*
|
|
182
|
+
* This section said "NOT field-validated. Nothing here has been run against a
|
|
183
|
+
* live Firestore" for two releases after that stopped being true. Under-claiming
|
|
184
|
+
* is the safe direction and it is still the same defect class the trials keep
|
|
185
|
+
* reporting: a status that does not track the evidence is a status nobody can
|
|
186
|
+
* use, whichever way it is wrong.
|
|
127
187
|
*
|
|
128
188
|
* The pin is the `firestoreSessions` row of `GOOGLE_SURFACE_PINS` in
|
|
129
189
|
* `test/adapters/google/googlePin.ts`, asserted by
|
|
@@ -148,7 +208,8 @@
|
|
|
148
208
|
* everywhere. That the row spells those members the way Google does is held by a
|
|
149
209
|
* hand check against a real install, not by a test that runs here.
|
|
150
210
|
*
|
|
151
|
-
* The DESIGN
|
|
211
|
+
* The DESIGN was informed, before any of that, by an EARLIER and separate trial
|
|
212
|
+
* of a DIFFERENT Firestore
|
|
152
213
|
* session adapter, which ran against a real Firestore and passed eight ownership
|
|
153
214
|
* and history checks — and whose own report named the defect this adapter does
|
|
154
215
|
* not reproduce: that adapter read every document for one owner, sorted them in
|
|
@@ -158,7 +219,7 @@
|
|
|
158
219
|
* real service; it proves nothing about this file's query, cursor, transaction
|
|
159
220
|
* or index, because that adapter had none of them.
|
|
160
221
|
*/
|
|
161
|
-
import type { SessionLifecycle } from '../../hosting/types.js';
|
|
222
|
+
import type { SessionExpiryPolicy, SessionLifecycle } from '../../hosting/types.js';
|
|
162
223
|
/** One document as it came back. `firestore.d.ts` line 1605. */
|
|
163
224
|
export interface FirestoreDocumentSnapshotLike {
|
|
164
225
|
/** A PROPERTY, not a method — `readonly exists: boolean`. */
|
|
@@ -282,6 +343,39 @@ export interface FirestoreSessionsOptions {
|
|
|
282
343
|
* still loading the module?" is a fair question to have answered here.
|
|
283
344
|
*/
|
|
284
345
|
readonly firestore?: FirestoreLike;
|
|
346
|
+
/**
|
|
347
|
+
* How long after its last turn a conversation should expire, in
|
|
348
|
+
* milliseconds. Omit and nothing expires (9.42.0).
|
|
349
|
+
*
|
|
350
|
+
* Setting it makes every write stamp {@link EXPIRES_AT_FIELD} —
|
|
351
|
+
* `savedAt + expireAfterMs`, as a timestamp — which is the field a **native
|
|
352
|
+
* Firestore TTL policy** reads. The policy itself is yours to enable, once,
|
|
353
|
+
* with the command {@link FirestoreSessions.retention} hands you; this store
|
|
354
|
+
* writes what it reads and never deletes a document on a clock of its own.
|
|
355
|
+
* Both halves are needed and neither is silent about the other: with no
|
|
356
|
+
* policy the field is inert data, and with no `expireAfterMs` the policy has
|
|
357
|
+
* nothing to act on.
|
|
358
|
+
*
|
|
359
|
+
* **The clock is the conversation's own `savedAt`, not this process's.** So
|
|
360
|
+
* the expiry is IDLE time: every turn pushes it out, and a conversation dies
|
|
361
|
+
* `expireAfterMs` after somebody last spoke, which is what a session
|
|
362
|
+
* retention rule almost always means. It also makes the stamp a pure
|
|
363
|
+
* function of the envelope — the same conversation stamps the same instant
|
|
364
|
+
* on any machine, whatever its clock says.
|
|
365
|
+
*
|
|
366
|
+
* **It does not reach backwards.** Documents written before this was
|
|
367
|
+
* configured carry no expiry field, and a TTL policy ignores a document
|
|
368
|
+
* whose field is missing — so old conversations expire only once they are
|
|
369
|
+
* written again. See the module header for what to do about the ones that
|
|
370
|
+
* never will be.
|
|
371
|
+
*
|
|
372
|
+
* Named `expireAfterMs` rather than `ttlMs` deliberately, even though the
|
|
373
|
+
* artifact stores in this package spell their dial the second way: theirs is
|
|
374
|
+
* stamped once at mint and measured from creation, and this one is measured
|
|
375
|
+
* from the LAST turn and moves on every write. One word for two clocks would
|
|
376
|
+
* be the cheaper name and the more expensive mistake.
|
|
377
|
+
*/
|
|
378
|
+
readonly expireAfterMs?: number;
|
|
285
379
|
/**
|
|
286
380
|
* @internal Test seam only — the `@google-cloud/firestore` module, injected.
|
|
287
381
|
* Lets the suite exercise every path (including the refusals) without a
|
|
@@ -292,6 +386,34 @@ export interface FirestoreSessionsOptions {
|
|
|
292
386
|
}
|
|
293
387
|
/** Where sessions live when the caller names no collection. */
|
|
294
388
|
export declare const DEFAULT_SESSION_COLLECTION = "agentfootprint_sessions";
|
|
389
|
+
/**
|
|
390
|
+
* The document field a native TTL policy is configured against (9.42.0).
|
|
391
|
+
*
|
|
392
|
+
* A SECOND field beside `savedAt`, never a change to it — see the module
|
|
393
|
+
* header for why converting the ordering key would have re-sorted every
|
|
394
|
+
* conversation already in the collection.
|
|
395
|
+
*
|
|
396
|
+
* Exported because an operator has to type this name into the console or the
|
|
397
|
+
* `gcloud` line, and a field name that lives only inside a string literal is a
|
|
398
|
+
* field name somebody will mistype at 2am.
|
|
399
|
+
*/
|
|
400
|
+
export declare const EXPIRES_AT_FIELD = "expiresAt";
|
|
401
|
+
/**
|
|
402
|
+
* The one step that turns the TTL policy on, with this store's own collection
|
|
403
|
+
* and database already in it.
|
|
404
|
+
*
|
|
405
|
+
* One spelling, shared by the retention answer and the documentation that
|
|
406
|
+
* quotes it, for the same reason the missing-index refusal prints the whole
|
|
407
|
+
* `gcloud` line: the person reading it can fix this in sixty seconds, and only
|
|
408
|
+
* if nobody makes them go and look up the flags first.
|
|
409
|
+
*
|
|
410
|
+
* `--database` is always printed, including for `(default)`, where gcloud
|
|
411
|
+
* would have assumed it — a project may hold several databases, and a policy
|
|
412
|
+
* created on the wrong one leaves conversations living forever with nothing to
|
|
413
|
+
* suggest why. Single-quoted, because `(default)` is bare parentheses and a
|
|
414
|
+
* syntax error in every shell this will be pasted into.
|
|
415
|
+
*/
|
|
416
|
+
export declare function ttlPolicyCommand(collection: string, database?: string): string;
|
|
295
417
|
/**
|
|
296
418
|
* Firestore's hard ceiling on one document, in bytes. Not ours — the service's.
|
|
297
419
|
*
|
|
@@ -321,6 +443,21 @@ export interface FirestoreSessions extends SessionLifecycle {
|
|
|
321
443
|
readonly collection: string;
|
|
322
444
|
/** Forget one session. A session that was never there is not an error. */
|
|
323
445
|
forget(sessionId: string): Promise<void>;
|
|
446
|
+
/**
|
|
447
|
+
* How conversations here stop existing: **the backend does it**, on a native
|
|
448
|
+
* TTL policy an operator enables once, against {@link EXPIRES_AT_FIELD}
|
|
449
|
+
* (9.42.0).
|
|
450
|
+
*
|
|
451
|
+
* Narrowed from the port's optional member to a required one, and to the one
|
|
452
|
+
* arm this store can be: a caller holding a `FirestoreSessions` needs no
|
|
453
|
+
* feature check and no branch, and gets a compile error rather than a
|
|
454
|
+
* runtime surprise if they reach for a sweep that does not exist here.
|
|
455
|
+
*
|
|
456
|
+
* `active` says whether this store was built with `expireAfterMs` and is
|
|
457
|
+
* therefore stamping anything; `enableWith` is the exact command, with this
|
|
458
|
+
* store's collection and database already filled in.
|
|
459
|
+
*/
|
|
460
|
+
retention(): SessionExpiryPolicy;
|
|
324
461
|
/**
|
|
325
462
|
* The document name one session id maps to — the sha-256 above.
|
|
326
463
|
*
|
|
@@ -401,20 +538,31 @@ export declare class EnvelopeTooLargeError extends Error {
|
|
|
401
538
|
* Conversations in Firestore — a fleet-shared session store with no instance to
|
|
402
539
|
* run.
|
|
403
540
|
*
|
|
404
|
-
* **Status:
|
|
405
|
-
*
|
|
406
|
-
*
|
|
407
|
-
*
|
|
408
|
-
*
|
|
409
|
-
*
|
|
410
|
-
*
|
|
411
|
-
*
|
|
541
|
+
* **Status: field-validated except the ownership refusal (2026-08).** An
|
|
542
|
+
* independent field trial ran this adapter against a real Firestore and
|
|
543
|
+
* exercised seven of its eight areas live — round trip, indexed and cursored
|
|
544
|
+
* listing, the missing-index refusal, the hashed document name, the size
|
|
545
|
+
* ceiling, derived ownership and `forget`. The eighth, the refusal of a turn
|
|
546
|
+
* signed by somebody ELSE, was added after the trial and is held by tests
|
|
547
|
+
* here and by nothing in the field. Every SDK member it calls was read off a
|
|
548
|
+
* real install of `@google-cloud/firestore` 9.0.0 and hand-verified there; the
|
|
549
|
+
* test that re-checks those names against the real package SKIPS in this
|
|
550
|
+
* repository, because the package is deliberately not installed here. What
|
|
551
|
+
* runs in CI is the dispatch pin. See the module header for the full account.
|
|
412
552
|
*
|
|
413
553
|
* @throws FirestoreIndexMissingError from `listByUser` until the composite index
|
|
414
554
|
* exists — see the module header for the exact index.
|
|
415
555
|
* @throws EnvelopeTooLargeError from `persist` for a conversation above
|
|
416
556
|
* {@link FIRESTORE_MAX_ENVELOPE_BYTES}. Never truncated.
|
|
417
557
|
*
|
|
558
|
+
* @example Conversations that expire 30 days after their last turn
|
|
559
|
+
* const sessions = firestoreSessions({
|
|
560
|
+
* project: 'my-project',
|
|
561
|
+
* expireAfterMs: 30 * 24 * 60 * 60 * 1000,
|
|
562
|
+
* });
|
|
563
|
+
* // Then, ONCE, as an operator — the store prints the exact command:
|
|
564
|
+
* console.log(sessions.retention().enableWith);
|
|
565
|
+
*
|
|
418
566
|
* @example A standing agent whose conversations are shared across instances
|
|
419
567
|
* import { standingAgent, nodeHost } from 'agentfootprint/hosting';
|
|
420
568
|
* import { firestoreSessions } from 'agentfootprint/hosting';
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
* containers, one conversation" answer Google has.
|
|
12
12
|
*
|
|
13
13
|
* ── The shape, said plainly ─────────────────────────────────────────────────
|
|
14
|
-
* One collection. One document per session.
|
|
14
|
+
* One collection. One document per session. Seven fields:
|
|
15
15
|
*
|
|
16
|
-
* sessionId · format · savedAt · envelope · owner · messageCount
|
|
16
|
+
* sessionId · format · savedAt · envelope · owner · messageCount · expiresAt
|
|
17
17
|
*
|
|
18
18
|
* That is the SQLite table, moved. It is deliberately the same shape, because
|
|
19
19
|
* the two stores implement the same port under the same laws, and a reader who
|
|
@@ -95,6 +95,45 @@
|
|
|
95
95
|
* in, and names those fields rather than restating the service's message — see
|
|
96
96
|
* {@link firestoreFailure} for why no Google text is ever echoed here.
|
|
97
97
|
*
|
|
98
|
+
* ── Retention: a SECOND timestamp, not a converted one (9.42.0) ─────────────
|
|
99
|
+
* A native Firestore TTL policy deletes a document when a field of type
|
|
100
|
+
* **Timestamp** is in the past. `savedAt` is a NUMBER — epoch milliseconds —
|
|
101
|
+
* so until this release an operator could not point a policy at this
|
|
102
|
+
* collection at all without a library change. The fix is a second field,
|
|
103
|
+
* `expiresAt`, written as a `Date` (the client stores one as a Timestamp) on
|
|
104
|
+
* every persist, holding `savedAt + expireAfterMs`. Give the store no
|
|
105
|
+
* `expireAfterMs` and the field is written as `null`, which a TTL policy
|
|
106
|
+
* ignores, and nothing about this release changes.
|
|
107
|
+
*
|
|
108
|
+
* **`savedAt` was NOT converted, and that is the load-bearing decision.** It is
|
|
109
|
+
* the ordering key of the composite index, the field the listing sorts by, and
|
|
110
|
+
* the first half of every cursor this store has ever minted (`<savedAt>:<docId>`,
|
|
111
|
+
* parsed with `parseFloat` and handed back to `startAfter` as a number).
|
|
112
|
+
* Converting it would have meant a new index, a new cursor grammar, and every
|
|
113
|
+
* pagination token issued by an earlier release becoming unreadable — but the
|
|
114
|
+
* decisive one is quieter: **Firestore's value ordering sorts by TYPE first.**
|
|
115
|
+
* Every number sorts before every timestamp. A collection holding old
|
|
116
|
+
* number-`savedAt` documents beside new timestamp-`savedAt` ones would list
|
|
117
|
+
* them in two blocks, all of one type then all of the other, with a person's
|
|
118
|
+
* conversations silently out of order by the type of the field rather than by
|
|
119
|
+
* when they were written. A second field costs one small write per turn and
|
|
120
|
+
* has no such shadow.
|
|
121
|
+
*
|
|
122
|
+
* So the migration consequence, plainly:
|
|
123
|
+
*
|
|
124
|
+
* • **Every document already stored stays readable and listable.** Nothing
|
|
125
|
+
* about `savedAt`, the index, the cursor or the query changed, and a
|
|
126
|
+
* document written by 9.33–9.41 is read by this release unchanged.
|
|
127
|
+
* • **Old documents do not start expiring.** They carry no `expiresAt`, and
|
|
128
|
+
* a TTL policy ignores a document whose field is missing. A conversation
|
|
129
|
+
* that is still being used gains one on its next turn; a conversation
|
|
130
|
+
* nobody ever writes to again keeps living. If those matter, delete them
|
|
131
|
+
* by hand once (a query on `savedAt` plus `forget`, or a `gcloud`
|
|
132
|
+
* bulk-delete) — this adapter will not walk your collection behind your
|
|
133
|
+
* back.
|
|
134
|
+
* • **The policy is still yours to create.** `retention().enableWith` prints
|
|
135
|
+
* the exact command with your collection and database in it.
|
|
136
|
+
*
|
|
98
137
|
* ── The ceiling, since a store should name its own ──────────────────────────
|
|
99
138
|
* A Firestore document is capped at 1 MiB. A conversation whose stored envelope
|
|
100
139
|
* approaches that is refused BY NAME before the write
|
|
@@ -122,8 +161,29 @@
|
|
|
122
161
|
* for it. So the write is a transaction.
|
|
123
162
|
*
|
|
124
163
|
* ── How much of this is verified ────────────────────────────────────────────
|
|
125
|
-
* **
|
|
126
|
-
* against a
|
|
164
|
+
* **Field-validated except the ownership refusal (2026-08).** An independent
|
|
165
|
+
* field trial ran THIS adapter against a real Firestore and exercised seven of
|
|
166
|
+
* its eight areas live: the round trip, the server-side indexed listing with
|
|
167
|
+
* its document-name tiebreak and real cursor, the missing-index refusal, the
|
|
168
|
+
* hashed document name, the size ceiling, ownership derived from the envelope,
|
|
169
|
+
* and `forget`.
|
|
170
|
+
*
|
|
171
|
+
* The eighth is named because under-claiming and over-claiming are the same
|
|
172
|
+
* defect: **the refusal of a turn signed by somebody else** — the
|
|
173
|
+
* `resolveSessionOwner` conflict this file's `persist` raises out of the
|
|
174
|
+
* transaction — was NOT exercised, because it did not exist when the trial
|
|
175
|
+
* ran. It is held by tests here, including the contested-write case of the
|
|
176
|
+
* shared conformance battery, and by nothing in the field. Two writers racing
|
|
177
|
+
* for one fresh session against a real Firestore, with the real client's
|
|
178
|
+
* transaction retry underneath, is exactly the shape a double models by
|
|
179
|
+
* assumption; the sibling Vertex adapter's equivalent was found in the field
|
|
180
|
+
* and not in a test suite.
|
|
181
|
+
*
|
|
182
|
+
* This section said "NOT field-validated. Nothing here has been run against a
|
|
183
|
+
* live Firestore" for two releases after that stopped being true. Under-claiming
|
|
184
|
+
* is the safe direction and it is still the same defect class the trials keep
|
|
185
|
+
* reporting: a status that does not track the evidence is a status nobody can
|
|
186
|
+
* use, whichever way it is wrong.
|
|
127
187
|
*
|
|
128
188
|
* The pin is the `firestoreSessions` row of `GOOGLE_SURFACE_PINS` in
|
|
129
189
|
* `test/adapters/google/googlePin.ts`, asserted by
|
|
@@ -148,7 +208,8 @@
|
|
|
148
208
|
* everywhere. That the row spells those members the way Google does is held by a
|
|
149
209
|
* hand check against a real install, not by a test that runs here.
|
|
150
210
|
*
|
|
151
|
-
* The DESIGN
|
|
211
|
+
* The DESIGN was informed, before any of that, by an EARLIER and separate trial
|
|
212
|
+
* of a DIFFERENT Firestore
|
|
152
213
|
* session adapter, which ran against a real Firestore and passed eight ownership
|
|
153
214
|
* and history checks — and whose own report named the defect this adapter does
|
|
154
215
|
* not reproduce: that adapter read every document for one owner, sorted them in
|
|
@@ -166,6 +227,42 @@ import { lazyRequire } from '../../lib/lazyRequire.js';
|
|
|
166
227
|
const ADAPTER = 'firestoreSessions';
|
|
167
228
|
/** Where sessions live when the caller names no collection. */
|
|
168
229
|
export const DEFAULT_SESSION_COLLECTION = 'agentfootprint_sessions';
|
|
230
|
+
/**
|
|
231
|
+
* The document field a native TTL policy is configured against (9.42.0).
|
|
232
|
+
*
|
|
233
|
+
* A SECOND field beside `savedAt`, never a change to it — see the module
|
|
234
|
+
* header for why converting the ordering key would have re-sorted every
|
|
235
|
+
* conversation already in the collection.
|
|
236
|
+
*
|
|
237
|
+
* Exported because an operator has to type this name into the console or the
|
|
238
|
+
* `gcloud` line, and a field name that lives only inside a string literal is a
|
|
239
|
+
* field name somebody will mistype at 2am.
|
|
240
|
+
*/
|
|
241
|
+
export const EXPIRES_AT_FIELD = 'expiresAt';
|
|
242
|
+
/**
|
|
243
|
+
* The one step that turns the TTL policy on, with this store's own collection
|
|
244
|
+
* and database already in it.
|
|
245
|
+
*
|
|
246
|
+
* One spelling, shared by the retention answer and the documentation that
|
|
247
|
+
* quotes it, for the same reason the missing-index refusal prints the whole
|
|
248
|
+
* `gcloud` line: the person reading it can fix this in sixty seconds, and only
|
|
249
|
+
* if nobody makes them go and look up the flags first.
|
|
250
|
+
*
|
|
251
|
+
* `--database` is always printed, including for `(default)`, where gcloud
|
|
252
|
+
* would have assumed it — a project may hold several databases, and a policy
|
|
253
|
+
* created on the wrong one leaves conversations living forever with nothing to
|
|
254
|
+
* suggest why. Single-quoted, because `(default)` is bare parentheses and a
|
|
255
|
+
* syntax error in every shell this will be pasted into.
|
|
256
|
+
*/
|
|
257
|
+
export function ttlPolicyCommand(collection, database) {
|
|
258
|
+
const flagValue = `'${database ?? '<the database your Firestore client was built for>'}'`;
|
|
259
|
+
return (`gcloud firestore fields ttls update ${EXPIRES_AT_FIELD} ` +
|
|
260
|
+
`--collection-group=${collection} --enable-ttl --database=${flagValue}` +
|
|
261
|
+
(database === undefined
|
|
262
|
+
? ` (this store did not build the Firestore client, so it cannot name the database — ` +
|
|
263
|
+
`fill that flag in from wherever the client was constructed)`
|
|
264
|
+
: ``));
|
|
265
|
+
}
|
|
169
266
|
/** How many rows one `listByUser` page carries when the caller names no limit. */
|
|
170
267
|
const DEFAULT_PAGE = 50;
|
|
171
268
|
/**
|
|
@@ -294,20 +391,31 @@ export class EnvelopeTooLargeError extends Error {
|
|
|
294
391
|
* Conversations in Firestore — a fleet-shared session store with no instance to
|
|
295
392
|
* run.
|
|
296
393
|
*
|
|
297
|
-
* **Status:
|
|
298
|
-
*
|
|
299
|
-
*
|
|
300
|
-
*
|
|
301
|
-
*
|
|
302
|
-
*
|
|
303
|
-
*
|
|
304
|
-
*
|
|
394
|
+
* **Status: field-validated except the ownership refusal (2026-08).** An
|
|
395
|
+
* independent field trial ran this adapter against a real Firestore and
|
|
396
|
+
* exercised seven of its eight areas live — round trip, indexed and cursored
|
|
397
|
+
* listing, the missing-index refusal, the hashed document name, the size
|
|
398
|
+
* ceiling, derived ownership and `forget`. The eighth, the refusal of a turn
|
|
399
|
+
* signed by somebody ELSE, was added after the trial and is held by tests
|
|
400
|
+
* here and by nothing in the field. Every SDK member it calls was read off a
|
|
401
|
+
* real install of `@google-cloud/firestore` 9.0.0 and hand-verified there; the
|
|
402
|
+
* test that re-checks those names against the real package SKIPS in this
|
|
403
|
+
* repository, because the package is deliberately not installed here. What
|
|
404
|
+
* runs in CI is the dispatch pin. See the module header for the full account.
|
|
305
405
|
*
|
|
306
406
|
* @throws FirestoreIndexMissingError from `listByUser` until the composite index
|
|
307
407
|
* exists — see the module header for the exact index.
|
|
308
408
|
* @throws EnvelopeTooLargeError from `persist` for a conversation above
|
|
309
409
|
* {@link FIRESTORE_MAX_ENVELOPE_BYTES}. Never truncated.
|
|
310
410
|
*
|
|
411
|
+
* @example Conversations that expire 30 days after their last turn
|
|
412
|
+
* const sessions = firestoreSessions({
|
|
413
|
+
* project: 'my-project',
|
|
414
|
+
* expireAfterMs: 30 * 24 * 60 * 60 * 1000,
|
|
415
|
+
* });
|
|
416
|
+
* // Then, ONCE, as an operator — the store prints the exact command:
|
|
417
|
+
* console.log(sessions.retention().enableWith);
|
|
418
|
+
*
|
|
311
419
|
* @example A standing agent whose conversations are shared across instances
|
|
312
420
|
* import { standingAgent, nodeHost } from 'agentfootprint/hosting';
|
|
313
421
|
* import { firestoreSessions } from 'agentfootprint/hosting';
|
|
@@ -359,6 +467,16 @@ export function firestoreSessions(options = {}) {
|
|
|
359
467
|
};
|
|
360
468
|
const collection = () => db.collection(collectionName);
|
|
361
469
|
const docFor = (sessionId) => collection().doc(documentIdFor(sessionId));
|
|
470
|
+
/**
|
|
471
|
+
* When this conversation should expire, or `null` for a store that was not
|
|
472
|
+
* given a retention setting.
|
|
473
|
+
*
|
|
474
|
+
* Idle expiry, measured from the envelope's own `savedAt`: every turn moves
|
|
475
|
+
* it, so a live conversation never expires underneath somebody.
|
|
476
|
+
*/
|
|
477
|
+
const expiresAtFor = (savedAt) => options.expireAfterMs === undefined || !Number.isFinite(options.expireAfterMs)
|
|
478
|
+
? null
|
|
479
|
+
: new Date(savedAt + options.expireAfterMs);
|
|
362
480
|
/** The stored row, read back without trusting any of its types. */
|
|
363
481
|
const readRow = async (sessionId, operation) => {
|
|
364
482
|
let snapshot;
|
|
@@ -423,6 +541,27 @@ export function firestoreSessions(options = {}) {
|
|
|
423
541
|
savedAt: checked.savedAt,
|
|
424
542
|
envelope: json,
|
|
425
543
|
messageCount: envelopeTranscript(checked).length,
|
|
544
|
+
// The TTL field (9.42.0) — a SECOND field, never a change to
|
|
545
|
+
// `savedAt`. See the module header: `savedAt` is the ordering key of
|
|
546
|
+
// the composite index and the first half of every cursor this store
|
|
547
|
+
// has ever minted, and Firestore sorts values by TYPE before value, so
|
|
548
|
+
// making it a timestamp would have put every document written from now
|
|
549
|
+
// on into a different sort bucket from every document already stored.
|
|
550
|
+
//
|
|
551
|
+
// A `Date`, which the client converts to a Timestamp on write — and a
|
|
552
|
+
// TTL policy acts only on a Timestamp. Writing one this way rather
|
|
553
|
+
// than through `Timestamp.fromMillis` is deliberate: it adds no member
|
|
554
|
+
// to the SDK surface this adapter dispatches (so the pin row is
|
|
555
|
+
// unchanged and no new name had to be hand-verified against a real
|
|
556
|
+
// install), and it works identically for a caller who passed their own
|
|
557
|
+
// client.
|
|
558
|
+
//
|
|
559
|
+
// `null` when nothing was configured, never `undefined`: the default
|
|
560
|
+
// client throws on `undefined`, and a TTL policy ignores a field that
|
|
561
|
+
// is null or missing — so an unconfigured store writes an inert field
|
|
562
|
+
// rather than an absent one, exactly as `owner` does one line down and
|
|
563
|
+
// for the same reason.
|
|
564
|
+
[EXPIRES_AT_FIELD]: expiresAtFor(checked.savedAt),
|
|
426
565
|
};
|
|
427
566
|
// WRITE ONCE for the owner, LAST WRITE WINS for everything else — the one
|
|
428
567
|
// rule every store in this package shares, and since 9.36.1 the one
|
|
@@ -602,6 +741,36 @@ export function firestoreSessions(options = {}) {
|
|
|
602
741
|
throw firestoreFailure('forgetting a session', collectionName, err);
|
|
603
742
|
}
|
|
604
743
|
},
|
|
744
|
+
// ── Retention (9.42.0) ──────────────────────────────────────────────
|
|
745
|
+
//
|
|
746
|
+
// `'the-backend'`, and the honest answer rather than the convenient one.
|
|
747
|
+
// This store COULD have offered a sweep — query the old documents, delete
|
|
748
|
+
// them one at a time — and it would have been a worse answer at every
|
|
749
|
+
// scale: a full index read plus one write per document, billed, repeated
|
|
750
|
+
// nightly, to do a job the service already does for free and does not
|
|
751
|
+
// charge a delete for. A port member exists so a caller can find out what
|
|
752
|
+
// a store really does; a store that implemented the OTHER arm because it
|
|
753
|
+
// was implementable would be answering a different question.
|
|
754
|
+
//
|
|
755
|
+
// It works on a closed store on purpose — it reads no document and calls
|
|
756
|
+
// no SDK member. An operator asking "what expires these, and how do I turn
|
|
757
|
+
// it on?" during a shutdown or an incident should get the answer, not the
|
|
758
|
+
// refusal that guards the data plane.
|
|
759
|
+
retention: () => ({
|
|
760
|
+
deletedBy: 'the-backend',
|
|
761
|
+
// Whether this store is really stamping the field, which is a different
|
|
762
|
+
// fact from whether the mechanism exists. Reported rather than implied:
|
|
763
|
+
// "there is a TTL field" and "conversations are expiring" are the two
|
|
764
|
+
// things an auditor must not be allowed to confuse.
|
|
765
|
+
active: options.expireAfterMs !== undefined && Number.isFinite(options.expireAfterMs),
|
|
766
|
+
expiresOn: EXPIRES_AT_FIELD,
|
|
767
|
+
enableWith: `${ttlPolicyCommand(collectionName, databaseName)} — or Firestore console → ` +
|
|
768
|
+
`Time-to-live (TTL) → Create policy, on collection '${collectionName}' and field ` +
|
|
769
|
+
`'${EXPIRES_AT_FIELD}'. The policy deletes a document within 24 hours of the ` +
|
|
770
|
+
`instant in that field; it is not a hard deadline and the service says so. ` +
|
|
771
|
+
`Documents stored before 'expireAfterMs' was configured carry no such field and ` +
|
|
772
|
+
`are never deleted by it — they expire only once they are written again.`,
|
|
773
|
+
}),
|
|
605
774
|
async close() {
|
|
606
775
|
if (closed)
|
|
607
776
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firestoreSessions.js","sourceRoot":"","sources":["../../../../src/adapters/hosting/firestoreSessions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"firestoreSessions.js","sourceRoot":"","sources":["../../../../src/adapters/hosting/firestoreSessions.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
* be read must never be answered with a fresh start — that failure is
|
|
101
101
|
* indistinguishable, from the outside, from a brand-new user.
|
|
102
102
|
*/
|
|
103
|
-
import type { CheckpointEnvelope, SessionLifecycle } from '../../hosting/types.js';
|
|
103
|
+
import type { CheckpointEnvelope, SessionExpiryPolicy, SessionLifecycle } from '../../hosting/types.js';
|
|
104
104
|
import { type AiPlatformConnection } from '../google/aiPlatform.js';
|
|
105
105
|
/**
|
|
106
106
|
* The `sessionState` key the envelope lives under.
|
|
@@ -195,6 +195,21 @@ export interface AgentEngineSessions extends SessionLifecycle {
|
|
|
195
195
|
readonly parent: string;
|
|
196
196
|
/** Forget one session. A session that was never there is not an error. */
|
|
197
197
|
forget(sessionId: string): Promise<void>;
|
|
198
|
+
/**
|
|
199
|
+
* How conversations here stop existing: **the service does it**, on the
|
|
200
|
+
* `ttl` this store was built with (9.42.0).
|
|
201
|
+
*
|
|
202
|
+
* Narrowed from the port's optional member to a required one, and to the one
|
|
203
|
+
* arm this store can be — a caller holding an `AgentEngineSessions` needs no
|
|
204
|
+
* feature check, and reaching for a sweep that does not exist here is a
|
|
205
|
+
* compile error rather than a surprise at 3am.
|
|
206
|
+
*
|
|
207
|
+
* There is nothing to call and nothing for a cron job to do. `active` says
|
|
208
|
+
* whether a `ttl` was given at all; `enableWith` says what to pass and
|
|
209
|
+
* repeats the two facts a caller has to plan around — the service's 24-hour
|
|
210
|
+
* floor, and that the value is sent on CREATE only.
|
|
211
|
+
*/
|
|
212
|
+
retention(): SessionExpiryPolicy;
|
|
198
213
|
/**
|
|
199
214
|
* Stop using this store. Idempotent, and **final** — reading or writing
|
|
200
215
|
* afterwards refuses by name rather than quietly reconnecting, because a
|