{
  "name": "github.com/l1fe-labs/forge-go/collab",
  "language": "go",
  "version": "module source snapshot",
  "description": "Go collab package.",
  "manifest": "forge-go/go.mod",
  "manifestSha256": "dee97864d07a64c4c93c79104137d155f0cbae6962945f3b56ceb7744a03cc82",
  "status": "source-reference",
  "registryPublicationVerified": false,
  "route": "/libraries/go/collab",
  "features": {},
  "files": [
    {
      "path": "forge-go/collab/context.go",
      "sha256": "50291fe6c88ad741d0adc8a28a88e1eb3a559abb838e72dfe5be67e33a06bbab",
      "artifactSha256": "4576ada77ff6d83f54880cca676f01c4ba6e2d965e71744462c97c01734a92d5",
      "url": "/reference/source/forge-go/collab/context.go.txt",
      "declarations": [
        {
          "name": "type SharedContextContract interface",
          "line": 12,
          "signature": "type SharedContextContract interface",
          "documentation": ""
        },
        {
          "name": "type InMemorySharedContext struct",
          "line": 29,
          "signature": "type InMemorySharedContext struct",
          "documentation": ""
        },
        {
          "name": "func NewInMemorySharedContext() *InMemorySharedContext",
          "line": 35,
          "signature": "func NewInMemorySharedContext() *InMemorySharedContext",
          "documentation": ""
        },
        {
          "name": "func (c *InMemorySharedContext) CreateSession(sessionID string)",
          "line": 42,
          "signature": "func (c *InMemorySharedContext) CreateSession(sessionID string)",
          "documentation": ""
        },
        {
          "name": "func (c *InMemorySharedContext) ContextRead(sessionID, key string) (ContextEntry, error)",
          "line": 54,
          "signature": "func (c *InMemorySharedContext) ContextRead(sessionID, key string) (ContextEntry, error)",
          "documentation": ""
        },
        {
          "name": "func (c *InMemorySharedContext) ContextWrite(sessionID string, entry ContextEntry) error",
          "line": 72,
          "signature": "func (c *InMemorySharedContext) ContextWrite(sessionID string, entry ContextEntry) error",
          "documentation": ""
        },
        {
          "name": "func (c *InMemorySharedContext) ContextKeys(sessionID string) ([]string, error)",
          "line": 88,
          "signature": "func (c *InMemorySharedContext) ContextKeys(sessionID string) ([]string, error)",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/collab/errors.go",
      "sha256": "89998b39aa52820c9ec4d5d32700fdbe3af404605ba441939d0051f4a8625588",
      "artifactSha256": "7d39e50235d78c66a40db443fd9e435b09f655edad1c1acdb6a1523fa313504a",
      "url": "/reference/source/forge-go/collab/errors.go.txt",
      "declarations": [
        {
          "name": "type CollabError struct",
          "line": 17,
          "signature": "type CollabError struct",
          "documentation": ""
        },
        {
          "name": "type CollabErrorKind string",
          "line": 29,
          "signature": "type CollabErrorKind string\n\nconst (\n// ErrKindSessionNotFound indicates the session does not exist.\nErrKindSessionNotFound CollabErrorKind;",
          "documentation": ""
        },
        {
          "name": "func (e *CollabError) Error() string",
          "line": 73,
          "signature": "func (e *CollabError) Error() string",
          "documentation": ""
        },
        {
          "name": "func (e *CollabError) Unwrap() error",
          "line": 81,
          "signature": "func (e *CollabError) Unwrap() error",
          "documentation": ""
        },
        {
          "name": "func NewSessionNotFoundError(sessionID string) *CollabError",
          "line": 86,
          "signature": "func NewSessionNotFoundError(sessionID string) *CollabError",
          "documentation": ""
        },
        {
          "name": "func NewSessionAlreadyActiveError(sessionID string) *CollabError",
          "line": 94,
          "signature": "func NewSessionAlreadyActiveError(sessionID string) *CollabError",
          "documentation": ""
        },
        {
          "name": "func NewInvalidSessionTransitionError(from, to string) *CollabError",
          "line": 102,
          "signature": "func NewInvalidSessionTransitionError(from, to string) *CollabError",
          "documentation": ""
        },
        {
          "name": "func NewNotAParticipantError(agentDID, sessionID string) *CollabError",
          "line": 110,
          "signature": "func NewNotAParticipantError(agentDID, sessionID string) *CollabError",
          "documentation": ""
        },
        {
          "name": "func NewTaskNotFoundError(taskID string) *CollabError",
          "line": 118,
          "signature": "func NewTaskNotFoundError(taskID string) *CollabError",
          "documentation": ""
        },
        {
          "name": "func NewTaskAlreadyAssignedError(taskID, assignee string) *CollabError",
          "line": 126,
          "signature": "func NewTaskAlreadyAssignedError(taskID, assignee string) *CollabError",
          "documentation": ""
        },
        {
          "name": "func NewCapabilityMismatchError(taskType, agentDID, reason string) *CollabError",
          "line": 134,
          "signature": "func NewCapabilityMismatchError(taskType, agentDID, reason string) *CollabError",
          "documentation": ""
        },
        {
          "name": "func NewContextKeyNotFoundError(key string) *CollabError",
          "line": 142,
          "signature": "func NewContextKeyNotFoundError(key string) *CollabError",
          "documentation": ""
        },
        {
          "name": "func NewContextPermissionDeniedError(key, agentDID string) *CollabError",
          "line": 150,
          "signature": "func NewContextPermissionDeniedError(key, agentDID string) *CollabError",
          "documentation": ""
        },
        {
          "name": "func NewInterruptRejectedError(interruptID, reason string) *CollabError",
          "line": 158,
          "signature": "func NewInterruptRejectedError(interruptID, reason string) *CollabError",
          "documentation": ""
        },
        {
          "name": "func NewDelegationFailedError(reason string) *CollabError",
          "line": 166,
          "signature": "func NewDelegationFailedError(reason string) *CollabError",
          "documentation": ""
        },
        {
          "name": "func NewRoleViolationError(agentDID, role, action string) *CollabError",
          "line": 174,
          "signature": "func NewRoleViolationError(agentDID, role, action string) *CollabError",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/collab/roles.go",
      "sha256": "7a7c0cc7c0abfa8ba1b0d8b63dde3395628d43e1876e075bba67bd4eb16f3dac",
      "artifactSha256": "93f36aecca43f349fad7dc855541fecb9432e719299e7e480d3293c2533e59f8",
      "url": "/reference/source/forge-go/collab/roles.go.txt",
      "declarations": [
        {
          "name": "type CoordinatorContract interface",
          "line": 7,
          "signature": "type CoordinatorContract interface",
          "documentation": ""
        },
        {
          "name": "type WorkerContract interface",
          "line": 25,
          "signature": "type WorkerContract interface",
          "documentation": ""
        },
        {
          "name": "type PeerContract interface",
          "line": 43,
          "signature": "type PeerContract interface",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/collab/session.go",
      "sha256": "0313c519ff0c59211d3d766856f091c136a3ab58a7cc150bb482cd1f8373348a",
      "artifactSha256": "254a97a6b47b83f972c302b62945703462b71b4876b27c9e0eb8694eba7e31b4",
      "url": "/reference/source/forge-go/collab/session.go.txt",
      "declarations": [
        {
          "name": "type SessionTransition struct",
          "line": 43,
          "signature": "type SessionTransition struct",
          "documentation": ""
        },
        {
          "name": "type SessionManager struct",
          "line": 63,
          "signature": "type SessionManager struct",
          "documentation": ""
        },
        {
          "name": "func NewSessionManager(sessionID string, timeoutSeconds int64) *SessionManager",
          "line": 75,
          "signature": "func NewSessionManager(sessionID string, timeoutSeconds int64) *SessionManager",
          "documentation": ""
        },
        {
          "name": "func (sm *SessionManager) Session() CollaborationSession",
          "line": 89,
          "signature": "func (sm *SessionManager) Session() CollaborationSession",
          "documentation": ""
        },
        {
          "name": "func (sm *SessionManager) State() SessionState",
          "line": 100,
          "signature": "func (sm *SessionManager) State() SessionState",
          "documentation": ""
        },
        {
          "name": "func (sm *SessionManager) Transition(target SessionState, reason string) error",
          "line": 112,
          "signature": "func (sm *SessionManager) Transition(target SessionState, reason string) error",
          "documentation": ""
        },
        {
          "name": "func (sm *SessionManager) CanTransitionTo(target SessionState) bool",
          "line": 136,
          "signature": "func (sm *SessionManager) CanTransitionTo(target SessionState) bool",
          "documentation": ""
        },
        {
          "name": "func (sm *SessionManager) AddParticipant(agentDID string, role CollaborationRole)",
          "line": 143,
          "signature": "func (sm *SessionManager) AddParticipant(agentDID string, role CollaborationRole)",
          "documentation": ""
        },
        {
          "name": "func (sm *SessionManager) History() []SessionTransition",
          "line": 154,
          "signature": "func (sm *SessionManager) History() []SessionTransition",
          "documentation": ""
        },
        {
          "name": "type SessionContract interface",
          "line": 166,
          "signature": "type SessionContract interface",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/collab/types.go",
      "sha256": "cd26b1f6aeafe15d26e01ae4aad61b2c75836df1b3e92f4538a12251f734ab4b",
      "artifactSha256": "b5f6cae7958656f47556217bbdd458f5db5ce12e288e503b80befaa047453503",
      "url": "/reference/source/forge-go/collab/types.go.txt",
      "declarations": [
        {
          "name": "type CollaborationRole string",
          "line": 8,
          "signature": "type CollaborationRole string\n\nconst (\n// RoleCoordinator decomposes tasks, assigns work, and aggregates results.\nRoleCoordinator CollaborationRole;",
          "documentation": ""
        },
        {
          "name": "func (r CollaborationRole) String() string",
          "line": 22,
          "signature": "func (r CollaborationRole) String() string",
          "documentation": ""
        },
        {
          "name": "type SessionState string",
          "line": 29,
          "signature": "type SessionState string\n\nconst (\n// SessionProposed indicates the session has been proposed but not yet accepted.\nSessionProposed SessionState;",
          "documentation": ""
        },
        {
          "name": "func (s SessionState) String() string",
          "line": 52,
          "signature": "func (s SessionState) String() string",
          "documentation": ""
        },
        {
          "name": "func (s SessionState) IsTerminal() bool",
          "line": 57,
          "signature": "func (s SessionState) IsTerminal() bool",
          "documentation": ""
        },
        {
          "name": "type TaskPriority string",
          "line": 64,
          "signature": "type TaskPriority string\n\nconst (\n// PriorityCritical is the highest priority.\nPriorityCritical TaskPriority;",
          "documentation": ""
        },
        {
          "name": "type TaskStatus string",
          "line": 83,
          "signature": "type TaskStatus string\n\nconst (\n// TaskPending indicates the task has been created but not yet assigned.\nTaskPending TaskStatus;",
          "documentation": ""
        },
        {
          "name": "type InterruptType string",
          "line": 108,
          "signature": "type InterruptType string\n\nconst (\n// InterruptPriorityOverride overrides the current task with higher priority work.\nInterruptPriorityOverride InterruptType;",
          "documentation": ""
        },
        {
          "name": "type ContextVisibility string",
          "line": 133,
          "signature": "type ContextVisibility string\n\nconst (\n// VisibilitySession makes the entry visible to all session participants.\nVisibilitySession ContextVisibility;",
          "documentation": ""
        },
        {
          "name": "type SessionParticipant struct",
          "line": 149,
          "signature": "type SessionParticipant struct",
          "documentation": ""
        },
        {
          "name": "type CollaborationSession struct",
          "line": 163,
          "signature": "type CollaborationSession struct",
          "documentation": ""
        },
        {
          "name": "type DelegatedTask struct",
          "line": 187,
          "signature": "type DelegatedTask struct",
          "documentation": ""
        },
        {
          "name": "type TaskConstraints struct",
          "line": 223,
          "signature": "type TaskConstraints struct",
          "documentation": ""
        },
        {
          "name": "type TaskResult struct",
          "line": 237,
          "signature": "type TaskResult struct",
          "documentation": ""
        },
        {
          "name": "type TaskProgress struct",
          "line": 257,
          "signature": "type TaskProgress struct",
          "documentation": ""
        },
        {
          "name": "type Interrupt struct",
          "line": 274,
          "signature": "type Interrupt struct",
          "documentation": ""
        },
        {
          "name": "type InterruptResponse struct",
          "line": 297,
          "signature": "type InterruptResponse struct",
          "documentation": ""
        },
        {
          "name": "type ContextEntry struct",
          "line": 311,
          "signature": "type ContextEntry struct",
          "documentation": ""
        },
        {
          "name": "type AgentCapabilityProfile struct",
          "line": 331,
          "signature": "type AgentCapabilityProfile struct",
          "documentation": ""
        }
      ]
    }
  ]
}
