Norma Agent Harness 현재 시스템 문서
전체 문서
이 페이지 목차

컨텍스트와 지속성 공개 API

이 페이지는 고정 소스 리비전의 production(non-test) Go 파일을 AST로 열거한 공개 계약 색인이다. 테스트 선언, 비공개 식별자, 비공개 receiver 메서드는 제외했다. 각 행의 근거는 선언이 있는 파일 자체이며, 자세한 기본값과 실패 의미는 설정 참조, 도구 계약, 저장 스키마에서 보완한다.

다른 묶음: 실행 코어 · 도구/권한 · 컨텍스트/지속성 · 확장/조정

compaction

compaction · 관계

이 대상을 사용하는 기능·모듈·계약 · 2개

전체 관계 2개 · 종류 선택·관계도
종류 식별자 선언/시그니처 근거
field Config.ContextWindow <code>ContextWindow int</code> compaction/compaction.go
field Config.KeepRecent <code>KeepRecent int</code> compaction/compaction.go
field Config.MaxOutputTokens <code>MaxOutputTokens int</code> compaction/compaction.go
func EstimateTokens <code>func EstimateTokens(msgs []llm.Message) int</code> compaction/compaction.go
func IsOverflow <code>func IsOverflow(err error) bool</code> compaction/compaction.go
func New <code>func New(cfg Config, summarize Summarizer) *Compactor</code> compaction/compaction.go
func ProviderSummarizer <code>func ProviderSummarizer(p llm.Provider, maxOutputTokens int, nonStreaming bool) Summarizer</code> compaction/summarizer.go
method Compactor.IsOverflow <code>func (*Compactor) IsOverflow(err error) bool</code> compaction/compaction.go
method Compactor.Pre <code>func (*Compactor) Pre(ctx context.Context, msgs []llm.Message, lastInputTokens int) []llm.Message</code> compaction/compaction.go
method Compactor.Reactive <code>func (*Compactor) Reactive(ctx context.Context, msgs []llm.Message) ([]llm.Message, bool)</code> compaction/compaction.go
type Compactor <code>type Compactor struct</code> compaction/compaction.go
type Config <code>type Config struct</code> compaction/compaction.go
type Summarizer <code>type Summarizer func(ctx context.Context, msgs []llm.Message) (string, error)</code> compaction/compaction.go

transcript

종류 식별자 선언/시그니처 근거
field Record.AgentID <code>AgentID string json:&#34;agent_id,omitempty&#34;</code> transcript/transcript.go
field Record.Boundary <code>Boundary *llm.BoundaryMeta json:&#34;boundary,omitempty&#34;</code> transcript/transcript.go
field Record.IsSidechain <code>IsSidechain bool json:&#34;is_sidechain,omitempty&#34;</code> transcript/transcript.go
field Record.Message <code>Message *llm.Message json:&#34;message,omitempty&#34;</code> transcript/transcript.go
field Record.ParentUUID <code>ParentUUID string json:&#34;parent_uuid,omitempty&#34;</code> transcript/transcript.go
field Record.SessionID <code>SessionID string json:&#34;session_id&#34;</code> transcript/transcript.go
field Record.Timestamp <code>Timestamp string json:&#34;timestamp&#34;</code> transcript/transcript.go
field Record.Type <code>Type string json:&#34;type&#34;</code> transcript/transcript.go
field Record.UUID <code>UUID string json:&#34;uuid&#34;</code> transcript/transcript.go
field Record.Usage <code>Usage *llm.Usage json:&#34;usage,omitempty&#34;</code> transcript/transcript.go
func LastUUID <code>func LastUUID(recs []Record) string</code> transcript/transcript.go
func Messages <code>func Messages(recs []Record) ([]llm.Message, llm.Usage)</code> transcript/transcript.go
func NewAgentID <code>func NewAgentID() string</code> transcript/transcript.go
func NewSessionID <code>func NewSessionID() string</code> transcript/transcript.go
func NewStore <code>func NewStore(dir string) *Store</code> transcript/transcript.go
func SessionIDFrom <code>func SessionIDFrom(ctx context.Context) string</code> transcript/context.go
func WithSessionID <code>func WithSessionID(ctx context.Context, sessionID string) context.Context</code> transcript/context.go
method Store.AgentPath <code>func (*Store) AgentPath(sessionID, agentID string) string</code> transcript/transcript.go
method Store.Append <code>func (*Store) Append(path string, recs ...Record) error</code> transcript/transcript.go
method Store.Load <code>func (*Store) Load(path string) ([]Record, error)</code> transcript/transcript.go
method Store.MainPath <code>func (*Store) MainPath(sessionID string) string</code> transcript/transcript.go
method Store.NewWriter <code>func (*Store) NewWriter(sessionID, agentID string) *Writer</code> transcript/transcript.go
method Store.ResumeWriter <code>func (*Store) ResumeWriter(sessionID, lastUUID string) *Writer</code> transcript/transcript.go
method Writer.Err <code>func (*Writer) Err() error</code> transcript/transcript.go
method Writer.RecordBoundary <code>func (*Writer) RecordBoundary(meta llm.BoundaryMeta)</code> transcript/transcript.go
method Writer.RecordMessage <code>func (*Writer) RecordMessage(m llm.Message, usage llm.Usage)</code> transcript/transcript.go
type Record <code>type Record struct</code> transcript/transcript.go
type Store <code>type Store struct</code> transcript/transcript.go
type Writer <code>type Writer struct</code> transcript/transcript.go

memory

종류 식별자 선언/시그니처 근거
const TypeFeedback <code>const TypeFeedback Type = "feedback"</code> memory/memory.go
const TypeProject <code>const TypeProject Type = "project"</code> memory/memory.go
const TypeReference <code>const TypeReference Type = "reference"</code> memory/memory.go
const TypeUser <code>const TypeUser Type = "user"</code> memory/memory.go
field Memory.Content <code>Content string</code> memory/memory.go
field Memory.Description <code>Description string</code> memory/memory.go
field Memory.ModTime <code>ModTime time.Time</code> memory/memory.go
field Memory.Name <code>Name string</code> memory/memory.go
field Memory.Path <code>Path string</code> memory/memory.go
field Memory.Type <code>Type Type</code> memory/memory.go
field Store.Dir <code>Dir string</code> memory/memory.go
func Age <code>func Age(m Memory, now time.Time) string</code> memory/relevant.go
func NewStore <code>func NewStore(dir string) *Store</code> memory/memory.go
func RecallTool <code>func RecallTool(s *Store) tool.CoreTool</code> memory/tools.go
func RecordTool <code>func RecordTool(s *Store) tool.CoreTool</code> memory/tools.go
func RenderForInjection <code>func RenderForInjection(mems []Memory, now time.Time) string</code> memory/relevant.go
func Tools <code>func Tools(s *Store) []tool.CoreTool</code> memory/tools.go
method Store.Index <code>func (*Store) Index() string</code> memory/memory.go
method Store.Read <code>func (*Store) Read(name string) (Memory, error)</code> memory/memory.go
method Store.Relevant <code>func (*Store) Relevant(query string, max int) []Memory</code> memory/relevant.go
method Store.Save <code>func (*Store) Save(m Memory) error</code> memory/memory.go
method Store.Scan <code>func (*Store) Scan() ([]Memory, error)</code> memory/memory.go
method Store.SystemSegment <code>func (*Store) SystemSegment() string</code> memory/relevant.go
type Memory <code>type Memory struct</code> memory/memory.go
type Store <code>type Store struct</code> memory/memory.go
type Type <code>type Type string</code> memory/memory.go

