Lookup placement board — coordinator advice for nodeless / Hyperlink.lookupClient dial.
v1: last-write-wins, in-memory, no advisor ACL. Algorithms stay app-owned (who calls advise); Lookup only stores and surfaces the preference.
export class class Adviceclass Advice {
key: Identifier;
Service: {
advise: (payload: { serviceKey: string; prefer: string }) => Effect.Effect<string, never, never>;
clear: (payload: { serviceKey: string }) => Effect.Effect<boolean, never, never>;
preferred: (payload: { serviceKey: string }) => Effect.Effect<Option.Option<string>, never, never>;
};
}
Lookup placement board — coordinator advice for nodeless /
Hyperlink.lookupClient
dial.
v1: last-write-wins, in-memory, no advisor ACL. Algorithms stay app-owned (who calls
advise
); Lookup only stores and surfaces the preference.
Advice extends import HyperlinkHyperlink.Tag<Advice>(): SchemaTagBuilder<Advice> (+2 overloads)
export Tag
Schema-driven solo: infer the service from spec; bare
local
is a compile error.
Tag<class Adviceclass Advice {
key: Identifier;
Service: {
advise: (payload: { serviceKey: string; prefer: string }) => Effect.Effect<string, never, never>;
clear: (payload: { serviceKey: string }) => Effect.Effect<boolean, never, never>;
preferred: (payload: { serviceKey: string }) => Effect.Effect<Option.Option<string>, never, never>;
};
}
Lookup placement board — coordinator advice for nodeless /
Hyperlink.lookupClient
dial.
v1: last-write-wins, in-memory, no advisor ACL. Algorithms stay app-owned (who calls
advise
); Lookup only stores and surfaces the preference.
Advice>()(
"hyperlink-ts/Lookup/Advice",
const adviceSpec: {
advise: Hyperlink.Method<typeof AdviseRequest, Schema.String, Schema.Never, false, Hyperlink.MethodAnnotations & {
description: string;
}, Hyperlink.Derive>;
clear: Hyperlink.Method<typeof ClearAdviceRequest, Schema.Boolean, Schema.Never, false, Hyperlink.MethodAnnotations & {
description: string;
}, Hyperlink.Derive>;
preferred: Hyperlink.Method<typeof PreferredRequest, Schema.Option<Schema.String>, Schema.Never, false, Hyperlink.MethodAnnotations & {
...;
}, Hyperlink.Derive>;
}
adviceSpec,
{ kind?: string | undefinedkind },
) {}