@nicia-ai/typegraph 0.67.1 → 0.68.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -922,6 +922,12 @@ declare const MERGE_ERROR_CODES: {
922
922
  readonly evidence: "GRAPH_MERGE_EVIDENCE";
923
923
  readonly candidateWriteSet: "GRAPH_MERGE_CANDIDATE_WRITE_SET";
924
924
  readonly review: "GRAPH_MERGE_REVIEW";
925
+ readonly operation: "GRAPH_MERGE_OPERATION";
926
+ readonly operationRequest: "GRAPH_MERGE_OPERATION_REQUEST";
927
+ readonly operationConflict: "GRAPH_MERGE_OPERATION_CONFLICT";
928
+ readonly operationUnsupported: "GRAPH_MERGE_OPERATION_UNSUPPORTED";
929
+ readonly operationEvidence: "GRAPH_MERGE_OPERATION_EVIDENCE";
930
+ readonly operationUndelivered: "GRAPH_MERGE_OPERATION_UNDELIVERED";
925
931
  };
926
932
  /**
927
933
  * Options shared by every merge error. Mirrors the relevant subset of
@@ -1074,6 +1080,58 @@ declare class MatchEvidenceError extends MergeError {
1074
1080
  readonly code: "GRAPH_MERGE_EVIDENCE";
1075
1081
  constructor(message: string, options?: MergeErrorOptions);
1076
1082
  }
1083
+ /**
1084
+ * Generic operational failure raised while orchestrating a durable-branch
1085
+ * operation, such as a strategy transport or host failure.
1086
+ */
1087
+ declare class DurableOperationError extends MergeError {
1088
+ readonly code: string;
1089
+ constructor(message: string, options?: MergeErrorOptions);
1090
+ }
1091
+ /** Raised when a durable-operation request or descriptor is invalid. */
1092
+ declare class DurableOperationRequestError extends DurableOperationError {
1093
+ protected static readonly errorCategory = "user";
1094
+ readonly code: "GRAPH_MERGE_OPERATION_REQUEST";
1095
+ constructor(message: string, options?: MergeErrorOptions);
1096
+ }
1097
+ /**
1098
+ * Raised when an idempotency key is reused with a different operation digest.
1099
+ * The previously committed operation is returned untouched; the new request is
1100
+ * refused before any graph mutation or evidence write.
1101
+ */
1102
+ declare class DurableOperationConflictError extends DurableOperationError {
1103
+ protected static readonly errorCategory = "constraint";
1104
+ readonly code: "GRAPH_MERGE_OPERATION_CONFLICT";
1105
+ constructor(message: string, options?: MergeErrorOptions);
1106
+ }
1107
+ /**
1108
+ * Raised when a host cannot provide the atomic mutation-plus-evidence
1109
+ * guarantee. It carries the dimensions the host cannot honor. The portable
1110
+ * fallback is refusal; TypeGraph never emulates atomicity with callbacks or
1111
+ * best effort.
1112
+ */
1113
+ declare class DurableOperationUnsupportedError extends DurableOperationError {
1114
+ protected static readonly errorCategory = "user";
1115
+ readonly code: "GRAPH_MERGE_OPERATION_UNSUPPORTED";
1116
+ constructor(message: string, options?: MergeErrorOptions);
1117
+ }
1118
+ /** Raised when a host returns malformed or request-inconsistent evidence. */
1119
+ declare class DurableOperationEvidenceError extends DurableOperationError {
1120
+ readonly code: "GRAPH_MERGE_OPERATION_EVIDENCE";
1121
+ constructor(message: string, options?: MergeErrorOptions);
1122
+ }
1123
+ /**
1124
+ * Raised when archive/destroy is fenced by undelivered operation evidence.
1125
+ *
1126
+ * Extends {@link BranchError} so the established `destroyDurableBranch` result
1127
+ * type already transports it: a strategy that refuses destruction while
1128
+ * undelivered evidence remains preserves that refusal to the caller instead of
1129
+ * having it flattened into a generic branch failure.
1130
+ */
1131
+ declare class DurableEvidenceUndeliveredError extends BranchError {
1132
+ readonly code: "GRAPH_MERGE_OPERATION_UNDELIVERED";
1133
+ constructor(message: string, options?: MergeErrorOptions);
1134
+ }
1077
1135
 