noa

종류 식별자 선언/시그니처 근거
const BlockedRef <code>const BlockedRef = "BLOCKED"</code> noa/const.go
const BoundaryBlock <code>const BoundaryBlock BoundaryKind = "block"</code> noa/boundaries.go
const BoundaryMessage <code>const BoundaryMessage BoundaryKind = "message"</code> noa/boundaries.go
const CTReasoning <code>const CTReasoning ContentType = "reasoning"</code> noa/types.go
const CTText <code>const CTText ContentType = "text"</code> noa/types.go
const CTToolCall <code>const CTToolCall ContentType = "tool-call"</code> noa/types.go
const CTToolResult <code>const CTToolResult ContentType = "tool-result"</code> noa/types.go
const CompressPhilosophy <code>const CompressPhilosophy = <expression omitted; 534 source chars></code> noa/prompts_rules.go
const CompressToolDescription <code>const CompressToolDescription = <expression omitted; 304 source chars></code> noa/schema.go
const CompressToolName <code>const CompressToolName = "Compress"</code> noa/const.go
const DeadRepeatReject <code>const DeadRepeatReject = 2</code> noa/const.go
const HowToCompressRules <code>const HowToCompressRules = <expression omitted; 5659 source chars></code> noa/prompts_rules.go
const KeepLastOrphaned <code>const KeepLastOrphaned = 2</code> noa/const.go
const MaxRefIndex <code>const MaxRefIndex = 99999</code> noa/const.go
const MinRefIndex <code>const MinRefIndex = 1</code> noa/const.go
const NoRangesMessage <code>const NoRangesMessage = "No ranges provided."</code> noa/panel.go
const NotFoundConsumed <code>const NotFoundConsumed BoundaryNotFoundKind = "consumed"</code> noa/boundaries.go
const NotFoundInvalid <code>const NotFoundInvalid BoundaryNotFoundKind = "invalid"</code> noa/boundaries.go
const NotFoundUnknown <code>const NotFoundUnknown BoundaryNotFoundKind = "unknown"</code> noa/boundaries.go
const NudgeMessageID <code>const NudgeMessageID = "noa_nudge"</code> noa/const.go
const ParseContentNotList <code>const ParseContentNotList CompressParseKind = "content-not-array"</code> noa/parseinput.go
const ParseEmptyInput <code>const ParseEmptyInput CompressParseKind = "empty-input"</code> noa/parseinput.go
const ParseMalformedJSON <code>const ParseMalformedJSON CompressParseKind = "malformed-json"</code> noa/parseinput.go
const ParseMissingContent <code>const ParseMissingContent CompressParseKind = "missing-content"</code> noa/parseinput.go
const ParseNoValidRanges <code>const ParseNoValidRanges CompressParseKind = "no-valid-ranges"</code> noa/parseinput.go
const ParseNotObject <code>const ParseNotObject CompressParseKind = "not-object"</code> noa/parseinput.go
const ParseOK <code>const ParseOK CompressParseKind = "ok"</code> noa/parseinput.go
const ParseTruncated <code>const ParseTruncated CompressParseKind = "truncated"</code> noa/parseinput.go
const RefWidth <code>const RefWidth = 5</code> noa/const.go
const RoleAssistant <code>const RoleAssistant Role = "assistant"</code> noa/types.go
const RoleTool <code>const RoleTool Role = "tool"</code> noa/types.go
const RoleUser <code>const RoleUser Role = "user"</code> noa/types.go
const SummaryHeader <code>const SummaryHeader = "[Compressed conversation section]"</code> noa/const.go
const SummaryIDPrefix <code>const SummaryIDPrefix = "noa_summary_"</code> noa/const.go
const SummaryStubChars <code>const SummaryStubChars = 200</code> noa/const.go
const SystemPromptHeader <code>const SystemPromptHeader = "noa context management"</code> noa/prompts_system.go
const Tier2Rules <code>const Tier2Rules = <expression omitted; 2978 source chars></code> noa/prompts_rules.go
const Tier3Rules <code>const Tier3Rules = <expression omitted; 2070 source chars></code> noa/prompts_rules.go
const ToolPairMaxScan <code>const ToolPairMaxScan = 20</code> noa/const.go
const TruncationMarker <code>const TruncationMarker = "[truncated for context space"</code> noa/const.go
const ViableRangeMinTokens <code>const ViableRangeMinTokens = 200</code> noa/const.go
const VoiceEmergency <code>const VoiceEmergency NudgeVoice = "emergency"</code> noa/nudgetext.go
const VoiceGentle <code>const VoiceGentle NudgeVoice = "gentle"</code> noa/nudgetext.go
field ApplyInput.Archiver <code>Archiver Archiver</code> noa/compress.go
field ApplyInput.CallID <code>CallID string</code> noa/compress.go
field ApplyInput.Config <code>Config Config</code> noa/compress.go
field ApplyInput.CountTokens <code>CountTokens TokenCountFn</code> noa/compress.go
field ApplyInput.CreatedAt <code>CreatedAt string</code> noa/compress.go
field ApplyInput.Messages <code>Messages []CoreMessage</code> noa/compress.go
field ApplyInput.Now <code>Now int64</code> noa/compress.go
field ApplyInput.Ranges <code>Ranges []CompressRange</code> noa/compress.go
field ApplyInput.State <code>State CompressionState</code> noa/compress.go
field ApplyResult.BlocksCreated <code>BlocksCreated []CompressionBlock</code> noa/compress.go
field ApplyResult.Errors <code>Errors []string</code> noa/compress.go
field ApplyResult.State <code>State CompressionState</code> noa/compress.go
field ApplyResult.SurvivingBlockIDs <code>SurvivingBlockIDs []string</code> noa/compress.go
field ApplyResult.TokensCompressed <code>TokensCompressed int</code> noa/compress.go
field ApplyResult.Warnings <code>Warnings []string</code> noa/compress.go
field ArchiveEntry.Block <code>Block *CompressionBlock</code> noa/archive.go
field ArchiveEntry.Message <code>Message *CoreMessage</code> noa/archive.go
field ArchiveEntry.Ref <code>Ref string</code> noa/archive.go
field ArchiveRenderInput.BlockID <code>BlockID string</code> noa/archive.go
field ArchiveRenderInput.CreatedAt <code>CreatedAt string</code> noa/archive.go
field ArchiveRenderInput.EndRef <code>EndRef string</code> noa/archive.go
field ArchiveRenderInput.Entries <code>Entries []ArchiveEntry</code> noa/archive.go
field ArchiveRenderInput.OriginalTokens <code>OriginalTokens int</code> noa/archive.go
field ArchiveRenderInput.SessionID <code>SessionID string</code> noa/archive.go
field ArchiveRenderInput.StartRef <code>StartRef string</code> noa/archive.go
field ArchiveRenderInput.Summary <code>Summary string</code> noa/archive.go
field ArchiveRenderInput.Tier <code>Tier Tier</code> noa/archive.go
field ArchiveRenderInput.Topic <code>Topic string</code> noa/archive.go
field AssignRefsOptions.Existing <code>Existing MessageRefMap</code> noa/refs.go
field AssignRefsOptions.IsProtected <code>IsProtected func(CoreMessage) bool</code> noa/refs.go
field AssignRefsOptions.NextIndex <code>NextIndex int</code> noa/refs.go
field AssignRefsOptions.ShouldSkip <code>ShouldSkip func(CoreMessage) bool</code> noa/refs.go
field AssignRefsResult.Map <code>Map MessageRefMap</code> noa/refs.go
field AssignRefsResult.NewlyAssigned <code>NewlyAssigned int</code> noa/refs.go
field AssignRefsResult.NextIndex <code>NextIndex int</code> noa/refs.go
field BlockSpan.BlockID <code>BlockID string</code> noa/nudge_types.go
field BlockSpan.EndRef <code>EndRef string</code> noa/nudge_types.go
field BlockSpan.StartRef <code>StartRef string</code> noa/nudge_types.go
field BlockSpan.Tier <code>Tier Tier</code> noa/nudge_types.go
field BoundaryNotFoundError.Kind <code>Kind BoundaryNotFoundKind</code> noa/boundaries.go
field BoundaryNotFoundError.Msg <code>Msg string</code> noa/boundaries.go
field BoundaryNotFoundError.Ref <code>Ref string</code> noa/boundaries.go
field CompressConfig.MaxSummaryLength <code>MaxSummaryLength int</code> noa/config.go
field CompressConfig.MinCompressRange <code>MinCompressRange int</code> noa/config.go
field CompressConfig.MinSummaryLength <code>MinSummaryLength int</code> noa/config.go
field CompressParseDiagnostics.InvalidItems <code>InvalidItems int</code> noa/parseinput.go
field CompressParseDiagnostics.InvalidReasons <code>InvalidReasons []string</code> noa/parseinput.go
field CompressParseDiagnostics.Keys <code>Keys []string</code> noa/parseinput.go
field CompressParseDiagnostics.Kind <code>Kind CompressParseKind</code> noa/parseinput.go
field CompressParseDiagnostics.Length <code>Length int</code> noa/parseinput.go
field CompressParseDiagnostics.Ok <code>Ok bool</code> noa/parseinput.go
field CompressParseDiagnostics.RawPrefix <code>RawPrefix string</code> noa/parseinput.go
field CompressParseDiagnostics.Salvaged <code>Salvaged bool</code> noa/parseinput.go
field CompressParseDiagnostics.TailRepaired <code>TailRepaired bool</code> noa/parseinput.go
field CompressParseResult.Diagnostics <code>Diagnostics CompressParseDiagnostics</code> noa/parseinput.go
field CompressParseResult.Ranges <code>Ranges []CompressRange</code> noa/parseinput.go
field CompressParseResult.SummaryMaxChars <code>SummaryMaxChars *int</code> noa/parseinput.go
field CompressParseResult.TopLevelTopic <code>TopLevelTopic string</code> noa/parseinput.go
field CompressRange.EndRef <code>EndRef string</code> noa/compress.go
field CompressRange.StartRef <code>StartRef string</code> noa/compress.go
field CompressRange.Summary <code>Summary string</code> noa/compress.go
field CompressRange.SummaryMaxChars <code>SummaryMaxChars *int</code> noa/compress.go
field CompressRange.Topic <code>Topic string</code> noa/compress.go
field CompressionBlock.Active <code>Active bool</code> noa/types.go
field CompressionBlock.ArchivePath <code>ArchivePath string</code> noa/types.go
field CompressionBlock.ArchiveRel <code>ArchiveRel string</code> noa/types.go
field CompressionBlock.BlockID <code>BlockID string</code> noa/types.go
field CompressionBlock.CompressCallID <code>CompressCallID string</code> noa/types.go
field CompressionBlock.CompressedTokens <code>CompressedTokens int</code> noa/types.go
field CompressionBlock.CreatedAt <code>CreatedAt int64</code> noa/types.go
field CompressionBlock.DirectBlockIDs <code>DirectBlockIDs []string</code> noa/types.go
field CompressionBlock.DirectMessageIDs <code>DirectMessageIDs []string</code> noa/types.go
field CompressionBlock.EffectiveMessageIDs <code>EffectiveMessageIDs []string</code> noa/types.go
field CompressionBlock.EndRef <code>EndRef string</code> noa/types.go
field CompressionBlock.StartRef <code>StartRef string</code> noa/types.go
field CompressionBlock.Summary <code>Summary string</code> noa/types.go
field CompressionBlock.Tier <code>Tier Tier</code> noa/types.go
field CompressionBlock.Topic <code>Topic string</code> noa/types.go
field CompressionState.ArchiveRoot <code>ArchiveRoot string</code> noa/types.go
field CompressionState.Blocks <code>Blocks []CompressionBlock</code> noa/types.go
field CompressionState.MessageRefs <code>MessageRefs MessageRefMap</code> noa/types.go
field CompressionState.NextBlockID <code>NextBlockID int</code> noa/types.go
field CompressionState.Nudge <code>Nudge NudgeState</code> noa/types.go
field CompressionState.SessionID <code>SessionID string</code> noa/types.go
field CompressionState.Stats <code>Stats Stats</code> noa/types.go
field CompressionState.TokenSnapshot <code>TokenSnapshot map[string]int</code> noa/types.go
field Config.Compress <code>Compress CompressConfig</code> noa/config.go
field Config.IsToolProtected <code>IsToolProtected func(toolName string) bool</code> noa/config.go
field Config.MaxCompressAttempts <code>MaxCompressAttempts int</code> noa/config.go
field Config.ModelContextLimit <code>ModelContextLimit int</code> noa/config.go
field Config.Nudge <code>Nudge NudgeConfig</code> noa/config.go
field Config.PreserveRecentMessages <code>PreserveRecentMessages int</code> noa/config.go
field Config.PreserveRecentTokens <code>PreserveRecentTokens int</code> noa/config.go
field Config.ProtectedTools <code>ProtectedTools []string</code> noa/config.go
field Config.Tiers <code>Tiers TierConfig</code> noa/config.go
field Config.Truncate <code>Truncate TruncateConfig</code> noa/config.go
field CoreMessage.ContentType <code>ContentType ContentType</code> noa/types.go
field CoreMessage.ID <code>ID string</code> noa/types.go
field CoreMessage.Role <code>Role Role</code> noa/types.go
field CoreMessage.Text <code>Text string</code> noa/types.go
field CoreMessage.ToolCallID <code>ToolCallID string</code> noa/types.go
field CoreMessage.ToolName <code>ToolName string</code> noa/types.go
field DecideNudgeInput.Config <code>Config Config</code> noa/nudge.go
field DecideNudgeInput.CountTokens <code>CountTokens TokenCountFn</code> noa/nudge.go
field DecideNudgeInput.Messages <code>Messages []CoreMessage</code> noa/nudge.go
field DecideNudgeInput.Recommendation <code>Recommendation Recommendation</code> noa/nudge.go
field DecideNudgeInput.State <code>State CompressionState</code> noa/nudge.go
field DecideNudgeInput.TokenCount <code>TokenCount int</code> noa/nudge.go
field DecideNudgeInput.TruncatedCount <code>TruncatedCount int</code> noa/nudge.go
field MessageRefMap.ByRaw <code>ByRaw map[string]string</code> noa/types.go
field MessageRefMap.ByRef <code>ByRef map[string]string</code> noa/types.go
field NodeIO.Messages <code>Messages []CoreMessage</code> noa/pipeline.go
field NodeIO.Nudge <code>Nudge *NudgeDecision</code> noa/pipeline.go
field NodeIO.State <code>State CompressionState</code> noa/pipeline.go
field NodeIO.TruncatedCount <code>TruncatedCount int</code> noa/pipeline.go
field NudgeBreakdown.AdaptiveGrowth <code>AdaptiveGrowth int</code> noa/nudge_types.go
field NudgeBreakdown.CountT1 <code>CountT1 int</code> noa/nudge_types.go
field NudgeBreakdown.CountT2 <code>CountT2 int</code> noa/nudge_types.go
field NudgeBreakdown.Emergency <code>Emergency bool</code> noa/nudge_types.go
field NudgeBreakdown.Growth <code>Growth int</code> noa/nudge_types.go
field NudgeBreakdown.GrowthFloor <code>GrowthFloor int</code> noa/nudge_types.go
field NudgeBreakdown.GrowthReference <code>GrowthReference int</code> noa/nudge_types.go
field NudgeBreakdown.MinPressureBenefit <code>MinPressureBenefit int</code> noa/nudge_types.go
field NudgeBreakdown.OverLimit <code>OverLimit bool</code> noa/nudge_types.go
field NudgeBreakdown.PendingT1 <code>PendingT1 int</code> noa/nudge_types.go
field NudgeBreakdown.PendingT2 <code>PendingT2 int</code> noa/nudge_types.go
field NudgeBreakdown.PendingT3 <code>PendingT3 int</code> noa/nudge_types.go
field NudgeBreakdown.Usage <code>Usage float64</code> noa/nudge_types.go
field NudgeConfig.EmergencyThresholdPct <code>EmergencyThresholdPct float64</code> noa/config.go
field NudgeConfig.GrowthCap <code>GrowthCap int</code> noa/config.go
field NudgeConfig.GrowthFloor <code>GrowthFloor int</code> noa/config.go
field NudgeConfig.GrowthRatio <code>GrowthRatio float64</code> noa/config.go
field NudgeConfig.MaxContextLimitPct <code>MaxContextLimitPct float64</code> noa/config.go
field NudgeConfig.MinContextLimitPct <code>MinContextLimitPct float64</code> noa/config.go
field NudgeConfig.MinGrowthFloor <code>MinGrowthFloor int</code> noa/config.go
field NudgeConfig.MinGrowthRatio <code>MinGrowthRatio float64</code> noa/config.go
field NudgeConfig.MinPressureBenefitTokens <code>MinPressureBenefitTokens *int</code> noa/config.go
field NudgeConfig.Tier2GrowthMultiplier <code>Tier2GrowthMultiplier float64</code> noa/config.go
field NudgeDecision.ActiveBlockSpans <code>ActiveBlockSpans []BlockSpan</code> noa/nudge_types.go
field NudgeDecision.Breakdown <code>Breakdown NudgeBreakdown</code> noa/nudge_types.go
field NudgeDecision.CompressibleRanges <code>CompressibleRanges []RangeInfo</code> noa/nudge_types.go
field NudgeDecision.ContextBreakdown <code>ContextBreakdown map[string]int</code> noa/nudge_types.go
field NudgeDecision.ContextUsage <code>ContextUsage float64</code> noa/nudge_types.go
field NudgeDecision.ProtectedRanges <code>ProtectedRanges []ProtectedRange</code> noa/nudge_types.go
field NudgeDecision.Reason <code>Reason string</code> noa/nudge_types.go
field NudgeDecision.ShouldInject <code>ShouldInject bool</code> noa/nudge_types.go
field NudgeDecision.Tier <code>Tier Tier</code> noa/nudge_types.go
field NudgeDecision.TierTargetBlocks <code>TierTargetBlocks []CompressionBlock</code> noa/nudge_types.go
field NudgeDecision.TruncatedCount <code>TruncatedCount int</code> noa/nudge_types.go
field NudgeSections.EfficiencyNote <code>EfficiencyNote SectionOverride</code> noa/nudgetext.go
field NudgeSections.EmergencyHeader <code>EmergencyHeader SectionOverride</code> noa/nudgetext.go
field NudgeSections.T2Guidance <code>T2Guidance SectionOverride</code> noa/nudgetext.go
field NudgeSections.T3Guidance <code>T3Guidance SectionOverride</code> noa/nudgetext.go
field NudgeState.LastNudgeShownTokens <code>LastNudgeShownTokens int</code> noa/types.go
field NudgeState.LastPerMessageNudgeTokens <code>LastPerMessageNudgeTokens int</code> noa/types.go
field NudgeState.LastShownByTier <code>LastShownByTier map[Tier]int</code> noa/types.go
field PanelInput.AfterTokens <code>AfterTokens int</code> noa/panel.go
field PanelInput.BeforeTokens <code>BeforeTokens int</code> noa/panel.go
field PanelInput.Messages <code>Messages []CoreMessage</code> noa/panel.go
field PanelInput.Result <code>Result ApplyResult</code> noa/panel.go
field PipelineContext.Config <code>Config Config</code> noa/pipeline.go
field PipelineContext.CountTokens <code>CountTokens TokenCountFn</code> noa/pipeline.go
field PipelineContext.TokenCount <code>TokenCount int</code> noa/pipeline.go
field ProcessTurnInput.Config <code>Config Config</code> noa/processturn.go
field ProcessTurnInput.CountTokens <code>CountTokens TokenCountFn</code> noa/processturn.go
field ProcessTurnInput.Messages <code>Messages []CoreMessage</code> noa/processturn.go
field ProcessTurnInput.State <code>State CompressionState</code> noa/processturn.go
field ProcessTurnInput.TokenCount <code>TokenCount int</code> noa/processturn.go
field ProcessTurnResult.Messages <code>Messages []CoreMessage</code> noa/processturn.go
field ProcessTurnResult.Nudge <code>Nudge *NudgeDecision</code> noa/processturn.go
field ProcessTurnResult.State <code>State CompressionState</code> noa/processturn.go
field ProcessTurnResult.TruncatedCount <code>TruncatedCount int</code> noa/processturn.go
field ProtectedRange.Count <code>Count int</code> noa/nudge_types.go
field ProtectedRange.EndRef <code>EndRef string</code> noa/nudge_types.go
field ProtectedRange.StartRef <code>StartRef string</code> noa/nudge_types.go
field ProtectedRange.Tokens <code>Tokens int</code> noa/nudge_types.go
field ProtectedRange.Tools <code>Tools []string</code> noa/nudge_types.go
field RangeInfo.Chars <code>Chars int</code> noa/nudge_types.go
field RangeInfo.Count <code>Count int</code> noa/nudge_types.go
field RangeInfo.Dangerous <code>Dangerous bool</code> noa/nudge_types.go
field RangeInfo.EndRef <code>EndRef string</code> noa/nudge_types.go
field RangeInfo.StartRef <code>StartRef string</code> noa/nudge_types.go
field RangeInfo.TextPct <code>TextPct int</code> noa/nudge_types.go
field RangeInfo.Tokens <code>Tokens int</code> noa/nudge_types.go
field RangeInfo.ToolPct <code>ToolPct int</code> noa/nudge_types.go
field RangeInfo.UserMsgs <code>UserMsgs int</code> noa/nudge_types.go
field RebuildInput.ArchiveRoot <code>ArchiveRoot string</code> noa/rebuild.go
field RebuildInput.Archiver <code>Archiver Archiver</code> noa/rebuild.go
field RebuildInput.Config <code>Config Config</code> noa/rebuild.go
field RebuildInput.CountTokens <code>CountTokens TokenCountFn</code> noa/rebuild.go
field RebuildInput.CreatedAt <code>CreatedAt string</code> noa/rebuild.go
field RebuildInput.Messages <code>Messages []CoreMessage</code> noa/rebuild.go
field RebuildInput.Now <code>Now int64</code> noa/rebuild.go
field RebuildInput.SessionID <code>SessionID string</code> noa/rebuild.go
field RebuildResult.Replayed <code>Replayed int</code> noa/rebuild.go
field RebuildResult.Skipped <code>Skipped int</code> noa/rebuild.go
field RebuildResult.State <code>State CompressionState</code> noa/rebuild.go
field RebuildResult.Warnings <code>Warnings []string</code> noa/rebuild.go
field Recommendation.CompressibleRanges <code>CompressibleRanges []RangeInfo</code> noa/recommend.go
field Recommendation.NothingToCompress <code>NothingToCompress bool</code> noa/recommend.go
field Recommendation.ProtectedRanges <code>ProtectedRanges []ProtectedRange</code> noa/recommend.go
field ResolvedRange.EndIndex <code>EndIndex int</code> noa/boundaries.go
field ResolvedRange.Kind <code>Kind BoundaryKind</code> noa/boundaries.go
field ResolvedRange.MessageIDs <code>MessageIDs []string</code> noa/boundaries.go
field ResolvedRange.NestedBlockIDs <code>NestedBlockIDs []string</code> noa/boundaries.go
field ResolvedRange.StartIndex <code>StartIndex int</code> noa/boundaries.go
field ResolvedRange.Warnings <code>Warnings []string</code> noa/boundaries.go
field Sections.Archive <code>Archive SectionOverride</code> noa/prompts_system.go
field Sections.NoaTags <code>NoaTags SectionOverride</code> noa/prompts_system.go
field Sections.SummariesInContext <code>SummariesInContext SectionOverride</code> noa/prompts_system.go
field Stats.CompressionCount <code>CompressionCount int</code> noa/types.go
field Stats.TokensCompressed <code>TokensCompressed int</code> noa/types.go
field TierConfig.Enabled <code>Enabled bool</code> noa/config.go
field TierConfig.MaxTier <code>MaxTier Tier</code> noa/config.go
field TierConfig.Tier2Trigger <code>Tier2Trigger int</code> noa/config.go
field TierConfig.Tier3Trigger <code>Tier3Trigger int</code> noa/config.go
field TierDecision.ConsumedBlockIDs <code>ConsumedBlockIDs []string</code> noa/tier.go
field TierDecision.OutputTier <code>OutputTier Tier</code> noa/tier.go
field TierDecision.SurvivingBlockIDs <code>SurvivingBlockIDs []string</code> noa/tier.go
field TierDecision.TargetTier <code>TargetTier Tier</code> noa/tier.go
field TruncateConfig.Threshold <code>Threshold float64</code> noa/config.go
field TruncateResult.Messages <code>Messages []CoreMessage</code> noa/truncate.go
field TruncateResult.SavedTokens <code>SavedTokens int</code> noa/truncate.go
field TruncateResult.TruncatedCount <code>TruncatedCount int</code> noa/truncate.go
field TurnGroup.ActIdx <code>ActIdx []int</code> noa/turnintegrity.go
field TurnGroup.ReasoningIdx <code>ReasoningIdx []int</code> noa/turnintegrity.go
field TurnGroup.ResultIdx <code>ResultIdx []int</code> noa/turnintegrity.go
func ActiveBlockSpans <code>func ActiveBlockSpans(state CompressionState) []BlockSpan</code> noa/recommend.go
func ActiveBlocks <code>func ActiveBlocks(s CompressionState) []CompressionBlock</code> noa/state.go
func AdjustBoundariesForReasoningPairs <code>func AdjustBoundariesForReasoningPairs(start, end int, msgs []CoreMessage) (int, int)</code> noa/toolpairs.go
func AdjustBoundariesForToolPairs <code>func AdjustBoundariesForToolPairs(start, end int, msgs []CoreMessage, maxScan int) (int, int)</code> noa/toolpairs.go
func AllocateBlockID <code>func AllocateBlockID(s *CompressionState) string</code> noa/state.go
func ApplyCompression <code>func ApplyCompression(in ApplyInput) ApplyResult</code> noa/compress.go
func ApplyPairBoundaryAdjustments <code>func ApplyPairBoundaryAdjustments(start, end int, msgs []CoreMessage) (int, int)</code> noa/toolpairs.go
func ArchiveFileName <code>func ArchiveFileName(blockID, startRef, endRef string) string</code> noa/archive.go
func ArchiveTag <code>func ArchiveTag(b CompressionBlock) string</code> noa/prune.go
func ArchiveTierDir <code>func ArchiveTierDir(t Tier) string</code> noa/archive.go
func AssignRefs <code>func AssignRefs(messages []CoreMessage, opts AssignRefsOptions) AssignRefsResult</code> noa/refs.go
func BlockIDFromSummaryID <code>func BlockIDFromSummaryID(s string) (string, bool)</code> noa/state.go
func BuildCompressibleRanges <code>func BuildCompressibleRanges(msgs []CoreMessage, state CompressionState, cfg Config, protectedRefs map[string]bool, count TokenCountFn) ([]RangeInfo, []ProtectedRange)</code> noa/recommend.go
func BuildRecommendation <code>func BuildRecommendation(msgs []CoreMessage, state CompressionState, cfg Config, count TokenCountFn) Recommendation</code> noa/recommend.go
func BuildSystemPrompt <code>func BuildSystemPrompt(s Sections) string</code> noa/prompts_system.go
func CloneState <code>func CloneState(s CompressionState) CompressionState</code> noa/state.go
func CompressToolSchema <code>func CompressToolSchema() map[string]any</code> noa/schema.go
func ComputeContextBreakdown <code>func ComputeContextBreakdown(msgs []CoreMessage, count TokenCountFn) map[string]int</code> noa/nudge.go
func ComputeProtectedRefs <code>func ComputeProtectedRefs(msgs []CoreMessage, state CompressionState, cfg Config) map[string]bool</code> noa/recommend.go
func ComputeTurnGroups <code>func ComputeTurnGroups(msgs []CoreMessage) []TurnGroup</code> noa/turnintegrity.go
func CountMessageTokens <code>func CountMessageTokens(m CoreMessage, count TokenCountFn) int</code> noa/tokenize.go
func CoveredMessageIDs <code>func CoveredMessageIDs(s CompressionState) map[string]bool</code> noa/state.go
func CreateInitialState <code>func CreateInitialState(sessionID, archiveRoot string) CompressionState</code> noa/types.go
func DecideNudge <code>func DecideNudge(in DecideNudgeInput) NudgeDecision</code> noa/nudge.go
func DecideTier <code>func DecideTier(r ResolvedRange, state CompressionState, cfg Config) TierDecision</code> noa/tier.go
func DefaultConfig <code>func DefaultConfig(modelContextLimit int) Config</code> noa/config.go
func DefaultCountTokens <code>func DefaultCountTokens(text string) int</code> noa/tokenize.go
func EstimateTokensFast <code>func EstimateTokensFast(text string) int</code> noa/tokenize.go
func FindBlock <code>func FindBlock(s *CompressionState, blockID string) *CompressionBlock</code> noa/state.go
func FormatBlockMap <code>func FormatBlockMap(spans []BlockSpan) string</code> noa/nudgetext.go
func FormatBreakdown <code>func FormatBreakdown(d NudgeDecision) string</code> noa/nudgetext.go
func FormatPanel <code>func FormatPanel(in PanelInput) string</code> noa/panel.go
func FormatRanges <code>func FormatRanges(compressible []RangeInfo, protected []ProtectedRange) string</code> noa/nudgetext.go
func FormatTierTargetBlocks <code>func FormatTierTargetBlocks(blocks []CompressionBlock) string</code> noa/nudgetext.go
func FormatTokens <code>func FormatTokens(n int) string</code> noa/panel.go
func HighestUsedIndex <code>func HighestUsedIndex(m MessageRefMap) int</code> noa/refs.go
func IndexToRef <code>func IndexToRef(index int) string</code> noa/refs.go
func IsMessageProtected <code>func IsMessageProtected(m CoreMessage, cfg Config) bool</code> noa/protected.go
func IsNeverPreserveRecentTool <code>func IsNeverPreserveRecentTool(m CoreMessage) bool</code> noa/protected.go
func IsTerminalRewrite <code>func IsTerminalRewrite(d TierDecision, directCount int, cfg Config) bool</code> noa/tier.go
func MatchToolPattern <code>func MatchToolPattern(pattern, toolName string) bool</code> noa/protected.go
func MergeRangesToThreshold <code>func MergeRangesToThreshold(ranges []RangeInfo, minChars int) []RangeInfo</code> noa/recommend.go
func NudgeGrowthFloor <code>func NudgeGrowthFloor(cfg Config) int</code> noa/nudge.go
func PanelBlockCount <code>func PanelBlockCount(panel string) int</code> noa/panel.go
func ParseBlockID <code>func ParseBlockID(s string) (string, bool)</code> noa/state.go
func ParseBoundary <code>func ParseBoundary(s string) (boundaryRef, bool)</code> noa/boundaries.go
func ParseCompressArgs <code>func ParseCompressArgs(raw []byte) CompressParseResult</code> noa/parseinput.go
func ProcessTurn <code>func ProcessTurn(in ProcessTurnInput) ProcessTurnResult</code> noa/processturn.go
func ProjectedTokenCount <code>func ProjectedTokenCount(msgs []CoreMessage, state CompressionState, cfg Config, count TokenCountFn) int</code> noa/processturn.go
func RawForRef <code>func RawForRef(m MessageRefMap, ref string) (string, bool)</code> noa/refs.go
func RebuildStateFromLog <code>func RebuildStateFromLog(in RebuildInput) RebuildResult</code> noa/rebuild.go
func RefForRaw <code>func RefForRaw(m MessageRefMap, rawID string) (string, bool)</code> noa/refs.go
func RefToIndex <code>func RefToIndex(ref string) (int, bool)</code> noa/refs.go
func RenderArchive <code>func RenderArchive(in ArchiveRenderInput) []byte</code> noa/archive.go
func RenderNudgeText <code>func RenderNudgeText(d NudgeDecision, s NudgeSections) (NudgeVoice, string)</code> noa/nudgetext.go
func RenderSummaryMessage <code>func RenderSummaryMessage(b CompressionBlock) CoreMessage</code> noa/prune.go
func ResolveBoundaries <code>func ResolveBoundaries(startRef, endRef string, messages []CoreMessage, state CompressionState) (ResolvedRange, *BoundaryNotFoundError)</code> noa/boundaries.go
func RunPipeline <code>func RunPipeline(nodes []PipelineNode, io NodeIO, ctx PipelineContext) NodeIO</code> noa/pipeline.go
func RunPruneOnly <code>func RunPruneOnly(msgs []CoreMessage, state CompressionState, cfg Config) ([]CoreMessage, CompressionState)</code> noa/rebuild.go
func SummaryMessageID <code>func SummaryMessageID(blockID string) string</code> noa/state.go
func TruncateLargeToolOutputs <code>func TruncateLargeToolOutputs(msgs []CoreMessage, tokenCount int, cfg Config, count TokenCountFn) TruncateResult</code> noa/truncate.go
func ValidateConfig <code>func ValidateConfig(c Config) []string</code> noa/config.go
func ViableRanges <code>func ViableRanges(ranges []RangeInfo) []RangeInfo</code> noa/recommend.go
func WithdrawSplitTurns <code>func WithdrawSplitTurns(msgs []CoreMessage, folded map[string]bool) (map[string]bool, []string)</code> noa/turnintegrity.go
interface method Archiver.Remove <code>Removefunc(abs string) error</code> noa/archive.go
interface method Archiver.Write <code>Writefunc(tier Tier, blockID, startRef, endRef string, content []byte) (abs, rel string, err error)</code> noa/archive.go
interface method PipelineNode.Enabled <code>Enabledfunc(io NodeIO, ctx PipelineContext) bool</code> noa/pipeline.go
interface method PipelineNode.Name <code>Namefunc() string</code> noa/pipeline.go
interface method PipelineNode.Run <code>Runfunc(io NodeIO, ctx PipelineContext) NodeIO</code> noa/pipeline.go
method BoundaryNotFoundError.Error <code>func (*BoundaryNotFoundError) Error() string</code> noa/boundaries.go
type ApplyInput <code>type ApplyInput struct</code> noa/compress.go
type ApplyResult <code>type ApplyResult struct</code> noa/compress.go
type ArchiveEntry <code>type ArchiveEntry struct</code> noa/archive.go
type ArchiveRenderInput <code>type ArchiveRenderInput struct</code> noa/archive.go
type Archiver <code>type Archiver interface</code> noa/archive.go
type AssignRefsOptions <code>type AssignRefsOptions struct</code> noa/refs.go
type AssignRefsResult <code>type AssignRefsResult struct</code> noa/refs.go
type BlockSpan <code>type BlockSpan struct</code> noa/nudge_types.go
type BoundaryKind <code>type BoundaryKind string</code> noa/boundaries.go
type BoundaryNotFoundError <code>type BoundaryNotFoundError struct</code> noa/boundaries.go
type BoundaryNotFoundKind <code>type BoundaryNotFoundKind string</code> noa/boundaries.go
type CompressConfig <code>type CompressConfig struct</code> noa/config.go
type CompressParseDiagnostics <code>type CompressParseDiagnostics struct</code> noa/parseinput.go
type CompressParseKind <code>type CompressParseKind string</code> noa/parseinput.go
type CompressParseResult <code>type CompressParseResult struct</code> noa/parseinput.go
type CompressRange <code>type CompressRange struct</code> noa/compress.go
type CompressionBlock <code>type CompressionBlock struct</code> noa/types.go
type CompressionState <code>type CompressionState struct</code> noa/types.go
type Config <code>type Config struct</code> noa/config.go
type ContentType <code>type ContentType string</code> noa/types.go
type CoreMessage <code>type CoreMessage struct</code> noa/types.go
type DecideNudgeInput <code>type DecideNudgeInput struct</code> noa/nudge.go
type MessageRefMap <code>type MessageRefMap struct</code> noa/types.go
type NodeIO <code>type NodeIO struct</code> noa/pipeline.go
type NudgeBreakdown <code>type NudgeBreakdown struct</code> noa/nudge_types.go
type NudgeConfig <code>type NudgeConfig struct</code> noa/config.go
type NudgeDecision <code>type NudgeDecision struct</code> noa/nudge_types.go
type NudgeSections <code>type NudgeSections struct</code> noa/nudgetext.go
type NudgeState <code>type NudgeState struct</code> noa/types.go
type NudgeVoice <code>type NudgeVoice string</code> noa/nudgetext.go
type PanelInput <code>type PanelInput struct</code> noa/panel.go
type PipelineContext <code>type PipelineContext struct</code> noa/pipeline.go
type PipelineNode <code>type PipelineNode interface</code> noa/pipeline.go
type ProcessTurnInput <code>type ProcessTurnInput struct</code> noa/processturn.go
type ProcessTurnResult <code>type ProcessTurnResult struct</code> noa/processturn.go
type ProtectedRange <code>type ProtectedRange struct</code> noa/nudge_types.go
type RangeInfo <code>type RangeInfo struct</code> noa/nudge_types.go
type RebuildInput <code>type RebuildInput struct</code> noa/rebuild.go
type RebuildResult <code>type RebuildResult struct</code> noa/rebuild.go
type Recommendation <code>type Recommendation struct</code> noa/recommend.go
type ResolvedRange <code>type ResolvedRange struct</code> noa/boundaries.go
type Role <code>type Role string</code> noa/types.go
type SectionOverride <code>type SectionOverride = *string</code> noa/prompts_system.go
type Sections <code>type Sections struct</code> noa/prompts_system.go
type Stats <code>type Stats struct</code> noa/types.go
type Tier <code>type Tier int</code> noa/types.go
type TierConfig <code>type TierConfig struct</code> noa/config.go
type TierDecision <code>type TierDecision struct</code> noa/tier.go
type TokenCountFn <code>type TokenCountFn func(string) int</code> noa/tokenize.go
type TruncateConfig <code>type TruncateConfig struct</code> noa/config.go
type TruncateResult <code>type TruncateResult struct</code> noa/truncate.go
type TurnGroup <code>type TurnGroup struct</code> noa/turnintegrity.go
var AlwaysProtectedTools <code>var AlwaysProtectedTools = []string{CompressToolName}</code> noa/const.go
var NeverPreserveRecentTools <code>var NeverPreserveRecentTools = []string{"Read", "Grep", "Glob", "Bash", "LS"}</code> noa/const.go

