/** * synap versions * =============== * * Answers "what version of each Synap artifact is LOCAL vs NPM vs * CONTROL-PLANE vs POD" in one glance — the question `market update` can't * answer because it only looks at what's already installed on the active pod, * not whether the CP itself is seeded from a stale npm version. That gap is * exactly how a publish can silently fail to propagate (e.g. templates * published to npm 0.6.4 while the CP is still seeded from 0.5.0). * * READ-ONLY: every network call here is a GET (or `npm view`, which never * mutates the registry). No pod/CP mutation, no writes anywhere. * * Reuses rather than re-derives: * - `bundledTemplatesVersion()` (lib/bundle-version.ts) for the LOCAL * workspace-templates version. * - `fetchInstalledTemplates()` (lib/installed.ts) for the POD stamp summary. * - `computeTemplateUpdates`/`isHashVersion` (@synap-core/workspace-templates) * for the actual semver comparison — the same comparator `market update` * already uses. Comparing two bare version strings is done by feeding them * through that door via `compareVersions()` below rather than * hand-rolling a second semver parser. */ export declare function versions(opts?: { json?: boolean; }): Promise;