effect
Type Aliases
Section titled “Type Aliases”ShiitakeEffectHost
Section titled “ShiitakeEffectHost”ShiitakeEffectHost =
Readonly<{agent:ShiitakeEffectAgent;acceptMail: (Effect.Effect<Accepted,ShiitakeError>>; }>
Effect-native host composition with addressed mail kept off Session.
ModelAcquisitionEffect
Section titled “ModelAcquisitionEffect”ModelAcquisitionEffect =
Readonly<{model:Model<Api>>;stream?:MuleStreamFunction;retryAfterMs?: (message) =>number|undefined;release:Effect.Effect<void,ShiitakeError>>; }>
Effect-native acquired Pi model and finalizer.
ModelSourceEffect
Section titled “ModelSourceEffect”ModelSourceEffect =
Readonly<{acquire: (input) =>Effect.Effect<ModelAcquisitionEffect,ShiitakeError>>; }>
Effect-native model acquisition owner.
InstructionSourceEffect
Section titled “InstructionSourceEffect”InstructionSourceEffect =
Readonly<{load: (input) =>Effect.Effect<InstructionSnapshot,ShiitakeError,Scope.Scope>>; }>
Effect-native instruction snapshot owner.
ToolSourceEffect
Section titled “ToolSourceEffect”ToolSourceEffect =
Readonly<{execution?:ExecutionOptions;modules: readonlyModuleRegistration[];sources: readonlyCapabilitySource[];sandbox:Sandbox; }>
Effect-native Mycelium construction inputs.
RuntimeHostEffect
Section titled “RuntimeHostEffect”RuntimeHostEffect =
Readonly<{bind: (input) =>Effect.Effect<Readonly<{commit: <A>>(mutation) =>Effect.Effect<A,ShiitakeError>>;requestWake:Effect.Effect<void,ShiitakeError>>;close:Effect.Effect<void,ShiitakeError>>; }>,ShiitakeError>>; }>
Effect-native owner for scheduling the opaque durable reconciler.
ShiitakeEffectOptions
Section titled “ShiitakeEffectOptions”ShiitakeEffectOptions =
Readonly<{store:SqliteOwner;hostJobs?:Readonly<{lane:string;open: (runtime) =>Readonly<{execute: (job) =>Effect.Effect<WatchdogExecutionDecision,WatchdogError>>; }>; }>;model:ModelSourceEffect;instructions:InstructionSourceEffect;tools?:ToolSourceEffect;files?:FilesSurface;gateTool?: (input) =>OperationGate;runtime:RuntimeHostEffect;extensions:ExtensionRosterV0;retry?:RetryPolicy;modelStreamIdleTimeoutMs?:number; }>
Validated construction bag for owned Effect composition.
ShiitakeEffectWatch
Section titled “ShiitakeEffectWatch”ShiitakeEffectWatch =
Readonly<{snapshot:SessionSnapshot;changes:Stream.Stream<SessionFrame,ShiitakeError>>;close:Effect.Effect<void,ShiitakeError>>; }>
Effect-native race-safe watch result.
ShiitakeEffectCommandHandler
Section titled “ShiitakeEffectCommandHandler”ShiitakeEffectCommandHandler = {(
input):Effect<Readonly<{status:"accepted";commandId:string; }>,ShiitakeError>>; (input):Effect<CancelResult,ShiitakeError>>; (input):Effect<undefined,ShiitakeError>>; (input):Effect<Readonly<{sessionId:string; }>,ShiitakeError>>; (input):Effect<CancelResult|Readonly<{sessionId:string; }> |undefined,ShiitakeError>>; }
Effect-native addressable Session handle.
Call Signature
Section titled “Call Signature”(
input):Effect<Readonly<{status:"accepted";commandId:string; }>,ShiitakeError>>
Accept one durable prompt command.
Parameters
Section titled “Parameters”delivery
Section titled “delivery”"followUp" | "steer" = PromptDeliverySchema
requestId
Section titled “requestId”string = boundedId
"prompt" = ...
string = PromptTextSchema
Returns
Section titled “Returns”Effect<Readonly<{ status: "accepted"; commandId: string; }>,
ShiitakeError>
Call Signature
Section titled “Call Signature”(
input):Effect<CancelResult,ShiitakeError>>
Cancel one accepted command, or report that it is too late.
Parameters
Section titled “Parameters”commandId
Section titled “commandId”string = boundedId
onlyIfPending?
Section titled “onlyIfPending?”boolean = ...
"cancel" = ...
Returns
Section titled “Returns”Effect<CancelResult,
ShiitakeError>
Call Signature
Section titled “Call Signature”(
input):Effect<undefined,ShiitakeError>>
Abort the active run, select a lineage leaf, or record an operator line.
Parameters
Section titled “Parameters”{ type: "abort"; } | { type: "branch"; entryId: string; } | {
type: "operator"; requestId: string; author: "operator" |
"party"; text: string; }
Returns
Section titled “Returns”Effect<undefined, ShiitakeError>
Call Signature
Section titled “Call Signature”(
input):Effect<Readonly<{sessionId:string; }>,ShiitakeError>>
Fork one complete entry lineage into a new Session.
Parameters
Section titled “Parameters”"fork" = ...
entryId
Section titled “entryId”string = boundedId
Returns
Section titled “Returns”Effect<Readonly<{ sessionId: string; }>,
ShiitakeError>
Call Signature
Section titled “Call Signature”(
input):Effect<CancelResult|Readonly<{sessionId:string; }> |undefined,ShiitakeError>>
Execute an already-decoded command union.
Parameters
Section titled “Parameters”{ delivery: "followUp" | "steer"; requestId: string; type:
"prompt"; text: string; } | { type: "abort"; } | { commandId:
string; onlyIfPending?: boolean; type: "cancel"; } | { type:
"branch"; entryId: string; } | { type: "fork"; entryId: string;
} | { type: "operator"; requestId: string; author: "operator" |
"party"; text: string; }
Returns
Section titled “Returns”Effect<CancelResult | Readonly<{
sessionId: string; }> | undefined,
ShiitakeError>
ShiitakeEffectSendOptions
Section titled “ShiitakeEffectSendOptions”ShiitakeEffectSendOptions =
Readonly<{delivery?:PromptDelivery;requestId?:string; }>
Delivery intent and an optional private retry key for Effect-native sending.
ShiitakeEffectSession
Section titled “ShiitakeEffectSession”ShiitakeEffectSession =
Readonly<{command:ShiitakeEffectCommandHandler;abort:Effect.Effect<void,ShiitakeError>>;send: (text,options?) =>Effect.Effect<Accepted,ShiitakeError>>;cancel: (input) =>Effect.Effect<CancelResult,ShiitakeError>>;extension: (extensionId) =>ShiitakeEffectSessionExtension;modelPreference:Readonly<{read:Effect.Effect<ModelPreference|null,ShiitakeError>>;set: (preference) =>Effect.Effect<void,ShiitakeError>>; }>;read: (input?) =>Effect.Effect<SessionSnapshot,ShiitakeError>>;subscribe: (input) =>Stream.Stream<SessionFrame,ShiitakeError>>;watch: (input?) =>Effect.Effect<ShiitakeEffectWatch,ShiitakeError>>; }>
Effect-native addressable Session handle.
ShiitakeEffectSessionExtension
Section titled “ShiitakeEffectSessionExtension”ShiitakeEffectSessionExtension =
Readonly<{call: (command,input) =>Effect.Effect<Json,ShiitakeError>>; }>
Effect-native Session-scope extension commands.
ShiitakeEffectAgentExtensions
Section titled “ShiitakeEffectAgentExtensions”ShiitakeEffectAgentExtensions =
Readonly<{list:Effect.Effect<readonlyExtensionStatusV0[],ShiitakeError>>;resume: (extensionId) =>Effect.Effect<ExtensionStatusV0,ShiitakeError>>;call: (extensionId,command,input) =>Effect.Effect<Json,ShiitakeError>>; }>
Effect-native Agent-scope extension controls.
ShiitakeEffectAgent
Section titled “ShiitakeEffectAgent”ShiitakeEffectAgent =
Readonly<{createSession: (requestId) =>Effect.Effect<string,ShiitakeError>>;deleteSession: (sessionId) =>Effect.Effect<boolean,ShiitakeError>>;listSessions: (after?) =>Effect.Effect<SessionSummaryPage,ShiitakeError>>;extensions:ShiitakeEffectAgentExtensions;session: (sessionId) =>ShiitakeEffectSession;close:Effect.Effect<void,ShiitakeError>>; }>
Effect-native durable harness.
StoredSessionSummary
Section titled “StoredSessionSummary”StoredSessionSummary =
Readonly<{createdAt:number;updatedAt:number;title:string; }>
Persisted conversation facts; run status belongs to the Session’s owner.
StoredSessionSummaryRow
Section titled “StoredSessionSummaryRow”StoredSessionSummaryRow =
StoredSessionSummary&Readonly<{kind:"session";sessionId:string; }> |Readonly<{kind:"unavailable";sessionId:string; }>
One persisted conversation’s stored facts, or a row that could not be read.
StoredSessionSummaryPage
Section titled “StoredSessionSummaryPage”StoredSessionSummaryPage =
Readonly<{sessions: readonlyStoredSessionSummaryRow[];next:string|undefined; }>
One page of stored conversation facts, in stable Session identity order.
Functions
Section titled “Functions”make()
Section titled “make()”make(
options):Effect<Readonly<{createSession: (requestId) =>Effect<string,ShiitakeError>>;deleteSession: (sessionId) =>Effect<boolean,ShiitakeError>>;listSessions: (after?) =>Effect<Readonly<{sessions: readonlySessionSummaryRow[];next:string|undefined; }>,ShiitakeError>>;extensions:ShiitakeEffectAgentExtensions;session: (sessionId) =>ShiitakeEffectSession;close:Effect<void,ShiitakeError>>; }>,ShiitakeError>>
Construct the canonical Effect-native Shiitake scaffold.
Parameters
Section titled “Parameters”options
Section titled “options”Returns
Section titled “Returns”Effect<Readonly<{ createSession: (requestId) => Effect<string,
ShiitakeError>; deleteSession: (sessionId) =>
Effect<boolean, ShiitakeError>;
listSessions: (after?) => Effect<Readonly<{ sessions: readonly
SessionSummaryRow[]; next: string |
undefined; }>, ShiitakeError>; extensions:
ShiitakeEffectAgentExtensions; session:
(sessionId) => ShiitakeEffectSession; close:
Effect<void, ShiitakeError>; }>,
ShiitakeError>
openHost()
Section titled “openHost()”openHost(
options,mailRoom):Effect<Readonly<{agent:ShiitakeEffectAgent;acceptMail: (Effect<Readonly<{status:"accepted";commandId:string; }>,ShiitakeError>>; }>,ShiitakeError>>
Open the Effect-native host composition with addressed mail.
Parameters
Section titled “Parameters”options
Section titled “options”mailRoom
Section titled “mailRoom”BirdDogEffect
Returns
Section titled “Returns”Effect<Readonly<{ agent: ShiitakeEffectAgent;
acceptMail: (mail) => Effect<Readonly<{ status: "accepted";
commandId: string; }>, ShiitakeError>; }>,
ShiitakeError>
readSessionSummaries()
Section titled “readSessionSummaries()”readSessionSummaries(
owner,after?):Effect<Readonly<{sessions: readonlyStoredSessionSummaryRow[];next:string|undefined; }>,ShiitakeError,never>>
Enumerate saved conversations’ stored facts in bounded pages, for readers that
hold only the store. Run status is not stored; use the Agent’s listSessions
for it. An unreadable Session is its own unavailable row.
Parameters
Section titled “Parameters”after?
Section titled “after?”string
Returns
Section titled “Returns”Effect<Readonly<{ sessions: readonly
StoredSessionSummaryRow[]; next: string |
undefined; }>, ShiitakeError, never>
inspectWoodstockStoreProtocol()
Section titled “inspectWoodstockStoreProtocol()”inspectWoodstockStoreProtocol(
owner):"fresh"|"v0"|"unmarked"
Inspect one unopened store before the file-backed host takes custody.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”"fresh" | "v0" | "unmarked"
References
Section titled “References”AbortCommand
Section titled “AbortCommand”Re-exports AbortCommand
BranchCommand
Section titled “BranchCommand”Re-exports BranchCommand
CancelCommand
Section titled “CancelCommand”Re-exports CancelCommand
CancelResult
Section titled “CancelResult”Re-exports CancelResult
Accepted
Section titled “Accepted”Re-exports Accepted
ForkCommand
Section titled “ForkCommand”Re-exports ForkCommand
ForkedSession
Section titled “ForkedSession”Re-exports ForkedSession
PromptCommand
Section titled “PromptCommand”Re-exports PromptCommand
PromptDelivery
Section titled “PromptDelivery”Re-exports PromptDelivery
ReadOptions
Section titled “ReadOptions”Re-exports ReadOptions
SessionCommand
Section titled “SessionCommand”Re-exports SessionCommand
SessionCommandHandler
Section titled “SessionCommandHandler”Re-exports SessionCommandHandler
SessionFrame
Section titled “SessionFrame”Re-exports SessionFrame
SessionMessage
Section titled “SessionMessage”Re-exports SessionMessage
SessionProgress
Section titled “SessionProgress”Re-exports SessionProgress
SessionSnapshot
Section titled “SessionSnapshot”Re-exports SessionSnapshot
SessionActivity
Section titled “SessionActivity”Re-exports SessionActivity
SubscribeOptions
Section titled “SubscribeOptions”Re-exports SubscribeOptions
TooLate
Section titled “TooLate”Re-exports TooLate
WatchOptions
Section titled “WatchOptions”Re-exports WatchOptions
InstructionSnapshot
Section titled “InstructionSnapshot”Re-exports InstructionSnapshot
InstructionSource
Section titled “InstructionSource”Re-exports InstructionSource
ModelAcquisition
Section titled “ModelAcquisition”Re-exports ModelAcquisition
ModelSource
Section titled “ModelSource”Re-exports ModelSource
RuntimeHost
Section titled “RuntimeHost”Re-exports RuntimeHost
RuntimePendingWork
Section titled “RuntimePendingWork”Re-exports RuntimePendingWork
SqliteCursor
Section titled “SqliteCursor”Re-exports SqliteCursor
SqliteOwner
Section titled “SqliteOwner”Re-exports SqliteOwner
SqliteValue
Section titled “SqliteValue”Re-exports SqliteValue
SqliteRow
Section titled “SqliteRow”Re-exports SqliteRow
ShiitakeOptions
Section titled “ShiitakeOptions”Re-exports ShiitakeOptions
ToolSource
Section titled “ToolSource”Re-exports ToolSource
SessionSummary
Section titled “SessionSummary”Re-exports SessionSummary
BorrowedCompactionViewV0
Section titled “BorrowedCompactionViewV0”Re-exports BorrowedCompactionViewV0
CompactionHandoffErrorV0
Section titled “CompactionHandoffErrorV0”Re-exports CompactionHandoffErrorV0
CompactionHandoffResultV0
Section titled “CompactionHandoffResultV0”Re-exports CompactionHandoffResultV0
CompactionHandoffV0
Section titled “CompactionHandoffV0”Re-exports CompactionHandoffV0
ExtensionCapabilityV0
Section titled “ExtensionCapabilityV0”Re-exports ExtensionCapabilityV0
ExtensionGrantV0
Section titled “ExtensionGrantV0”Re-exports ExtensionGrantV0
ExtensionRosterV0
Section titled “ExtensionRosterV0”Re-exports ExtensionRosterV0
ExtensionSlotV0
Section titled “ExtensionSlotV0”Re-exports ExtensionSlotV0
ExtensionStatusV0
Section titled “ExtensionStatusV0”Re-exports ExtensionStatusV0
RosteredExtensionV0
Section titled “RosteredExtensionV0”Re-exports RosteredExtensionV0
ShiitakeError
Section titled “ShiitakeError”Re-exports ShiitakeError
ModelPreference
Section titled “ModelPreference”Re-exports ModelPreference
SessionSummaryPage
Section titled “SessionSummaryPage”Re-exports SessionSummaryPage
SessionSummaryRow
Section titled “SessionSummaryRow”Re-exports SessionSummaryRow
sqliteRowSchema
Section titled “sqliteRowSchema”Re-exports sqliteRowSchema