# ctx.agentLoop `AgentLoop` — provided by `@deepseek-ai/dsh-agent-loop`. Concrete agent factory and driver service. [Source](https://github.com/deepseek-harness/deepseek-harness/blob/master/packages/core/agent-loop/src/index.ts#L407) ### ctx.agentLoop.create(id, options?, meta?) ```ts website-api /** * Create an agent and session under one caller-supplied identity, owned by * the accessing fiber. Constructor-driven config calls mint a fresh combined * id before entering this boundary. * @param id - shared agent/session identity. * @param options - concrete loop options. * @param meta - optional fresh-session workspace metadata. * @returns the published running agent. */ create(id: SessionId, options: AgentOptions = {}, meta: Pick = {}): Agent ``` Create an agent and session under one caller-supplied identity, owned by the accessing fiber. Constructor-driven config calls mint a fresh combined id before entering this boundary. - `id` — shared agent/session identity. - `options` — concrete loop options. - `meta` — optional fresh-session workspace metadata. **Returns** the published running agent. [Source](https://github.com/deepseek-harness/deepseek-harness/blob/master/packages/core/agent-loop/src/index.ts#L542) ### ctx.agentLoop.createAgent(ownerCtx, options) ```ts website-api /** * Create an owned agent on a caller-supplied session id. * @param ownerCtx - caller context that structurally owns the transaction. * @param options - identities, session seed/metadata, loop options, setup, and cancellation. * @returns the published handle. */ async createAgent(ownerCtx: Context, options: CreateAgentOptions): Promise ``` Create an owned agent on a caller-supplied session id. - `ownerCtx` — caller context that structurally owns the transaction. - `options` — identities, session seed/metadata, loop options, setup, and cancellation. **Returns** the published handle. [Source](https://github.com/deepseek-harness/deepseek-harness/blob/master/packages/core/agent-loop/src/index.ts#L564) ### ctx.agentLoop.resume(ownerCtx, options) ```ts website-api /** * Resume an owned agent from the configured persistence service. * @param ownerCtx - caller context that owns load, setup, and the live lifecycle. * @param options - persisted identity, loop options, setup, and cancellation. * @returns the published handle. */ async resume(ownerCtx: Context, options: ResumeAgentOptions): Promise ``` Resume an owned agent from the configured persistence service. - `ownerCtx` — caller context that owns load, setup, and the live lifecycle. - `options` — persisted identity, loop options, setup, and cancellation. **Returns** the published handle. [Source](https://github.com/deepseek-harness/deepseek-harness/blob/master/packages/core/agent-loop/src/index.ts#L596)