{
  "name": "github.com/l1fe-labs/forge-go/core",
  "language": "go",
  "version": "module source snapshot",
  "description": "Go core package.",
  "manifest": "forge-go/go.mod",
  "manifestSha256": "dee97864d07a64c4c93c79104137d155f0cbae6962945f3b56ceb7744a03cc82",
  "status": "source-reference",
  "registryPublicationVerified": false,
  "route": "/libraries/go/core",
  "features": {},
  "files": [
    {
      "path": "forge-go/core/brew.go",
      "sha256": "79bbcff0253c23a87c2638e6e4779420713fbf498629278fe80747581cbc5999",
      "artifactSha256": "ba58639dd5de9ab5bad3fdb6de23fe8c19789e5b92bf277876c93525b2608448",
      "url": "/reference/source/forge-go/core/brew.go.txt",
      "declarations": [
        {
          "name": "type BrewNodeKindType string",
          "line": 9,
          "signature": "type BrewNodeKindType string\n\nconst (\nBrewNodeKindAgentStep         BrewNodeKindType;",
          "documentation": ""
        },
        {
          "name": "type BrewNodeKind struct",
          "line": 29,
          "signature": "type BrewNodeKind struct",
          "documentation": ""
        },
        {
          "name": "func NewAgentStepNode(provider ProviderRef, systemPrompt string, maxSteps uint32) BrewNodeKind",
          "line": 67,
          "signature": "func NewAgentStepNode(provider ProviderRef, systemPrompt string, maxSteps uint32) BrewNodeKind",
          "documentation": ""
        },
        {
          "name": "func NewToolInvocationNode(toolID string, tier ToolTier) BrewNodeKind",
          "line": 77,
          "signature": "func NewToolInvocationNode(toolID string, tier ToolTier) BrewNodeKind",
          "documentation": ""
        },
        {
          "name": "func NewMcpCallNode(serverID, toolName string) BrewNodeKind",
          "line": 86,
          "signature": "func NewMcpCallNode(serverID, toolName string) BrewNodeKind",
          "documentation": ""
        },
        {
          "name": "func NewWebOperationNode(operation string) BrewNodeKind",
          "line": 95,
          "signature": "func NewWebOperationNode(operation string) BrewNodeKind",
          "documentation": ""
        },
        {
          "name": "func NewConditionalBranchNode(conditionExpr, trueTarget, falseTarget string) BrewNodeKind",
          "line": 103,
          "signature": "func NewConditionalBranchNode(conditionExpr, trueTarget, falseTarget string) BrewNodeKind",
          "documentation": ""
        },
        {
          "name": "func NewParallelForkNode(branches []string, joinMode JoinMode) BrewNodeKind",
          "line": 113,
          "signature": "func NewParallelForkNode(branches []string, joinMode JoinMode) BrewNodeKind",
          "documentation": ""
        },
        {
          "name": "func NewSubBrewRefNode(brewID string) BrewNodeKind",
          "line": 122,
          "signature": "func NewSubBrewRefNode(brewID string) BrewNodeKind",
          "documentation": ""
        },
        {
          "name": "func NewHumanCheckpointNode(prompt string, timeoutMs *uint64) BrewNodeKind",
          "line": 130,
          "signature": "func NewHumanCheckpointNode(prompt string, timeoutMs *uint64) BrewNodeKind",
          "documentation": ""
        },
        {
          "name": "type JoinMode string",
          "line": 141,
          "signature": "type JoinMode string\n\nconst (\n// JoinModeAwaitAll waits for all branches to complete. Fail if any branch fails.\nJoinModeAwaitAll JoinMode;",
          "documentation": ""
        },
        {
          "name": "func JoinModeFirstN(n uint32) JoinMode",
          "line": 151,
          "signature": "func JoinModeFirstN(n uint32) JoinMode",
          "documentation": ""
        },
        {
          "name": "type BrewEdgeKind string",
          "line": 161,
          "signature": "type BrewEdgeKind string\n\nconst (\n// BrewEdgeKindDataFlow means the output of source is fed as input to target.\nBrewEdgeKindDataFlow BrewEdgeKind;",
          "documentation": ""
        },
        {
          "name": "type BrewEdge struct",
          "line": 173,
          "signature": "type BrewEdge struct",
          "documentation": ""
        },
        {
          "name": "type BrewNode struct",
          "line": 188,
          "signature": "type BrewNode struct",
          "documentation": ""
        },
        {
          "name": "type Brew struct",
          "line": 205,
          "signature": "type Brew struct",
          "documentation": ""
        },
        {
          "name": "func (b *Brew) SortedNodeIDs() []string",
          "line": 223,
          "signature": "func (b *Brew) SortedNodeIDs() []string",
          "documentation": ""
        },
        {
          "name": "func (b *Brew) SortedEdges() []BrewEdge",
          "line": 233,
          "signature": "func (b *Brew) SortedEdges() []BrewEdge",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/core/brew_builder.go",
      "sha256": "e973e7a8d8d47732d9445a1ae86e20fd0ffb5940cc59ef3f606cf3dfdc712276",
      "artifactSha256": "1588f4a01628960d878278eda1af8afe3d58ce6c6645c1223b2b81847cc6fd99",
      "url": "/reference/source/forge-go/core/brew_builder.go.txt",
      "declarations": [
        {
          "name": "type BrewBuilder struct",
          "line": 21,
          "signature": "type BrewBuilder struct",
          "documentation": ""
        },
        {
          "name": "func NewBrewBuilder(id, version string) *BrewBuilder",
          "line": 32,
          "signature": "func NewBrewBuilder(id, version string) *BrewBuilder",
          "documentation": ""
        },
        {
          "name": "func (b *BrewBuilder) AddNode(nodeID string, kind BrewNodeKind) *BrewBuilder",
          "line": 42,
          "signature": "func (b *BrewBuilder) AddNode(nodeID string, kind BrewNodeKind) *BrewBuilder",
          "documentation": ""
        },
        {
          "name": "func (b *BrewBuilder) AddEdge(from, to string, kind BrewEdgeKind) *BrewBuilder",
          "line": 53,
          "signature": "func (b *BrewBuilder) AddEdge(from, to string, kind BrewEdgeKind) *BrewBuilder",
          "documentation": ""
        },
        {
          "name": "func (b *BrewBuilder) SetEntry(nodeID string) *BrewBuilder",
          "line": 63,
          "signature": "func (b *BrewBuilder) SetEntry(nodeID string) *BrewBuilder",
          "documentation": ""
        },
        {
          "name": "func (b *BrewBuilder) SetExit(nodeID string) *BrewBuilder",
          "line": 69,
          "signature": "func (b *BrewBuilder) SetExit(nodeID string) *BrewBuilder",
          "documentation": ""
        },
        {
          "name": "func (b *BrewBuilder) WithTopology(topology *ModelTopology) *BrewBuilder",
          "line": 75,
          "signature": "func (b *BrewBuilder) WithTopology(topology *ModelTopology) *BrewBuilder",
          "documentation": ""
        },
        {
          "name": "func (b *BrewBuilder) WithMetadata(nodeID, key, value string) *BrewBuilder",
          "line": 82,
          "signature": "func (b *BrewBuilder) WithMetadata(nodeID, key, value string) *BrewBuilder",
          "documentation": ""
        },
        {
          "name": "func (b *BrewBuilder) Build() (*Brew, error)",
          "line": 99,
          "signature": "func (b *BrewBuilder) Build() (*Brew, error)",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/core/brew_resolver.go",
      "sha256": "15d7e97de5780c5a2e200a3fcad8526443180d5820e493d9dbc6e2038a2bfb7a",
      "artifactSha256": "d68cf60830ca27f196e25146f10fc95a267e4e23efc757b1eb03a1fd1dfecd68",
      "url": "/reference/source/forge-go/core/brew_resolver.go.txt",
      "declarations": [
        {
          "name": "type BrewEnvironment struct",
          "line": 17,
          "signature": "type BrewEnvironment struct",
          "documentation": ""
        },
        {
          "name": "type BrewResolutionErrorKind string",
          "line": 29,
          "signature": "type BrewResolutionErrorKind string\n\nconst (\n// BrewResolutionProviderUnavailable means a provider reference is not registered.\nBrewResolutionProviderUnavailable BrewResolutionErrorKind;",
          "documentation": ""
        },
        {
          "name": "type BrewResolutionError struct",
          "line": 45,
          "signature": "type BrewResolutionError struct",
          "documentation": ""
        },
        {
          "name": "func (e *BrewResolutionError) Error() string",
          "line": 53,
          "signature": "func (e *BrewResolutionError) Error() string",
          "documentation": ""
        },
        {
          "name": "type BrewResolutionErrors struct",
          "line": 58,
          "signature": "type BrewResolutionErrors struct",
          "documentation": ""
        },
        {
          "name": "func (e *BrewResolutionErrors) Error() string",
          "line": 63,
          "signature": "func (e *BrewResolutionErrors) Error() string",
          "documentation": ""
        },
        {
          "name": "type ResolvedBrewPlan struct",
          "line": 78,
          "signature": "type ResolvedBrewPlan struct",
          "documentation": ""
        },
        {
          "name": "func ResolveBrew(brew *Brew, env *BrewEnvironment) (*ResolvedBrewPlan, error)",
          "line": 105,
          "signature": "func ResolveBrew(brew *Brew, env *BrewEnvironment) (*ResolvedBrewPlan, error)",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/core/config.go",
      "sha256": "b2d4972c998dca23f0c2feb03ab4676ce4d64bccca928fb92e2607171794519a",
      "artifactSha256": "f6ae5dc24b78906440a9ed1901194cd9bb47b4e07f2514eb81102f5335c5315d",
      "url": "/reference/source/forge-go/core/config.go.txt",
      "declarations": [
        {
          "name": "type GenerateOptions struct",
          "line": 8,
          "signature": "type GenerateOptions struct",
          "documentation": ""
        },
        {
          "name": "func (o GenerateOptions) WithTemperature(t float64) GenerateOptions",
          "line": 50,
          "signature": "func (o GenerateOptions) WithTemperature(t float64) GenerateOptions",
          "documentation": ""
        },
        {
          "name": "func (o GenerateOptions) WithMaxTokens(n int) GenerateOptions",
          "line": 56,
          "signature": "func (o GenerateOptions) WithMaxTokens(n int) GenerateOptions",
          "documentation": ""
        },
        {
          "name": "func (o GenerateOptions) WithTopP(p float64) GenerateOptions",
          "line": 62,
          "signature": "func (o GenerateOptions) WithTopP(p float64) GenerateOptions",
          "documentation": ""
        },
        {
          "name": "func (o GenerateOptions) WithTopK(k int) GenerateOptions",
          "line": 68,
          "signature": "func (o GenerateOptions) WithTopK(k int) GenerateOptions",
          "documentation": ""
        },
        {
          "name": "func (o GenerateOptions) WithFrequencyPenalty(p float64) GenerateOptions",
          "line": 74,
          "signature": "func (o GenerateOptions) WithFrequencyPenalty(p float64) GenerateOptions",
          "documentation": ""
        },
        {
          "name": "func (o GenerateOptions) WithPresencePenalty(p float64) GenerateOptions",
          "line": 80,
          "signature": "func (o GenerateOptions) WithPresencePenalty(p float64) GenerateOptions",
          "documentation": ""
        },
        {
          "name": "func (o GenerateOptions) WithStopSequences(seqs ...string) GenerateOptions",
          "line": 86,
          "signature": "func (o GenerateOptions) WithStopSequences(seqs ...string) GenerateOptions",
          "documentation": ""
        },
        {
          "name": "func (o GenerateOptions) WithSeed(seed int64) GenerateOptions",
          "line": 92,
          "signature": "func (o GenerateOptions) WithSeed(seed int64) GenerateOptions",
          "documentation": ""
        },
        {
          "name": "func (o GenerateOptions) WithResponseFormat(format string) GenerateOptions",
          "line": 98,
          "signature": "func (o GenerateOptions) WithResponseFormat(format string) GenerateOptions",
          "documentation": ""
        },
        {
          "name": "func (o GenerateOptions) WithSchema(schema *JsonSchema) GenerateOptions",
          "line": 104,
          "signature": "func (o GenerateOptions) WithSchema(schema *JsonSchema) GenerateOptions",
          "documentation": ""
        },
        {
          "name": "type EmbedOptions struct",
          "line": 112,
          "signature": "type EmbedOptions struct",
          "documentation": ""
        },
        {
          "name": "func (o EmbedOptions) WithModel(model string) EmbedOptions",
          "line": 122,
          "signature": "func (o EmbedOptions) WithModel(model string) EmbedOptions",
          "documentation": ""
        },
        {
          "name": "func (o EmbedOptions) WithDimensions(d int) EmbedOptions",
          "line": 128,
          "signature": "func (o EmbedOptions) WithDimensions(d int) EmbedOptions",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/core/error.go",
      "sha256": "a0747ef15c4a77495e376be1517addaa0838d711f39294fa766ad083b2ac2247",
      "artifactSha256": "d6314bf4ff69dae937a46b59f13f38e55c71f354c03ce7c3536a0b3af774e77b",
      "url": "/reference/source/forge-go/core/error.go.txt",
      "declarations": [
        {
          "name": "type ErrKind string",
          "line": 9,
          "signature": "type ErrKind string\n\nconst (\n// ErrKindProvider indicates a provider-related error (network, auth, rate limit).\nErrKindProvider ErrKind;",
          "documentation": ""
        },
        {
          "name": "type ForgeError struct",
          "line": 50,
          "signature": "type ForgeError struct",
          "documentation": ""
        },
        {
          "name": "func (e *ForgeError) Error() string",
          "line": 65,
          "signature": "func (e *ForgeError) Error() string",
          "documentation": ""
        },
        {
          "name": "func (e *ForgeError) Unwrap() error",
          "line": 73,
          "signature": "func (e *ForgeError) Unwrap() error",
          "documentation": ""
        },
        {
          "name": "func (e *ForgeError) Is(target error) bool",
          "line": 79,
          "signature": "func (e *ForgeError) Is(target error) bool",
          "documentation": ""
        },
        {
          "name": "func (e *ForgeError) WithContext(key, value string) *ForgeError",
          "line": 88,
          "signature": "func (e *ForgeError) WithContext(key, value string) *ForgeError",
          "documentation": ""
        },
        {
          "name": "func NewProviderError(providerRef, message string, cause error) *ForgeError",
          "line": 140,
          "signature": "func NewProviderError(providerRef, message string, cause error) *ForgeError",
          "documentation": ""
        },
        {
          "name": "func NewProviderUnavailableError(providerRef, reason string) *ForgeError",
          "line": 150,
          "signature": "func NewProviderUnavailableError(providerRef, reason string) *ForgeError",
          "documentation": ""
        },
        {
          "name": "func NewProviderAuthenticationError(providerRef, reason string) *ForgeError",
          "line": 159,
          "signature": "func NewProviderAuthenticationError(providerRef, reason string) *ForgeError",
          "documentation": ""
        },
        {
          "name": "func NewCapabilityUnsupportedError(providerRef string, capability RuntimeCapability) *ForgeError",
          "line": 168,
          "signature": "func NewCapabilityUnsupportedError(providerRef string, capability RuntimeCapability) *ForgeError",
          "documentation": ""
        },
        {
          "name": "func NewProviderNegotiationError(providerRef, reason string) *ForgeError",
          "line": 180,
          "signature": "func NewProviderNegotiationError(providerRef, reason string) *ForgeError",
          "documentation": ""
        },
        {
          "name": "func NewProviderSessionExpiredError(providerRef, sessionID string) *ForgeError",
          "line": 189,
          "signature": "func NewProviderSessionExpiredError(providerRef, sessionID string) *ForgeError",
          "documentation": ""
        },
        {
          "name": "func NewProviderInterruptUnsupportedError(providerRef string) *ForgeError",
          "line": 201,
          "signature": "func NewProviderInterruptUnsupportedError(providerRef string) *ForgeError",
          "documentation": ""
        },
        {
          "name": "func NewProviderResumeUnsupportedError(providerRef string) *ForgeError",
          "line": 210,
          "signature": "func NewProviderResumeUnsupportedError(providerRef string) *ForgeError",
          "documentation": ""
        },
        {
          "name": "func NewValidationError(message string) *ForgeError",
          "line": 223,
          "signature": "func NewValidationError(message string) *ForgeError",
          "documentation": ""
        },
        {
          "name": "func NewToolError(toolName, message string, cause error) *ForgeError",
          "line": 235,
          "signature": "func NewToolError(toolName, message string, cause error) *ForgeError",
          "documentation": ""
        },
        {
          "name": "func NewIdentityError(operation, message string, cause error) *ForgeError",
          "line": 249,
          "signature": "func NewIdentityError(operation, message string, cause error) *ForgeError",
          "documentation": ""
        },
        {
          "name": "func NewAuthError(agentDID, actID, message string) *ForgeError",
          "line": 263,
          "signature": "func NewAuthError(agentDID, actID, message string) *ForgeError",
          "documentation": ""
        },
        {
          "name": "func NewLifecycleError(from, to, message string) *ForgeError",
          "line": 279,
          "signature": "func NewLifecycleError(from, to, message string) *ForgeError",
          "documentation": ""
        },
        {
          "name": "func NewSchemaError(path, message string) *ForgeError",
          "line": 295,
          "signature": "func NewSchemaError(path, message string) *ForgeError",
          "documentation": ""
        },
        {
          "name": "func NewSerializationError(message string, cause error) *ForgeError",
          "line": 304,
          "signature": "func NewSerializationError(message string, cause error) *ForgeError",
          "documentation": ""
        },
        {
          "name": "func NewTimeoutError(operation string, cause error) *ForgeError",
          "line": 313,
          "signature": "func NewTimeoutError(operation string, cause error) *ForgeError",
          "documentation": ""
        },
        {
          "name": "func NewCancelledError(operation string) *ForgeError",
          "line": 323,
          "signature": "func NewCancelledError(operation string) *ForgeError",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/core/message.go",
      "sha256": "3ea2c2745123c0d65d5d161fe2e2d0a2eb46255bb420be7f14c58fd168d167f8",
      "artifactSha256": "07a8b3b8b53295167d551f965b764e91e509495b0ff7f695d18a45a1aa728654",
      "url": "/reference/source/forge-go/core/message.go.txt",
      "declarations": [
        {
          "name": "type Role string",
          "line": 20,
          "signature": "type Role string\n\nconst (\n// RoleSystem is the system instruction role.\nRoleSystem Role;",
          "documentation": ""
        },
        {
          "name": "func (r Role) String() string",
          "line": 34,
          "signature": "func (r Role) String() string",
          "documentation": ""
        },
        {
          "name": "func (r Role) IsValid() bool",
          "line": 39,
          "signature": "func (r Role) IsValid() bool",
          "documentation": ""
        },
        {
          "name": "type MessagePartType string",
          "line": 49,
          "signature": "type MessagePartType string\n\nconst (\n// MessagePartText is a text content part.\nMessagePartText MessagePartType;",
          "documentation": ""
        },
        {
          "name": "type MessagePart struct",
          "line": 68,
          "signature": "type MessagePart struct",
          "documentation": ""
        },
        {
          "name": "func NewTextPart(text string) MessagePart",
          "line": 89,
          "signature": "func NewTextPart(text string) MessagePart",
          "documentation": ""
        },
        {
          "name": "func NewImagePart(url, mimeType string) MessagePart",
          "line": 97,
          "signature": "func NewImagePart(url, mimeType string) MessagePart",
          "documentation": ""
        },
        {
          "name": "func NewToolCallPart(tc ToolCall) MessagePart",
          "line": 106,
          "signature": "func NewToolCallPart(tc ToolCall) MessagePart",
          "documentation": ""
        },
        {
          "name": "func NewToolResultPart(tr ToolResult) MessagePart",
          "line": 114,
          "signature": "func NewToolResultPart(tr ToolResult) MessagePart",
          "documentation": ""
        },
        {
          "name": "type ModelMessage struct",
          "line": 125,
          "signature": "type ModelMessage struct",
          "documentation": ""
        },
        {
          "name": "func NewModelMessage(role Role, parts ...MessagePart) ModelMessage",
          "line": 134,
          "signature": "func NewModelMessage(role Role, parts ...MessagePart) ModelMessage",
          "documentation": ""
        },
        {
          "name": "func NewTextMessage(role Role, text string) ModelMessage",
          "line": 145,
          "signature": "func NewTextMessage(role Role, text string) ModelMessage",
          "documentation": ""
        },
        {
          "name": "func NewSystemMessage(text string) ModelMessage",
          "line": 153,
          "signature": "func NewSystemMessage(text string) ModelMessage",
          "documentation": ""
        },
        {
          "name": "func NewUserMessage(text string) ModelMessage",
          "line": 158,
          "signature": "func NewUserMessage(text string) ModelMessage",
          "documentation": ""
        },
        {
          "name": "func NewAssistantMessage(text string) ModelMessage",
          "line": 163,
          "signature": "func NewAssistantMessage(text string) ModelMessage",
          "documentation": ""
        },
        {
          "name": "func (m ModelMessage) TextContent() string",
          "line": 169,
          "signature": "func (m ModelMessage) TextContent() string",
          "documentation": ""
        },
        {
          "name": "func (m ModelMessage) ToolCalls() []ToolCall",
          "line": 181,
          "signature": "func (m ModelMessage) ToolCalls() []ToolCall",
          "documentation": ""
        },
        {
          "name": "func (m ModelMessage) ToolResults() []ToolResult",
          "line": 193,
          "signature": "func (m ModelMessage) ToolResults() []ToolResult",
          "documentation": ""
        },
        {
          "name": "func (m ModelMessage) HasToolCalls() bool",
          "line": 204,
          "signature": "func (m ModelMessage) HasToolCalls() bool",
          "documentation": ""
        },
        {
          "name": "func (m ModelMessage) MarshalJSON() ([]byte, error)",
          "line": 214,
          "signature": "func (m ModelMessage) MarshalJSON() ([]byte, error)",
          "documentation": ""
        },
        {
          "name": "func (m *ModelMessage) UnmarshalJSON(data []byte) error",
          "line": 220,
          "signature": "func (m *ModelMessage) UnmarshalJSON(data []byte) error",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/core/model.go",
      "sha256": "f70b1918207e2d2b8642480c041974b25ebbb0dab893e5de044366b68d5e8622",
      "artifactSha256": "17b07f8f4abec15774fca1d4399a8c444d51e874f09e046ab1f49f5a78959c97",
      "url": "/reference/source/forge-go/core/model.go.txt",
      "declarations": [
        {
          "name": "type LanguageModel interface",
          "line": 13,
          "signature": "type LanguageModel interface",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/core/output.go",
      "sha256": "dabc23013d93e42c0f7b9fe0afd7e4546a3035e34c300116f032e12a49e6cd18",
      "artifactSha256": "7e28a2e68ec1cbacf50d03c86cedd52778d30cef91614804bd3bbe8e085c870b",
      "url": "/reference/source/forge-go/core/output.go.txt",
      "declarations": [
        {
          "name": "type FinishReason string",
          "line": 8,
          "signature": "type FinishReason string\n\nconst (\n// FinishReasonStop indicates the model generated a natural stop token.\nFinishReasonStop FinishReason;",
          "documentation": ""
        },
        {
          "name": "func (f FinishReason) String() string",
          "line": 31,
          "signature": "func (f FinishReason) String() string",
          "documentation": ""
        },
        {
          "name": "type Usage struct",
          "line": 39,
          "signature": "type Usage struct",
          "documentation": ""
        },
        {
          "name": "func (u Usage) Add(other Usage) Usage",
          "line": 52,
          "signature": "func (u Usage) Add(other Usage) Usage",
          "documentation": ""
        },
        {
          "name": "type GenerateResult struct",
          "line": 75,
          "signature": "type GenerateResult struct",
          "documentation": ""
        },
        {
          "name": "func (r *GenerateResult) Text() string",
          "line": 88,
          "signature": "func (r *GenerateResult) Text() string",
          "documentation": ""
        },
        {
          "name": "func (r *GenerateResult) HasToolCalls() bool",
          "line": 93,
          "signature": "func (r *GenerateResult) HasToolCalls() bool",
          "documentation": ""
        },
        {
          "name": "type StreamChunkType string",
          "line": 98,
          "signature": "type StreamChunkType string\n\nconst (\n// StreamChunkTextDelta is an incremental text fragment.\nStreamChunkTextDelta StreamChunkType;",
          "documentation": ""
        },
        {
          "name": "type StreamChunk struct",
          "line": 115,
          "signature": "type StreamChunk struct",
          "documentation": ""
        },
        {
          "name": "func NewTextDelta(text string) StreamChunk",
          "line": 144,
          "signature": "func NewTextDelta(text string) StreamChunk",
          "documentation": ""
        },
        {
          "name": "func NewToolCallDelta(callID, name, argsDelta string) StreamChunk",
          "line": 152,
          "signature": "func NewToolCallDelta(callID, name, argsDelta string) StreamChunk",
          "documentation": ""
        },
        {
          "name": "func NewStreamDone(reason FinishReason, usage Usage) StreamChunk",
          "line": 162,
          "signature": "func NewStreamDone(reason FinishReason, usage Usage) StreamChunk",
          "documentation": ""
        },
        {
          "name": "func NewStreamError(err error) StreamChunk",
          "line": 171,
          "signature": "func NewStreamError(err error) StreamChunk",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/core/provider.go",
      "sha256": "fec739fcf05dc55a4518ef700a1896ca4afe545856e5cf586494959e3faeaaf6",
      "artifactSha256": "42f273a23e5b412bc6c05f0fa66ce09e082f854530780aac99157d0a1a4a6493",
      "url": "/reference/source/forge-go/core/provider.go.txt",
      "declarations": [
        {
          "name": "type ProviderRef struct",
          "line": 17,
          "signature": "type ProviderRef struct",
          "documentation": ""
        },
        {
          "name": "func ParseProviderRef(ref string) (ProviderRef, error)",
          "line": 29,
          "signature": "func ParseProviderRef(ref string) (ProviderRef, error)",
          "documentation": ""
        },
        {
          "name": "func (p ProviderRef) String() string",
          "line": 47,
          "signature": "func (p ProviderRef) String() string",
          "documentation": ""
        },
        {
          "name": "type ProviderMetadata struct",
          "line": 52,
          "signature": "type ProviderMetadata struct",
          "documentation": ""
        },
        {
          "name": "type RuntimeCapability string",
          "line": 81,
          "signature": "type RuntimeCapability string\n\nconst (\nRuntimeCapabilityToolCalls           RuntimeCapability;",
          "documentation": ""
        },
        {
          "name": "type ProviderRuntimeCapabilities struct",
          "line": 97,
          "signature": "type ProviderRuntimeCapabilities struct",
          "documentation": ""
        },
        {
          "name": "func BaselineProviderRuntimeCapabilities() ProviderRuntimeCapabilities",
          "line": 107,
          "signature": "func BaselineProviderRuntimeCapabilities() ProviderRuntimeCapabilities",
          "documentation": ""
        },
        {
          "name": "func (c ProviderRuntimeCapabilities) WithCapability(capability RuntimeCapability) ProviderRuntimeCapabilities",
          "line": 116,
          "signature": "func (c ProviderRuntimeCapabilities) WithCapability(capability RuntimeCapability) ProviderRuntimeCapabilities",
          "documentation": ""
        },
        {
          "name": "func (c ProviderRuntimeCapabilities) Supports(capability RuntimeCapability) bool",
          "line": 127,
          "signature": "func (c ProviderRuntimeCapabilities) Supports(capability RuntimeCapability) bool",
          "documentation": ""
        },
        {
          "name": "type ProviderNegotiationRequest struct",
          "line": 132,
          "signature": "type ProviderNegotiationRequest struct",
          "documentation": ""
        },
        {
          "name": "type ProviderNegotiationResult struct",
          "line": 139,
          "signature": "type ProviderNegotiationResult struct",
          "documentation": ""
        },
        {
          "name": "type ProviderFactory func(ref ProviderRef) (LanguageModel, error)",
          "line": 148,
          "signature": "type ProviderFactory func(ref ProviderRef) (LanguageModel, error)\n\n// ProviderRegistry manages the set of available language model providers.\n//\n// Providers are registered by namespace. When an agent needs a model,\n// it resolves a ProviderRef against the registry to get a LanguageModel.\n//\n// The registry is safe for concurrent use.\n//\n// ANVIL Spec Section 4.6 -- Provider registry and dispatch.\ntype ProviderRegistry struct",
          "documentation": ""
        },
        {
          "name": "type ProviderRegistry struct",
          "line": 158,
          "signature": "type ProviderRegistry struct",
          "documentation": ""
        },
        {
          "name": "func NewProviderRegistry() *ProviderRegistry",
          "line": 167,
          "signature": "func NewProviderRegistry() *ProviderRegistry",
          "documentation": ""
        },
        {
          "name": "func (r *ProviderRegistry) Register(namespace string, factory ProviderFactory, meta ProviderMetadata)",
          "line": 179,
          "signature": "func (r *ProviderRegistry) Register(namespace string, factory ProviderFactory, meta ProviderMetadata)",
          "documentation": ""
        },
        {
          "name": "func (r *ProviderRegistry) RegisterWithRuntime(",
          "line": 185,
          "signature": "func (r *ProviderRegistry) RegisterWithRuntime(\nnamespace string,\nfactory ProviderFactory,\nmeta ProviderMetadata,\nruntime ProviderRuntimeCapabilities,\n)",
          "documentation": ""
        },
        {
          "name": "func (r *ProviderRegistry) Resolve(ref ProviderRef) (LanguageModel, error)",
          "line": 232,
          "signature": "func (r *ProviderRegistry) Resolve(ref ProviderRef) (LanguageModel, error)",
          "documentation": ""
        },
        {
          "name": "func (r *ProviderRegistry) ResolveString(ref string) (LanguageModel, error)",
          "line": 264,
          "signature": "func (r *ProviderRegistry) ResolveString(ref string) (LanguageModel, error)",
          "documentation": ""
        },
        {
          "name": "func (r *ProviderRegistry) Metadata(namespace string) (ProviderMetadata, bool)",
          "line": 273,
          "signature": "func (r *ProviderRegistry) Metadata(namespace string) (ProviderMetadata, bool)",
          "documentation": ""
        },
        {
          "name": "func (r *ProviderRegistry) Namespaces() []string",
          "line": 284,
          "signature": "func (r *ProviderRegistry) Namespaces() []string",
          "documentation": ""
        },
        {
          "name": "func (r *ProviderRegistry) Has(namespace string) bool",
          "line": 295,
          "signature": "func (r *ProviderRegistry) Has(namespace string) bool",
          "documentation": ""
        },
        {
          "name": "func (r *ProviderRegistry) Negotiate(request ProviderNegotiationRequest) (ProviderNegotiationResult, error)",
          "line": 303,
          "signature": "func (r *ProviderRegistry) Negotiate(request ProviderNegotiationRequest) (ProviderNegotiationResult, error)",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/core/provider_official.go",
      "sha256": "eabefa8535c3f37df0365d3a7eae88780592017f934fcfb789eaeae430a7bbb9",
      "artifactSha256": "e423beb795f1033bf39ee39b6b6d5a356a8eda48de3c3d57a1c34df98cf5fc51",
      "url": "/reference/source/forge-go/core/provider_official.go.txt",
      "declarations": [
        {
          "name": "type ProviderFamily string",
          "line": 36,
          "signature": "type ProviderFamily string\n\nconst (\nProviderFamilyCodingProduct ProviderFamily;",
          "documentation": ""
        },
        {
          "name": "type AuthStrategy string",
          "line": 45,
          "signature": "type AuthStrategy string\n\nconst (\nAuthStrategyAPIKey              AuthStrategy;",
          "documentation": ""
        },
        {
          "name": "type ProviderPreset struct",
          "line": 56,
          "signature": "type ProviderPreset struct",
          "documentation": ""
        },
        {
          "name": "func ApprovedCodingProviderPresets() []ProviderPreset",
          "line": 63,
          "signature": "func ApprovedCodingProviderPresets() []ProviderPreset",
          "documentation": ""
        },
        {
          "name": "func ApprovedDirectProviderPresets() []ProviderPreset",
          "line": 74,
          "signature": "func ApprovedDirectProviderPresets() []ProviderPreset",
          "documentation": ""
        },
        {
          "name": "func ApprovedGatewayProviderPresets() []ProviderPreset",
          "line": 91,
          "signature": "func ApprovedGatewayProviderPresets() []ProviderPreset",
          "documentation": ""
        },
        {
          "name": "func RegisterOfficialCodingProviders(registry *ProviderRegistry) error",
          "line": 102,
          "signature": "func RegisterOfficialCodingProviders(registry *ProviderRegistry) error",
          "documentation": ""
        },
        {
          "name": "func RegisterDefaultCoreDirectProviders(registry *ProviderRegistry) error",
          "line": 118,
          "signature": "func RegisterDefaultCoreDirectProviders(registry *ProviderRegistry) error",
          "documentation": ""
        },
        {
          "name": "func RegisterClaudeCodeProvider(registry *ProviderRegistry) (string, error)",
          "line": 131,
          "signature": "func RegisterClaudeCodeProvider(registry *ProviderRegistry) (string, error)",
          "documentation": ""
        },
        {
          "name": "func RegisterCodexProvider(registry *ProviderRegistry) (string, error)",
          "line": 149,
          "signature": "func RegisterCodexProvider(registry *ProviderRegistry) (string, error)",
          "documentation": ""
        },
        {
          "name": "func RegisterKimiCodingProvider(registry *ProviderRegistry) (string, error)",
          "line": 167,
          "signature": "func RegisterKimiCodingProvider(registry *ProviderRegistry) (string, error)",
          "documentation": ""
        },
        {
          "name": "func RegisterGLMCodingProvider(registry *ProviderRegistry) (string, error)",
          "line": 183,
          "signature": "func RegisterGLMCodingProvider(registry *ProviderRegistry) (string, error)",
          "documentation": ""
        },
        {
          "name": "func RegisterMiniMaxCodingProvider(registry *ProviderRegistry) (string, error)",
          "line": 199,
          "signature": "func RegisterMiniMaxCodingProvider(registry *ProviderRegistry) (string, error)",
          "documentation": ""
        },
        {
          "name": "func RegisterOpenAIModel(registry *ProviderRegistry, modelID string) (string, error)",
          "line": 215,
          "signature": "func RegisterOpenAIModel(registry *ProviderRegistry, modelID string) (string, error)",
          "documentation": ""
        },
        {
          "name": "func RegisterAnthropicModel(registry *ProviderRegistry, modelID string) (string, error)",
          "line": 231,
          "signature": "func RegisterAnthropicModel(registry *ProviderRegistry, modelID string) (string, error)",
          "documentation": ""
        },
        {
          "name": "func RegisterGoogleModel(registry *ProviderRegistry, modelID string) (string, error)",
          "line": 246,
          "signature": "func RegisterGoogleModel(registry *ProviderRegistry, modelID string) (string, error)",
          "documentation": ""
        },
        {
          "name": "func RegisterXAIModel(registry *ProviderRegistry, modelID string) (string, error)",
          "line": 261,
          "signature": "func RegisterXAIModel(registry *ProviderRegistry, modelID string) (string, error)",
          "documentation": ""
        },
        {
          "name": "func RegisterDeepSeekModel(registry *ProviderRegistry, modelID string) (string, error)",
          "line": 265,
          "signature": "func RegisterDeepSeekModel(registry *ProviderRegistry, modelID string) (string, error)",
          "documentation": ""
        },
        {
          "name": "func RegisterMistralModel(registry *ProviderRegistry, modelID string) (string, error)",
          "line": 269,
          "signature": "func RegisterMistralModel(registry *ProviderRegistry, modelID string) (string, error)",
          "documentation": ""
        },
        {
          "name": "func RegisterCohereModel(registry *ProviderRegistry, modelID string) (string, error)",
          "line": 273,
          "signature": "func RegisterCohereModel(registry *ProviderRegistry, modelID string) (string, error)",
          "documentation": ""
        },
        {
          "name": "func RegisterGroqModel(registry *ProviderRegistry, modelID string) (string, error)",
          "line": 277,
          "signature": "func RegisterGroqModel(registry *ProviderRegistry, modelID string) (string, error)",
          "documentation": ""
        },
        {
          "name": "func RegisterMoonshotModel(registry *ProviderRegistry, modelID string) (string, error)",
          "line": 281,
          "signature": "func RegisterMoonshotModel(registry *ProviderRegistry, modelID string) (string, error)",
          "documentation": ""
        },
        {
          "name": "func RegisterZAIModel(registry *ProviderRegistry, modelID string) (string, error)",
          "line": 285,
          "signature": "func RegisterZAIModel(registry *ProviderRegistry, modelID string) (string, error)",
          "documentation": ""
        },
        {
          "name": "func RegisterMiniMaxModel(registry *ProviderRegistry, modelID string) (string, error)",
          "line": 289,
          "signature": "func RegisterMiniMaxModel(registry *ProviderRegistry, modelID string) (string, error)",
          "documentation": ""
        },
        {
          "name": "func RegisterOpenRouterModel(registry *ProviderRegistry, modelID string) (string, error)",
          "line": 293,
          "signature": "func RegisterOpenRouterModel(registry *ProviderRegistry, modelID string) (string, error)",
          "documentation": ""
        },
        {
          "name": "func RegisterFoundryModel(registry *ProviderRegistry, modelID string) (string, error)",
          "line": 297,
          "signature": "func RegisterFoundryModel(registry *ProviderRegistry, modelID string) (string, error)",
          "documentation": ""
        },
        {
          "name": "func RegisterBedrockModel(registry *ProviderRegistry, modelID string) (string, error)",
          "line": 313,
          "signature": "func RegisterBedrockModel(registry *ProviderRegistry, modelID string) (string, error)",
          "documentation": ""
        },
        {
          "name": "func RegisterVertexAIModel(registry *ProviderRegistry, modelID string) (string, error)",
          "line": 328,
          "signature": "func RegisterVertexAIModel(registry *ProviderRegistry, modelID string) (string, error)",
          "documentation": ""
        },
        {
          "name": "func RegisterMicrosoftFoundryModel(registry *ProviderRegistry, modelID string) (string, error)",
          "line": 343,
          "signature": "func RegisterMicrosoftFoundryModel(registry *ProviderRegistry, modelID string) (string, error)",
          "documentation": ""
        },
        {
          "name": "func (m *officialProviderModel) Generate(ctx context.Context, messages []ModelMessage, tools []ToolDefinition, options GenerateOptions) (*GenerateResult, error)",
          "line": 758,
          "signature": "func (m *officialProviderModel) Generate(ctx context.Context, messages []ModelMessage, tools []ToolDefinition, options GenerateOptions) (*GenerateResult, error)",
          "documentation": ""
        },
        {
          "name": "func (m *officialProviderModel) Stream(ctx context.Context, messages []ModelMessage, tools []ToolDefinition, options GenerateOptions) (<-chan StreamChunk, error)",
          "line": 770,
          "signature": "func (m *officialProviderModel) Stream(ctx context.Context, messages []ModelMessage, tools []ToolDefinition, options GenerateOptions) (<-chan StreamChunk, error)",
          "documentation": ""
        },
        {
          "name": "func (m *officialProviderModel) ModelID() string",
          "line": 798,
          "signature": "func (m *officialProviderModel) ModelID() string",
          "documentation": ""
        },
        {
          "name": "func (m *officialProviderModel) Provider() string",
          "line": 799,
          "signature": "func (m *officialProviderModel) Provider() string",
          "documentation": ""
        },
        {
          "name": "func (m *officialProviderModel) SupportsTools() bool",
          "line": 800,
          "signature": "func (m *officialProviderModel) SupportsTools() bool",
          "documentation": ""
        },
        {
          "name": "func (m *officialProviderModel) SupportsImages() bool",
          "line": 801,
          "signature": "func (m *officialProviderModel) SupportsImages() bool",
          "documentation": ""
        },
        {
          "name": "func (m *officialProviderModel) SupportsStreaming() bool",
          "line": 802,
          "signature": "func (m *officialProviderModel) SupportsStreaming() bool",
          "documentation": ""
        },
        {
          "name": "func (m *officialProviderModel) SupportsObjectGeneration() bool",
          "line": 803,
          "signature": "func (m *officialProviderModel) SupportsObjectGeneration() bool",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/core/routing.go",
      "sha256": "e4dd02692e27b599a535f9d77a4746a0c60652249f382c5faaa248fd008a7051",
      "artifactSha256": "376f4b8cbdf886ba9b05f85ace4b3d1a04a34f53513879d80bf1e941838db090",
      "url": "/reference/source/forge-go/core/routing.go.txt",
      "declarations": [
        {
          "name": "type TaskMode string",
          "line": 14,
          "signature": "type TaskMode string\n\nconst (\n// TaskModePlanning represents strategic reasoning, goal decomposition, plan generation.\nTaskModePlanning TaskMode;",
          "documentation": ""
        },
        {
          "name": "func (m TaskMode) AsRoleName() string",
          "line": 28,
          "signature": "func (m TaskMode) AsRoleName() string",
          "documentation": ""
        },
        {
          "name": "type ExecutionTopology string",
          "line": 38,
          "signature": "type ExecutionTopology string\n\nconst (\n// ExecutionTopologySequential is a single sequential call.\nExecutionTopologySequential ExecutionTopology;",
          "documentation": ""
        },
        {
          "name": "type RoutingContext struct",
          "line": 62,
          "signature": "type RoutingContext struct",
          "documentation": ""
        },
        {
          "name": "type ResolvedRoute struct",
          "line": 83,
          "signature": "type ResolvedRoute struct",
          "documentation": ""
        },
        {
          "name": "type ModelRouter interface",
          "line": 98,
          "signature": "type ModelRouter interface",
          "documentation": ""
        },
        {
          "name": "type DefaultModelRouter struct",
          "line": 117,
          "signature": "type DefaultModelRouter struct",
          "documentation": ""
        },
        {
          "name": "func (r DefaultModelRouter) Name() string",
          "line": 120,
          "signature": "func (r DefaultModelRouter) Name() string",
          "documentation": ""
        },
        {
          "name": "func (r DefaultModelRouter) Route(ctx *RoutingContext, topology *ModelTopology) (ResolvedRoute, error)",
          "line": 131,
          "signature": "func (r DefaultModelRouter) Route(ctx *RoutingContext, topology *ModelTopology) (ResolvedRoute, error)",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/core/schema.go",
      "sha256": "dc71d95b3d08f051558fe5fd16e3503c3403ca84234f61daf6923555cb9b45fe",
      "artifactSha256": "7c582e8b4f8ab4aa24ed2bfe07dd8f84a60fb03cc9517501d434d6764ae4d2ac",
      "url": "/reference/source/forge-go/core/schema.go.txt",
      "declarations": [
        {
          "name": "type SchemaType string",
          "line": 11,
          "signature": "type SchemaType string\n\nconst (\nSchemaTypeString  SchemaType;",
          "documentation": ""
        },
        {
          "name": "type JsonSchema struct",
          "line": 31,
          "signature": "type JsonSchema struct",
          "documentation": ""
        },
        {
          "name": "func ObjectSchema(description string, properties map[string]*JsonSchema, required []string) *JsonSchema",
          "line": 78,
          "signature": "func ObjectSchema(description string, properties map[string]*JsonSchema, required []string) *JsonSchema",
          "documentation": ""
        },
        {
          "name": "func StringSchema(description string) *JsonSchema",
          "line": 88,
          "signature": "func StringSchema(description string) *JsonSchema",
          "documentation": ""
        },
        {
          "name": "func NumberSchema(description string) *JsonSchema",
          "line": 96,
          "signature": "func NumberSchema(description string) *JsonSchema",
          "documentation": ""
        },
        {
          "name": "func IntegerSchema(description string) *JsonSchema",
          "line": 104,
          "signature": "func IntegerSchema(description string) *JsonSchema",
          "documentation": ""
        },
        {
          "name": "func BooleanSchema(description string) *JsonSchema",
          "line": 112,
          "signature": "func BooleanSchema(description string) *JsonSchema",
          "documentation": ""
        },
        {
          "name": "func ArraySchema(description string, items *JsonSchema) *JsonSchema",
          "line": 120,
          "signature": "func ArraySchema(description string, items *JsonSchema) *JsonSchema",
          "documentation": ""
        },
        {
          "name": "func NullSchema(description string) *JsonSchema",
          "line": 129,
          "signature": "func NullSchema(description string) *JsonSchema",
          "documentation": ""
        },
        {
          "name": "func (s *JsonSchema) WithMinLength(n int) *JsonSchema",
          "line": 137,
          "signature": "func (s *JsonSchema) WithMinLength(n int) *JsonSchema",
          "documentation": ""
        },
        {
          "name": "func (s *JsonSchema) WithMaxLength(n int) *JsonSchema",
          "line": 143,
          "signature": "func (s *JsonSchema) WithMaxLength(n int) *JsonSchema",
          "documentation": ""
        },
        {
          "name": "func (s *JsonSchema) WithMinimum(v float64) *JsonSchema",
          "line": 149,
          "signature": "func (s *JsonSchema) WithMinimum(v float64) *JsonSchema",
          "documentation": ""
        },
        {
          "name": "func (s *JsonSchema) WithMaximum(v float64) *JsonSchema",
          "line": 155,
          "signature": "func (s *JsonSchema) WithMaximum(v float64) *JsonSchema",
          "documentation": ""
        },
        {
          "name": "func (s *JsonSchema) WithMinItems(n int) *JsonSchema",
          "line": 161,
          "signature": "func (s *JsonSchema) WithMinItems(n int) *JsonSchema",
          "documentation": ""
        },
        {
          "name": "func (s *JsonSchema) WithMaxItems(n int) *JsonSchema",
          "line": 167,
          "signature": "func (s *JsonSchema) WithMaxItems(n int) *JsonSchema",
          "documentation": ""
        },
        {
          "name": "func (s *JsonSchema) WithEnum(values ...any) *JsonSchema",
          "line": 173,
          "signature": "func (s *JsonSchema) WithEnum(values ...any) *JsonSchema",
          "documentation": ""
        },
        {
          "name": "func (s *JsonSchema) WithDefault(v any) *JsonSchema",
          "line": 179,
          "signature": "func (s *JsonSchema) WithDefault(v any) *JsonSchema",
          "documentation": ""
        },
        {
          "name": "func (s *JsonSchema) WithNoAdditionalProperties() *JsonSchema",
          "line": 185,
          "signature": "func (s *JsonSchema) WithNoAdditionalProperties() *JsonSchema",
          "documentation": ""
        },
        {
          "name": "func (s *JsonSchema) Validate(value any, path string) error",
          "line": 196,
          "signature": "func (s *JsonSchema) Validate(value any, path string) error",
          "documentation": ""
        },
        {
          "name": "func (s *JsonSchema) ValidateJSON(data []byte) error",
          "line": 236,
          "signature": "func (s *JsonSchema) ValidateJSON(data []byte) error",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/core/telemetry.go",
      "sha256": "f94fa83e72e3f02c451df164dad90536cc5cb87e5d0ad31a3664d9eab6a8789d",
      "artifactSha256": "279ba06b83ed636f3f8f7822e48ea566c093c9e1be52f1a17873abbcd35e221c",
      "url": "/reference/source/forge-go/core/telemetry.go.txt",
      "declarations": [
        {
          "name": "type SpanStatus string",
          "line": 11,
          "signature": "type SpanStatus string\n\nconst (\n// SpanStatusOK indicates the operation completed successfully.\nSpanStatusOK SpanStatus;",
          "documentation": ""
        },
        {
          "name": "type SpanAttribute struct",
          "line": 25,
          "signature": "type SpanAttribute struct",
          "documentation": ""
        },
        {
          "name": "func NewSpanAttribute(key, value string) SpanAttribute",
          "line": 31,
          "signature": "func NewSpanAttribute(key, value string) SpanAttribute",
          "documentation": ""
        },
        {
          "name": "type ForgeSpan struct",
          "line": 42,
          "signature": "type ForgeSpan struct",
          "documentation": ""
        },
        {
          "name": "func (s ForgeSpan) Duration() time.Duration",
          "line": 72,
          "signature": "func (s ForgeSpan) Duration() time.Duration",
          "documentation": ""
        },
        {
          "name": "type ForgeEvent struct",
          "line": 82,
          "signature": "type ForgeEvent struct",
          "documentation": ""
        },
        {
          "name": "type TelemetryEmitter interface",
          "line": 102,
          "signature": "type TelemetryEmitter interface",
          "documentation": ""
        },
        {
          "name": "type NoopEmitter struct",
          "line": 115,
          "signature": "type NoopEmitter struct",
          "documentation": ""
        },
        {
          "name": "func (NoopEmitter) EmitSpan(_ ForgeSpan)",
          "line": 118,
          "signature": "func (NoopEmitter) EmitSpan(_ ForgeSpan)",
          "documentation": ""
        },
        {
          "name": "func (NoopEmitter) EmitEvent(_ ForgeEvent)",
          "line": 121,
          "signature": "func (NoopEmitter) EmitEvent(_ ForgeEvent)",
          "documentation": ""
        },
        {
          "name": "func (NoopEmitter) Flush()",
          "line": 124,
          "signature": "func (NoopEmitter) Flush()",
          "documentation": ""
        },
        {
          "name": "type InMemoryEmitter struct",
          "line": 128,
          "signature": "type InMemoryEmitter struct",
          "documentation": ""
        },
        {
          "name": "func NewInMemoryEmitter() *InMemoryEmitter",
          "line": 135,
          "signature": "func NewInMemoryEmitter() *InMemoryEmitter",
          "documentation": ""
        },
        {
          "name": "func (e *InMemoryEmitter) EmitSpan(span ForgeSpan)",
          "line": 140,
          "signature": "func (e *InMemoryEmitter) EmitSpan(span ForgeSpan)",
          "documentation": ""
        },
        {
          "name": "func (e *InMemoryEmitter) EmitEvent(event ForgeEvent)",
          "line": 147,
          "signature": "func (e *InMemoryEmitter) EmitEvent(event ForgeEvent)",
          "documentation": ""
        },
        {
          "name": "func (e *InMemoryEmitter) Flush()",
          "line": 154,
          "signature": "func (e *InMemoryEmitter) Flush()",
          "documentation": ""
        },
        {
          "name": "func (e *InMemoryEmitter) Spans() []ForgeSpan",
          "line": 157,
          "signature": "func (e *InMemoryEmitter) Spans() []ForgeSpan",
          "documentation": ""
        },
        {
          "name": "func (e *InMemoryEmitter) Events() []ForgeEvent",
          "line": 166,
          "signature": "func (e *InMemoryEmitter) Events() []ForgeEvent",
          "documentation": ""
        },
        {
          "name": "func (e *InMemoryEmitter) Reset()",
          "line": 175,
          "signature": "func (e *InMemoryEmitter) Reset()",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/core/tool.go",
      "sha256": "318aa768e82b58d97de7d95dda0a64da41813c9ddd51220862de819bf1a2c3aa",
      "artifactSha256": "e39f516a151398bd37e3aad52edf4c508aaa62bc3f6f70f45009ed0039e2cb49",
      "url": "/reference/source/forge-go/core/tool.go.txt",
      "declarations": [
        {
          "name": "type ToolTier int",
          "line": 10,
          "signature": "type ToolTier int\n\nconst (\n// ToolTierPlatform (Tier 1) tools run inside the sandbox and are always\n// available without authorization. Examples: clock, crypto, logging, random.\nToolTierPlatform ToolTier;",
          "documentation": ""
        },
        {
          "name": "func (t ToolTier) String() string",
          "line": 28,
          "signature": "func (t ToolTier) String() string",
          "documentation": ""
        },
        {
          "name": "func (t ToolTier) RequiresAuthorization() bool",
          "line": 46,
          "signature": "func (t ToolTier) RequiresAuthorization() bool",
          "documentation": ""
        },
        {
          "name": "func (t ToolTier) MarshalJSON() ([]byte, error)",
          "line": 51,
          "signature": "func (t ToolTier) MarshalJSON() ([]byte, error)",
          "documentation": ""
        },
        {
          "name": "func (t *ToolTier) UnmarshalJSON(data []byte) error",
          "line": 56,
          "signature": "func (t *ToolTier) UnmarshalJSON(data []byte) error",
          "documentation": ""
        },
        {
          "name": "type ToolDefinition struct",
          "line": 81,
          "signature": "type ToolDefinition struct",
          "documentation": ""
        },
        {
          "name": "func NewToolDefinition(name, description string, tier ToolTier, parameters *JsonSchema) (ToolDefinition, error)",
          "line": 106,
          "signature": "func NewToolDefinition(name, description string, tier ToolTier, parameters *JsonSchema) (ToolDefinition, error)",
          "documentation": ""
        },
        {
          "name": "type ToolCall struct",
          "line": 125,
          "signature": "type ToolCall struct",
          "documentation": ""
        },
        {
          "name": "func (tc ToolCall) ParseArguments(target any) error",
          "line": 140,
          "signature": "func (tc ToolCall) ParseArguments(target any) error",
          "documentation": ""
        },
        {
          "name": "type ToolResult struct",
          "line": 152,
          "signature": "type ToolResult struct",
          "documentation": ""
        },
        {
          "name": "func NewToolResult(callID, content string) ToolResult",
          "line": 164,
          "signature": "func NewToolResult(callID, content string) ToolResult",
          "documentation": ""
        },
        {
          "name": "func NewToolResultError(callID, errMsg string) ToolResult",
          "line": 173,
          "signature": "func NewToolResultError(callID, errMsg string) ToolResult",
          "documentation": ""
        },
        {
          "name": "type ToolApproval struct",
          "line": 186,
          "signature": "type ToolApproval struct",
          "documentation": ""
        },
        {
          "name": "type ApprovalDecision int",
          "line": 199,
          "signature": "type ApprovalDecision int\n\nconst (\n// ApprovalApprove allows the tool call to proceed as-is.\nApprovalApprove ApprovalDecision;",
          "documentation": ""
        },
        {
          "name": "func (d ApprovalDecision) String() string",
          "line": 211,
          "signature": "func (d ApprovalDecision) String() string",
          "documentation": ""
        },
        {
          "name": "func Approve() ToolApproval",
          "line": 225,
          "signature": "func Approve() ToolApproval",
          "documentation": ""
        },
        {
          "name": "func Deny(reason string) ToolApproval",
          "line": 230,
          "signature": "func Deny(reason string) ToolApproval",
          "documentation": ""
        },
        {
          "name": "func Modify(modifiedArgs string) ToolApproval",
          "line": 235,
          "signature": "func Modify(modifiedArgs string) ToolApproval",
          "documentation": ""
        },
        {
          "name": "type ToolApprovalHandler func(call ToolCall, def ToolDefinition) ToolApproval",
          "line": 246,
          "signature": "type ToolApprovalHandler func(call ToolCall, def ToolDefinition) ToolApproval",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/core/topology.go",
      "sha256": "f89be10413cf86365a2554704667c591c37e057b0f79296459f7bf6ca5a18ebe",
      "artifactSha256": "e3d767ee70fce18fe3d124a70519aef0884bb9256f6c4ae26630ffd981ab531a",
      "url": "/reference/source/forge-go/core/topology.go.txt",
      "declarations": [
        {
          "name": "const DefaultRole;",
          "line": 10,
          "signature": "const DefaultRole;",
          "documentation": ""
        },
        {
          "name": "type CostPreference string",
          "line": 16,
          "signature": "type CostPreference string\n\nconst (\n// CostPreferenceMinimize prefers the cheapest model that satisfies requirements.\nCostPreferenceMinimize CostPreference;",
          "documentation": ""
        },
        {
          "name": "type LatencyPreference string",
          "line": 31,
          "signature": "type LatencyPreference string\n\nconst (\n// LatencyPreferenceLow prefers the lowest-latency model.\nLatencyPreferenceLow LatencyPreference;",
          "documentation": ""
        },
        {
          "name": "type ModelSlot struct",
          "line": 49,
          "signature": "type ModelSlot struct",
          "documentation": ""
        },
        {
          "name": "type ModelTopology struct",
          "line": 87,
          "signature": "type ModelTopology struct",
          "documentation": ""
        },
        {
          "name": "func NewSingleTopology(provider ProviderRef) *ModelTopology",
          "line": 95,
          "signature": "func NewSingleTopology(provider ProviderRef) *ModelTopology",
          "documentation": ""
        },
        {
          "name": "func (t *ModelTopology) Name() string",
          "line": 108,
          "signature": "func (t *ModelTopology) Name() string",
          "documentation": ""
        },
        {
          "name": "func (t *ModelTopology) DefaultRoleName() string",
          "line": 113,
          "signature": "func (t *ModelTopology) DefaultRoleName() string",
          "documentation": ""
        },
        {
          "name": "func (t *ModelTopology) DefaultSlot() ModelSlot",
          "line": 122,
          "signature": "func (t *ModelTopology) DefaultSlot() ModelSlot",
          "documentation": ""
        },
        {
          "name": "func (t *ModelTopology) SlotForRole(role string) ModelSlot",
          "line": 134,
          "signature": "func (t *ModelTopology) SlotForRole(role string) ModelSlot",
          "documentation": ""
        },
        {
          "name": "func (t *ModelTopology) Slots() map[string]ModelSlot",
          "line": 142,
          "signature": "func (t *ModelTopology) Slots() map[string]ModelSlot",
          "documentation": ""
        },
        {
          "name": "func (t *ModelTopology) SortedRoles() []string",
          "line": 151,
          "signature": "func (t *ModelTopology) SortedRoles() []string",
          "documentation": ""
        },
        {
          "name": "func (t *ModelTopology) HasRole(role string) bool",
          "line": 161,
          "signature": "func (t *ModelTopology) HasRole(role string) bool",
          "documentation": ""
        },
        {
          "name": "func (t *ModelTopology) SlotCount() int",
          "line": 167,
          "signature": "func (t *ModelTopology) SlotCount() int",
          "documentation": ""
        },
        {
          "name": "func (t *ModelTopology) AllProviderRefs() []ProviderRef",
          "line": 173,
          "signature": "func (t *ModelTopology) AllProviderRefs() []ProviderRef",
          "documentation": ""
        },
        {
          "name": "type TopologyBuilder struct",
          "line": 198,
          "signature": "type TopologyBuilder struct",
          "documentation": ""
        },
        {
          "name": "func NewTopologyBuilder() *TopologyBuilder",
          "line": 204,
          "signature": "func NewTopologyBuilder() *TopologyBuilder",
          "documentation": ""
        },
        {
          "name": "func (b *TopologyBuilder) Name(name string) *TopologyBuilder",
          "line": 211,
          "signature": "func (b *TopologyBuilder) Name(name string) *TopologyBuilder",
          "documentation": ""
        },
        {
          "name": "func (b *TopologyBuilder) Slot(role string, primary ProviderRef) *TopologyBuilder",
          "line": 219,
          "signature": "func (b *TopologyBuilder) Slot(role string, primary ProviderRef) *TopologyBuilder",
          "documentation": ""
        },
        {
          "name": "func (b *TopologyBuilder) WithFallback(role string, fallback ProviderRef) *TopologyBuilder",
          "line": 230,
          "signature": "func (b *TopologyBuilder) WithFallback(role string, fallback ProviderRef) *TopologyBuilder",
          "documentation": ""
        },
        {
          "name": "func (b *TopologyBuilder) WithRequiredCapability(role string, cap RuntimeCapability) *TopologyBuilder",
          "line": 241,
          "signature": "func (b *TopologyBuilder) WithRequiredCapability(role string, cap RuntimeCapability) *TopologyBuilder",
          "documentation": ""
        },
        {
          "name": "func (b *TopologyBuilder) WithCostPreference(role string, pref CostPreference) *TopologyBuilder",
          "line": 252,
          "signature": "func (b *TopologyBuilder) WithCostPreference(role string, pref CostPreference) *TopologyBuilder",
          "documentation": ""
        },
        {
          "name": "func (b *TopologyBuilder) WithLatencyPreference(role string, pref LatencyPreference) *TopologyBuilder",
          "line": 263,
          "signature": "func (b *TopologyBuilder) WithLatencyPreference(role string, pref LatencyPreference) *TopologyBuilder",
          "documentation": ""
        },
        {
          "name": "func (b *TopologyBuilder) WithScopeNarrowing(role string, scopes []string) *TopologyBuilder",
          "line": 274,
          "signature": "func (b *TopologyBuilder) WithScopeNarrowing(role string, scopes []string) *TopologyBuilder",
          "documentation": ""
        },
        {
          "name": "func (b *TopologyBuilder) Build() (*ModelTopology, error)",
          "line": 285,
          "signature": "func (b *TopologyBuilder) Build() (*ModelTopology, error)",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/core/types.go",
      "sha256": "12fa828133b7394d1d769c00e773bf3e7abb0b36661d7cc2e17b635f1b529b59",
      "artifactSha256": "1ca6488d778b1ae92606f648550fde3f0b009a4d02174c2493d733354151a84e",
      "url": "/reference/source/forge-go/core/types.go.txt",
      "declarations": [
        {
          "name": "type AgentDID struct",
          "line": 17,
          "signature": "type AgentDID struct",
          "documentation": ""
        },
        {
          "name": "func NewAgentDID(did string) (AgentDID, error)",
          "line": 30,
          "signature": "func NewAgentDID(did string) (AgentDID, error)",
          "documentation": ""
        },
        {
          "name": "func NewCanonicalAgentDID(did string) (AgentDID, error)",
          "line": 38,
          "signature": "func NewCanonicalAgentDID(did string) (AgentDID, error)",
          "documentation": ""
        },
        {
          "name": "func (d AgentDID) String() string",
          "line": 53,
          "signature": "func (d AgentDID) String() string",
          "documentation": ""
        },
        {
          "name": "func (d AgentDID) IsZero() bool",
          "line": 58,
          "signature": "func (d AgentDID) IsZero() bool",
          "documentation": ""
        },
        {
          "name": "func (d AgentDID) Namespace() string",
          "line": 63,
          "signature": "func (d AgentDID) Namespace() string",
          "documentation": ""
        },
        {
          "name": "func (d AgentDID) Kind() string",
          "line": 73,
          "signature": "func (d AgentDID) Kind() string",
          "documentation": ""
        },
        {
          "name": "func (d AgentDID) Identifier() string",
          "line": 83,
          "signature": "func (d AgentDID) Identifier() string",
          "documentation": ""
        },
        {
          "name": "type Timestamp struct",
          "line": 141,
          "signature": "type Timestamp struct",
          "documentation": ""
        },
        {
          "name": "func Now() Timestamp",
          "line": 146,
          "signature": "func Now() Timestamp",
          "documentation": ""
        },
        {
          "name": "func NewTimestamp(t time.Time) Timestamp",
          "line": 152,
          "signature": "func NewTimestamp(t time.Time) Timestamp",
          "documentation": ""
        },
        {
          "name": "func ParseTimestamp(s string) (Timestamp, error)",
          "line": 157,
          "signature": "func ParseTimestamp(s string) (Timestamp, error)",
          "documentation": ""
        },
        {
          "name": "func (ts Timestamp) Time() time.Time",
          "line": 170,
          "signature": "func (ts Timestamp) Time() time.Time",
          "documentation": ""
        },
        {
          "name": "func (ts Timestamp) String() string",
          "line": 175,
          "signature": "func (ts Timestamp) String() string",
          "documentation": ""
        },
        {
          "name": "func (ts Timestamp) IsZero() bool",
          "line": 180,
          "signature": "func (ts Timestamp) IsZero() bool",
          "documentation": ""
        },
        {
          "name": "func (ts Timestamp) Before(other Timestamp) bool",
          "line": 185,
          "signature": "func (ts Timestamp) Before(other Timestamp) bool",
          "documentation": ""
        },
        {
          "name": "func (ts Timestamp) After(other Timestamp) bool",
          "line": 190,
          "signature": "func (ts Timestamp) After(other Timestamp) bool",
          "documentation": ""
        },
        {
          "name": "func (ts Timestamp) Since() time.Duration",
          "line": 195,
          "signature": "func (ts Timestamp) Since() time.Duration",
          "documentation": ""
        },
        {
          "name": "func (ts Timestamp) MarshalJSON() ([]byte, error)",
          "line": 200,
          "signature": "func (ts Timestamp) MarshalJSON() ([]byte, error)",
          "documentation": ""
        },
        {
          "name": "func (ts *Timestamp) UnmarshalJSON(data []byte) error",
          "line": 205,
          "signature": "func (ts *Timestamp) UnmarshalJSON(data []byte) error",
          "documentation": ""
        }
      ]
    }
  ]
}
