Interface: ForkOptions
Makaio Framework / contracts / ForkOptions
Interface: ForkOptions
Section titled “Interface: ForkOptions”Defined in: ../../../packages/contracts/src/session/schemas/extension-context.ts:6
Options for forking a session.
Properties
Section titled “Properties”inheritContext?
Section titled “inheritContext?”
optionalinheritContext?:boolean
Defined in: ../../../packages/contracts/src/session/schemas/extension-context.ts:14
Whether to copy parent’s context to child (default: true)
initialMessage?
Section titled “initialMessage?”
optionalinitialMessage?:object
Defined in: ../../../packages/contracts/src/session/schemas/extension-context.ts:12
Initial message for child session
blocks
Section titled “blocks”blocks: {
content:string;type:"text"; } | {source: {data:string;mimeType:string;type:"base64"; } | {mimeType?:string;type:"url";url:string; };type:"image"; } | {source: {data:string;mimeType:string;type:"base64"; } | {mimeType?:string;type:"url";url:string; };type:"document"; } | {attachmentType:"file"|"directory";displayName?:string;fileName:string;filePath:string;source: {data:string;mimeType:string;type:"base64"; } | {mimeType?:string;type:"url";url:string; };type:"attachment"; } | {content:string;metadata?:Record<string,unknown>;type:"reasoning"; } | {args:Record<string,unknown>;name:string;toolCallId:string;type:"tool_call"; } | {isError?:boolean;output:string;toolCallId:string;type:"tool_output"; } | ({content:string;type:"text"; } | {source: {data:string;mimeType:string;type:"base64"; } | {mimeType?:string;type:"url";url:string; };type:"image"; } | {source: {data:string;mimeType:string;type:"base64"; } | {mimeType?:string;type:"url";url:string; };type:"document"; } | {attachmentType:"file"|"directory";displayName?:string;fileName:string;filePath:string;source: {data:string;mimeType:string;type:"base64"; } | {mimeType?:string;type:"url";url:string; };type:"attachment"; } | {content:string;metadata?:Record<string,unknown>;type:"reasoning"; } | {args:Record<string,unknown>;name:string;toolCallId:string;type:"tool_call"; } | {isError?:boolean;output:string;toolCallId:string;type:"tool_output"; })[]
Union Members
Section titled “Union Members”Type Literal
Section titled “Type Literal”{ content: string; type: "text"; }
Type Literal
Section titled “Type Literal”{ source: { data: string; mimeType: string; type: "base64"; } | { mimeType?: string; type: "url"; url: string; }; type: "image"; }
Type Literal
Section titled “Type Literal”{ source: { data: string; mimeType: string; type: "base64"; } | { mimeType?: string; type: "url"; url: string; }; type: "document"; }
Type Literal
Section titled “Type Literal”{ attachmentType: "file" | "directory"; displayName?: string; fileName: string; filePath: string; source: { data: string; mimeType: string; type: "base64"; } | { mimeType?: string; type: "url"; url: string; }; type: "attachment"; }
attachmentType
Section titled “attachmentType”attachmentType:
"file"|"directory"=AttachmentTypeSchema
Whether the attachment is a file or directory
displayName?
Section titled “displayName?”
optionaldisplayName?:string
Optional human-readable display name override
fileName
Section titled “fileName”fileName:
string
Original filename with extension (e.g. “api-spec.yaml”) — for display and type inference
filePath
Section titled “filePath”filePath:
string
Server-side file path — always populated before message reaches adapters
source
Section titled “source”source: {
data:string;mimeType:string;type:"base64"; } | {mimeType?:string;type:"url";url:string; } =ContentSourceSchema
Inline content — base64 for binary, raw string for text
type:
"attachment"
Type Literal
Section titled “Type Literal”{ content: string; metadata?: Record<string, unknown>; type: "reasoning"; }
content
Section titled “content”content:
string
metadata?
Section titled “metadata?”
optionalmetadata?:Record<string,unknown>
Optional provider/runtime metadata for reasoning blocks.
type:
"reasoning"
Type Literal
Section titled “Type Literal”{ args: Record<string, unknown>; name: string; toolCallId: string; type: "tool_call"; }
Type Literal
Section titled “Type Literal”{ isError?: boolean; output: string; toolCallId: string; type: "tool_output"; }
({ content: string; type: "text"; } | { source: { data: string; mimeType: string; type: "base64"; } | { mimeType?: string; type: "url"; url: string; }; type: "image"; } | { source: { data: string; mimeType: string; type: "base64"; } | { mimeType?: string; type: "url"; url: string; }; type: "document"; } | { attachmentType: "file" | "directory"; displayName?: string; fileName: string; filePath: string; source: { data: string; mimeType: string; type: "base64"; } | { mimeType?: string; type: "url"; url: string; }; type: "attachment"; } | { content: string; metadata?: Record<string, unknown>; type: "reasoning"; } | { args: Record<string, unknown>; name: string; toolCallId: string; type: "tool_call"; } | { isError?: boolean; output: string; toolCallId: string; type: "tool_output"; })[]
optionalrole?:"user"|"assistant"|"system"
reason
Section titled “reason”reason:
string
Defined in: ../../../packages/contracts/src/session/schemas/extension-context.ts:8
Why this fork was created (for audit)
targetAgentId?
Section titled “targetAgentId?”
optionaltargetAgentId?:string
Defined in: ../../../packages/contracts/src/session/schemas/extension-context.ts:10
Which agent should handle the child session