DrainDeps
Defined in: src/drain.ts:107
Properties
Section titled “Properties”detectBackend?
Section titled “detectBackend?”
optionaldetectBackend?: () =>SandboxBackend
Defined in: src/drain.ts:156
Sandbox backend probe seam (tests inject so no real bwrap spawns); defaults to the cached real self-test in sandbox.ts. Mirrors SessionService’s seam.
Returns
Section titled “Returns”detectEgressBackend?
Section titled “detectEgressBackend?”
optionaldetectEgressBackend?: () =>EgressBackend
Defined in: src/drain.ts:161
Egress backend probe seam (tests inject so no real netns/dnsmasq spawns); defaults to the cached real self-test in egress.ts. Probed only for an autonomous-profile repo with an FS backend, so a drain-spawned autonomous session is refused-loud when egress is unavailable.
Returns
Section titled “Returns”dropPrCache
Section titled “dropPrCache”dropPrCache: (
id) =>void
Defined in: src/drain.ts:144
→ prPoller.drop(id).
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”void
emitArchived
Section titled “emitArchived”emitArchived: (
id) =>void
Defined in: src/drain.ts:142
→ events.emit(“session:archived”, {id}).
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”void
emitEpic?
Section titled “emitEpic?”
optionalemitEpic?: (epic) =>void
Defined in: src/drain.ts:146
→ events.emit(“epic:update”, epic). Optional — absent in tests that don’t need it.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”void
emitEpicCompleted?
Section titled “emitEpicCompleted?”
optionalemitEpicCompleted?: (epic) =>void
Defined in: src/drain.ts:148
→ events.emit(“epic:completed”, e). Optional — absent in tests that don’t need it.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”void
emitSessionNew?
Section titled “emitSessionNew?”
optionalemitSessionNew?: (s) =>void
Defined in: src/drain.ts:150
→ events.emit(“session:new”, s). Optional — absent in tests that don’t need it.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”void
emitStatus
Section titled “emitStatus”emitStatus: (
status) =>void
Defined in: src/drain.ts:140
→ events.emit(“drain:status”, status).
Parameters
Section titled “Parameters”status
Section titled “status”Returns
Section titled “Returns”void
issuesTtlMs?
Section titled “issuesTtlMs?”
optionalissuesTtlMs?:number
Defined in: src/drain.ts:153
Short cache for listIssues (default 10s).
optionalnow?: () =>number
Defined in: src/drain.ts:151
Returns
Section titled “Returns”number
prCache
Section titled “prCache”prCache:
object
Defined in: src/drain.ts:135
snapshot()
Section titled “snapshot()”snapshot():
Record<string,GitState>
Returns
Section titled “Returns”Record<string, GitState>
repos: () =>
string[]
Defined in: src/drain.ts:138
Candidate repo paths (e.g. listRepos output).
Returns
Section titled “Returns”string[]
resolveForge
Section titled “resolveForge”resolveForge: (
repoPath) =>GitForge|null
Defined in: src/drain.ts:134
Parameters
Section titled “Parameters”repoPath
Section titled “repoPath”string
Returns
Section titled “Returns”GitForge | null
service
Section titled “service”service:
object
Defined in: src/drain.ts:130
archive()
Section titled “archive()”archive(
id):Promise<number>
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”Promise<number>
create()
Section titled “create()”create(
input):Promise<Session>
Parameters
Section titled “Parameters”Returns
Section titled “Returns”Promise<Session>
store:
Pick<SessionStore,"get"|"list"|"getRepoConfig"|"getReview"|"archive"|"getEpicRun"|"setEpicRun"|"getOrInitEpicIntegrationBranch"|"listEpicIntegrated"|"recordEpicIntegrated"|"listEpicIntegratedDetails"|"recordEpicCompleted"|"listEpicCompleted"|"setEpicLandingPr"|"setEpicMigrationPaths"|"recordEpicBaseMismatch"|"clearEpicBaseMismatch"|"getEpicBaseMismatch"|"listEpicBaseMismatches">
Defined in: src/drain.ts:108
usage:
object
Defined in: src/drain.ts:136
limits()
Section titled “limits()”limits(
now):UsageLimits
Parameters
Section titled “Parameters”number