MonitoredDependencySpec<Status, Change>Wire spec for a monitoredDependency — status effect + changes stream.
export type type MonitoredDependencySpec<
Status extends Schema.Top,
Change extends Schema.Top
> = {
readonly status: Method<
undefined,
Status,
Schema.Never
>
readonly changes: Method<
undefined,
Change,
Schema.Never,
true
>
}
Wire spec for a
monitoredDependency
— status effect + changes stream.
MonitoredDependencySpec<
function (type parameter) Status in type MonitoredDependencySpec<Status extends Schema.Top, Change extends Schema.Top>Status extends import SchemaSchema.Top,
function (type parameter) Change in type MonitoredDependencySpec<Status extends Schema.Top, Change extends Schema.Top>Change extends import SchemaSchema.Top,
> = {
readonly status: Method<undefined, Status, Schema.Never>(property) status: {
kind: MethodKind;
payload: P;
success: Su;
error: E;
stream: Str;
annotations: Ann;
annotate: <A extends MethodAnnotations>(annotations: A) => Method<P, Su, E, Str, Ann & A, Client>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
status: interface Method<P extends Schema.Struct.Fields | Schema.Top | undefined, Su extends Schema.Top, E extends Schema.Top, Str extends boolean = false, Ann extends MethodAnnotations = MethodAnnotations, Client = Derive>One method of a resource contract — built by
effect
/
effectFn
/
Hyperlink.stream
. Carries its kind, schemas
(payload / success / error), whether it's a stream (a push source vs a one-shot
read), and tool annotations. .annotate({...}) returns a copy with merged annotations,
mirroring Effect's schema idiom.
For a streaming method, success is the element schema and error is the stream
error schema — they become an RpcSchema.Stream on the wire, and the service member
surfaces as a Stream rather than an Effect.
Method<undefined, function (type parameter) Status in type MonitoredDependencySpec<Status extends Schema.Top, Change extends Schema.Top>Status, import SchemaSchema.Never>;
readonly changes: Method<
undefined,
Change,
Schema.Never,
true
>
(property) changes: {
kind: MethodKind;
payload: P;
success: Su;
error: E;
stream: Str;
annotations: Ann;
annotate: <A extends MethodAnnotations>(annotations: A) => Method<P, Su, E, Str, Ann & A, Client>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
changes: interface Method<P extends Schema.Struct.Fields | Schema.Top | undefined, Su extends Schema.Top, E extends Schema.Top, Str extends boolean = false, Ann extends MethodAnnotations = MethodAnnotations, Client = Derive>One method of a resource contract — built by
effect
/
effectFn
/
Hyperlink.stream
. Carries its kind, schemas
(payload / success / error), whether it's a stream (a push source vs a one-shot
read), and tool annotations. .annotate({...}) returns a copy with merged annotations,
mirroring Effect's schema idiom.
For a streaming method, success is the element schema and error is the stream
error schema — they become an RpcSchema.Stream on the wire, and the service member
surfaces as a Stream rather than an Effect.
Method<undefined, function (type parameter) Change in type MonitoredDependencySpec<Status extends Schema.Top, Change extends Schema.Top>Change, import SchemaSchema.Never, true>;
};