1078
1136
  /**
1079
1137
  * Pluggable working-copy strategy: how `branch()` produces an isolated,
@@ -1780,6 +1838,230 @@ declare function planCandidateWriteSetReview<G extends GraphDef>(args: PlanCandi
1780
1838
  */
1781
1839
  declare function revalidateCandidateWriteSetReview<G extends GraphDef>(args: RevalidateCandidateWriteSetReviewArgs<G>): Promise<Result<MergeReviewRevalidation, MergeError>>;
1782
1840
 
1841
+ /**
1842
+ * Durable-branch operations: a generic, backend-neutral facility for a durable
1843
+ * host to combine an opaque graph mutation with immutable operation evidence in
1844
+ * ONE host transaction.
1845
+ *
1846
+ * The facility is deliberately the same shape as the optional host-native merge
1847
+ * command ({@link import("./durable-merge").applyDurableMergePlan}): TypeGraph
1848
+ * owns descriptor validation, sealed-origin attestation, request
1849
+ * canonicalization, and evidence validation; the host owns the database
1850
+ * mechanics. A strategy that cannot combine the mutation and its evidence in a
1851
+ * single atomic unit returns `unsupported` BEFORE touching the host, and
1852
+ * TypeGraph refuses rather than emulating atomicity with callbacks or best
1853
+ * effort.
1854
+ *
1855
+ * WHAT IS OPAQUE. Both `metadata` and `mutation` are JSON-safe host values.
1856
+ * TypeGraph never interprets their application fields; it canonicalizes them to
1857
+ * derive {@link DurableBranchOperation.operationDigest} and otherwise carries
1858
+ * them through untouched. `metadata` is retained as evidence; `mutation` is the
1859
+ * host's own description of the graph change it must apply (for example a
1860
+ * serialized statement or a host-defined command) atomically with the evidence
1861
+ * row.
1862
+ *
1863
+ * IDEMPOTENCY. The digest is derived from the complete request content
1864
+ * (`mutation` plus `metadata`) with the repository's canonical JSON serializer.
1865
+ * The strategy is handed the digest and MUST treat `(idempotencyKey)` as the
1866
+ * unique key: identical key AND digest returns the previously committed
1867
+ * evidence without re-applying; identical key with a different digest fails
1868
+ * with {@link DurableOperationConflictError} and mutates nothing.
1869
+ *
1870
+ * DELIVERY AND DESTRUCTION. Evidence is delivered explicitly via
1871
+ * {@link markDurableOperationDelivered}. Archive/destroy is fenced on
1872
+ * undelivered evidence: a strategy MUST refuse destruction while undelivered
1873
+ * evidence remains, and the refusal is preserved through
1874
+ * {@link import("./durable-branch").destroyDurableBranch} as a
1875
+ * {@link DurableEvidenceUndeliveredError}. Concurrent `operate` and `destroy`
1876
+ * are serialized by the host's own transaction: either the operation commits
1877
+ * first (destroy observes undelivered evidence and refuses) or destroy commits
1878
+ * first (the operation fails against the removed allocation). No partial state
1879
+ * is ever observable.
1880
+ *
1881
+ * CURSORS. {@link scanDurableOperations} returns evidence in a stable total
1882
+ * order the strategy defines (commit order, ties broken deterministically).
1883
+ * `cursor` is an opaque continuation token; pass it back as `after` to resume.
1884
+ * A missing `cursor` means the scan reached the end.
1885
+ */
1886
+
1887
+ /** Default page size for {@link scanDurableOperations}. */
1888
+ declare const DURABLE_OPERATION_SCAN_DEFAULT_LIMIT = 100;
1889
+ /** Largest page a single {@link scanDurableOperations} call may request. */
1890
+ declare const DURABLE_OPERATION_SCAN_MAX_LIMIT = 1000;
1891
+ /**
1892
+ * The dimensions whose absence a strategy reports through the `unsupported`
1893
+ * outcome. Each names a guarantee TypeGraph will not fake.
1894
+ */
1895
+ type DurableOperationUnsupportedDimension = "atomicMutation" | "evidenceStore" | "host";
1896
+ /**
1897
+ * The caller's operation request. `idempotencyKey` identifies the operation;
1898
+ * `mutation` is the host's opaque, JSON-safe description of the graph change;
1899
+ * `metadata` is opaque, JSON-safe host evidence TypeGraph never interprets.
1900
+ */
1901
+ type DurableBranchOperationRequest = Readonly<{
1902
+ idempotencyKey: string;
1903
+ metadata: JsonValue;
1904
+ mutation: JsonValue;
1905
+ }>;
1906
+ /**
1907
+ * The canonical operation handed to the strategy: the request plus the
1908
+ * TypeGraph-derived digest the strategy must use for idempotency.
1909
+ */
1910
+ type DurableBranchOperation = Readonly<{
1911
+ idempotencyKey: string;
1912
+ operationDigest: string;
1913
+ metadata: JsonValue;
1914
+ mutation: JsonValue;
1915
+ }>;
1916
+ /**
1917
+ * A branch's content coordinates at one point. `base` is the
1918
+ * merge-visible base-version fingerprint (as produced by
1919
+ * `computeBaseVersion`); `revision` is the engine revision when the working
1920
+ * copy resolves lineage.
1921
+ */
1922
+ type DurableBranchCoordinates = Readonly<{
1923
+ base: BaseVersion;
1924
+ revision?: EngineRevision | undefined;
1925
+ }>;
1926
+ /**
1927
+ * Immutable evidence of one committed operation. `delivered` is the only
1928
+ * mutating dimension, and it moves in one direction (`false` → `true`) under
1929
+ * {@link DurableOperationCapability.markDelivered}. A newly `applied`
1930
+ * operation must return `false`; an exact `replayed` operation returns its
1931
+ * current committed delivery state.
1932
+ */
1933
+ type DurableBranchOperationEvidence = Readonly<{
1934
+ idempotencyKey: string;
1935
+ operationDigest: string;
1936
+ metadata: JsonValue;
1937
+ mutation: JsonValue;
1938
+ before: DurableBranchCoordinates;
1939
+ after: DurableBranchCoordinates;
1940
+ delivered: boolean;
1941
+ }>;
1942
+ /** One stable-order page of evidence returned by {@link scanDurableOperations}. */
1943
+ type DurableOperationScan = Readonly<{
1944
+ operations: readonly DurableBranchOperationEvidence[];
1945
+ /** Opaque continuation token; absent when the scan reached the end. */
1946
+ cursor?: string | undefined;
1947
+ }>;
1948
+ /** Outcome of an atomic operation attempt. */
1949
+ type DurableOperationOutcome = Readonly<{
1950
+ outcome: "applied" | "replayed";
1951
+ evidence: DurableBranchOperationEvidence;
1952
+ }> | Readonly<{
1953
+ outcome: "unsupported";
1954
+ dimensions: readonly [
1955
+ DurableOperationUnsupportedDimension,
1956
+ ...DurableOperationUnsupportedDimension[]
1957
+ ];
1958
+ }>;
1959
+ /**
1960
+ * The optional host capability behind `DurableWorkingCopyStrategy.operations`.
1961
+ *
1962
+ * Every member receives the opaque locator AND the caller's expected origin, so
1963
+ * the host attests the sealed origin exactly as it does for reopen, destroy,
1964
+ * and native merge. TypeGraph validates the descriptor before any member is
1965
+ * called.
1966
+ */
1967
+ type DurableOperationCapability<TStoreDescriptor extends DurableStoreDescriptor = DurableStoreDescriptor> = Readonly<{
1968
+ /**
1969
+ * Atomically applies `request.mutation` and records evidence, or returns
1970
+ * `unsupported` having executed no host SQL or mutation.
1971
+ *
1972
+ * The host MUST:
1973
+ * 1. attest `expectedOrigin` against the allocation `descriptor` names;
1974
+ * 2. return the previously committed evidence unchanged when
1975
+ * `(idempotencyKey, operationDigest)` matches a committed operation,
1976
+ * applying nothing;
1977
+ * 3. refuse with {@link DurableOperationConflictError} when the key exists
1978
+ * with a different digest, applying nothing; and
1979
+ * 4. otherwise apply the mutation and undelivered evidence in ONE
1980
+ * transaction, returning `outcome: "applied"` with `delivered: false`.
1981
+ */
1982
+ operate: (args: Readonly<{
1983
+ descriptor: TStoreDescriptor;
1984
+ expectedOrigin: DurableBranchOrigin;
1985
+ request: DurableBranchOperation;
1986
+ }>) => Promise<DurableOperationOutcome>;
1987
+ /** Reads one operation's evidence, or `undefined` when never committed. */
1988
+ get: (args: Readonly<{
1989
+ descriptor: TStoreDescriptor;
1990
+ expectedOrigin: DurableBranchOrigin;
1991
+ idempotencyKey: string;
1992
+ }>) => Promise<DurableBranchOperationEvidence | undefined>;
1993
+ /**
1994
+ * Reads evidence in the strategy's stable total order. `after` resumes from
1995
+ * a previous page's `cursor`; `limit` bounds the page.
1996
+ */
1997
+ scan: (args: Readonly<{
1998
+ descriptor: TStoreDescriptor;
1999
+ expectedOrigin: DurableBranchOrigin;
2000
+ after?: string | undefined;
2001
+ limit: number;
2002
+ }>) => Promise<DurableOperationScan>;
2003
+ /**
2004
+ * Marks one operation delivered. MUST be idempotent: marking an
2005
+ * already-delivered operation returns the same evidence and writes nothing.
2006
+ * Returns `undefined` when the operation does not exist.
2007
+ */
2008
+ markDelivered: (args: Readonly<{
2009
+ descriptor: TStoreDescriptor;
2010
+ expectedOrigin: DurableBranchOrigin;
2011
+ idempotencyKey: string;
2012
+ }>) => Promise<DurableBranchOperationEvidence | undefined>;
2013
+ /** Whether any committed evidence is still undelivered. */
2014
+ hasUndelivered: (args: Readonly<{
2015
+ descriptor: TStoreDescriptor;
2016
+ expectedOrigin: DurableBranchOrigin;
2017
+ }>) => Promise<boolean>;
2018
+ }>;
2019
+ /**
2020
+ * Derives the operation digest from its canonical content. The digest covers
2021
+ * the complete request except the idempotency key, so reusing a key with a
2022
+ * different mutation OR different metadata conflicts.
2023
+ */
2024
+ declare function computeDurableOperationDigest(request: DurableBranchOperationRequest): Promise<string>;
2025
+ /**
2026
+ * Atomically applies an opaque graph mutation and commits its evidence through
2027
+ * the strategy's optional `operations.operate` capability.
2028
+ *
2029
+ * Descriptor format/type/version validation and the sealed-origin attestation
2030
+ * are exactly those of reopen, destroy, and native merge: TypeGraph validates
2031
+ * the envelope and hands the caller's expected origin to the host, which
2032
+ * attests it inside its own transaction. A strategy without the capability
2033
+ * yields the `unsupported` outcome with no host call.
2034
+ */
2035
+ declare function operateDurableBranch<G extends GraphDef, TStoreDescriptor extends DurableStoreDescriptor = DurableStoreDescriptor>(descriptor: DurableBranchDescriptor<TStoreDescriptor>, strategy: DurableWorkingCopyStrategy<G, TStoreDescriptor>, request: DurableBranchOperationRequest): Promise<Result<DurableOperationOutcome, DurableOperationError>>;
2036
+ /**
2037
+ * Reads one operation's evidence. Returns `undefined` when the operation was
2038
+ * never committed. A strategy without evidence access is an explicit typed
2039
+ * refusal.
2040
+ */
2041
+ declare function getDurableOperation<G extends GraphDef, TStoreDescriptor extends DurableStoreDescriptor = DurableStoreDescriptor>(descriptor: DurableBranchDescriptor<TStoreDescriptor>, strategy: DurableWorkingCopyStrategy<G, TStoreDescriptor>, idempotencyKey: string): Promise<Result<DurableBranchOperationEvidence | undefined, DurableOperationError>>;
2042
+ /**
2043
+ * Reads evidence in a stable order. `after` resumes from a previous page's
2044
+ * `cursor`; `limit` defaults to {@link DURABLE_OPERATION_SCAN_DEFAULT_LIMIT}
2045
+ * and may not exceed {@link DURABLE_OPERATION_SCAN_MAX_LIMIT}. The returned
2046
+ * `cursor` is absent at the end of the scan.
2047
+ */
2048
+ declare function scanDurableOperations<G extends GraphDef, TStoreDescriptor extends DurableStoreDescriptor = DurableStoreDescriptor>(descriptor: DurableBranchDescriptor<TStoreDescriptor>, strategy: DurableWorkingCopyStrategy<G, TStoreDescriptor>, options?: Readonly<{
2049
+ after?: string | undefined;
2050
+ limit?: number | undefined;
2051
+ }>): Promise<Result<DurableOperationScan, DurableOperationError>>;
2052
+ /**
2053
+ * Marks one operation delivered, idempotently. Marking an already-delivered
2054
+ * operation returns the same evidence without writing. Returns `undefined` when
2055
+ * the operation does not exist.
2056
+ */
2057
+ declare function markDurableOperationDelivered<G extends GraphDef, TStoreDescriptor extends DurableStoreDescriptor = DurableStoreDescriptor>(descriptor: DurableBranchDescriptor<TStoreDescriptor>, strategy: DurableWorkingCopyStrategy<G, TStoreDescriptor>, idempotencyKey: string): Promise<Result<DurableBranchOperationEvidence | undefined, DurableOperationError>>;
2058
+ /**
2059
+ * Reports whether any committed evidence is still undelivered. Archive/destroy
2060
+ * must fence on this; the strategy enforces the fence atomically, this is the
2061
+ * queryable half.
2062
+ */
2063
+ declare function durableBranchHasUndeliveredEvidence<G extends GraphDef, TStoreDescriptor extends DurableStoreDescriptor = DurableStoreDescriptor>(descriptor: DurableBranchDescriptor<TStoreDescriptor>, strategy: DurableWorkingCopyStrategy<G, TStoreDescriptor>): Promise<Result<boolean, DurableOperationError>>;
2064
+
1783
2065
  /**
1784
2066
  * Durable working-copy branches: a JSON-serializable descriptor for a
1785
2067
  * PERSISTENT working copy plus reopen / destroy operations over it.
@@ -2056,6 +2338,21 @@ type DurableWorkingCopyStrategy<G extends GraphDef, TStoreDescriptor extends Dur
2056
2338
  expectedOrigin: DurableBranchOrigin;
2057
2339
  plan: MergePlanArtifactV1;
2058
2340
  }>) => Promise<NativeDurableMergeResult>) | undefined;
2341
+ /**
2342
+ * Optional atomic operation + evidence capability.
2343
+ *
2344
+ * When present, {@link import("./durable-operation").operateDurableBranch}
2345
+ * commits the host's opaque graph mutation and its immutable evidence in one
2346
+ * host transaction, keyed by idempotency. `destroy` MUST additionally refuse
2347
+ * to remove the allocation while undelivered evidence remains, throwing
2348
+ * {@link DurableEvidenceUndeliveredError}; closing a branch handle still only
2349
+ * releases the connection.
2350
+ *
2351
+ * A strategy that cannot provide the atomic guarantee MUST omit this
2352
+ * capability (or return `unsupported` from `operate`) rather than emulating
2353
+ * atomicity with callbacks or best effort. See `durable-operation.ts`.
2354
+ */
2355
+ operations?: DurableOperationCapability<TStoreDescriptor> | undefined;
2059
2356
  }>;
