{
  "name": "com.l1fe.forge:forge-collab",
  "language": "kotlin",
  "version": "0.1.0",
  "description": "Kotlin/JVM forge-collab module.",
  "manifest": "forge-kt/forge-collab/build.gradle.kts",
  "manifestSha256": "8b5916e10980ea5f68d409af2098ed24c0fe9c25ea39acfb2b888790b5c2cba9",
  "status": "source-reference",
  "registryPublicationVerified": false,
  "route": "/libraries/kotlin/forge-collab",
  "features": {},
  "files": [
    {
      "path": "forge-kt/forge-collab/src/main/kotlin/com/l1fe/forge/collab/CapabilityAdvertiser.kt",
      "sha256": "16f2826b60b901126b973060161730ff242f26a1f6db0d5049f81adb9fbcee33",
      "artifactSha256": "59b34dbb92867451a637006e0a81fe83b244107703f95c4245f83491b78c4865",
      "url": "/reference/source/forge-kt/forge-collab/src/main/kotlin/com/l1fe/forge/collab/CapabilityAdvertiser.kt.txt",
      "declarations": [
        {
          "name": "public data class AgentCapability(",
          "line": 28,
          "signature": "public data class AgentCapability(\nval name: String,\nval version: String;",
          "documentation": ""
        },
        {
          "name": "public data class CapabilityAdvertisement(",
          "line": 46,
          "signature": "public data class CapabilityAdvertisement(\n@SerialName(\"agent_did\")\nval agentDid: String,\nval capabilities: List<AgentCapability>,\n@SerialName(\"max_concurrent_tasks\")\nval maxConcurrentTasks: Int;",
          "documentation": ""
        },
        {
          "name": "public class CapabilityAdvertiser",
          "line": 66,
          "signature": "public class CapabilityAdvertiser",
          "documentation": ""
        },
        {
          "name": "public fun publish(advertisement: CapabilityAdvertisement)",
          "line": 76,
          "signature": "public fun publish(advertisement: CapabilityAdvertisement)",
          "documentation": ""
        },
        {
          "name": "public fun withdraw(agentDid: String): Boolean =",
          "line": 86,
          "signature": "public fun withdraw(agentDid: String): Boolean =",
          "documentation": ""
        },
        {
          "name": "public fun getAdvertisement(agentDid: String): CapabilityAdvertisement? =",
          "line": 95,
          "signature": "public fun getAdvertisement(agentDid: String): CapabilityAdvertisement? =",
          "documentation": ""
        },
        {
          "name": "public fun findByCapability(capabilityName: String): List<CapabilityAdvertisement> =",
          "line": 104,
          "signature": "public fun findByCapability(capabilityName: String): List<CapabilityAdvertisement> =",
          "documentation": ""
        },
        {
          "name": "public fun findByAllCapabilities(capabilityNames: Set<String>): List<CapabilityAdvertisement> =",
          "line": 115,
          "signature": "public fun findByAllCapabilities(capabilityNames: Set<String>): List<CapabilityAdvertisement> =",
          "documentation": ""
        },
        {
          "name": "public fun allAdvertisements(): List<CapabilityAdvertisement> =",
          "line": 126,
          "signature": "public fun allAdvertisements(): List<CapabilityAdvertisement> =",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-kt/forge-collab/src/main/kotlin/com/l1fe/forge/collab/CollabError.kt",
      "sha256": "1297c1d54a43e2d3754f5bdce344bc8e5402007800e0e18475255ac3858e9a6d",
      "artifactSha256": "0df1ed6845bb47bbd8220be9a4d02ab69d997564064ae3a8ffc0d57df60690b9",
      "url": "/reference/source/forge-kt/forge-collab/src/main/kotlin/com/l1fe/forge/collab/CollabError.kt.txt",
      "declarations": [
        {
          "name": "public sealed class ForgeCollabError(",
          "line": 17,
          "signature": "public sealed class ForgeCollabError(\nmessage: String,\ncause: Throwable?;",
          "documentation": ""
        },
        {
          "name": "public class SessionNotFound(",
          "line": 27,
          "signature": "public class SessionNotFound(\npublic val sessionId: String,\n) : ForgeCollabError(\"collaboration session '$sessionId' not found\")\n\n/**\n* A session is in an invalid state for the requested operation.\n*\n* ANVIL Spec Section 16.2 -- Session Lifecycle\n*\n* @property sessionId The session identifier.\n* @property currentState The current session state.\n* @property requiredState The required session state.\n*/\npublic class InvalidSessionState(\npublic val sessionId: String,\npublic val currentState: String,\npublic val requiredState: String,\n) : ForgeCollabError(\n\"session '$sessionId' is in state '$currentState' but must be in \" +\n\"'$requiredState' for this operation (see ANVIL Spec SS16.2)\"\n)\n\n/**\n* An agent role assignment failed.\n*\n* ANVIL Spec Section 16.3 -- Role Contracts",
          "documentation": ""
        },
        {
          "name": "public val sessionId: String,",
          "line": 28,
          "signature": "public val sessionId: String,\n) : ForgeCollabError(\"collaboration session '$sessionId' not found\")\n\n/**\n* A session is in an invalid state for the requested operation.\n*\n* ANVIL Spec Section 16.2 -- Session Lifecycle\n*\n* @property sessionId The session identifier.\n* @property currentState The current session state.\n* @property requiredState The required session state.\n*/\npublic class InvalidSessionState(\npublic val sessionId: String,\npublic val currentState: String,\npublic val requiredState: String,\n) : ForgeCollabError(\n\"session '$sessionId' is in state '$currentState' but must be in \" +\n\"'$requiredState' for this operation (see ANVIL Spec SS16.2)\"\n)\n\n/**\n* An agent role assignment failed.\n*\n* ANVIL Spec Section 16.3 -- Role Contracts\n*",
          "documentation": ""
        },
        {
          "name": "public class InvalidSessionState(",
          "line": 40,
          "signature": "public class InvalidSessionState(\npublic val sessionId: String,\npublic val currentState: String,\npublic val requiredState: String,\n) : ForgeCollabError(\n\"session '$sessionId' is in state '$currentState' but must be in \" +\n\"'$requiredState' for this operation (see ANVIL Spec SS16.2)\"\n)\n\n/**\n* An agent role assignment failed.\n*\n* ANVIL Spec Section 16.3 -- Role Contracts\n*\n* @property agentDid The agent's DID.\n* @property role The role that was requested.\n* @property reason The failure reason.\n*/\npublic class RoleAssignmentFailed(\npublic val agentDid: String,\npublic val role: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"role '$role' assignment to agent '$agentDid' failed: $reason \" +\n\"(see ANVIL Spec SS16.3)\"\n)",
          "documentation": ""
        },
        {
          "name": "public val sessionId: String,",
          "line": 41,
          "signature": "public val sessionId: String,\npublic val currentState: String,\npublic val requiredState: String,\n) : ForgeCollabError(\n\"session '$sessionId' is in state '$currentState' but must be in \" +\n\"'$requiredState' for this operation (see ANVIL Spec SS16.2)\"\n)\n\n/**\n* An agent role assignment failed.\n*\n* ANVIL Spec Section 16.3 -- Role Contracts\n*\n* @property agentDid The agent's DID.\n* @property role The role that was requested.\n* @property reason The failure reason.\n*/\npublic class RoleAssignmentFailed(\npublic val agentDid: String,\npublic val role: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"role '$role' assignment to agent '$agentDid' failed: $reason \" +\n\"(see ANVIL Spec SS16.3)\"\n)\n",
          "documentation": ""
        },
        {
          "name": "public val currentState: String,",
          "line": 42,
          "signature": "public val currentState: String,\npublic val requiredState: String,\n) : ForgeCollabError(\n\"session '$sessionId' is in state '$currentState' but must be in \" +\n\"'$requiredState' for this operation (see ANVIL Spec SS16.2)\"\n)\n\n/**\n* An agent role assignment failed.\n*\n* ANVIL Spec Section 16.3 -- Role Contracts\n*\n* @property agentDid The agent's DID.\n* @property role The role that was requested.\n* @property reason The failure reason.\n*/\npublic class RoleAssignmentFailed(\npublic val agentDid: String,\npublic val role: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"role '$role' assignment to agent '$agentDid' failed: $reason \" +\n\"(see ANVIL Spec SS16.3)\"\n)\n\n/**",
          "documentation": ""
        },
        {
          "name": "public val requiredState: String,",
          "line": 43,
          "signature": "public val requiredState: String,\n) : ForgeCollabError(\n\"session '$sessionId' is in state '$currentState' but must be in \" +\n\"'$requiredState' for this operation (see ANVIL Spec SS16.2)\"\n)\n\n/**\n* An agent role assignment failed.\n*\n* ANVIL Spec Section 16.3 -- Role Contracts\n*\n* @property agentDid The agent's DID.\n* @property role The role that was requested.\n* @property reason The failure reason.\n*/\npublic class RoleAssignmentFailed(\npublic val agentDid: String,\npublic val role: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"role '$role' assignment to agent '$agentDid' failed: $reason \" +\n\"(see ANVIL Spec SS16.3)\"\n)\n\n/**\n* A delegation request was rejected.",
          "documentation": ""
        },
        {
          "name": "public class RoleAssignmentFailed(",
          "line": 58,
          "signature": "public class RoleAssignmentFailed(\npublic val agentDid: String,\npublic val role: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"role '$role' assignment to agent '$agentDid' failed: $reason \" +\n\"(see ANVIL Spec SS16.3)\"\n)\n\n/**\n* A delegation request was rejected.\n*\n* ANVIL Spec Section 16.4 -- Delegation\n*\n* @property delegatorDid The delegating agent's DID.\n* @property delegateeDid The target agent's DID.\n* @property taskId The task being delegated.\n* @property reason The rejection reason.\n*/\npublic class DelegationRejected(\npublic val delegatorDid: String,\npublic val delegateeDid: String,\npublic val taskId: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"delegation of task '$taskId' from '$delegatorDid' to '$delegateeDid' \" +",
          "documentation": ""
        },
        {
          "name": "public val agentDid: String,",
          "line": 59,
          "signature": "public val agentDid: String,\npublic val role: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"role '$role' assignment to agent '$agentDid' failed: $reason \" +\n\"(see ANVIL Spec SS16.3)\"\n)\n\n/**\n* A delegation request was rejected.\n*\n* ANVIL Spec Section 16.4 -- Delegation\n*\n* @property delegatorDid The delegating agent's DID.\n* @property delegateeDid The target agent's DID.\n* @property taskId The task being delegated.\n* @property reason The rejection reason.\n*/\npublic class DelegationRejected(\npublic val delegatorDid: String,\npublic val delegateeDid: String,\npublic val taskId: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"delegation of task '$taskId' from '$delegatorDid' to '$delegateeDid' \" +\n\"rejected: $reason (see ANVIL Spec SS16.4)\"",
          "documentation": ""
        },
        {
          "name": "public val role: String,",
          "line": 60,
          "signature": "public val role: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"role '$role' assignment to agent '$agentDid' failed: $reason \" +\n\"(see ANVIL Spec SS16.3)\"\n)\n\n/**\n* A delegation request was rejected.\n*\n* ANVIL Spec Section 16.4 -- Delegation\n*\n* @property delegatorDid The delegating agent's DID.\n* @property delegateeDid The target agent's DID.\n* @property taskId The task being delegated.\n* @property reason The rejection reason.\n*/\npublic class DelegationRejected(\npublic val delegatorDid: String,\npublic val delegateeDid: String,\npublic val taskId: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"delegation of task '$taskId' from '$delegatorDid' to '$delegateeDid' \" +\n\"rejected: $reason (see ANVIL Spec SS16.4)\"\n)",
          "documentation": ""
        },
        {
          "name": "public val reason: String,",
          "line": 61,
          "signature": "public val reason: String,\n) : ForgeCollabError(\n\"role '$role' assignment to agent '$agentDid' failed: $reason \" +\n\"(see ANVIL Spec SS16.3)\"\n)\n\n/**\n* A delegation request was rejected.\n*\n* ANVIL Spec Section 16.4 -- Delegation\n*\n* @property delegatorDid The delegating agent's DID.\n* @property delegateeDid The target agent's DID.\n* @property taskId The task being delegated.\n* @property reason The rejection reason.\n*/\npublic class DelegationRejected(\npublic val delegatorDid: String,\npublic val delegateeDid: String,\npublic val taskId: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"delegation of task '$taskId' from '$delegatorDid' to '$delegateeDid' \" +\n\"rejected: $reason (see ANVIL Spec SS16.4)\"\n)\n",
          "documentation": ""
        },
        {
          "name": "public class DelegationRejected(",
          "line": 77,
          "signature": "public class DelegationRejected(\npublic val delegatorDid: String,\npublic val delegateeDid: String,\npublic val taskId: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"delegation of task '$taskId' from '$delegatorDid' to '$delegateeDid' \" +\n\"rejected: $reason (see ANVIL Spec SS16.4)\"\n)\n\n/**\n* A shared context operation failed.\n*\n* @property sessionId The session identifier.\n* @property key The context key that caused the error.\n* @property reason The failure reason.\n*/\npublic class SharedContextError(\npublic val sessionId: String,\npublic val key: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"shared context error in session '$sessionId' for key '$key': $reason\"\n)\n\n/**",
          "documentation": ""
        },
        {
          "name": "public val delegatorDid: String,",
          "line": 78,
          "signature": "public val delegatorDid: String,\npublic val delegateeDid: String,\npublic val taskId: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"delegation of task '$taskId' from '$delegatorDid' to '$delegateeDid' \" +\n\"rejected: $reason (see ANVIL Spec SS16.4)\"\n)\n\n/**\n* A shared context operation failed.\n*\n* @property sessionId The session identifier.\n* @property key The context key that caused the error.\n* @property reason The failure reason.\n*/\npublic class SharedContextError(\npublic val sessionId: String,\npublic val key: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"shared context error in session '$sessionId' for key '$key': $reason\"\n)\n\n/**\n* An interrupt could not be delivered.",
          "documentation": ""
        },
        {
          "name": "public val delegateeDid: String,",
          "line": 79,
          "signature": "public val delegateeDid: String,\npublic val taskId: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"delegation of task '$taskId' from '$delegatorDid' to '$delegateeDid' \" +\n\"rejected: $reason (see ANVIL Spec SS16.4)\"\n)\n\n/**\n* A shared context operation failed.\n*\n* @property sessionId The session identifier.\n* @property key The context key that caused the error.\n* @property reason The failure reason.\n*/\npublic class SharedContextError(\npublic val sessionId: String,\npublic val key: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"shared context error in session '$sessionId' for key '$key': $reason\"\n)\n\n/**\n* An interrupt could not be delivered.\n*",
          "documentation": ""
        },
        {
          "name": "public val taskId: String,",
          "line": 80,
          "signature": "public val taskId: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"delegation of task '$taskId' from '$delegatorDid' to '$delegateeDid' \" +\n\"rejected: $reason (see ANVIL Spec SS16.4)\"\n)\n\n/**\n* A shared context operation failed.\n*\n* @property sessionId The session identifier.\n* @property key The context key that caused the error.\n* @property reason The failure reason.\n*/\npublic class SharedContextError(\npublic val sessionId: String,\npublic val key: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"shared context error in session '$sessionId' for key '$key': $reason\"\n)\n\n/**\n* An interrupt could not be delivered.\n*\n* ANVIL Spec Section 16.5 -- Interrupts",
          "documentation": ""
        },
        {
          "name": "public val reason: String,",
          "line": 81,
          "signature": "public val reason: String,\n) : ForgeCollabError(\n\"delegation of task '$taskId' from '$delegatorDid' to '$delegateeDid' \" +\n\"rejected: $reason (see ANVIL Spec SS16.4)\"\n)\n\n/**\n* A shared context operation failed.\n*\n* @property sessionId The session identifier.\n* @property key The context key that caused the error.\n* @property reason The failure reason.\n*/\npublic class SharedContextError(\npublic val sessionId: String,\npublic val key: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"shared context error in session '$sessionId' for key '$key': $reason\"\n)\n\n/**\n* An interrupt could not be delivered.\n*\n* ANVIL Spec Section 16.5 -- Interrupts\n*",
          "documentation": ""
        },
        {
          "name": "public class SharedContextError(",
          "line": 94,
          "signature": "public class SharedContextError(\npublic val sessionId: String,\npublic val key: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"shared context error in session '$sessionId' for key '$key': $reason\"\n)\n\n/**\n* An interrupt could not be delivered.\n*\n* ANVIL Spec Section 16.5 -- Interrupts\n*\n* @property targetDid The target agent's DID.\n* @property interruptType The type of interrupt.\n* @property reason The failure reason.\n*/\npublic class InterruptFailed(\npublic val targetDid: String,\npublic val interruptType: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"interrupt '$interruptType' to agent '$targetDid' failed: $reason \" +\n\"(see ANVIL Spec SS16.5)\"\n)\n}",
          "documentation": ""
        },
        {
          "name": "public val sessionId: String,",
          "line": 95,
          "signature": "public val sessionId: String,\npublic val key: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"shared context error in session '$sessionId' for key '$key': $reason\"\n)\n\n/**\n* An interrupt could not be delivered.\n*\n* ANVIL Spec Section 16.5 -- Interrupts\n*\n* @property targetDid The target agent's DID.\n* @property interruptType The type of interrupt.\n* @property reason The failure reason.\n*/\npublic class InterruptFailed(\npublic val targetDid: String,\npublic val interruptType: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"interrupt '$interruptType' to agent '$targetDid' failed: $reason \" +\n\"(see ANVIL Spec SS16.5)\"\n)\n}",
          "documentation": ""
        },
        {
          "name": "public val key: String,",
          "line": 96,
          "signature": "public val key: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"shared context error in session '$sessionId' for key '$key': $reason\"\n)\n\n/**\n* An interrupt could not be delivered.\n*\n* ANVIL Spec Section 16.5 -- Interrupts\n*\n* @property targetDid The target agent's DID.\n* @property interruptType The type of interrupt.\n* @property reason The failure reason.\n*/\npublic class InterruptFailed(\npublic val targetDid: String,\npublic val interruptType: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"interrupt '$interruptType' to agent '$targetDid' failed: $reason \" +\n\"(see ANVIL Spec SS16.5)\"\n)\n}",
          "documentation": ""
        },
        {
          "name": "public val reason: String,",
          "line": 97,
          "signature": "public val reason: String,\n) : ForgeCollabError(\n\"shared context error in session '$sessionId' for key '$key': $reason\"\n)\n\n/**\n* An interrupt could not be delivered.\n*\n* ANVIL Spec Section 16.5 -- Interrupts\n*\n* @property targetDid The target agent's DID.\n* @property interruptType The type of interrupt.\n* @property reason The failure reason.\n*/\npublic class InterruptFailed(\npublic val targetDid: String,\npublic val interruptType: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"interrupt '$interruptType' to agent '$targetDid' failed: $reason \" +\n\"(see ANVIL Spec SS16.5)\"\n)\n}",
          "documentation": ""
        },
        {
          "name": "public class InterruptFailed(",
          "line": 111,
          "signature": "public class InterruptFailed(\npublic val targetDid: String,\npublic val interruptType: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"interrupt '$interruptType' to agent '$targetDid' failed: $reason \" +\n\"(see ANVIL Spec SS16.5)\"\n)\n}",
          "documentation": ""
        },
        {
          "name": "public val targetDid: String,",
          "line": 112,
          "signature": "public val targetDid: String,\npublic val interruptType: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"interrupt '$interruptType' to agent '$targetDid' failed: $reason \" +\n\"(see ANVIL Spec SS16.5)\"\n)\n}",
          "documentation": ""
        },
        {
          "name": "public val interruptType: String,",
          "line": 113,
          "signature": "public val interruptType: String,\npublic val reason: String,\n) : ForgeCollabError(\n\"interrupt '$interruptType' to agent '$targetDid' failed: $reason \" +\n\"(see ANVIL Spec SS16.5)\"\n)\n}",
          "documentation": ""
        },
        {
          "name": "public val reason: String,",
          "line": 114,
          "signature": "public val reason: String,\n) : ForgeCollabError(\n\"interrupt '$interruptType' to agent '$targetDid' failed: $reason \" +\n\"(see ANVIL Spec SS16.5)\"\n)\n}",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-kt/forge-collab/src/main/kotlin/com/l1fe/forge/collab/CollaborationTypes.kt",
      "sha256": "16b32bbde96f66d6b4d043cf04a12da63cbef50a1e173fa7afad2fec52725fac",
      "artifactSha256": "974c67ba01c26daacc75a5f62f236dc2cb526fb8cafd68062c82ccdf22855350",
      "url": "/reference/source/forge-kt/forge-collab/src/main/kotlin/com/l1fe/forge/collab/CollaborationTypes.kt.txt",
      "declarations": [
        {
          "name": "public enum class SessionState(public val value: String)",
          "line": 21,
          "signature": "public enum class SessionState(public val value: String)",
          "documentation": ""
        },
        {
          "name": "public fun isTerminal(): Boolean;",
          "line": 52,
          "signature": "public fun isTerminal(): Boolean;",
          "documentation": ""
        },
        {
          "name": "public enum class CollaborationRole",
          "line": 61,
          "signature": "public enum class CollaborationRole",
          "documentation": ""
        },
        {
          "name": "public data class SessionParticipant(",
          "line": 102,
          "signature": "public data class SessionParticipant(\n@SerialName(\"agent_did\")\nval agentDid: String,\nval role: CollaborationRole,\nval capabilities: Set<String>;",
          "documentation": ""
        },
        {
          "name": "public enum class TaskStatus",
          "line": 117,
          "signature": "public enum class TaskStatus",
          "documentation": ""
        },
        {
          "name": "public data class CollaborationTask(",
          "line": 160,
          "signature": "public data class CollaborationTask(\nval id: String,\nval description: String,\n@SerialName(\"assignee_did\")\nval assigneeDid: String?;",
          "documentation": ""
        },
        {
          "name": "public enum class InterruptType",
          "line": 182,
          "signature": "public enum class InterruptType",
          "documentation": ""
        },
        {
          "name": "public data class Interrupt(",
          "line": 218,
          "signature": "public data class Interrupt(\nval id: String,\n@SerialName(\"target_did\")\nval targetDid: String,\nval type: InterruptType,\nval reason: String,\nval payload: String?;",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-kt/forge-collab/src/main/kotlin/com/l1fe/forge/collab/Delegation.kt",
      "sha256": "7c18cb784192494646e321e684dacd14acf140232947121f0f058cd5569b3285",
      "artifactSha256": "afc012484cb4fb14814111281fe1fa8f5e5f776a605f241aea20cad613046cf9",
      "url": "/reference/source/forge-kt/forge-collab/src/main/kotlin/com/l1fe/forge/collab/Delegation.kt.txt",
      "declarations": [
        {
          "name": "public class DelegationManager(",
          "line": 24,
          "signature": "public class DelegationManager(\nprivate val sessionId: String,\n)",
          "documentation": ""
        },
        {
          "name": "public fun createTask(",
          "line": 40,
          "signature": "public fun createTask(\nid: String,\ndescription: String,\ndelegatorDid: String,\npriority: Int;",
          "documentation": ""
        },
        {
          "name": "public fun assignTask(taskId: String, assigneeDid: String): CollaborationTask",
          "line": 68,
          "signature": "public fun assignTask(taskId: String, assigneeDid: String): CollaborationTask",
          "documentation": ""
        },
        {
          "name": "public fun startTask(taskId: String): CollaborationTask",
          "line": 98,
          "signature": "public fun startTask(taskId: String): CollaborationTask",
          "documentation": ""
        },
        {
          "name": "public fun completeTask(taskId: String, result: String): CollaborationTask",
          "line": 115,
          "signature": "public fun completeTask(taskId: String, result: String): CollaborationTask",
          "documentation": ""
        },
        {
          "name": "public fun failTask(taskId: String, reason: String): CollaborationTask",
          "line": 133,
          "signature": "public fun failTask(taskId: String, reason: String): CollaborationTask",
          "documentation": ""
        },
        {
          "name": "public fun getTask(taskId: String): CollaborationTask?;",
          "line": 150,
          "signature": "public fun getTask(taskId: String): CollaborationTask?;",
          "documentation": ""
        },
        {
          "name": "public fun allTasks(): List<CollaborationTask>;",
          "line": 157,
          "signature": "public fun allTasks(): List<CollaborationTask>;",
          "documentation": ""
        },
        {
          "name": "public fun tasksByStatus(status: TaskStatus): List<CollaborationTask> =",
          "line": 165,
          "signature": "public fun tasksByStatus(status: TaskStatus): List<CollaborationTask> =",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-kt/forge-collab/src/main/kotlin/com/l1fe/forge/collab/InterruptHandler.kt",
      "sha256": "69f3a8d92c381694df743a85570568f4fca5b77bb1f8ed4fc21891077cbdcfcf",
      "artifactSha256": "5cefa06d000a98ea31b5411fe14ee94c5a5915b0db78640e857bda0891b18b95",
      "url": "/reference/source/forge-kt/forge-collab/src/main/kotlin/com/l1fe/forge/collab/InterruptHandler.kt.txt",
      "declarations": [
        {
          "name": "public fun interface InterruptReceiver",
          "line": 19,
          "signature": "public fun interface InterruptReceiver",
          "documentation": ""
        },
        {
          "name": "public suspend fun onInterrupt(interrupt: Interrupt)",
          "line": 25,
          "signature": "public suspend fun onInterrupt(interrupt: Interrupt)\n}\n\n/**\n* Dispatches interrupt signals to registered agent handlers.\n*\n* Thread-safe. Agents register receivers identified by their DID,\n* and the dispatcher routes interrupts to the appropriate receiver.\n*\n* ANVIL Spec Section 16.5\n*/\npublic class InterruptDispatcher",
          "documentation": ""
        },
        {
          "name": "public class InterruptDispatcher",
          "line": 36,
          "signature": "public class InterruptDispatcher",
          "documentation": ""
        },
        {
          "name": "public fun register(agentDid: String, receiver: InterruptReceiver)",
          "line": 45,
          "signature": "public fun register(agentDid: String, receiver: InterruptReceiver)",
          "documentation": ""
        },
        {
          "name": "public fun unregister(agentDid: String)",
          "line": 54,
          "signature": "public fun unregister(agentDid: String)",
          "documentation": ""
        },
        {
          "name": "public suspend fun dispatch(interrupt: Interrupt)",
          "line": 66,
          "signature": "public suspend fun dispatch(interrupt: Interrupt)",
          "documentation": ""
        },
        {
          "name": "public fun hasReceiver(agentDid: String): Boolean;",
          "line": 82,
          "signature": "public fun hasReceiver(agentDid: String): Boolean;",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-kt/forge-collab/src/main/kotlin/com/l1fe/forge/collab/RoleContracts.kt",
      "sha256": "f69f4d1aa8e452252d61385599658798f439cdb197e4993a2bbbf07111a3583a",
      "artifactSha256": "fb0d2cb77fd65e269b79f07e7bd5268a0e6826f7f47079b6d36a22c508207bdb",
      "url": "/reference/source/forge-kt/forge-collab/src/main/kotlin/com/l1fe/forge/collab/RoleContracts.kt.txt",
      "declarations": [
        {
          "name": "public interface CoordinatorContract",
          "line": 20,
          "signature": "public interface CoordinatorContract",
          "documentation": ""
        },
        {
          "name": "public suspend fun distributeTask(",
          "line": 32,
          "signature": "public suspend fun distributeTask(\ntask: CollaborationTask,\nparticipants: List<SessionParticipant>,\n): String?\n\n/**\n* Handle a completed task from a worker.\n*\n* @param task The completed task with result.\n*/\npublic suspend fun onTaskCompleted(task: CollaborationTask)\n\n/**\n* Handle a failed task from a worker.\n*\n* @param task The failed task.\n* @param reason The failure reason.\n*/\npublic suspend fun onTaskFailed(task: CollaborationTask, reason: String)\n\n/**\n* Determine whether the session should complete.\n*\n* @param tasks All tasks in the session.\n* @return `true` if the session should transition to completing.\n*/",
          "documentation": ""
        },
        {
          "name": "public suspend fun onTaskCompleted(task: CollaborationTask)",
          "line": 42,
          "signature": "public suspend fun onTaskCompleted(task: CollaborationTask)\n\n/**\n* Handle a failed task from a worker.\n*\n* @param task The failed task.\n* @param reason The failure reason.\n*/\npublic suspend fun onTaskFailed(task: CollaborationTask, reason: String)\n\n/**\n* Determine whether the session should complete.\n*\n* @param tasks All tasks in the session.\n* @return `true` if the session should transition to completing.\n*/\npublic suspend fun shouldComplete(tasks: List<CollaborationTask>): Boolean\n}\n\n/**\n* Contract for an agent acting as a worker.\n*\n* Workers execute delegated tasks and report results back to\n* the coordinator.\n*\n* ANVIL Spec Section 16.3",
          "documentation": ""
        },
        {
          "name": "public suspend fun onTaskFailed(task: CollaborationTask, reason: String)",
          "line": 50,
          "signature": "public suspend fun onTaskFailed(task: CollaborationTask, reason: String)\n\n/**\n* Determine whether the session should complete.\n*\n* @param tasks All tasks in the session.\n* @return `true` if the session should transition to completing.\n*/\npublic suspend fun shouldComplete(tasks: List<CollaborationTask>): Boolean\n}\n\n/**\n* Contract for an agent acting as a worker.\n*\n* Workers execute delegated tasks and report results back to\n* the coordinator.\n*\n* ANVIL Spec Section 16.3\n*/\npublic interface WorkerContract",
          "documentation": ""
        },
        {
          "name": "public suspend fun shouldComplete(tasks: List<CollaborationTask>): Boolean",
          "line": 58,
          "signature": "public suspend fun shouldComplete(tasks: List<CollaborationTask>): Boolean\n}\n\n/**\n* Contract for an agent acting as a worker.\n*\n* Workers execute delegated tasks and report results back to\n* the coordinator.\n*\n* ANVIL Spec Section 16.3\n*/\npublic interface WorkerContract",
          "documentation": ""
        },
        {
          "name": "public interface WorkerContract",
          "line": 69,
          "signature": "public interface WorkerContract",
          "documentation": ""
        },
        {
          "name": "public suspend fun executeTask(task: CollaborationTask): String",
          "line": 78,
          "signature": "public suspend fun executeTask(task: CollaborationTask): String\n\n/**\n* Whether the worker can accept a new task.\n*\n* Workers may reject tasks if they are at capacity or lack\n* the required capabilities.\n*\n* @param task The proposed task.\n* @return `true` if the worker can accept the task.\n*/\npublic suspend fun canAccept(task: CollaborationTask): Boolean\n\n/**\n* Handle an interrupt from the coordinator.\n*\n* @param interrupt The interrupt signal.\n*/\npublic suspend fun onInterrupt(interrupt: Interrupt)\n}\n\n/**\n* Contract for an agent acting as a reviewer.\n*\n* Reviewers validate the outputs of workers before the coordinator\n* accepts them.",
          "documentation": ""
        },
        {
          "name": "public suspend fun canAccept(task: CollaborationTask): Boolean",
          "line": 89,
          "signature": "public suspend fun canAccept(task: CollaborationTask): Boolean\n\n/**\n* Handle an interrupt from the coordinator.\n*\n* @param interrupt The interrupt signal.\n*/\npublic suspend fun onInterrupt(interrupt: Interrupt)\n}\n\n/**\n* Contract for an agent acting as a reviewer.\n*\n* Reviewers validate the outputs of workers before the coordinator\n* accepts them.\n*\n* ANVIL Spec Section 16.3\n*/\npublic interface ReviewerContract",
          "documentation": ""
        },
        {
          "name": "public suspend fun onInterrupt(interrupt: Interrupt)",
          "line": 96,
          "signature": "public suspend fun onInterrupt(interrupt: Interrupt)\n}\n\n/**\n* Contract for an agent acting as a reviewer.\n*\n* Reviewers validate the outputs of workers before the coordinator\n* accepts them.\n*\n* ANVIL Spec Section 16.3\n*/\npublic interface ReviewerContract",
          "documentation": ""
        },
        {
          "name": "public interface ReviewerContract",
          "line": 107,
          "signature": "public interface ReviewerContract",
          "documentation": ""
        },
        {
          "name": "public suspend fun review(task: CollaborationTask): ReviewResult",
          "line": 115,
          "signature": "public suspend fun review(task: CollaborationTask): ReviewResult\n}\n\n/**\n* The result of a task review.\n*\n* ANVIL Spec Section 16.3\n*/\npublic sealed class ReviewResult",
          "documentation": ""
        },
        {
          "name": "public sealed class ReviewResult",
          "line": 123,
          "signature": "public sealed class ReviewResult",
          "documentation": ""
        },
        {
          "name": "public data class Approved(val feedback: String;",
          "line": 130,
          "signature": "public data class Approved(val feedback: String;",
          "documentation": ""
        },
        {
          "name": "public data class Rejected(",
          "line": 138,
          "signature": "public data class Rejected(\nval reason: String,\nval suggestions: List<String>;",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-kt/forge-collab/src/main/kotlin/com/l1fe/forge/collab/SessionManager.kt",
      "sha256": "d05a128f7d8e291c88dcd2661062d43b3d7880ea8abd5cd092f8605d2fca8d00",
      "artifactSha256": "782eec2a25f5e09ab3259faaa82efa39f078fc80e5e85584508375d455f905ce",
      "url": "/reference/source/forge-kt/forge-collab/src/main/kotlin/com/l1fe/forge/collab/SessionManager.kt.txt",
      "declarations": [
        {
          "name": "public data class CollaborationSession(",
          "line": 32,
          "signature": "public data class CollaborationSession(\nval id: String,\nval name: String,\nval state: SessionState;",
          "documentation": ""
        },
        {
          "name": "public class SessionManager",
          "line": 53,
          "signature": "public class SessionManager",
          "documentation": ""
        },
        {
          "name": "public fun createSession(",
          "line": 68,
          "signature": "public fun createSession(\nid: String,\nname: String,\ncoordinatorDid: String,\n): CollaborationSession",
          "documentation": ""
        },
        {
          "name": "public fun getSession(sessionId: String): CollaborationSession?;",
          "line": 94,
          "signature": "public fun getSession(sessionId: String): CollaborationSession?;",
          "documentation": ""
        },
        {
          "name": "public fun requireSession(sessionId: String): CollaborationSession =",
          "line": 103,
          "signature": "public fun requireSession(sessionId: String): CollaborationSession =",
          "documentation": ""
        },
        {
          "name": "public fun addParticipant(",
          "line": 119,
          "signature": "public fun addParticipant(\nsessionId: String,\nparticipant: SessionParticipant,\n): CollaborationSession",
          "documentation": ""
        },
        {
          "name": "public fun transitionSession(",
          "line": 150,
          "signature": "public fun transitionSession(\nsessionId: String,\nnewState: SessionState,\n): CollaborationSession",
          "documentation": ""
        },
        {
          "name": "public fun addTask(",
          "line": 192,
          "signature": "public fun addTask(\nsessionId: String,\ntask: CollaborationTask,\n): CollaborationSession",
          "documentation": ""
        },
        {
          "name": "public fun activeSessions(): List<CollaborationSession> =",
          "line": 217,
          "signature": "public fun activeSessions(): List<CollaborationSession> =",
          "documentation": ""
        },
        {
          "name": "public fun removeSession(sessionId: String): Boolean =",
          "line": 226,
          "signature": "public fun removeSession(sessionId: String): Boolean =",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-kt/forge-collab/src/main/kotlin/com/l1fe/forge/collab/SharedContext.kt",
      "sha256": "503b4493ea0b4d4b2d06dba83e73f905a6ecb0b933f17ec69ae4334f25ebc035",
      "artifactSha256": "15da6e2765c01b03ba8063203f1213ac335ff4ce9a2d9173469befdbcce5469c",
      "url": "/reference/source/forge-kt/forge-collab/src/main/kotlin/com/l1fe/forge/collab/SharedContext.kt.txt",
      "declarations": [
        {
          "name": "public data class ContextEntry(",
          "line": 29,
          "signature": "public data class ContextEntry(\nval key: String,\nval value: String,\nval version: Long;",
          "documentation": ""
        },
        {
          "name": "public class SharedContext(",
          "line": 49,
          "signature": "public class SharedContext(\nprivate val sessionId: String,\n)",
          "documentation": ""
        },
        {
          "name": "public fun get(key: String): ContextEntry?;",
          "line": 60,
          "signature": "public fun get(key: String): ContextEntry?;",
          "documentation": ""
        },
        {
          "name": "public fun require(key: String): ContextEntry =",
          "line": 69,
          "signature": "public fun require(key: String): ContextEntry =",
          "documentation": ""
        },
        {
          "name": "public fun set(key: String, value: String, authorDid: String): ContextEntry",
          "line": 88,
          "signature": "public fun set(key: String, value: String, authorDid: String): ContextEntry",
          "documentation": ""
        },
        {
          "name": "public fun compareAndSet(",
          "line": 120,
          "signature": "public fun compareAndSet(\nkey: String,\nvalue: String,\nexpectedVersion: Long,\nauthorDid: String,\n): ContextEntry",
          "documentation": ""
        },
        {
          "name": "public fun remove(key: String): ContextEntry?;",
          "line": 143,
          "signature": "public fun remove(key: String): ContextEntry?;",
          "documentation": ""
        },
        {
          "name": "public fun entries(): List<ContextEntry>;",
          "line": 150,
          "signature": "public fun entries(): List<ContextEntry>;",
          "documentation": ""
        },
        {
          "name": "public fun size(): Int;",
          "line": 157,
          "signature": "public fun size(): Int;",
          "documentation": ""
        },
        {
          "name": "public fun clear()",
          "line": 162,
          "signature": "public fun clear()",
          "documentation": ""
        }
      ]
    }
  ]
}