noaadapter

종류 식별자 선언/시그니처 근거
field InheritOptions.ArchiveBaseDir <code>ArchiveBaseDir string</code> noaadapter/inherit.go
field InheritOptions.ParentIDs <code>ParentIDs []string</code> noaadapter/inherit.go
field InheritOptions.SessionID <code>SessionID string</code> noaadapter/inherit.go
field Options.ArchiveBaseDir <code>ArchiveBaseDir string</code> noaadapter/session.go
field Options.Config <code>Config *noa.Config</code> noaadapter/session.go
field Options.ModelContextLimit <code>ModelContextLimit int</code> noaadapter/session.go
field Options.Now <code>Now func() time.Time</code> noaadapter/session.go
field Options.OnWarn <code>OnWarn func(string)</code> noaadapter/session.go
field Options.ParentSessionIDs <code>ParentSessionIDs []string</code> noaadapter/session.go
field Options.SessionID <code>SessionID string</code> noaadapter/session.go
field ReassembleOptions.State <code>State *noa.CompressionState</code> noaadapter/project.go
field ReassembleOptions.Tag <code>Tag bool</code> noaadapter/project.go
field Sidecar.Origins <code>Origins map[string]origin</code> noaadapter/project.go
field Sidecar.Signatures <code>Signatures map[string]string</code> noaadapter/project.go
field Sidecar.ToolResultIsError <code>ToolResultIsError map[string]bool</code> noaadapter/project.go
func AppendRefTag <code>func AppendRefTag(body, tag string) string</code> noaadapter/tags.go
func DeriveChildState <code>func DeriveChildState(parent noa.CompressionState, childSessionID, childArchiveRoot string) noa.CompressionState</code> noaadapter/inherit.go
func DeriveMessageID <code>func DeriveMessageID(role noa.Role, ct noa.ContentType, text, toolCallID, toolName string) string</code> noaadapter/identity.go
func Enable <code>func Enable(opts *agentcore.Options, o Options) error</code> noaadapter/noa.go
func EnableWithSession <code>func EnableWithSession(opts *agentcore.Options, o Options) (*Session, error)</code> noaadapter/noa.go
func InheritState <code>func InheritState(o InheritOptions) (noa.CompressionState, string, bool)</code> noaadapter/inherit.go
func Materialize <code>func Materialize(msgs []llm.Message, o Options) ([]llm.Message, error)</code> noaadapter/materialize.go
func MessageRef <code>func MessageRef(m llm.Message) string</code> noaadapter/tags.go
func NewClusterCounter <code>func NewClusterCounter() *ClusterCounter</code> noaadapter/identity.go
func NewDeadRangeTracker <code>func NewDeadRangeTracker() *DeadRangeTracker</code> noaadapter/deadrange.go
func NewFileArchiver <code>func NewFileArchiver(root string) noa.Archiver</code> noaadapter/archive.go
func NewReuseArchiver <code>func NewReuseArchiver(root string) noa.Archiver</code> noaadapter/archive.go
func NewStateStore <code>func NewStateStore(root string) *StateStore</code> noaadapter/state_store.go
func ParseOverflowWindow <code>func ParseOverflowWindow(msg string) int</code> noaadapter/overflow.go
func Project <code>func Project(msgs []llm.Message) ([]noa.CoreMessage, *Sidecar)</code> noaadapter/project.go
func Reassemble <code>func Reassemble(cores []noa.CoreMessage, originals []llm.Message, sc *Sidecar, opts ReassembleOptions) []llm.Message</code> noaadapter/project.go
func RebuildFromHistory <code>func RebuildFromHistory(msgs []llm.Message, o Options) (*Session, error)</code> noaadapter/materialize.go
func RefTag <code>func RefTag(ref string, m noa.CoreMessage, tokens int) string</code> noaadapter/tags.go
func StripRefTag <code>func StripRefTag(s string) string</code> noaadapter/tags.go
func SubagentArchiveRoot <code>func SubagentArchiveRoot(base, sessionID, agentID string) string</code> noaadapter/inherit.go
method ClusterCounter.Next <code>func (*ClusterCounter) Next(base string) string</code> noaadapter/identity.go
method Compactor.IsOverflow <code>func (*Compactor) IsOverflow(err error) bool</code> noaadapter/compactor.go
method Compactor.Pre <code>func (*Compactor) Pre(_ context.Context, msgs []llm.Message, lastInputTokens int) []llm.Message</code> noaadapter/compactor.go
method Compactor.Reactive <code>func (*Compactor) Reactive(ctx context.Context, msgs []llm.Message) ([]llm.Message, bool)</code> noaadapter/compactor.go
method Compactor.View <code>func (*Compactor) View(_ context.Context, msgs []llm.Message) []llm.Message</code> noaadapter/compactor.go
method DeadRangeTracker.Check <code>func (*DeadRangeTracker) Check(ranges []noa.CompressRange, state noa.CompressionState) string</code> noaadapter/deadrange.go
method DeadRangeTracker.Record <code>func (*DeadRangeTracker) Record(ranges []noa.CompressRange)</code> noaadapter/deadrange.go
method DeadRangeTracker.Reset <code>func (*DeadRangeTracker) Reset()</code> noaadapter/deadrange.go
method Session.ArchiveRoot <code>func (*Session) ArchiveRoot() string</code> noaadapter/session.go
method Session.Config <code>func (*Session) Config() noa.Config</code> noaadapter/session.go
method Session.State <code>func (*Session) State() noa.CompressionState</code> noaadapter/session.go
method Session.View <code>func (*Session) View(msgs []llm.Message) []llm.Message</code> noaadapter/session.go
method StateStore.Exists <code>func (*StateStore) Exists() bool</code> noaadapter/state_store.go
method StateStore.Load <code>func (*StateStore) Load(sessionID, archiveRoot string) (noa.CompressionState, error)</code> noaadapter/state_store.go
method StateStore.Save <code>func (*StateStore) Save(st noa.CompressionState) error</code> noaadapter/state_store.go
type ClusterCounter <code>type ClusterCounter struct</code> noaadapter/identity.go
type Compactor <code>type Compactor struct</code> noaadapter/compactor.go
type DeadRangeTracker <code>type DeadRangeTracker struct</code> noaadapter/deadrange.go
type InheritOptions <code>type InheritOptions struct</code> noaadapter/inherit.go
type Options <code>type Options struct</code> noaadapter/session.go
type ReassembleOptions <code>type ReassembleOptions struct</code> noaadapter/project.go
type Session <code>type Session struct</code> noaadapter/session.go
type Sidecar <code>type Sidecar struct</code> noaadapter/project.go
type StateStore <code>type StateStore struct</code> noaadapter/state_store.go
var ErrNoArchiveDir <code>var ErrNoArchiveDir = <expression omitted; 123 source chars></code> noaadapter/session.go

상위 영역: 라이브러리·이벤트·파일·설정 계약

전체로 돌아가기 · Markdown 원본

검색을 열면 색인을 읽습니다.

등록한 문서 본문에서 검색합니다.