@kb-labs/agent-kernel 2.118.2 → 2.119.0-canary.0c078654e

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/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import type {\n AssumptionRecord,\n CorrectionRecord,\n DecisionRecord,\n EvidenceRecord,\n KernelState,\n MemoryRollup,\n OpenQuestionRecord,\n PendingActionRecord,\n PromptContextSelection,\n RepositoryModel,\n RoutingHints,\n RunHandoff,\n KernelMemoryState,\n ToolCapability,\n ToolResultArtifact,\n TurnInterpretation,\n} from '@kb-labs/agent-contracts';\nimport type { MemoryCapability, PromptProjector } from '@kb-labs/agent-sdk';\nimport type { LLMMessage } from '@kb-labs/sdk';\n\nfunction now(): string {\n return new Date().toISOString();\n}\n\nfunction makeId(prefix: string): string {\n return `${prefix}-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;\n}\n\nconst MAX_EVIDENCE_ITEMS = 12;\nconst MAX_DECISION_ITEMS = 10;\nconst MAX_COMPACTED_EVIDENCE_ITEMS = 8;\nconst MAX_COMPACTED_DONE_ACTIONS = 2;\nconst MAX_COMPACTED_CHILD_RESULTS = 5;\nconst CORRECTION_PENDING_PREFIX = 'Persist user correction via memory_correction:';\n\nfunction createMemory(): KernelMemoryState {\n return {\n corrections: [],\n assumptions: [],\n decisions: [],\n evidence: [],\n openQuestions: [],\n pendingActions: [],\n };\n}\n\nexport function createKernelState(input: {\n sessionId: string;\n workingDir: string;\n mode: KernelState['mode'];\n task: string;\n}): KernelState {\n const timestamp = now();\n return {\n version: 1,\n sessionId: input.sessionId,\n workingDir: input.workingDir,\n mode: input.mode,\n currentTask: input.task,\n objective: input.task,\n constraints: [],\n memory: createMemory(),\n childResults: [],\n updatedAt: timestamp,\n };\n}\n\nfunction touch(state: KernelState): KernelState {\n return { ...state, updatedAt: now() };\n}\n\nfunction upsertSummary(state: KernelState, summary: string): KernelState {\n return {\n ...state,\n memory: {\n ...state.memory,\n latestSummary: summary,\n },\n };\n}\n\nexport function ingestUserTurn(\n state: KernelState,\n input: string | { content: string; interpretation?: TurnInterpretation | null },\n): KernelState {\n const content = typeof input === 'string' ? input : input.content;\n const interpretation = typeof input === 'string' ? null : input.interpretation ?? null;\n let nextState: KernelState = {\n ...state,\n currentTask: content,\n objective: state.objective || content,\n };\n\n if (interpretation) {\n nextState = recordRoutingHints(nextState, interpretation);\n }\n\n if (interpretation?.shouldPersist && interpretation.content) {\n if (interpretation.persistStrategy === 'record_directly') {\n nextState = persistInterpretedMemory(nextState, interpretation);\n } else {\n nextState = ensurePendingCorrectionAction(nextState, interpretation.content);\n }\n }\n\n return touch(nextState);\n}\n\nexport function recordConstraint(\n state: KernelState,\n content: string,\n): KernelState {\n if (!content.trim()) {\n return state;\n }\n if (state.constraints.includes(content.trim())) {\n return state;\n }\n return touch({\n ...state,\n constraints: [...state.constraints, content.trim()],\n });\n}\n\nexport function recordCorrection(\n state: KernelState,\n content: string,\n invalidates: string[] = [],\n): KernelState {\n const record: CorrectionRecord = {\n id: makeId('corr'),\n content,\n timestamp: now(),\n invalidates,\n source: 'user',\n };\n\n const assumptions = state.memory.assumptions.map((item) =>\n invalidates.includes(item.id)\n ? {\n ...item,\n status: 'invalidated' as const,\n invalidatedAt: record.timestamp,\n invalidatedBy: record.id,\n }\n : item,\n );\n\n return touch({\n ...state,\n memory: {\n ...state.memory,\n corrections: [...state.memory.corrections, record],\n assumptions,\n },\n });\n}\n\nexport function recordAssumption(\n state: KernelState,\n content: string,\n): KernelState {\n const assumption: AssumptionRecord = {\n id: makeId('asm'),\n content,\n status: 'active',\n createdAt: now(),\n };\n return touch({\n ...state,\n memory: {\n ...state.memory,\n assumptions: [...state.memory.assumptions, assumption],\n },\n });\n}\n\nexport function recordDecision(\n state: KernelState,\n content: string,\n source: DecisionRecord['source'] = 'agent',\n): KernelState {\n const decision: DecisionRecord = {\n id: makeId('dec'),\n content,\n source,\n createdAt: now(),\n };\n return touch({\n ...state,\n memory: {\n ...state.memory,\n decisions: [...state.memory.decisions, decision].slice(-MAX_DECISION_ITEMS),\n },\n });\n}\n\nexport function recordOpenQuestion(\n state: KernelState,\n content: string,\n): KernelState {\n const question: OpenQuestionRecord = {\n id: makeId('q'),\n content,\n createdAt: now(),\n status: 'open',\n };\n return touch({\n ...state,\n memory: {\n ...state.memory,\n openQuestions: [...state.memory.openQuestions, question],\n },\n });\n}\n\nexport function recordPendingAction(\n state: KernelState,\n content: string,\n status: PendingActionRecord['status'] = 'pending',\n): KernelState {\n const action: PendingActionRecord = {\n id: makeId('todo'),\n content,\n createdAt: now(),\n status,\n };\n return touch({\n ...state,\n memory: {\n ...state.memory,\n pendingActions: [...state.memory.pendingActions, action],\n },\n });\n}\n\nexport function completePendingActions(\n state: KernelState,\n predicate: (action: PendingActionRecord) => boolean,\n): KernelState {\n let changed = false;\n const pendingActions = state.memory.pendingActions.map((action) => {\n if (action.status !== 'done' && predicate(action)) {\n changed = true;\n return { ...action, status: 'done' as const };\n }\n return action;\n });\n return changed\n ? touch({\n ...state,\n memory: {\n ...state.memory,\n pendingActions,\n },\n })\n : state;\n}\n\nexport function recordToolArtifact(\n state: KernelState,\n artifact: ToolResultArtifact,\n): KernelState {\n const evidence = artifact.evidence.filter((item) => item.summary.trim() || item.toolInputSummary?.trim());\n if (evidence.length === 0) {\n return state;\n }\n\n const deduped = [...state.memory.evidence, ...evidence].filter((item, index, all) => {\n const key = `${item.toolName ?? item.source}:${item.toolInputSummary ?? ''}:${item.summary}`;\n return all.findIndex((candidate) =>\n `${candidate.toolName ?? candidate.source}:${candidate.toolInputSummary ?? ''}:${candidate.summary}` === key,\n ) === index;\n });\n const pinned = deduped.filter((item) => item.pinned);\n const recent = deduped.filter((item) => !item.pinned).slice(-MAX_EVIDENCE_ITEMS);\n const merged = [...pinned, ...recent].slice(-MAX_EVIDENCE_ITEMS);\n\n return touch({\n ...state,\n memory: {\n ...state.memory,\n evidence: merged,\n },\n });\n}\n\nexport function recordRunHandoff(\n state: KernelState,\n handoff: RunHandoff,\n): KernelState {\n return touch({\n ...state,\n handoff,\n childResults: state.childResults,\n });\n}\n\nexport function recordRoutingHints(\n state: KernelState,\n interpretation: TurnInterpretation,\n): KernelState {\n const hasHints = Boolean(\n interpretation.suggestedMode\n || interpretation.suggestedPromptProfile\n || interpretation.suggestedSkills?.length\n || interpretation.suggestedToolCapabilities?.length,\n );\n if (!hasHints) {\n return state;\n }\n\n const routingHints: RoutingHints = {\n suggestedMode: interpretation.suggestedMode,\n suggestedSkills: interpretation.suggestedSkills ?? [],\n suggestedPromptProfile: interpretation.suggestedPromptProfile,\n suggestedToolCapabilities: interpretation.suggestedToolCapabilities ?? [],\n source: 'turn_interpretation',\n confidence: interpretation.confidence,\n updatedAt: now(),\n };\n\n return touch({\n ...state,\n routingHints,\n });\n}\n\nexport function recordChildResult(\n state: KernelState,\n result: RunHandoff,\n): KernelState {\n return touch({\n ...state,\n childResults: [...state.childResults, result],\n });\n}\n\nexport function compactKernelState(\n state: KernelState,\n stats?: {\n turnCount?: number;\n toolCallCount?: number;\n narrativeSummary?: string;\n },\n): KernelState {\n const pinnedEvidence = state.memory.evidence.filter((item) => item.pinned);\n const recentEvidence = state.memory.evidence\n .filter((item) => !item.pinned)\n .filter((item) => !isNoiseEvidence(item, state))\n .slice(-MAX_COMPACTED_EVIDENCE_ITEMS);\n const compactedEvidence = [...pinnedEvidence, ...recentEvidence]\n .filter((item, index, all) => all.findIndex((candidate) => candidate.id === item.id) === index)\n .slice(-MAX_EVIDENCE_ITEMS);\n\n const activeActions = state.memory.pendingActions.filter((item) => item.status !== 'done');\n const recentDoneActions = state.memory.pendingActions\n .filter((item) => item.status === 'done')\n .slice(-MAX_COMPACTED_DONE_ACTIONS);\n const pendingActions = [...activeActions, ...recentDoneActions];\n\n const childResults = state.childResults.slice(-MAX_COMPACTED_CHILD_RESULTS);\n const completedActionCount = state.memory.pendingActions.filter((item) => item.status === 'done').length;\n const prunedEvidenceCount = Math.max(0, state.memory.evidence.length - compactedEvidence.length);\n\n const rollup: MemoryRollup | undefined = shouldCreateRollup(state, stats)\n ? {\n generatedAt: now(),\n turnCount: stats?.turnCount,\n toolCallCount: stats?.toolCallCount,\n completedActionCount,\n prunedEvidenceCount,\n summary: createRollupSummary(state, {\n ...stats,\n completedActionCount,\n prunedEvidenceCount,\n }),\n }\n : state.rollup;\n\n return touch({\n ...state,\n rollup,\n childResults,\n memory: {\n ...state.memory,\n evidence: compactedEvidence,\n pendingActions,\n },\n });\n}\n\nexport async function applyMemoryCapabilities(\n state: KernelState,\n capabilities: ReadonlyArray<MemoryCapability>,\n): Promise<KernelState> {\n let nextState = state;\n for (const capability of capabilities) {\n nextState = await capability.apply(nextState);\n }\n return touch(nextState);\n}\n\nfunction defaultProjector(state: KernelState, _messages: LLMMessage[]): string {\n const selection = createDefaultPromptContextSelection(state);\n return renderPromptSections(state, selection);\n}\n\nfunction renderPromptSections(state: KernelState, selection: PromptContextSelection): string {\n const lines: string[] = [];\n if (selection.includeObjective && state.objective) {\n lines.push(`# Objective`, state.objective);\n }\n if (selection.includeSessionRollup && state.rollup?.summary) {\n lines.push('', '# Session Rollup', state.rollup.summary);\n }\n if (selection.includeConstraints && state.constraints.length > 0) {\n lines.push('', '# Constraints', ...state.constraints.map((item) => `- ${item}`));\n }\n if (selection.includeRoutingHints && state.routingHints) {\n const routingLines: string[] = [];\n if (state.routingHints.suggestedMode) {\n routingLines.push(`- Suggested mode: ${state.routingHints.suggestedMode}`);\n }\n if (state.routingHints.suggestedPromptProfile) {\n routingLines.push(`- Suggested prompt profile: ${state.routingHints.suggestedPromptProfile}`);\n }\n if (state.routingHints.suggestedSkills.length > 0) {\n routingLines.push(`- Suggested skills: ${state.routingHints.suggestedSkills.join(', ')}`);\n }\n if (state.routingHints.suggestedToolCapabilities.length > 0) {\n routingLines.push(`- Suggested tool capabilities: ${state.routingHints.suggestedToolCapabilities.join(', ')}`);\n }\n if (routingLines.length > 0) {\n lines.push('', '# Routing Hints', ...routingLines);\n }\n }\n const activeCorrections = state.memory.corrections.slice(-selection.correctionWindow);\n if (selection.includeCorrections && activeCorrections.length > 0) {\n lines.push('', '# Recent Corrections', ...activeCorrections.map((item) => `- ${item.content}`));\n }\n const decisions = state.memory.decisions.filter((item) => item.pinned).concat(\n state.memory.decisions.filter((item) => !item.pinned).slice(-selection.decisionWindow),\n ).slice(-selection.decisionWindow);\n if (selection.includeDecisions && decisions.length > 0) {\n lines.push('', '# Decisions', ...decisions.map((item) => `- ${item.content}`));\n }\n const evidence = state.memory.evidence.filter((item) => item.pinned).concat(\n state.memory.evidence.filter((item) => !item.pinned).slice(-selection.evidenceWindow),\n ).slice(-selection.evidenceWindow);\n if (selection.includeEvidence && evidence.length > 0) {\n lines.push(\n '',\n '# Evidence',\n ...evidence.map((item) => {\n const input = item.toolInputSummary ? ` (${item.toolInputSummary})` : '';\n const summary = item.summary || 'tool input captured';\n return `- ${item.toolName ?? item.source}${input}: ${summary}`;\n }),\n );\n }\n const previousRunToolEvidence = state.memory.evidence\n .filter((item) => item.toolName && item.toolInputSummary)\n .slice(-selection.toolUsageWindow);\n if (selection.includePreviousRunToolUsage && previousRunToolEvidence.length > 0) {\n lines.push(\n '',\n '# Previous Run Tool Usage',\n 'For questions about previous runs, commands, or tool usage, treat this section as authoritative over plain assistant prose.',\n ...previousRunToolEvidence.map((item) => `- ${item.toolName}: ${item.toolInputSummary}`),\n );\n }\n if (selection.includePreviousRunHandoff && state.handoff?.summary) {\n lines.push('', '# Previous Run Handoff', state.handoff.summary);\n }\n if (selection.includeWorkingSummary && state.memory.latestSummary) {\n lines.push('', '# Working Summary', state.memory.latestSummary);\n }\n const relevantPendingActions = state.memory.pendingActions\n .filter((item) => item.status !== 'done')\n .slice(-selection.pendingActionWindow);\n if (selection.includePendingActions && relevantPendingActions.length > 0) {\n lines.push('', '# Pending Actions', ...relevantPendingActions.map((item) => `- ${item.content}`));\n }\n return lines.join('\\n').trim();\n}\n\nexport async function projectKernelPrompt(\n state: KernelState,\n messages: LLMMessage[],\n projectors: ReadonlyArray<PromptProjector>,\n selection?: PromptContextSelection | null,\n context?: {\n repositoryModel?: RepositoryModel | null;\n toolCapabilities?: ToolCapability[];\n },\n): Promise<string> {\n const resolvedSelection = selection ?? createDefaultPromptContextSelection(state);\n const sections = [renderPromptSections(state, resolvedSelection)];\n for (const projector of projectors) {\n const extra = await projector.project({\n state,\n messages,\n repositoryModel: context?.repositoryModel ?? null,\n toolCapabilities: context?.toolCapabilities ?? [],\n });\n if (extra.trim()) {\n sections.push(extra.trim());\n }\n }\n return sections.filter(Boolean).join('\\n\\n');\n}\n\nexport function summarizeAssistantTurn(\n state: KernelState,\n answer: string,\n): KernelState {\n return touch(upsertSummary(state, answer.trim()));\n}\n\nfunction ensurePendingCorrectionAction(state: KernelState, correction: string): KernelState {\n const content = `${CORRECTION_PENDING_PREFIX} ${correction}`;\n const existing = state.memory.pendingActions.find((item) => item.content === content && item.status !== 'done');\n if (existing) {\n return state;\n }\n return recordPendingAction(state, content);\n}\n\nfunction persistInterpretedMemory(\n state: KernelState,\n interpretation: TurnInterpretation,\n): KernelState {\n const content = interpretation.content?.trim();\n if (!content) {\n return state;\n }\n\n if (interpretation.persistenceKind === 'constraint') {\n let nextState = recordConstraint(state, content);\n if (!nextState.memory.corrections.some((item) => item.content === content)) {\n nextState = recordCorrection(nextState, content, interpretation.invalidates ?? []);\n }\n return nextState;\n }\n\n return recordCorrection(state, content, interpretation.invalidates ?? []);\n}\n\nexport function isCorrectionPendingAction(action: PendingActionRecord): boolean {\n return action.content.startsWith(CORRECTION_PENDING_PREFIX);\n}\n\nexport function createDefaultPromptContextSelection(state: KernelState): PromptContextSelection {\n return {\n includeObjective: true,\n includeSessionRollup: Boolean(state.rollup?.summary),\n includeConstraints: true,\n includeRoutingHints: true,\n includeCorrections: true,\n includeDecisions: true,\n includeEvidence: true,\n includePreviousRunToolUsage: true,\n includePreviousRunHandoff: true,\n includeWorkingSummary: true,\n includePendingActions: true,\n correctionWindow: state.rollup ? 3 : 5,\n decisionWindow: 5,\n evidenceWindow: state.rollup ? 4 : 6,\n toolUsageWindow: 3,\n pendingActionWindow: 5,\n };\n}\n\nfunction shouldCreateRollup(\n state: KernelState,\n stats?: {\n turnCount?: number;\n toolCallCount?: number;\n },\n): boolean {\n return Boolean(\n (stats?.turnCount ?? 0) >= 8\n || (stats?.toolCallCount ?? 0) >= 6\n || state.memory.evidence.length >= 6\n || state.memory.pendingActions.length >= 6\n || state.childResults.length >= 4,\n );\n}\n\nfunction isNoiseEvidence(item: EvidenceRecord, state: KernelState): boolean {\n if (!item.toolName) {\n return false;\n }\n if ((item.toolName === 'memory_correction' || item.toolName === 'memory_constraint') && state.memory.corrections.length > 0) {\n return true;\n }\n if (item.toolName === 'report' && typeof item.artifact?.code === 'string' && item.artifact.code === 'PENDING_MEMORY_COMMIT') {\n return true;\n }\n return false;\n}\n\nfunction createRollupSummary(\n state: KernelState,\n stats: {\n turnCount?: number;\n toolCallCount?: number;\n completedActionCount: number;\n prunedEvidenceCount: number;\n narrativeSummary?: string;\n },\n): string {\n const segments: string[] = [];\n if (stats.turnCount || stats.toolCallCount) {\n segments.push(`Session activity: ${stats.turnCount ?? 0} turns, ${stats.toolCallCount ?? 0} tool calls.`);\n }\n if (state.constraints.length > 0) {\n segments.push(`Active constraints: ${state.constraints.join('; ')}.`);\n }\n const recentDecisions = state.memory.decisions.slice(-2).map((item) => item.content);\n if (recentDecisions.length > 0) {\n segments.push(`Recent decisions: ${recentDecisions.join('; ')}.`);\n }\n const recentEvidence = state.memory.evidence\n .filter((item) => !isNoiseEvidence(item, state))\n .slice(-3)\n .map((item) => `${item.toolName ?? item.source}${item.toolInputSummary ? ` (${item.toolInputSummary})` : ''}`);\n if (recentEvidence.length > 0) {\n segments.push(`Recent evidence anchors: ${recentEvidence.join('; ')}.`);\n }\n if (stats.completedActionCount > 0 || stats.prunedEvidenceCount > 0) {\n segments.push(`Compaction kept continuity while collapsing ${stats.completedActionCount} completed action(s) and ${stats.prunedEvidenceCount} stale evidence item(s).`);\n }\n if (stats.narrativeSummary?.trim()) {\n segments.push(`Narrative summary: ${stats.narrativeSummary.trim()}`);\n }\n return segments.join(' ').trim();\n}\n\nexport type { KernelState, ToolResultArtifact, EvidenceRecord };\n"]}
1
+ {"version":3,"sources":["../../home/runner/work/kb-labs/kb-labs/plugins/agents/kernel/src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import type {\n AssumptionRecord,\n CorrectionRecord,\n DecisionRecord,\n EvidenceRecord,\n KernelState,\n MemoryRollup,\n OpenQuestionRecord,\n PendingActionRecord,\n PromptContextSelection,\n RepositoryModel,\n RoutingHints,\n RunHandoff,\n KernelMemoryState,\n ToolCapability,\n ToolResultArtifact,\n TurnInterpretation,\n} from '@kb-labs/agent-contracts';\nimport type { MemoryCapability, PromptProjector } from '@kb-labs/agent-sdk';\nimport type { LLMMessage } from '@kb-labs/sdk';\n\nfunction now(): string {\n return new Date().toISOString();\n}\n\nfunction makeId(prefix: string): string {\n return `${prefix}-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;\n}\n\nconst MAX_EVIDENCE_ITEMS = 12;\nconst MAX_DECISION_ITEMS = 10;\nconst MAX_COMPACTED_EVIDENCE_ITEMS = 8;\nconst MAX_COMPACTED_DONE_ACTIONS = 2;\nconst MAX_COMPACTED_CHILD_RESULTS = 5;\nconst CORRECTION_PENDING_PREFIX = 'Persist user correction via memory_correction:';\n\nfunction createMemory(): KernelMemoryState {\n return {\n corrections: [],\n assumptions: [],\n decisions: [],\n evidence: [],\n openQuestions: [],\n pendingActions: [],\n };\n}\n\nexport function createKernelState(input: {\n sessionId: string;\n workingDir: string;\n mode: KernelState['mode'];\n task: string;\n}): KernelState {\n const timestamp = now();\n return {\n version: 1,\n sessionId: input.sessionId,\n workingDir: input.workingDir,\n mode: input.mode,\n currentTask: input.task,\n objective: input.task,\n constraints: [],\n memory: createMemory(),\n childResults: [],\n updatedAt: timestamp,\n };\n}\n\nfunction touch(state: KernelState): KernelState {\n return { ...state, updatedAt: now() };\n}\n\nfunction upsertSummary(state: KernelState, summary: string): KernelState {\n return {\n ...state,\n memory: {\n ...state.memory,\n latestSummary: summary,\n },\n };\n}\n\nexport function ingestUserTurn(\n state: KernelState,\n input: string | { content: string; interpretation?: TurnInterpretation | null },\n): KernelState {\n const content = typeof input === 'string' ? input : input.content;\n const interpretation = typeof input === 'string' ? null : input.interpretation ?? null;\n let nextState: KernelState = {\n ...state,\n currentTask: content,\n objective: state.objective || content,\n };\n\n if (interpretation) {\n nextState = recordRoutingHints(nextState, interpretation);\n }\n\n if (interpretation?.shouldPersist && interpretation.content) {\n if (interpretation.persistStrategy === 'record_directly') {\n nextState = persistInterpretedMemory(nextState, interpretation);\n } else {\n nextState = ensurePendingCorrectionAction(nextState, interpretation.content);\n }\n }\n\n return touch(nextState);\n}\n\nexport function recordConstraint(\n state: KernelState,\n content: string,\n): KernelState {\n if (!content.trim()) {\n return state;\n }\n if (state.constraints.includes(content.trim())) {\n return state;\n }\n return touch({\n ...state,\n constraints: [...state.constraints, content.trim()],\n });\n}\n\nexport function recordCorrection(\n state: KernelState,\n content: string,\n invalidates: string[] = [],\n): KernelState {\n const record: CorrectionRecord = {\n id: makeId('corr'),\n content,\n timestamp: now(),\n invalidates,\n source: 'user',\n };\n\n const assumptions = state.memory.assumptions.map((item) =>\n invalidates.includes(item.id)\n ? {\n ...item,\n status: 'invalidated' as const,\n invalidatedAt: record.timestamp,\n invalidatedBy: record.id,\n }\n : item,\n );\n\n return touch({\n ...state,\n memory: {\n ...state.memory,\n corrections: [...state.memory.corrections, record],\n assumptions,\n },\n });\n}\n\nexport function recordAssumption(\n state: KernelState,\n content: string,\n): KernelState {\n const assumption: AssumptionRecord = {\n id: makeId('asm'),\n content,\n status: 'active',\n createdAt: now(),\n };\n return touch({\n ...state,\n memory: {\n ...state.memory,\n assumptions: [...state.memory.assumptions, assumption],\n },\n });\n}\n\nexport function recordDecision(\n state: KernelState,\n content: string,\n source: DecisionRecord['source'] = 'agent',\n): KernelState {\n const decision: DecisionRecord = {\n id: makeId('dec'),\n content,\n source,\n createdAt: now(),\n };\n return touch({\n ...state,\n memory: {\n ...state.memory,\n decisions: [...state.memory.decisions, decision].slice(-MAX_DECISION_ITEMS),\n },\n });\n}\n\nexport function recordOpenQuestion(\n state: KernelState,\n content: string,\n): KernelState {\n const question: OpenQuestionRecord = {\n id: makeId('q'),\n content,\n createdAt: now(),\n status: 'open',\n };\n return touch({\n ...state,\n memory: {\n ...state.memory,\n openQuestions: [...state.memory.openQuestions, question],\n },\n });\n}\n\nexport function recordPendingAction(\n state: KernelState,\n content: string,\n status: PendingActionRecord['status'] = 'pending',\n): KernelState {\n const action: PendingActionRecord = {\n id: makeId('todo'),\n content,\n createdAt: now(),\n status,\n };\n return touch({\n ...state,\n memory: {\n ...state.memory,\n pendingActions: [...state.memory.pendingActions, action],\n },\n });\n}\n\nexport function completePendingActions(\n state: KernelState,\n predicate: (action: PendingActionRecord) => boolean,\n): KernelState {\n let changed = false;\n const pendingActions = state.memory.pendingActions.map((action) => {\n if (action.status !== 'done' && predicate(action)) {\n changed = true;\n return { ...action, status: 'done' as const };\n }\n return action;\n });\n return changed\n ? touch({\n ...state,\n memory: {\n ...state.memory,\n pendingActions,\n },\n })\n : state;\n}\n\nexport function recordToolArtifact(\n state: KernelState,\n artifact: ToolResultArtifact,\n): KernelState {\n const evidence = artifact.evidence.filter((item) => item.summary.trim() || item.toolInputSummary?.trim());\n if (evidence.length === 0) {\n return state;\n }\n\n const deduped = [...state.memory.evidence, ...evidence].filter((item, index, all) => {\n const key = `${item.toolName ?? item.source}:${item.toolInputSummary ?? ''}:${item.summary}`;\n return all.findIndex((candidate) =>\n `${candidate.toolName ?? candidate.source}:${candidate.toolInputSummary ?? ''}:${candidate.summary}` === key,\n ) === index;\n });\n const pinned = deduped.filter((item) => item.pinned);\n const recent = deduped.filter((item) => !item.pinned).slice(-MAX_EVIDENCE_ITEMS);\n const merged = [...pinned, ...recent].slice(-MAX_EVIDENCE_ITEMS);\n\n return touch({\n ...state,\n memory: {\n ...state.memory,\n evidence: merged,\n },\n });\n}\n\nexport function recordRunHandoff(\n state: KernelState,\n handoff: RunHandoff,\n): KernelState {\n return touch({\n ...state,\n handoff,\n childResults: state.childResults,\n });\n}\n\nexport function recordRoutingHints(\n state: KernelState,\n interpretation: TurnInterpretation,\n): KernelState {\n const hasHints = Boolean(\n interpretation.suggestedMode\n || interpretation.suggestedPromptProfile\n || interpretation.suggestedSkills?.length\n || interpretation.suggestedToolCapabilities?.length,\n );\n if (!hasHints) {\n return state;\n }\n\n const routingHints: RoutingHints = {\n suggestedMode: interpretation.suggestedMode,\n suggestedSkills: interpretation.suggestedSkills ?? [],\n suggestedPromptProfile: interpretation.suggestedPromptProfile,\n suggestedToolCapabilities: interpretation.suggestedToolCapabilities ?? [],\n source: 'turn_interpretation',\n confidence: interpretation.confidence,\n updatedAt: now(),\n };\n\n return touch({\n ...state,\n routingHints,\n });\n}\n\nexport function recordChildResult(\n state: KernelState,\n result: RunHandoff,\n): KernelState {\n return touch({\n ...state,\n childResults: [...state.childResults, result],\n });\n}\n\nexport function compactKernelState(\n state: KernelState,\n stats?: {\n turnCount?: number;\n toolCallCount?: number;\n narrativeSummary?: string;\n },\n): KernelState {\n const pinnedEvidence = state.memory.evidence.filter((item) => item.pinned);\n const recentEvidence = state.memory.evidence\n .filter((item) => !item.pinned)\n .filter((item) => !isNoiseEvidence(item, state))\n .slice(-MAX_COMPACTED_EVIDENCE_ITEMS);\n const compactedEvidence = [...pinnedEvidence, ...recentEvidence]\n .filter((item, index, all) => all.findIndex((candidate) => candidate.id === item.id) === index)\n .slice(-MAX_EVIDENCE_ITEMS);\n\n const activeActions = state.memory.pendingActions.filter((item) => item.status !== 'done');\n const recentDoneActions = state.memory.pendingActions\n .filter((item) => item.status === 'done')\n .slice(-MAX_COMPACTED_DONE_ACTIONS);\n const pendingActions = [...activeActions, ...recentDoneActions];\n\n const childResults = state.childResults.slice(-MAX_COMPACTED_CHILD_RESULTS);\n const completedActionCount = state.memory.pendingActions.filter((item) => item.status === 'done').length;\n const prunedEvidenceCount = Math.max(0, state.memory.evidence.length - compactedEvidence.length);\n\n const rollup: MemoryRollup | undefined = shouldCreateRollup(state, stats)\n ? {\n generatedAt: now(),\n turnCount: stats?.turnCount,\n toolCallCount: stats?.toolCallCount,\n completedActionCount,\n prunedEvidenceCount,\n summary: createRollupSummary(state, {\n ...stats,\n completedActionCount,\n prunedEvidenceCount,\n }),\n }\n : state.rollup;\n\n return touch({\n ...state,\n rollup,\n childResults,\n memory: {\n ...state.memory,\n evidence: compactedEvidence,\n pendingActions,\n },\n });\n}\n\nexport async function applyMemoryCapabilities(\n state: KernelState,\n capabilities: ReadonlyArray<MemoryCapability>,\n): Promise<KernelState> {\n let nextState = state;\n for (const capability of capabilities) {\n nextState = await capability.apply(nextState);\n }\n return touch(nextState);\n}\n\nfunction defaultProjector(state: KernelState, _messages: LLMMessage[]): string {\n const selection = createDefaultPromptContextSelection(state);\n return renderPromptSections(state, selection);\n}\n\nfunction renderPromptSections(state: KernelState, selection: PromptContextSelection): string {\n const lines: string[] = [];\n if (selection.includeObjective && state.objective) {\n lines.push(`# Objective`, state.objective);\n }\n if (selection.includeSessionRollup && state.rollup?.summary) {\n lines.push('', '# Session Rollup', state.rollup.summary);\n }\n if (selection.includeConstraints && state.constraints.length > 0) {\n lines.push('', '# Constraints', ...state.constraints.map((item) => `- ${item}`));\n }\n if (selection.includeRoutingHints && state.routingHints) {\n const routingLines: string[] = [];\n if (state.routingHints.suggestedMode) {\n routingLines.push(`- Suggested mode: ${state.routingHints.suggestedMode}`);\n }\n if (state.routingHints.suggestedPromptProfile) {\n routingLines.push(`- Suggested prompt profile: ${state.routingHints.suggestedPromptProfile}`);\n }\n if (state.routingHints.suggestedSkills.length > 0) {\n routingLines.push(`- Suggested skills: ${state.routingHints.suggestedSkills.join(', ')}`);\n }\n if (state.routingHints.suggestedToolCapabilities.length > 0) {\n routingLines.push(`- Suggested tool capabilities: ${state.routingHints.suggestedToolCapabilities.join(', ')}`);\n }\n if (routingLines.length > 0) {\n lines.push('', '# Routing Hints', ...routingLines);\n }\n }\n const activeCorrections = state.memory.corrections.slice(-selection.correctionWindow);\n if (selection.includeCorrections && activeCorrections.length > 0) {\n lines.push('', '# Recent Corrections', ...activeCorrections.map((item) => `- ${item.content}`));\n }\n const decisions = state.memory.decisions.filter((item) => item.pinned).concat(\n state.memory.decisions.filter((item) => !item.pinned).slice(-selection.decisionWindow),\n ).slice(-selection.decisionWindow);\n if (selection.includeDecisions && decisions.length > 0) {\n lines.push('', '# Decisions', ...decisions.map((item) => `- ${item.content}`));\n }\n const evidence = state.memory.evidence.filter((item) => item.pinned).concat(\n state.memory.evidence.filter((item) => !item.pinned).slice(-selection.evidenceWindow),\n ).slice(-selection.evidenceWindow);\n if (selection.includeEvidence && evidence.length > 0) {\n lines.push(\n '',\n '# Evidence',\n ...evidence.map((item) => {\n const input = item.toolInputSummary ? ` (${item.toolInputSummary})` : '';\n const summary = item.summary || 'tool input captured';\n return `- ${item.toolName ?? item.source}${input}: ${summary}`;\n }),\n );\n }\n const previousRunToolEvidence = state.memory.evidence\n .filter((item) => item.toolName && item.toolInputSummary)\n .slice(-selection.toolUsageWindow);\n if (selection.includePreviousRunToolUsage && previousRunToolEvidence.length > 0) {\n lines.push(\n '',\n '# Previous Run Tool Usage',\n 'For questions about previous runs, commands, or tool usage, treat this section as authoritative over plain assistant prose.',\n ...previousRunToolEvidence.map((item) => `- ${item.toolName}: ${item.toolInputSummary}`),\n );\n }\n if (selection.includePreviousRunHandoff && state.handoff?.summary) {\n lines.push('', '# Previous Run Handoff', state.handoff.summary);\n }\n if (selection.includeWorkingSummary && state.memory.latestSummary) {\n lines.push('', '# Working Summary', state.memory.latestSummary);\n }\n const relevantPendingActions = state.memory.pendingActions\n .filter((item) => item.status !== 'done')\n .slice(-selection.pendingActionWindow);\n if (selection.includePendingActions && relevantPendingActions.length > 0) {\n lines.push('', '# Pending Actions', ...relevantPendingActions.map((item) => `- ${item.content}`));\n }\n return lines.join('\\n').trim();\n}\n\nexport async function projectKernelPrompt(\n state: KernelState,\n messages: LLMMessage[],\n projectors: ReadonlyArray<PromptProjector>,\n selection?: PromptContextSelection | null,\n context?: {\n repositoryModel?: RepositoryModel | null;\n toolCapabilities?: ToolCapability[];\n },\n): Promise<string> {\n const resolvedSelection = selection ?? createDefaultPromptContextSelection(state);\n const sections = [renderPromptSections(state, resolvedSelection)];\n for (const projector of projectors) {\n const extra = await projector.project({\n state,\n messages,\n repositoryModel: context?.repositoryModel ?? null,\n toolCapabilities: context?.toolCapabilities ?? [],\n });\n if (extra.trim()) {\n sections.push(extra.trim());\n }\n }\n return sections.filter(Boolean).join('\\n\\n');\n}\n\nexport function summarizeAssistantTurn(\n state: KernelState,\n answer: string,\n): KernelState {\n return touch(upsertSummary(state, answer.trim()));\n}\n\nfunction ensurePendingCorrectionAction(state: KernelState, correction: string): KernelState {\n const content = `${CORRECTION_PENDING_PREFIX} ${correction}`;\n const existing = state.memory.pendingActions.find((item) => item.content === content && item.status !== 'done');\n if (existing) {\n return state;\n }\n return recordPendingAction(state, content);\n}\n\nfunction persistInterpretedMemory(\n state: KernelState,\n interpretation: TurnInterpretation,\n): KernelState {\n const content = interpretation.content?.trim();\n if (!content) {\n return state;\n }\n\n if (interpretation.persistenceKind === 'constraint') {\n let nextState = recordConstraint(state, content);\n if (!nextState.memory.corrections.some((item) => item.content === content)) {\n nextState = recordCorrection(nextState, content, interpretation.invalidates ?? []);\n }\n return nextState;\n }\n\n return recordCorrection(state, content, interpretation.invalidates ?? []);\n}\n\nexport function isCorrectionPendingAction(action: PendingActionRecord): boolean {\n return action.content.startsWith(CORRECTION_PENDING_PREFIX);\n}\n\nexport function createDefaultPromptContextSelection(state: KernelState): PromptContextSelection {\n return {\n includeObjective: true,\n includeSessionRollup: Boolean(state.rollup?.summary),\n includeConstraints: true,\n includeRoutingHints: true,\n includeCorrections: true,\n includeDecisions: true,\n includeEvidence: true,\n includePreviousRunToolUsage: true,\n includePreviousRunHandoff: true,\n includeWorkingSummary: true,\n includePendingActions: true,\n correctionWindow: state.rollup ? 3 : 5,\n decisionWindow: 5,\n evidenceWindow: state.rollup ? 4 : 6,\n toolUsageWindow: 3,\n pendingActionWindow: 5,\n };\n}\n\nfunction shouldCreateRollup(\n state: KernelState,\n stats?: {\n turnCount?: number;\n toolCallCount?: number;\n },\n): boolean {\n return Boolean(\n (stats?.turnCount ?? 0) >= 8\n || (stats?.toolCallCount ?? 0) >= 6\n || state.memory.evidence.length >= 6\n || state.memory.pendingActions.length >= 6\n || state.childResults.length >= 4,\n );\n}\n\nfunction isNoiseEvidence(item: EvidenceRecord, state: KernelState): boolean {\n if (!item.toolName) {\n return false;\n }\n if ((item.toolName === 'memory_correction' || item.toolName === 'memory_constraint') && state.memory.corrections.length > 0) {\n return true;\n }\n if (item.toolName === 'report' && typeof item.artifact?.code === 'string' && item.artifact.code === 'PENDING_MEMORY_COMMIT') {\n return true;\n }\n return false;\n}\n\nfunction createRollupSummary(\n state: KernelState,\n stats: {\n turnCount?: number;\n toolCallCount?: number;\n completedActionCount: number;\n prunedEvidenceCount: number;\n narrativeSummary?: string;\n },\n): string {\n const segments: string[] = [];\n if (stats.turnCount || stats.toolCallCount) {\n segments.push(`Session activity: ${stats.turnCount ?? 0} turns, ${stats.toolCallCount ?? 0} tool calls.`);\n }\n if (state.constraints.length > 0) {\n segments.push(`Active constraints: ${state.constraints.join('; ')}.`);\n }\n const recentDecisions = state.memory.decisions.slice(-2).map((item) => item.content);\n if (recentDecisions.length > 0) {\n segments.push(`Recent decisions: ${recentDecisions.join('; ')}.`);\n }\n const recentEvidence = state.memory.evidence\n .filter((item) => !isNoiseEvidence(item, state))\n .slice(-3)\n .map((item) => `${item.toolName ?? item.source}${item.toolInputSummary ? ` (${item.toolInputSummary})` : ''}`);\n if (recentEvidence.length > 0) {\n segments.push(`Recent evidence anchors: ${recentEvidence.join('; ')}.`);\n }\n if (stats.completedActionCount > 0 || stats.prunedEvidenceCount > 0) {\n segments.push(`Compaction kept continuity while collapsing ${stats.completedActionCount} completed action(s) and ${stats.prunedEvidenceCount} stale evidence item(s).`);\n }\n if (stats.narrativeSummary?.trim()) {\n segments.push(`Narrative summary: ${stats.narrativeSummary.trim()}`);\n }\n return segments.join(' ').trim();\n}\n\nexport type { KernelState, ToolResultArtifact, EvidenceRecord };\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kb-labs/agent-kernel",
3
3
  "description": "Kernel state and continuity model for KB Labs Agents.",
4
- "version": "2.118.2",
4
+ "version": "2.119.0-canary.0c078654e",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
@@ -17,9 +17,9 @@
17
17
  "README.md"
18
18
  ],
19
19
  "dependencies": {
20
- "@kb-labs/agent-contracts": "2.118.2",
21
- "@kb-labs/agent-sdk": "2.118.2",
22
- "@kb-labs/sdk": "2.115.3"
20
+ "@kb-labs/agent-contracts": "2.119.0-canary.0c078654e",
21
+ "@kb-labs/sdk": "2.115.4",
22
+ "@kb-labs/agent-sdk": "2.119.0-canary.0c078654e"
23
23
  },
24
24
  "devDependencies": {
25
25
  "@types/node": "^24.3.3",
@@ -28,7 +28,7 @@
28
28
  "tsup": "^8.5.0",
29
29
  "typescript": "^5.6.3",
30
30
  "vitest": "^3.2.6",
31
- "@kb-labs/devkit": "2.118.2"
31
+ "@kb-labs/devkit": "2.119.0-canary.0c078654e"
32
32
  },
33
33
  "engines": {
34
34
  "node": ">=22.0.0",