Skip to content

spaghetti kernel object #36

@isayahc

Description

@isayahc
class OpenCadAgentService:
    def __init__(
        self,
        planner: OpenCadPlanner | None = None,
        *,
        kernel_call: KernelCall | None = None,
        live_kernel: bool | None = None,
        llm_client: LiteLlmProvider | None = None,
    ) -> None:

def chat(self, request: ChatRequest) -> ChatResponse:
        _system_prompt = build_system_prompt(request.tree_state)
        runtime = ToolRuntime(
            request.tree_state,
            kernel_call=self.kernel_call,
            live_kernel=self.live_kernel,
        )

        if request.generate_code:
            generated_code = self._generate_code(request)
            new_tree, operations = self._run_generated_code(generated_code, request.tree_state)
            return ChatResponse(
                response=generated_code,
                generated_code=generated_code,
                operations_executed=operations,
                new_tree_state=new_tree,
            )

        response_text, operations = self.planner.execute(
            message=request.message,
            runtime=runtime,
            reasoning=request.reasoning,
        )

        return ChatResponse(
            response=response_text,
            operations_executed=operations,
            new_tree_state=runtime.get_tree_state(),
        )



print("outer kernel_call:", self.kernel_call)
service = OpenCadAgentService(kernel_call=self.kernel_call, live_kernel=True)
print("service.live_kernel:", service.live_kernel)
print("service.kernel_call:", service.kernel_call)
# then somewhere inside the service, where the runtime is constructed:
print("runtime._use_live_kernel:", runtime._use_live_kernel)
outer kernel_call: None
service.live_kernel: True
service.kernel_call: None
runtime._use_live_kernel: False

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions