Line

You are reading docs for v0.8. See latest (v0.9)

packages/core/llm

The one deliberate exception to "Construct makes no LLM calls" — and even here, scoped as tight as possible: this module does nothing but run a single prompt through a chosen provider's configured executor and return...

Core engine, v0.8. Source: packages/core/llm.mjs.

Variables#

DEFAULT_LLM_TIMEOUT_SEC#

const DEFAULT_LLM_TIMEOUT_SEC: 300 = 300

Defined in: packages/core/llm.mjs:27


DEFAULT_OLLAMA_BASE_URL#

const DEFAULT_OLLAMA_BASE_URL: "http://localhost:11434" = 'http://localhost:11434'

Defined in: packages/core/llm.mjs:19


DEFAULT_OLLAMA_MODEL#

const DEFAULT_OLLAMA_MODEL: "qwen2.5-coder:7b" = 'qwen2.5-coder:7b'

Defined in: packages/core/llm.mjs:18


PROVIDERS#

const PROVIDERS: object

Defined in: packages/core/llm.mjs:60

Type Declaration#

claude()

claude(prompt, options?): any

Parameters
prompt

any

options?
Returns

any

ollama()

ollama(prompt, options?): Promise<any>

Parameters
prompt

any

options?
Returns

Promise<any>

Functions#

callLlm()#

callLlm(provider, prompt, options): Promise<any>

Defined in: packages/core/llm.mjs:195

Parameters#

provider

any

prompt

any

options

any

Returns#

Promise<any>


resolveLlmTimeoutMs()#

resolveLlmTimeoutMs(env?): number

Defined in: packages/core/llm.mjs:32

The model-call timeout in milliseconds: CONSTRUCT_LLM_TIMEOUT_SEC (a positive number of seconds) or the default. Pass env to test the resolution without touching process.env.

Parameters#

env?

any = process.env

Returns#

number


stripCodeFence()#

stripCodeFence(text): any

Defined in: packages/core/llm.mjs:209

Best-effort cleanup for a model response that ignored "no code fences" — strips one leading/trailing ```-fenced block if the whole response is wrapped in exactly one, otherwise returns the response untouched.

Parameters#

text

any

Returns#

any