Skip to main content

codebolt.contextAssembly

Context assembly tools for building, validating, and retrieving context from multiple memory sources. These tools enable agent context management through rule-based evaluation, memory type discovery, and flexible context assembly with configurable constraints.

Available Tools

Core Context Operations

  • context_get - Assembles context from various memory sources based on the provided request
  • context_validate - Validates a context assembly request and returns validation errors if any

Context Discovery and Inspection

  • context_list_memory_types - Lists all available memory types that can be used in context assembly
  • context_get_required_variables - Gets required variables for specific memory types

Rule Evaluation

  • context_evaluate_rules - Evaluates rules only without fetching memory content. Optionally specify rule engine IDs

Tool Parameters

Core Context Operations

context_get

Assembles context from various memory sources based on the provided request. Returns assembled context with contributions from memory sources.

ParameterTypeRequiredDescription
requestobjectYesContext assembly request (see Context Assembly Request structure below)

Context Assembly Request Structure:

FieldTypeRequiredDescription
scope_variablesobjectYesKey-value pairs defining the scope/context for the assembly
additional_variablesobjectNoAdditional variables for memory configuration
inputstringNoOptional input string to guide context assembly
explicit_memorystring[]NoArray of specific memory IDs to include
constraintsobjectNoConstraints on the assembly process (see Constraints below)
rule_engine_idsstring[]NoOptional array of rule engine IDs to apply

Constraints Structure:

FieldTypeRequiredDescription
max_tokensnumberNoMaximum number of tokens in the assembled context
max_sourcesnumberNoMaximum number of memory sources to include
timeout_msnumberNoMaximum time in milliseconds for assembly

context_validate

Validates a context assembly request and returns validation errors if any.

ParameterTypeRequiredDescription
requestobjectYesRequest to validate (same structure as context_get request)

Context Discovery and Inspection

context_list_memory_types

Lists all available memory types that can be used in context assembly.

ParameterTypeRequiredDescription
(none)--No parameters required

context_get_required_variables

Gets required variables for specific memory types.

ParameterTypeRequiredDescription
memoryNamesstring[]YesArray of memory type names to get required variables for

Rule Evaluation

context_evaluate_rules

Evaluates rules only without fetching memory content. Useful for pre-processing or rule-based filtering.

ParameterTypeRequiredDescription
requestobjectYesContext assembly request
ruleEngineIdsstring[]NoOptional specific rule engine IDs to evaluate

Sample Usage

Basic Context Assembly

// Assemble context from multiple memory sources
const contextResult = await codebolt.tools.executeTool(
"codebolt.contextAssembly",
"context_get",
{
request: {
scope_variables: {
user_id: "user-123",
session_id: "session-456"
},
input: "What are the recent project updates?",
constraints: {
max_tokens: 2000,
max_sources: 5,
timeout_ms: 5000
}
}
}
);

Context Validation

// Validate a context assembly request before execution
const validationResult = await codebolt.tools.executeTool(
"codebolt.contextAssembly",
"context_validate",
{
request: {
scope_variables: {
user_id: "user-123",
project_id: "project-789"
},
explicit_memory: ["mem-001", "mem-002"]
}
}
);

Memory Type Discovery

// List all available memory types
const memoryTypesResult = await codebolt.tools.executeTool(
"codebolt.contextAssembly",
"context_list_memory_types",
{}
);

// Get required variables for specific memory types
const requiredVarsResult = await codebolt.tools.executeTool(
"codebolt.contextAssembly",
"context_get_required_variables",
{
memoryNames: ["vectordb", "kv", "eventlog"]
}
);

Rule-Based Evaluation

// Evaluate rules without fetching memory content
const ruleEvalResult = await codebolt.tools.executeTool(
"codebolt.contextAssembly",
"context_evaluate_rules",
{
request: {
scope_variables: {
user_id: "user-123",
action: "review"
},
additional_variables: {
priority: "high",
category: "security"
}
},
ruleEngineIds: ["rule-engine-1", "rule-engine-2"]
}
);

Advanced Context Assembly with Rules

// Complex context assembly with explicit memories and rules
const advancedContextResult = await codebolt.tools.executeTool(
"codebolt.contextAssembly",
"context_get",
{
request: {
scope_variables: {
user_id: "user-123",
workspace: "main"
},
input: "Analyze the security vulnerabilities",
explicit_memory: ["sec-policy-001", "threat-model-002"],
constraints: {
max_tokens: 3000,
max_sources: 10,
timeout_ms: 10000
},
rule_engine_ids: ["security-rules", "compliance-rules"]
}
}
);
info

Context assembly enables intelligent context building by combining data from multiple memory sources including vectordb, key-value stores, event logs, and knowledge graphs. The system supports rule-based filtering, explicit memory selection, and configurable constraints for token limits and timeouts. Memory types define their required scope variables and additional parameters, allowing flexible and dynamic context assembly based on the current request context.