2060
2357
  /**
2061
2358
  * A normal {@link GraphBranch} paired with the serializable descriptor that
@@ -2623,4 +2920,4 @@ type KeylessConfig = Readonly<{
2623
2920
  sortFields: readonly string[];
2624
2921
  }>;
2625
2922
 
2626
- export { type ApplyDurableMergePlanArgs, type BaseAmbiguity, type BaseNodeLookup, type BaseVersion, BaseVersionMismatchError, BranchError, type BranchId, type BranchOptions, type BranchProvenance, CANDIDATE_WRITE_SET_FORMAT_VERSION, type CandidateDiagnostic, type CandidateDiagnostics, type CandidateDiagnosticsOptions, type CandidateSource, CandidateSourceError, type CandidateWriteSet, CandidateWriteSetError, CandidateWriteSetSchema, type CandidateWriteSetTarget, CandidateWriteSetTargetSchema, type ComparisonCeilingPolicy, type ConflictingValue, type DeleteModifyConflict, type DeleteModifyPolicy, type DroppedItem, type DurableBranch, type DurableBranchDescriptor, type DurableBranchOrigin, type DurableStoreDescriptor, type DurableWorkingCopyAccess, type DurableWorkingCopyStrategy, type Embedder, type EntityRef, type EntityResolution, type ForkHandle, type ForkedWorkingCopyOptions, type GraphBranch, IdentityAssertionWriteFacade, IdentityMergeConflictError, type IngestionBranch, IngestionImportTarget, type IngestionNodeCollections, InvalidMergeOptionsError, InvalidMergePlanError, type KeylessConfig, MERGE_ERROR_CODES, MERGE_OPTION_DEFAULTS, MERGE_PLAN_DIGEST_ALGORITHM, MERGE_PLAN_FORMAT_VERSION, MERGE_REVIEW_FORMAT_VERSION, type MakeBackend, type MatchEvidence, MatchEvidenceError, type MatchSource, type MatchStrategy, type MergeBranch, MergeConflictError, MergeConstraintConflictError, type MergeConstraintConflictErrorDetails, MergeError, type MergeIncrementalArgs, type MergeOptions, type MergePlanAnchors, type MergePlanApplied, type MergePlanApplyOptions, type MergePlanArtifact, type MergePlanArtifactV1, type MergePlanArtifactV1Input, type MergePlanBranchAnchor, type MergePlanCandidateDiagnostic, type MergePlanCanonicalMapping, MergePlanCapabilityError, type MergePlanDiagnostics, type MergePlanDigest, MergePlanDigestMismatchError, type MergePlanEdgeDelete, type MergePlanEdgeUpsert, type MergePlanEntityRef, type MergePlanEntityResolution, type MergePlanGuards, type MergePlanIdentityAssertion, type MergePlanMatchEvidence, type MergePlanMatchSource, type MergePlanNodeDelete, type MergePlanNodeUpsert, MergePlanOriginMismatchError, type MergePlanProposedSummary, type MergePlanProvenanceOptions, type MergePlanReadContext, type MergePlanRetype, type MergePlanReview, type MergePlanRevisionFence, type MergePlanSchemaFence, MergePlanSchemaMismatchError, type MergePlanSimilarityStrategy, type MergePlanTargetFence, MergePlanTargetMismatchError, type MergePlanTypeReconciliation, type MergePlanWrites, MergePlanningStaleError, type MergeReport, type MergeReviewArtifact, type MergeReviewBaseline, type MergeReviewDifference, MergeReviewError, type MergeReviewPolicy, type MergeReviewRevalidation, type MergeReviewRow, type MergedCounts, type NativeDurableMergeResult, type NativeDurableMergeUnsupportedDimension, type NormalizedMergeOptions, type PlanCandidateWriteSetArgs, type PlanCandidateWriteSetForEvolutionArgs, type PlanCandidateWriteSetReviewArgs, type PropertyConflict, type PropertyConflictPolicy, type ProvenanceGraph, type ProvenanceIndex, type ProvenanceNode, type ProvenanceQuery, type ProvenanceRecord, type ReconcileTypesMode, type ResolveConfig, type ResolveMap, type ResolvedCluster, Result, type RevalidateCandidateWriteSetReviewArgs, type SimilarityStrategy, SimilarityUnavailableError, type SourceScope, StaleMergePlanError, type TypeReconciliation, UnsupportedMergePlanVersionError, VALIDITY_END_TARGET_PRECEDENCE, type ValidityEndResolution, type WorkingCopyStrategy, applyDurableMergePlan, applyMergePlan, applyMergePlanInTransaction, asBaseVersion, asBranchId, branch, branchDurable, branchForEvolution, captureCandidateWriteSetTarget, captureCandidateWriteSetTargetForEvolution, cloneWorkingCopyStrategy, computeBaseVersion, destroyDurableBranch, forkedWorkingCopyStrategy, ingestionBranch, merge, mergeIncremental, normalizeMergeOptions, openProvenanceStore, persistProvenanceRecords, planCandidateWriteSet, planCandidateWriteSetForEvolution, planCandidateWriteSetReview, planMerge, planMergeForEvolution, planMergeIncremental, provenanceGraphId, readProvenance, reopenDurableBranch, revalidateCandidateWriteSetReview };
2923
+ export { type ApplyDurableMergePlanArgs, type BaseAmbiguity, type BaseNodeLookup, type BaseVersion, BaseVersionMismatchError, BranchError, type BranchId, type BranchOptions, type BranchProvenance, CANDIDATE_WRITE_SET_FORMAT_VERSION, type CandidateDiagnostic, type CandidateDiagnostics, type CandidateDiagnosticsOptions, type CandidateSource, CandidateSourceError, type CandidateWriteSet, CandidateWriteSetError, CandidateWriteSetSchema, type CandidateWriteSetTarget, CandidateWriteSetTargetSchema, type ComparisonCeilingPolicy, type ConflictingValue, DURABLE_OPERATION_SCAN_DEFAULT_LIMIT, DURABLE_OPERATION_SCAN_MAX_LIMIT, type DeleteModifyConflict, type DeleteModifyPolicy, type DroppedItem, type DurableBranch, type DurableBranchCoordinates, type DurableBranchDescriptor, type DurableBranchOperation, type DurableBranchOperationEvidence, type DurableBranchOperationRequest, type DurableBranchOrigin, DurableEvidenceUndeliveredError, type DurableOperationCapability, DurableOperationConflictError, DurableOperationError, DurableOperationEvidenceError, type DurableOperationOutcome, DurableOperationRequestError, type DurableOperationScan, type DurableOperationUnsupportedDimension, DurableOperationUnsupportedError, type DurableStoreDescriptor, type DurableWorkingCopyAccess, type DurableWorkingCopyStrategy, type Embedder, type EntityRef, type EntityResolution, type ForkHandle, type ForkedWorkingCopyOptions, type GraphBranch, IdentityAssertionWriteFacade, IdentityMergeConflictError, type IngestionBranch, IngestionImportTarget, type IngestionNodeCollections, InvalidMergeOptionsError, InvalidMergePlanError, type KeylessConfig, MERGE_ERROR_CODES, MERGE_OPTION_DEFAULTS, MERGE_PLAN_DIGEST_ALGORITHM, MERGE_PLAN_FORMAT_VERSION, MERGE_REVIEW_FORMAT_VERSION, type MakeBackend, type MatchEvidence, MatchEvidenceError, type MatchSource, type MatchStrategy, type MergeBranch, MergeConflictError, MergeConstraintConflictError, type MergeConstraintConflictErrorDetails, MergeError, type MergeIncrementalArgs, type MergeOptions, type MergePlanAnchors, type MergePlanApplied, type MergePlanApplyOptions, type MergePlanArtifact, type MergePlanArtifactV1, type MergePlanArtifactV1Input, type MergePlanBranchAnchor, type MergePlanCandidateDiagnostic, type MergePlanCanonicalMapping, MergePlanCapabilityError, type MergePlanDiagnostics, type MergePlanDigest, MergePlanDigestMismatchError, type MergePlanEdgeDelete, type MergePlanEdgeUpsert, type MergePlanEntityRef, type MergePlanEntityResolution, type MergePlanGuards, type MergePlanIdentityAssertion, type MergePlanMatchEvidence, type MergePlanMatchSource, type MergePlanNodeDelete, type MergePlanNodeUpsert, MergePlanOriginMismatchError, type MergePlanProposedSummary, type MergePlanProvenanceOptions, type MergePlanReadContext, type MergePlanRetype, type MergePlanReview, type MergePlanRevisionFence, type MergePlanSchemaFence, MergePlanSchemaMismatchError, type MergePlanSimilarityStrategy, type MergePlanTargetFence, MergePlanTargetMismatchError, type MergePlanTypeReconciliation, type MergePlanWrites, MergePlanningStaleError, type MergeReport, type MergeReviewArtifact, type MergeReviewBaseline, type MergeReviewDifference, MergeReviewError, type MergeReviewPolicy, type MergeReviewRevalidation, type MergeReviewRow, type MergedCounts, type NativeDurableMergeResult, type NativeDurableMergeUnsupportedDimension, type NormalizedMergeOptions, type PlanCandidateWriteSetArgs, type PlanCandidateWriteSetForEvolutionArgs, type PlanCandidateWriteSetReviewArgs, type PropertyConflict, type PropertyConflictPolicy, type ProvenanceGraph, type ProvenanceIndex, type ProvenanceNode, type ProvenanceQuery, type ProvenanceRecord, type ReconcileTypesMode, type ResolveConfig, type ResolveMap, type ResolvedCluster, Result, type RevalidateCandidateWriteSetReviewArgs, type SimilarityStrategy, SimilarityUnavailableError, type SourceScope, StaleMergePlanError, type TypeReconciliation, UnsupportedMergePlanVersionError, VALIDITY_END_TARGET_PRECEDENCE, type ValidityEndResolution, type WorkingCopyStrategy, applyDurableMergePlan, applyMergePlan, applyMergePlanInTransaction, asBaseVersion, asBranchId, branch, branchDurable, branchForEvolution, captureCandidateWriteSetTarget, captureCandidateWriteSetTargetForEvolution, cloneWorkingCopyStrategy, computeBaseVersion, computeDurableOperationDigest, destroyDurableBranch, durableBranchHasUndeliveredEvidence, forkedWorkingCopyStrategy, getDurableOperation, ingestionBranch, markDurableOperationDelivered, merge, mergeIncremental, normalizeMergeOptions, openProvenanceStore, operateDurableBranch, persistProvenanceRecords, planCandidateWriteSet, planCandidateWriteSetForEvolution, planCandidateWriteSetReview, planMerge, planMergeForEvolution, planMergeIncremental, provenanceGraphId, readProvenance, reopenDurableBranch, revalidateCandidateWriteSetReview, scanDurableOperations };