PageSourceSearch

https://docs.mellea.ai/assets/js/8cc81b89.763d1967.js

js mellea.ai collected 2026-09-25 20:41:30 UTC 9,433 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunkmellea_docs=globalThis.webpackChunkmellea_docs||[]).push([[2417],{97463(e,s,n){n.r(s),n.d(s,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"api/mellea/plugins/hooks/session","title":"mellea.plugins.hooks.session","description":"Session lifecycle hook payloads.","source":"@site/docs/api/mellea/plugins/hooks/session.mdx","sourceDirName":"api/mellea/plugins/hooks","slug":"/api/mellea/plugins/hooks/session","permalink":"/next/api/mellea/plugins/hooks/session","draft":false,"unlisted":false,"editUrl":"https://github.com/generative-computing/mellea/edit/main/docs/api/mellea/plugins/hooks/session.mdx","tags":[],"version":"current","lastUpdatedAt":null,"frontMatter":{"title":"mellea.plugins.hooks.session","sidebar_label":"mellea.plugins.hooks.session","description":"Session lifecycle hook payloads."},"sidebar":"apiSidebar","previous":{"title":"mellea.plugins.hooks.sampling","permalink":"/next/api/mellea/plugins/hooks/sampling"},"next":{"title":"mellea.plugins.hooks.tool","permalink":"/next/api/mellea/plugins/hooks/tool"}}');var l=n(74848),o=n(28453);const t={title:"mellea.plugins.hooks.session",sidebar_label:"mellea.plugins.hooks.session",description:"Session lifecycle hook payloads."},a=void 0,c={},d=[{value:"Classes",id:"classes",level:2},{value:'<span class="ml-2 inline-flex items-center rounded-full px-2 py-1 text-[0.7rem] font-bold tracking-wide bg-[#4ADE8033]/20 text-[#15803D]">CLASS</span> <code>SessionPreInitPayload</code> <sup><a><Icon></Icon></a></sup>',id:"class-sessionpreinitpayload",level:3},{value:'<span class="ml-2 inline-flex items-center rounded-full px-2 py-1 text-[0.7rem] font-bold tracking-wide bg-[#4ADE8033]/20 text-[#15803D]">CLASS</span> <code>SessionPostInitPayload</code> <sup><a><Icon></Icon></a></sup>',id:"class-sessionpostinitpayload",level:3},{value:'<span class="ml-2 inline-flex items-center rounded-full px-2 py-1 text-[0.7rem] font-bold tracking-wide bg-[#4ADE8033]/20 text-[#15803D]">CLASS</span> <code>SessionResetPayload</code> <sup><a><Icon></Icon></a></sup>',id:"class-sessionresetpayload",level:3},{value:'<span class="ml-2 inline-flex items-center rounded-full px-2 py-1 text-[0.7rem] font-bold tracking-wide bg-[#4ADE8033]/20 text-[#15803D]">CLASS</span> <code>SessionCleanupPayload</code> <sup><a><Icon></Icon></a></sup>',id:"class-sessioncleanuppayload",level:3}];function r(e){const s={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components},{Icon:n}=s;return n||function(e,s){throw new Error("Expected "+(s?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Icon",!0),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(s.p,{children:"Session lifecycle hook payloads."}),"\n",(0,l.jsx)(s.h2,{id:"classes",children:"Classes"}),"\n",(0,l.jsx)("div",{className:"w-full h-px bg-gray-200 dark:bg-gray-700 my-4"}),"\n",(0,l.jsxs)(s.h3,{id:"class-sessionpreinitpayload",children:[(0,l.jsx)("span",{className:"ml-2 inline-flex items-center rounded-full px-2 py-1 text-[0.7rem] font-bold tracking-wide bg-[#4ADE8033]/20 text-[#15803D]",children:"CLASS"})," ",(0,l.jsx)(s.code,{children:"SessionPreInitPayload"})," ",(0,l.jsx)("sup",{children:(0,l.jsx)("a",{href:"https://github.com/generative-computing/mellea/blob/main/mellea/plugins/hooks/session.py#L16",target:"_blank",children:(0,l.jsx)(n,{icon:"github",style:"width: 0.85em; height: 0.85em;"})})})]}),"\n",(0,l.jsxs)(s.p,{children:["Payload for ",(0,l.jsx)(s.code,{children:"session_pre_init"})," \u2014 before backend initialization."]}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.strong,{children:"Attributes:"})}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"session_id"}),": UUID string identifying this session."]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"backend_name"}),": Name of the backend (e.g. ",(0,l.jsx)(s.code,{children:'"ollama"'}),", ",(0,l.jsx)(s.code,{children:'"openai"'}),")."]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"model_id"}),": Model identifier string (writable)."]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"model_options"}),": Optional dict of model options like temperature, max_tokens (writable)."]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"context_type"}),": Class name of the context being used (e.g. ",(0,l.jsx)(s.code,{children:'"SimpleContext"'}),")."]}),"\n"]}),"\n",(0,l.jsx)("div",{className:"w-full h-px bg-gray-200 dark:bg-gray-700 my-4"}),"\n",(0,l.jsxs)(s.h3,{id:"class-sessionpostinitpayload",children:[(0,l.jsx)("span",{className:"ml-2 inline-flex items-center rounded-full px-2 py-1 text-[0.7rem] font-bold tracking-wide bg-[#4ADE8033]/20 text-[#15803D]",children:"CLASS"})," ",(0,l.jsx)(s.code,{children:"SessionPostInitPayload"})," ",(0,l.jsx)("sup",{children:(0,l.jsx)("a",{href:"https://github.com/generative-computing/mellea/blob/main/mellea/plugins/hooks/session.py#L33",target:"_blank",children:(0,l.jsx)(n,{icon:"github",style:"width: 0.85em; height: 0.85em;"})})})]}),"\n",(0,l.jsxs)(s.p,{children:["Payload for ",(0,l.jsx)(s.code,{children:"session_post_init"})," \u2014 after session is fully initialized."]}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.strong,{children:"Attributes:"})}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"session_id"}),": UUID string identifying this session."]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"model_id"}),": Model identifier used by the backend (e.g. ",(0,l.jsx)(s.code,{children:'"granite4.1\\:3b"'}),")."]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"context"}),": The initial ",(0,l.jsx)(s.a,{href:"../../core/base#class-context",children:(0,l.jsx)(s.code,{children:"Context"})})," instance for this session."]}),"\n"]}),"\n",(0,l.jsx)("div",{className:"w-full h-px bg-gray-200 dark:bg-gray-700 my-4"}),"\n",(0,l.jsxs)(s.h3,{id:"class-sessionresetpayload",children:[(0,l.jsx)("span",{className:"ml-2 inline-flex items-center rounded-full px-2 py-1 text-[0.7rem] font-bold tracking-wide bg-[#4ADE8033]/20 text-[#15803D]",children:"CLASS"})," ",(0,l.jsx)(s.code,{children:"SessionResetPayload"})," ",(0,l.jsx)("sup",{children:(0,l.jsx)("a",{href:"https://github.com/generative-computing/mellea/blob/main/mellea/plugins/hooks/session.py#L47",target:"_blank",children:(0,l.jsx)(n,{icon:"github",style:"width: 0.85em; height: 0.85em;"})})})]}),"\n",(0,l.jsxs)(s.p,{children:["Payload for ",(0,l.jsx)(s.code,{children:"session_reset"})," \u2014 when session context is reset."]}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.strong,{children:"Attributes:"})}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"previous_context"}),": The ",(0,l.jsx)(s.a,{href:"../../core/base#class-context",children:(0,l.jsx)(s.code,{children:"Context"})})," that is about to be discarded (observe-only)."]}),"\n"]}),"\n",(0,l.jsx)("div",{className:"w-full h-px bg-gray-200 dark:bg-gray-700 my-4"}),"\n",(0,l.jsxs)(s.h3,{id:"class-sessioncleanuppayload",children:[(0,l.jsx)("span",{className:"ml-2 inline-flex items-center rounded-full px-2 py-1 text-[0.7rem] font-bold tracking-wide bg-[#4ADE8033]/20 text-[#15803D]",children:"CLASS"})," ",(0,l.jsx)(s.code,{children:"SessionCleanupPayload"})," ",(0,l.jsx)("sup",{children:(0,l.jsx)("a",{href:"https://github.com/generative-computing/mellea/blob/main/mellea/plugins/hooks/session.py#L58",target:"_blank",children:(0,l.jsx)(n,{icon:"github",style:"width: 0.85em; height: 0.85em;"})})})]}),"\n",(0,l.jsxs)(s.p,{children:["Payload for ",(0,l.jsx)(s.code,{children:"session_cleanup"})," \u2014 before session cleanup/teardown."]}),"\n",(0,l.jsx)(s.p,{children:(0,l.jsx)(s.strong,{children:"Attributes:"})}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"context"}),": The ",(0,l.jsx)(s.a,{href:"../../core/base#class-context",children:(0,l.jsx)(s.code,{children:"Context"})})," at the time of cleanup (observe-only)."]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"interaction_count"}),": Number of model-interaction turns committed during\nthe session (each ",(0,l.jsx)(s.code,{children:"self.ctx = ..."})," assignment in ",(0,l.jsx)(s.code,{children:"MelleaSession"}),"\ncounts as one). Reset to 0 by ",(0,l.jsx)(s.code,{children:"MelleaSession.reset()"}),". Stable\nunder any context-compaction strategy."]}),"\n",(0,l.jsxs)(s.li,{children:[(0,l.jsx)(s.code,{children:"exception"}),": The exception that triggered cleanup, or ",(0,l.jsx)(s.code,{children:"None"})," for normal\nteardown. Set when ",(0,l.jsx)(s.code,{children:"MelleaSession.__exit__"}
1)," propagates an error."]}),"\n"]}),"\n",(0,l.jsx)("div",{className:"w-full h-px bg-gray-200 dark:bg-gray-700 my-4"})]})}function h(e={}){const{wrapper:s}={...(0,o.R)(),...e.components};return s?(0,l.jsx)(s,{...e,children:(0,l.jsx)(r,{...e})}):r(e)}},28453(e,s,n){n.d(s,{R:()=>t,x:()=>a});var i=n(96540);const l={},o=i.createContext(l);function t(e){const s=i.useContext(o);return i.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:t(e.components),i.createElement(o.Provider,{value:s},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.