Access via client.Perception.*
- Delegation Operations
- Processor Operations
- Chain Operations
- Thought Operations
- Path Operations
- Context Operations
- Tool Operations
- Initializer Operations
- Activation Operations
- Directive Operations
Retrieves a specific delegation by thought ID.
Endpoint: GET /provision/perception/thoughts/:thought_id/delegation
Parameters:
thoughtID(string): Thought ID (required)
Returns:
*Delegation: Delegation object with ID, ThoughtID, TargetThoughtID, and ProvisionStateerror: Error if request fails
Example:
delegation, err := client.Perception.GetDelegation("thought-123")
if err != nil {
log.Printf("Error: %v", err)
return
}
log.Printf("Delegation: %s -> %s (%s)", delegation.ID, delegation.TargetThoughtID, delegation.ProvisionState)Creates a new delegation within a thought.
Endpoint: POST /provision/perception/thoughts/:thought_id/delegation
Parameters:
thoughtID(string): Thought ID (required)req(CreateDelegationRequest): Delegation creation request (required)
type CreateDelegationRequest struct {
Delegation DelegationRequestData `json:"delegation"`
}
type DelegationRequestData struct {
TargetThoughtID string `json:"target_thought_id"`
}Returns:
*Delegation: Created delegation objecterror: Error if request fails
Example:
delegation, err := client.Perception.CreateDelegation("thought-123", perception.CreateDelegationRequest{
Delegation: perception.DelegationRequestData{
TargetThoughtID: "target-thought-123",
},
})Updates an existing delegation using PATCH.
Endpoint: PATCH /provision/perception/thoughts/:thought_id/delegation
type UpdateDelegationRequest struct {
Delegation UpdateDelegationData `json:"delegation"`
}
type UpdateDelegationData struct {
TargetThoughtID string `json:"target_thought_id,omitempty"`
}Replaces an existing delegation using PUT.
Endpoint: PUT /provision/perception/thoughts/:thought_id/delegation
Deletes a delegation by thought ID.
Endpoint: DELETE /provision/perception/thoughts/:thought_id/delegation
Retrieves a specific processor by thought ID and type.
Endpoint: GET /provision/perception/thoughts/:thought_id/types/:type/processor
Parameters:
thoughtID(string): Thought ID (required)processorType(string): Processor type (required)
Returns:
*Processor: Processor object with ID, ThoughtID, ModelID, Configuration, ProvisionState, and Typeerror: Error if request fails
Example:
processor, err := client.Perception.GetProcessor("thought-123", "text-generation")
if err != nil {
log.Printf("Error: %v", err)
return
}
log.Printf("Processor: %s (%s)", processor.ModelID, processor.ProvisionState)Creates a new processor within a thought.
Endpoint: POST /provision/perception/thoughts/:thought_id/types/:type/processor
Parameters:
thoughtID(string): Thought ID (required)processorType(string): Processor type (required)req(CreateProcessorRequest): Processor creation request (required)
type CreateProcessorRequest struct {
Processor ProcessorRequestData `json:"processor"`
}
type ProcessorRequestData struct {
ModelID string `json:"model_id"`
Configuration map[string]any `json:"configuration"`
}Returns:
*Processor: Created processor objecterror: Error if request fails
Example:
processor, err := client.Perception.CreateProcessor("thought-123", "text-generation", perception.CreateProcessorRequest{
Processor: perception.ProcessorRequestData{
ModelID: "gpt-4",
Configuration: map[string]any{
"temperature": 0.7,
"max_tokens": 150,
"top_p": 0.9,
"frequency_penalty": 0.0,
},
},
})Updates an existing processor using PATCH.
Endpoint: PATCH /provision/perception/thoughts/:thought_id/types/:type/processor
type UpdateProcessorRequest struct {
Processor UpdateProcessorData `json:"processor"`
}
type UpdateProcessorData struct {
ModelID string `json:"model_id,omitempty"`
Configuration map[string]any `json:"configuration,omitempty"`
}Replaces an existing processor using PUT.
Endpoint: PUT /provision/perception/thoughts/:thought_id/types/:type/processor
Deletes a processor by thought ID and type.
Endpoint: DELETE /provision/perception/thoughts/:thought_id/types/:type/processor
Retrieves a specific chain by ID.
Endpoint: GET /provision/perception/chains/:id
Parameters:
id(string): Chain ID (required)
Returns:
*Chain: Chain object with ID, SpaceID, Name, Slug, and ProvisionStateerror: Error if request fails
Example:
chain, err := client.Perception.GetChain("chain-123")
if err != nil {
log.Printf("Error: %v", err)
return
}
log.Printf("Chain: %s (%s)", chain.Name, chain.ProvisionState)Creates a new chain within a space.
Endpoint: POST /provision/perception/spaces/:space_id/chains
Parameters:
spaceID(string): Space ID (required)req(CreateChainRequest): Chain creation request (required)
type CreateChainRequest struct {
Chain ChainRequestData `json:"chain"`
}
type ChainRequestData struct {
Name string `json:"name"`
}Returns:
*Chain: Created chain objecterror: Error if request fails
Example:
chain, err := client.Perception.CreateChain("space-123", perception.CreateChainRequest{
Chain: perception.ChainRequestData{
Name: "Processing Chain",
},
})Updates an existing chain using PATCH.
Endpoint: PATCH /provision/perception/chains/:id
type UpdateChainRequest struct {
Chain UpdateChainData `json:"chain"`
}
type UpdateChainData struct {
Name string `json:"name,omitempty"`
}Replaces an existing chain using PUT.
Endpoint: PUT /provision/perception/chains/:id
Deletes a chain by ID.
Endpoint: DELETE /provision/perpection/chains/:id
Retrieves a specific thought by ID.
Endpoint: GET /provision/perception/thoughts/:id
Parameters:
id(string): Thought ID (required)
Returns:
*Thought: Thought object with ID, ChainID, Module, Delegation, Relation, and Indexerror: Error if request fails
Example:
thought, err := client.Perception.GetThought("thought-123")
if err != nil {
log.Printf("Error: %v", err)
return
}
log.Printf("Thought: %s (%s)", thought.Relation, thought.ProvisionState)Creates a new thought within a chain.
Endpoint: POST /provision/perception/chains/:chain_id/thoughts
Parameters:
chainID(string): Chain ID (required)req(CreateThoughtRequest): Thought creation request (required)
type CreateThoughtRequest struct {
Thought ThoughtRequestData `json:"thought"`
}
type ThoughtRequestData struct {
Relation string `json:"relation"`
OutputClassID string `json:"output_class_id,omitempty"`
Module *Module `json:"module,omitempty"`
Delegation *Delegation `json:"delegation,omitempty"`
}
type Module struct {
Reference string `json:"reference"`
Parameters map[string]any `json:"parameters"`
}
type Delegation struct {
TargetThoughtID string `json:"target_thought_id"`
}Returns:
*Thought: Created thought objecterror: Error if request fails
Example:
thought, err := client.Perception.CreateThought("chain-123", perception.CreateThoughtRequest{
Thought: perception.ThoughtRequestData{
Relation: "description",
OutputClassID: "class-123",
Module: &perception.Module{
Reference: "tama/agentic/generate",
Parameters: map[string]any{
"temperature": 0.7,
"max_tokens": 150,
},
},
},
})Updates an existing thought using PATCH.
Endpoint: PATCH /provision/perception/thoughts/:id
type UpdateThoughtRequest struct {
Thought UpdateThoughtData `json:"thought"`
}
type UpdateThoughtData struct {
Relation string `json:"relation,omitempty"`
OutputClassID string `json:"output_class_id,omitempty"`
Module *Module `json:"module,omitempty"`
Delegation *Delegation `json:"delegation,omitempty"`
}Deletes a thought by ID.
Endpoint: DELETE /provision/perception/thoughts/:id
Retrieves a specific path by ID.
Endpoint: GET /provision/perception/paths/:id
Parameters:
id(string): Path ID (required)
Returns:
*Path: Path object with ID, ThoughtID, TargetClassID, Parameters, and ProvisionStateerror: Error if request fails
Example:
path, err := client.Perception.GetPath("path-123")
if err != nil {
log.Printf("Error: %v", err)
return
}
log.Printf("Path: %s (%s)", path.TargetClassID, path.ProvisionState)Creates a new path within a thought.
Endpoint: POST /provision/perception/thoughts/:thought_id/paths
Parameters:
thoughtID(string): Thought ID (required)req(CreatePathRequest): Path creation request (required)
type CreatePathRequest struct {
Path PathRequestData `json:"path"`
}
type PathRequestData struct {
TargetClassID string `json:"target_class_id"`
Parameters map[string]any `json:"parameters,omitempty"`
}Returns:
*Path: Created path objecterror: Error if request fails
Example:
path, err := client.Perception.CreatePath("thought-123", perception.CreatePathRequest{
Path: perception.PathRequestData{
TargetClassID: "class-456",
Parameters: map[string]any{
"threshold": 0.8,
"max_results": 10,
"output_format": "json",
},
},
})Updates an existing path using PATCH.
Endpoint: PATCH /provision/perception/paths/:id
type UpdatePathRequest struct {
Path UpdatePathData `json:"path"`
}
type UpdatePathData struct {
TargetClassID string `json:"target_class_id,omitempty"`
Parameters map[string]any `json:"parameters,omitempty"`
}Replaces an existing path using PUT.
Endpoint: PUT /provision/perception/paths/:id
Deletes a path by ID.
Endpoint: DELETE /provision/perception/paths/:id
Retrieves a specific context by ID.
Endpoint: GET /provision/perception/contexts/:id
Parameters:
id(string): Context ID (required)
Returns:
*Context: Context object with ID, ThoughtID, PromptID, Layer, and ProvisionStateerror: Error if request fails
Example:
context, err := client.Perception.GetContext("context-123")
if err != nil {
log.Printf("Error: %v", err)
return
}
log.Printf("Context: %s layer %d (%s)", context.PromptID, context.Layer, context.ProvisionState)Creates a new context within a thought.
Endpoint: POST /provision/perception/thoughts/:thought_id/contexts
Parameters:
thoughtID(string): Thought ID (required)req(CreateContextRequest): Context creation request (required)
type CreateContextRequest struct {
Context ContextRequestData `json:"context"`
}
type ContextRequestData struct {
PromptID string `json:"prompt_id"`
Layer int `json:"layer"`
}Returns:
*Context: Created context objecterror: Error if request fails
Example:
context, err := client.Perception.CreateContext("thought-123", perception.CreateContextRequest{
Context: perception.ContextRequestData{
PromptID: "prompt-456",
Layer: 2,
},
})Updates an existing context using PATCH.
Endpoint: PATCH /provision/perception/contexts/:id
type UpdateContextRequest struct {
Context UpdateContextData `json:"context"`
}
type UpdateContextData struct {
PromptID string `json:"prompt_id,omitempty"`
Layer int `json:"layer,omitempty"`
}Replaces an existing context using PUT.
Endpoint: PUT /provision/perception/contexts/:id
Deletes a context by ID.
Endpoint: DELETE /provision/perception/contexts/:id
Retrieves a specific directive by ID.
Endpoint: GET /provision/perception/directives/:id
Parameters:
id(string): Directive ID (required)
Returns:
*Directive: Directive object with ID, ThoughtPathID, PromptID, and ProvisionStateerror: Error if request fails
Example:
directive, err := client.Perception.GetDirective("directive-123")
if err != nil {
log.Printf("Error: %v", err)
return
}
log.Printf("Directive: %s (%s)", directive.PromptID, directive.ProvisionState)Creates a new directive within a path.
Endpoint: POST /provision/perception/paths/:path_id/directives
Parameters:
pathID(string): Path ID (required)req(CreateDirectiveRequest): Directive creation request (required)
type CreateDirectiveRequest struct {
Directive DirectiveRequestData `json:"directive"`
}
type DirectiveRequestData struct {
PromptID string `json:"prompt_id"`
}Returns:
*Directive: Created directive objecterror: Error if request fails
Example:
directive, err := client.Perception.CreateDirective("path-123", perception.CreateDirectiveRequest{
Directive: perception.DirectiveRequestData{
PromptID: "prompt-456",
},
})Updates an existing directive using PATCH.
Endpoint: PATCH /provision/perception/directives/:id
type UpdateDirectiveRequest struct {
Directive UpdateDirectiveData `json:"directive"`
}
type UpdateDirectiveData struct {
PromptID string `json:"prompt_id,omitempty"`
}Replaces an existing directive using PUT.
Endpoint: PUT /provision/perception/directives/:id
Deletes a directive by ID.
Endpoint: DELETE /provision/perception/directives/:id
Retrieves a specific tool by ID.
Endpoint: GET /provision/perception/tools/:id
Parameters:
id(string): Tool ID (required)
Returns:
*Tool: Tool object with ID, ThoughtID, ActionID, and ProvisionStateerror: Error if request fails
Example:
tool, err := client.Perception.GetTool("tool-123")
if err != nil {
log.Printf("Error: %v", err)
return
}
log.Printf("Tool: %s (%s)", tool.ActionID, tool.ProvisionState)Creates a new tool within a thought.
Endpoint: POST /provision/perception/thoughts/:thought_id/tools
Parameters:
thoughtID(string): Thought ID (required)req(CreateToolRequest): Tool creation request (required)
type CreateToolRequest struct {
Tool CreateToolData `json:"tool"`
}
type CreateToolData struct {
ActionID string `json:"action_id"`
}Returns:
*Tool: Created tool objecterror: Error if request fails
Example:
tool, err := client.Perception.CreateTool("thought-123", perception.CreateToolRequest{
Tool: perception.CreateToolData{
ActionID: "action-456",
},
})Updates an existing tool using PATCH.
Endpoint: PATCH /provision/perception/tools/:id
type UpdateToolRequest struct {
Tool UpdateToolData `json:"tool"`
}
type UpdateToolData struct {
ActionID string `json:"action_id,omitempty"`
}Replaces an existing tool using PUT.
Endpoint: PUT /provision/perception/tools/:id
Deletes a tool by ID.
Endpoint: DELETE /provision/perception/tools/:id
Retrieves a specific initializer by ID.
Endpoint: GET /provision/perception/initializers/:id
Parameters:
id(string): Initializer ID (required)
Returns:
*Initializer: Initializer object with ID, Parameters, Index, ProvisionState, ThoughtID, ClassID, and Referenceerror: Error if request fails
Example:
initializer, err := client.Perception.GetInitializer("initializer-123")
if err != nil {
log.Printf("Error: %v", err)
return
}
log.Printf("Initializer: %s (%s)", initializer.ClassID, initializer.ProvisionState)Creates a new initializer within a thought.
Endpoint: POST /provision/perception/thoughts/:thought_id/initializers
Parameters:
thoughtID(string): Thought ID (required)req(CreateInitializerRequest): Initializer creation request (required)
type CreateInitializerRequest struct {
Initializer InitializerRequestData `json:"initializer"`
}
type InitializerRequestData struct {
Parameters map[string]any `json:"parameters,omitempty"`
Index *int `json:"index,omitempty"`
ClassID string `json:"class_id"`
Reference string `json:"reference"`
}Returns:
*Initializer: Created initializer objecterror: Error if request fails
Example:
initializer, err := client.Perception.CreateInitializer("thought-123", perception.CreateInitializerRequest{
Initializer: perception.InitializerRequestData{
ClassID: "class-456",
Reference: "reference-789",
Parameters: map[string]any{
"param1": "value1",
"param2": 42,
},
},
})Updates an existing initializer using PATCH.
Endpoint: PATCH /provision/perception/initializers/:id
type UpdateInitializerRequest struct {
Initializer UpdateInitializerData `json:"initializer"`
}
type UpdateInitializerData struct {
Parameters map[string]any `json:"parameters,omitempty"`
Index *int `json:"index,omitempty"`
ClassID string `json:"class_id,omitempty"`
Reference string `json:"reference,omitempty"`
}Replaces an existing initializer using PUT.
Endpoint: PUT /provision/perception/initializers/:id
Deletes an initializer by ID.
Endpoint: DELETE /provision/perception/initializers/:id
Retrieves a specific activation by ID.
Endpoint: GET /provision/perception/activations/:id
Parameters:
id(string): Activation ID (required)
Returns:
*Activation: Activation object with ID, ThoughtPathID, ChainID, and ProvisionStateerror: Error if request fails
Example:
activation, err := client.Perception.GetActivation("activation-123")
if err != nil {
log.Printf("Error: %v", err)
return
}
log.Printf("Activation: %s (%s)", activation.ChainID, activation.ProvisionState)Creates a new activation within a path.
Endpoint: POST /provision/perception/paths/:path_id/activations
Parameters:
pathID(string): Path ID (required)req(CreateActivationRequest): Activation creation request (required)
type CreateActivationRequest struct {
Activation ActivationRequestData `json:"activation"`
}
type ActivationRequestData struct {
ChainID string `json:"chain_id"`
}Returns:
*Activation: Created activation objecterror: Error if request fails
Example:
activation, err := client.Perception.CreateActivation("path-123", perception.CreateActivationRequest{
Activation: perception.ActivationRequestData{
ChainID: "chain-456",
},
})Updates an existing activation using PATCH.
Endpoint: PATCH /provision/perception/activations/:id
type UpdateActivationRequest struct {
Activation UpdateActivationData `json:"activation"`
}
type UpdateActivationData struct {
ChainID string `json:"chain_id,omitempty"`
}Replaces an existing activation using PUT.
Endpoint: PUT /provision/perception/activations/:id
Deletes an activation by ID.
Endpoint: DELETE /provision/perception/activations/:id