/** * SDK-side spec builder: CompiledDomain → serialize → Graph. * * Serializes BoundMethod[] into FunctionSchema[], generates entries for * inherited methods not covered by the domain's handlers, then delegates * to serialize() for graph blueprint generation. * * Domain-side Methods are remote-bound: dispatch routes through * `binding.remoteUrl` and never reaches the kernel sandbox. We therefore * do NOT stamp `code` on emitted FunctionSchema entries — there is no * sandbox-eval'able body. Only the kernel domain (compiled in-process) * carries `code` strings. * * The emitted graph is absolute — the Tree produced by `serialize()` is * already mounted at `/`, so `tree.toGraph()` lifts every internal * relative path into its host-graph absolute form. Wire serialization is the * caller's responsibility (`graph.toWire()`). */ import type { WireGraph } from '@astrale-os/kernel-core'; import type { Schema } from '@astrale-os/kernel-dsl'; import type { RemoteDomain } from './define.js'; /** * Build the install-ready wire graph for a domain served at `url`: materialize * the domain at its real serving URL (so every binding carries the live URL — * the define-time compile carries none), serialize, and emit the wire form. * This is the graph the kernel installs and re-hashes to verify. There is no * url-less variant: an install graph without bindings is uninstallable (the * kernel install guard rejects it). */ export declare function buildInstallGraph(domain: RemoteDomain, url: string): WireGraph; /** * Content hash of the install graph. Delegates the canonical hash to kernel-core's * `hashInstallGraph` — the same algorithm the kernel re-runs on install to verify * the received graph against the signed hash. */ export declare function buildInstallGraphHash(domain: RemoteDomain, url: string): Promise; //# sourceMappingURL=build-spec.d.ts.map