/** * @reticlehq/core — the wire contract at the bottom of the Reticle graph (zod its only dependency). * * API-stability note: the exports below the divider are INTERNAL cross-package plumbing — they are * cross-package plumbing so the other @reticlehq/* packages share one implementation, NOT a stable surface * for outside consumers. They can change in a minor release. Depend on the STABLE section for anything * outside this monorepo. * * Two of those internal groups now have their own entry points, so a Node-side importer can name the * half of core it depends on instead of pulling the whole surface: * * - `@reticlehq/core/artifacts` — on-disk + registry formats (see ./artifacts-entry.ts) * - `@reticlehq/core/telemetry` — the analytics wire (see ./telemetry-entry.ts) * * This root entry point still exports everything it did before — the subpaths are additive, and * removing a name from here would be a breaking change to a published package. The boundary that is * actually ENFORCED is the one the browser SDK must not cross: `core-boundary.test.ts` in * @reticlehq/browser fails if adapters/realm/browser/src imports any artifacts-group name from * '@reticlehq/core'. That test, not this comment, is what keeps the DOM side off the Node-side * plumbing. */ export * from './artifacts/flow-order.js'; export * from './artifacts/flow-select.js'; export * from './artifacts/flow-unreached.js'; export * from './artifacts/flow-mutation-target.js'; export * from './wire/constants/constants.js'; export * from './identity/source-constants.js'; export * from './wire/event-classification.js'; export * from './wire/global-press.js'; export * from './verdict/verified-constants.js'; export * from './verdict/verify-progress.js'; export * from './wire/constants/session-constants.js'; export * from './identity/document-identity.js'; export * from './identity/edit-epoch.js'; export * from './wire/messages.js'; export * from './wire/event-payloads.js'; export * from './wire/event-priority.js'; export * from './artifacts/flow-constants.js'; export * from './artifacts/flow-types.js'; export * from './artifacts/step-effect.js'; export * from './artifacts/flow-composition.js'; export * from './verdict/verification-run.js'; export * from './wire/types.js'; export * from './identity/brand.js'; export * from './wire/net.js'; export * from './verdict/findings.js'; export * from './wire/desktop-contract.js'; export * from './verdict/consequence.js'; export * from './identity/project-id.js'; export * from './words/notices.js'; export * from './artifacts/journal.js'; export * from './words/browser-misdirect.js'; export * from './registry/daemon-registry.js'; export * from './registry/dev-server-registry.js'; export * from './registry/project-registry.js'; export * from './verdict/intent.js'; export * from './verdict/run-context.js'; export * from './verdict/instrumentation-gap.js'; export * from './verdict/security.js'; export * from './wire/redaction.js'; export * from './wire/state-select.js'; export * from './wire/toon.js'; export * from './words/upgrade.js'; export * from './telemetry.js'; export * from './words/no-session-reason.js'; export * from './telemetry-refusal.js'; export * from './wire/narrow.js'; export * from './wire/tool-names.js'; export * from './wire/platform.js'; export * from './wire/channel.js'; export * from './verdict/revision.js'; export * from './realm/registry.js'; export * from './telemetry-session.js'; export * from './telemetry-license.js'; export * from './telemetry-feedback.js'; export * from './artifacts/impact.js'; export * from './artifacts/impact-savings.js'; export { CONTRACT_FINGERPRINT, CONTRACT_PARTS, fnv1a, fingerprintOf, } from './identity/contract-fingerprint.js'; export { fingerprintFinding, type FindingIdentity } from './verdict/finding-fingerprint.js'; export * from './words/unreachable-notice.js';