context_assembler.cpython-310.pyc•11.4 kB
o
Uy�g�N � @ sr d Z ddlmZmZmZmZmZ ddlZddlZ ej
ejd� e�e
�ZddlmZmZmZmZ G dd� d�ZdS ) z�
Context Assembly System
Responsible for assembling minimal necessary context for coding tasks,
summarizing peripheral components, and prioritizing based on relevance.
� )�Dict�List�Optional�Any�SetN)�level� )�KnowledgeGraph�
ComponentType�ComponentStatus�RelationshipTypec @ s� e Zd ZdZdefdd�Z ddedeee d e d
e
eef fdd�Zdd
ed e d
e
eef fdd�Z
ddee de d
e
eef fdd�Zde
eef d
efdd�Zdeded
efdd�ZdS )�ContextAssemblerz<Assembles context for coding tasks from the knowledge graph.�knowledge_graphc C s
|| _ dS )zyInitialize the context assembler.
Args:
knowledge_graph: The knowledge graph to use
N)r )�selfr � r �\/Users/sparshdrolia/Sparsh personal/persistent-code-mcp/persistent_code/context_assembler.py�__init__ s
zContextAssembler.__init__N� �task_description�relevant_components�
max_tokens�returnc C s� |g g i d�}|s+t �d|� �� | jj|dd�}dd� |D �}t �dt|�� d�� t|�� �}|D ](}| j�|�}|s>q3|d �|� t|�d
d��� �} || 7 }||d kr[ nq3t � }
|d D ]+}|d
}| jj
|dd�}|D ]}|d
}
|
|
vr�|
dd� |d D �vr�|
�|
� qsqct �dt|
�� d�� |
D ]B}
| j�|
�}|s�q�t|�d
d��� �} || |kr�| �|�}||d |d
<