@x12i/memorix-hippox 1.1.0 → 1.3.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.
package/README.md CHANGED
@@ -79,6 +79,8 @@ When mounted through `memorix-schema-api`:
79
79
  | `POST` | `/api/hippox/links` | Create draft link |
80
80
  | `GET` | `/api/hippox/join-discovery?sourceObjectType=…&targetObjectType=…` | Rank join fields and recommend default pair |
81
81
  | `POST` | `/api/hippox/join-discovery` | Same as GET with body parameters |
82
+ | `POST` | `/api/hippox/infer-links` | Fuzzy-map joins across object types (`@x12i/helpers` ≥ 2.0) |
83
+ | `POST` | `/api/hippox/links/from-relation-candidate` | Create Hippox draft from schema relation candidate |
82
84
  | `POST` | `/api/hippox/links/simulate` | Simulate unsaved definition |
83
85
  | `POST` | `/api/hippox/links/:id/simulate` | Simulate + persist summary |
84
86
  | `POST` | `/api/hippox/links/:id/approve` | Approve simulated link |
@@ -143,3 +145,51 @@ Output modes: `data` (default), `record`, `dataWithRecordId`.
143
145
  | `index.recordLinks` | schema-declared indexed relations |
144
146
  | `associatedData` | readable materialized join output on snapshots |
145
147
  | `jobMemory.context` | runtime output of `context/resolve` |
148
+
149
+ ## Fuzzy mapping pipeline (`@x12i/helpers` ≥ 2.0)
150
+
151
+ `@x12i/helpers@2.0.0` ships **record key analysis** at `@x12i/helpers/record-key-analysis`. Hippox orchestrates it via **`POST /api/hippox/infer-links`**.
152
+
153
+ This complements **join-discovery** (named object types, schema seeds, value overlap ranking). Fuzzy mapping is the cold-start path; join-discovery refines once types and collections are registered.
154
+
155
+ ### Prerequisites
156
+
157
+ - Runtime access to collection samples (Mongo via Hippox collection resolver).
158
+ - Optional peer **`@x12i/helpers@^2.0.0`** (returns HTTP 501 if missing when calling infer-links).
159
+
160
+ ### API
161
+
162
+ ```http
163
+ POST /api/hippox/infer-links
164
+ { "objectTypes": ["assets", "subnets"], "sampleLimit": 10000 }
165
+ ```
166
+
167
+ Returns `collectionProfiles` (PRIMARY / FOREIGN / ENUM tags) and ranked `inferredLinks` with inclusion ratios.
168
+
169
+ ### Programmatic usage
170
+
171
+ ```ts
172
+ const inference = await hippox.inferLinks({
173
+ objectTypes: ['assets', 'subnets', 'vulnerabilities'],
174
+ });
175
+ for (const link of inference.inferredLinks) {
176
+ await hippox.createDraftLink({
177
+ sourceObjectType: link.sourceObjectType,
178
+ targetObjectType: link.targetObjectType,
179
+ direction: 'downstream',
180
+ join: [{ sourcePath: link.sourcePath, targetPath: link.targetPath }],
181
+ retrieval: { type: 'record', outputMode: 'data' },
182
+ });
183
+ }
184
+ ```
185
+
186
+ ### Schema relation bridge
187
+
188
+ ```http
189
+ POST /api/hippox/links/from-relation-candidate
190
+ POST /api/relationships/:sourceEntity/:relationKey/hippox-draft # schema-api operational wrapper
191
+ ```
192
+
193
+ Converts a schema `RelationCandidate` or declared relation into a Hippox draft link.
194
+
195
+ See [memorix-format.md §13.4](../docs/memorix-format.md) and [memorix-fomat-additions.md §K.4](../docs/memorix-fomat-additions.md).
package/dist/config.d.ts CHANGED
@@ -11,6 +11,9 @@ declare const DEFAULT_DISCOVERY_MIN_COVERAGE = 0.05;
11
11
  declare const DEFAULT_DISCOVERY_MIN_PAIR_SCORE = 0.15;
12
12
  declare const DEFAULT_DISCOVERY_CACHE_TTL_MS = 300000;
13
13
  declare const DEFAULT_DISCOVERY_MAX_CANDIDATES = 50;
14
+ declare const DEFAULT_INFER_SAMPLE_LIMIT = 10000;
15
+ declare const DEFAULT_INFER_MIN_INCLUSION_RATIO = 0.95;
16
+ declare const DEFAULT_INFER_CANDIDATE_CONFIDENCE = 40;
14
17
  export declare function loadHippoxConfig(processEnv?: NodeJS.ProcessEnv): HippoxConfig;
15
- export { DEFAULT_HIPPOX_DB, DEFAULT_HIPPOX_COLLECTION, DEFAULT_SIMULATION_LIMIT, DEFAULT_SIMULATION_EXAMPLES_LIMIT, DEFAULT_CONTEXT_LIST_LIMIT, DEFAULT_DISCOVERY_SAMPLE_LIMIT, DEFAULT_DISCOVERY_DISTINCT_CAP, DEFAULT_DISCOVERY_MAX_PAIRS, DEFAULT_DISCOVERY_MIN_COVERAGE, DEFAULT_DISCOVERY_MIN_PAIR_SCORE, DEFAULT_DISCOVERY_CACHE_TTL_MS, DEFAULT_DISCOVERY_MAX_CANDIDATES, };
18
+ export { DEFAULT_HIPPOX_DB, DEFAULT_HIPPOX_COLLECTION, DEFAULT_SIMULATION_LIMIT, DEFAULT_SIMULATION_EXAMPLES_LIMIT, DEFAULT_CONTEXT_LIST_LIMIT, DEFAULT_DISCOVERY_SAMPLE_LIMIT, DEFAULT_DISCOVERY_DISTINCT_CAP, DEFAULT_DISCOVERY_MAX_PAIRS, DEFAULT_DISCOVERY_MIN_COVERAGE, DEFAULT_DISCOVERY_MIN_PAIR_SCORE, DEFAULT_DISCOVERY_CACHE_TTL_MS, DEFAULT_DISCOVERY_MAX_CANDIDATES, DEFAULT_INFER_SAMPLE_LIMIT, DEFAULT_INFER_MIN_INCLUSION_RATIO, DEFAULT_INFER_CANDIDATE_CONFIDENCE, };
16
19
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,QAAA,MAAM,iBAAiB,mBAAmB,CAAC;AAC3C,QAAA,MAAM,yBAAyB,kBAAkB,CAAC;AAClD,QAAA,MAAM,wBAAwB,OAAO,CAAC;AACtC,QAAA,MAAM,iCAAiC,KAAK,CAAC;AAC7C,QAAA,MAAM,0BAA0B,KAAK,CAAC;AACtC,QAAA,MAAM,8BAA8B,OAAO,CAAC;AAC5C,QAAA,MAAM,8BAA8B,MAAM,CAAC;AAC3C,QAAA,MAAM,2BAA2B,MAAM,CAAC;AACxC,QAAA,MAAM,8BAA8B,OAAO,CAAC;AAC5C,QAAA,MAAM,gCAAgC,OAAO,CAAC;AAC9C,QAAA,MAAM,8BAA8B,SAAU,CAAC;AAC/C,QAAA,MAAM,gCAAgC,KAAK,CAAC;AAgB5C,wBAAgB,gBAAgB,CAAC,UAAU,GAAE,MAAM,CAAC,UAAwB,GAAG,YAAY,CAuC1F;AAED,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,iCAAiC,EACjC,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,2BAA2B,EAC3B,8BAA8B,EAC9B,gCAAgC,EAChC,8BAA8B,EAC9B,gCAAgC,GACjC,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,QAAA,MAAM,iBAAiB,mBAAmB,CAAC;AAC3C,QAAA,MAAM,yBAAyB,kBAAkB,CAAC;AAClD,QAAA,MAAM,wBAAwB,OAAO,CAAC;AACtC,QAAA,MAAM,iCAAiC,KAAK,CAAC;AAC7C,QAAA,MAAM,0BAA0B,KAAK,CAAC;AACtC,QAAA,MAAM,8BAA8B,OAAO,CAAC;AAC5C,QAAA,MAAM,8BAA8B,MAAM,CAAC;AAC3C,QAAA,MAAM,2BAA2B,MAAM,CAAC;AACxC,QAAA,MAAM,8BAA8B,OAAO,CAAC;AAC5C,QAAA,MAAM,gCAAgC,OAAO,CAAC;AAC9C,QAAA,MAAM,8BAA8B,SAAU,CAAC;AAC/C,QAAA,MAAM,gCAAgC,KAAK,CAAC;AAC5C,QAAA,MAAM,0BAA0B,QAAS,CAAC;AAC1C,QAAA,MAAM,iCAAiC,OAAO,CAAC;AAC/C,QAAA,MAAM,kCAAkC,KAAK,CAAC;AAgB9C,wBAAgB,gBAAgB,CAAC,UAAU,GAAE,MAAM,CAAC,UAAwB,GAAG,YAAY,CAmD1F;AAED,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,iCAAiC,EACjC,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,2BAA2B,EAC3B,8BAA8B,EAC9B,gCAAgC,EAChC,8BAA8B,EAC9B,gCAAgC,EAChC,0BAA0B,EAC1B,iCAAiC,EACjC,kCAAkC,GACnC,CAAC"}
package/dist/config.js CHANGED
@@ -10,6 +10,9 @@ const DEFAULT_DISCOVERY_MIN_COVERAGE = 0.05;
10
10
  const DEFAULT_DISCOVERY_MIN_PAIR_SCORE = 0.15;
11
11
  const DEFAULT_DISCOVERY_CACHE_TTL_MS = 300_000;
12
12
  const DEFAULT_DISCOVERY_MAX_CANDIDATES = 50;
13
+ const DEFAULT_INFER_SAMPLE_LIMIT = 10_000;
14
+ const DEFAULT_INFER_MIN_INCLUSION_RATIO = 0.95;
15
+ const DEFAULT_INFER_CANDIDATE_CONFIDENCE = 40;
13
16
  function parsePositiveInt(raw, fallback) {
14
17
  if (!raw?.trim())
15
18
  return fallback;
@@ -40,7 +43,10 @@ export function loadHippoxConfig(processEnv = process.env) {
40
43
  discoveryMinPairScore: parseNonNegativeNumber(processEnv.MEMORIX_HIPPOX_DISCOVERY_MIN_PAIR_SCORE, DEFAULT_DISCOVERY_MIN_PAIR_SCORE),
41
44
  discoveryCacheTtlMs: parsePositiveInt(processEnv.MEMORIX_HIPPOX_DISCOVERY_CACHE_TTL_MS, DEFAULT_DISCOVERY_CACHE_TTL_MS),
42
45
  discoveryMaxCandidates: parsePositiveInt(processEnv.MEMORIX_HIPPOX_DISCOVERY_MAX_CANDIDATES, DEFAULT_DISCOVERY_MAX_CANDIDATES),
46
+ inferSampleLimit: parsePositiveInt(processEnv.MEMORIX_HIPPOX_INFER_SAMPLE_LIMIT, DEFAULT_INFER_SAMPLE_LIMIT),
47
+ inferMinInclusionRatio: parseNonNegativeNumber(processEnv.MEMORIX_HIPPOX_INFER_MIN_INCLUSION_RATIO, DEFAULT_INFER_MIN_INCLUSION_RATIO),
48
+ inferCandidateConfidence: parsePositiveInt(processEnv.MEMORIX_HIPPOX_INFER_CANDIDATE_CONFIDENCE, DEFAULT_INFER_CANDIDATE_CONFIDENCE),
43
49
  };
44
50
  }
45
- export { DEFAULT_HIPPOX_DB, DEFAULT_HIPPOX_COLLECTION, DEFAULT_SIMULATION_LIMIT, DEFAULT_SIMULATION_EXAMPLES_LIMIT, DEFAULT_CONTEXT_LIST_LIMIT, DEFAULT_DISCOVERY_SAMPLE_LIMIT, DEFAULT_DISCOVERY_DISTINCT_CAP, DEFAULT_DISCOVERY_MAX_PAIRS, DEFAULT_DISCOVERY_MIN_COVERAGE, DEFAULT_DISCOVERY_MIN_PAIR_SCORE, DEFAULT_DISCOVERY_CACHE_TTL_MS, DEFAULT_DISCOVERY_MAX_CANDIDATES, };
51
+ export { DEFAULT_HIPPOX_DB, DEFAULT_HIPPOX_COLLECTION, DEFAULT_SIMULATION_LIMIT, DEFAULT_SIMULATION_EXAMPLES_LIMIT, DEFAULT_CONTEXT_LIST_LIMIT, DEFAULT_DISCOVERY_SAMPLE_LIMIT, DEFAULT_DISCOVERY_DISTINCT_CAP, DEFAULT_DISCOVERY_MAX_PAIRS, DEFAULT_DISCOVERY_MIN_COVERAGE, DEFAULT_DISCOVERY_MIN_PAIR_SCORE, DEFAULT_DISCOVERY_CACHE_TTL_MS, DEFAULT_DISCOVERY_MAX_CANDIDATES, DEFAULT_INFER_SAMPLE_LIMIT, DEFAULT_INFER_MIN_INCLUSION_RATIO, DEFAULT_INFER_CANDIDATE_CONFIDENCE, };
46
52
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAC3C,MAAM,yBAAyB,GAAG,eAAe,CAAC;AAClD,MAAM,wBAAwB,GAAG,IAAI,CAAC;AACtC,MAAM,iCAAiC,GAAG,EAAE,CAAC;AAC7C,MAAM,0BAA0B,GAAG,EAAE,CAAC;AACtC,MAAM,8BAA8B,GAAG,IAAI,CAAC;AAC5C,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAC3C,MAAM,2BAA2B,GAAG,GAAG,CAAC;AACxC,MAAM,8BAA8B,GAAG,IAAI,CAAC;AAC5C,MAAM,gCAAgC,GAAG,IAAI,CAAC;AAC9C,MAAM,8BAA8B,GAAG,OAAO,CAAC;AAC/C,MAAM,gCAAgC,GAAG,EAAE,CAAC;AAE5C,SAAS,gBAAgB,CAAC,GAAuB,EAAE,QAAgB;IACjE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE;QAAE,OAAO,QAAQ,CAAC;IAClC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC;IACnD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAuB,EAAE,QAAgB;IACvE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE;QAAE,OAAO,QAAQ,CAAC;IAClC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IAClD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,aAAgC,OAAO,CAAC,GAAG;IAC1E,OAAO;QACL,MAAM,EAAE,UAAU,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,iBAAiB;QACjE,cAAc,EAAE,UAAU,CAAC,yBAAyB,EAAE,IAAI,EAAE,IAAI,yBAAyB;QACzF,eAAe,EAAE,gBAAgB,CAAC,UAAU,CAAC,+BAA+B,EAAE,wBAAwB,CAAC;QACvG,uBAAuB,EAAE,gBAAgB,CACvC,UAAU,CAAC,wCAAwC,EACnD,iCAAiC,CAClC;QACD,gBAAgB,EAAE,gBAAgB,CAAC,UAAU,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;QACrG,oBAAoB,EAAE,gBAAgB,CACpC,UAAU,CAAC,qCAAqC,EAChD,8BAA8B,CAC/B;QACD,oBAAoB,EAAE,gBAAgB,CACpC,UAAU,CAAC,qCAAqC,EAChD,8BAA8B,CAC/B;QACD,iBAAiB,EAAE,gBAAgB,CACjC,UAAU,CAAC,kCAAkC,EAC7C,2BAA2B,CAC5B;QACD,oBAAoB,EAAE,sBAAsB,CAC1C,UAAU,CAAC,qCAAqC,EAChD,8BAA8B,CAC/B;QACD,qBAAqB,EAAE,sBAAsB,CAC3C,UAAU,CAAC,uCAAuC,EAClD,gCAAgC,CACjC;QACD,mBAAmB,EAAE,gBAAgB,CACnC,UAAU,CAAC,qCAAqC,EAChD,8BAA8B,CAC/B;QACD,sBAAsB,EAAE,gBAAgB,CACtC,UAAU,CAAC,uCAAuC,EAClD,gCAAgC,CACjC;KACF,CAAC;AACJ,CAAC;AAED,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,iCAAiC,EACjC,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,2BAA2B,EAC3B,8BAA8B,EAC9B,gCAAgC,EAChC,8BAA8B,EAC9B,gCAAgC,GACjC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ export type RecordKeyAnalysisModule = {
2
+ analyzeSingleRecordKeys: (record: Record<string, unknown>, options?: {
3
+ threshold?: number;
4
+ }) => Array<{
5
+ property: string;
6
+ confidence: number;
7
+ signals?: string[];
8
+ }>;
9
+ analyzeCollectionKeys: (collection: Record<string, unknown>[], candidateProperties: string[], options?: Record<string, unknown>) => Array<{
10
+ property: string;
11
+ classification: 'PRIMARY' | 'FOREIGN' | 'FOREIGN_OR_DIRTY_PRIMARY' | 'ENUM' | 'NONE';
12
+ uniqueCount: number;
13
+ uniquenessRatio: number;
14
+ nullRatio: number;
15
+ confidence: number;
16
+ }>;
17
+ mapCrossCollectionRelationships: (sourceCollection: Record<string, unknown>[], sourceForeignKey: string, targetCollectionsMap: Record<string, {
18
+ primaryKeys?: string[];
19
+ records?: Record<string, unknown>[];
20
+ }>, options?: {
21
+ minInclusionRatio?: number;
22
+ }) => Array<{
23
+ targetCollection: string;
24
+ targetProperty: string;
25
+ inclusionRatio: number;
26
+ confidence: number;
27
+ }>;
28
+ };
29
+ export declare function loadRecordKeyAnalysis(): RecordKeyAnalysisModule;
30
+ export declare function clearRecordKeyAnalysisCache(): void;
31
+ //# sourceMappingURL=helpers-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers-loader.d.ts","sourceRoot":"","sources":["../src/helpers-loader.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,uBAAuB,GAAG;IACpC,uBAAuB,EAAE,CACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,KAC7B,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACzE,qBAAqB,EAAE,CACrB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EACrC,mBAAmB,EAAE,MAAM,EAAE,EAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,KAAK,CAAC;QACT,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,SAAS,GAAG,SAAS,GAAG,0BAA0B,GAAG,MAAM,GAAG,MAAM,CAAC;QACrF,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,+BAA+B,EAAE,CAC/B,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC3C,gBAAgB,EAAE,MAAM,EACxB,oBAAoB,EAAE,MAAM,CAC1B,MAAM,EACN;QAAE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;KAAE,CAChE,EACD,OAAO,CAAC,EAAE;QAAE,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,KACrC,KAAK,CAAC;QACT,gBAAgB,EAAE,MAAM,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;CACJ,CAAC;AAIF,wBAAgB,qBAAqB,IAAI,uBAAuB,CAY/D;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"}
@@ -0,0 +1,20 @@
1
+ import { createRequire } from 'node:module';
2
+ const require = createRequire(import.meta.url);
3
+ let cachedModule = null;
4
+ export function loadRecordKeyAnalysis() {
5
+ if (cachedModule)
6
+ return cachedModule;
7
+ try {
8
+ const mod = require('@x12i/helpers/record-key-analysis');
9
+ cachedModule = mod;
10
+ return mod;
11
+ }
12
+ catch {
13
+ throw new Error('Fuzzy link inference requires @x12i/helpers@^2.0.0 (record-key-analysis export). '
14
+ + 'Install it alongside @x12i/memorix-hippox.');
15
+ }
16
+ }
17
+ export function clearRecordKeyAnalysisCache() {
18
+ cachedModule = null;
19
+ }
20
+ //# sourceMappingURL=helpers-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers-loader.js","sourceRoot":"","sources":["../src/helpers-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAmC/C,IAAI,YAAY,GAAmC,IAAI,CAAC;AAExD,MAAM,UAAU,qBAAqB;IACnC,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IACtC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,CAAC,mCAAmC,CAA4B,CAAC;QACpF,YAAY,GAAG,GAAG,CAAC;QACnB,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,mFAAmF;cACjF,4CAA4C,CAC/C,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,YAAY,GAAG,IAAI,CAAC;AACtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"register-routes.d.ts","sourceRoot":"","sources":["../../src/http/register-routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,aAAa,EAA2B,MAAM,eAAe,CAAC;AAGvE,MAAM,MAAM,cAAc,GAAG;IAE3B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,KAAK,OAAO,CAAC;IACjE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,KAAK,OAAO,CAAC;CACnE,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB,CAAC;AAWF,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,cAAc,EACnB,SAAS,EAAE,sBAAsB,EACjC,OAAO,GAAE,2BAAgC,GACxC,IAAI,CA0IN"}
1
+ {"version":3,"file":"register-routes.d.ts","sourceRoot":"","sources":["../../src/http/register-routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,aAAa,EAA2B,MAAM,eAAe,CAAC;AAGvE,MAAM,MAAM,cAAc,GAAG;IAE3B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,KAAK,OAAO,CAAC;IACjE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,KAAK,OAAO,CAAC;CACnE,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB,CAAC;AAeF,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,cAAc,EACnB,SAAS,EAAE,sBAAsB,EACjC,OAAO,GAAE,2BAAgC,GACxC,IAAI,CAiKN"}
@@ -4,7 +4,11 @@ function sendError(reply, err, fallbackStatus = 503) {
4
4
  return reply.code(400).send({ error: err.message });
5
5
  }
6
6
  const message = err instanceof Error ? err.message : String(err);
7
- const status = message.includes('not found') ? 404 : fallbackStatus;
7
+ const status = message.includes('not found')
8
+ ? 404
9
+ : message.includes('@x12i/helpers')
10
+ ? 501
11
+ : fallbackStatus;
8
12
  return reply.code(status).send({ error: message });
9
13
  }
10
14
  export function registerHippoxRoutes(app, retrieval, options = {}) {
@@ -131,5 +135,28 @@ export function registerHippoxRoutes(app, retrieval, options = {}) {
131
135
  sampleLimit: body.sampleLimit,
132
136
  }, reply);
133
137
  });
138
+ app.post(`${base}/infer-links`, async (req, reply) => {
139
+ const body = (req.body ?? {});
140
+ if (!Array.isArray(body.objectTypes) || body.objectTypes.length < 2) {
141
+ return reply.code(400).send({ error: 'objectTypes must include at least two object types' });
142
+ }
143
+ try {
144
+ const service = await getService();
145
+ return await service.inferLinks(body);
146
+ }
147
+ catch (err) {
148
+ return sendError(reply, err, 400);
149
+ }
150
+ });
151
+ app.post(`${base}/links/from-relation-candidate`, async (req, reply) => {
152
+ const body = (req.body ?? {});
153
+ try {
154
+ const service = await getService();
155
+ return await service.createDraftFromRelationCandidate(body);
156
+ }
157
+ catch (err) {
158
+ return sendError(reply, err, 400);
159
+ }
160
+ });
134
161
  }
135
162
  //# sourceMappingURL=register-routes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-routes.js","sourceRoot":"","sources":["../../src/http/register-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-routes.js","sourceRoot":"","sources":["../../src/http/register-routes.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export type { LinkDirection, LinkStatus, JoinOperator, FilterOperator, OutputMode, RetrievalType, JoinMapping, FixedFilter, SortSpec, RecordRetrieval, ListRetrieval, AggregateRetrieval, ContextLinkRetrieval, ContextLink, ContextLinkInput, IndexRecommendation, SimulationWarning, PropertyMatchQuality, SimulationExampleMatch, SimulationExampleMiss, SimulationSummary, ResolveContextInput, ResolveContextResult, HippoxConfig, ObjectTypeCollectionBinding, InferredFieldType, JoinDiscoveryField, JoinDiscoveryCandidateSignals, JoinDiscoveryCandidate, JoinDiscoveryRecommendedJoin, JoinDiscoveryWarning, JoinDiscoveryResult, JoinDiscoveryInput, } from './types.js';
2
- export { loadHippoxConfig, DEFAULT_HIPPOX_DB, DEFAULT_HIPPOX_COLLECTION, DEFAULT_SIMULATION_LIMIT, DEFAULT_SIMULATION_EXAMPLES_LIMIT, DEFAULT_CONTEXT_LIST_LIMIT, DEFAULT_DISCOVERY_SAMPLE_LIMIT, DEFAULT_DISCOVERY_DISTINCT_CAP, DEFAULT_DISCOVERY_MAX_PAIRS, DEFAULT_DISCOVERY_MIN_COVERAGE, DEFAULT_DISCOVERY_MIN_PAIR_SCORE, DEFAULT_DISCOVERY_CACHE_TTL_MS, DEFAULT_DISCOVERY_MAX_CANDIDATES, } from './config.js';
1
+ export type { LinkDirection, LinkStatus, JoinOperator, FilterOperator, OutputMode, RetrievalType, JoinMapping, FixedFilter, SortSpec, RecordRetrieval, ListRetrieval, AggregateRetrieval, ContextLinkRetrieval, ContextLink, ContextLinkInput, IndexRecommendation, SimulationWarning, PropertyMatchQuality, SimulationExampleMatch, SimulationExampleMiss, SimulationSummary, ResolveContextInput, ResolveContextResult, HippoxConfig, ObjectTypeCollectionBinding, InferredFieldType, JoinDiscoveryField, JoinDiscoveryCandidateSignals, JoinDiscoveryCandidate, JoinDiscoveryRecommendedJoin, JoinDiscoveryWarning, JoinDiscoveryResult, JoinDiscoveryInput, CollectionKeyProfile, InferredContextLink, InferLinksInput, InferLinksResult, RelationCandidateBridgeInput, } from './types.js';
2
+ export { loadHippoxConfig, DEFAULT_HIPPOX_DB, DEFAULT_HIPPOX_COLLECTION, DEFAULT_SIMULATION_LIMIT, DEFAULT_SIMULATION_EXAMPLES_LIMIT, DEFAULT_CONTEXT_LIST_LIMIT, DEFAULT_DISCOVERY_SAMPLE_LIMIT, DEFAULT_DISCOVERY_DISTINCT_CAP, DEFAULT_DISCOVERY_MAX_PAIRS, DEFAULT_DISCOVERY_MIN_COVERAGE, DEFAULT_DISCOVERY_MIN_PAIR_SCORE, DEFAULT_DISCOVERY_CACHE_TTL_MS, DEFAULT_DISCOVERY_MAX_CANDIDATES, DEFAULT_INFER_SAMPLE_LIMIT, DEFAULT_INFER_MIN_INCLUSION_RATIO, DEFAULT_INFER_CANDIDATE_CONFIDENCE, } from './config.js';
3
3
  export { readPath, readRecordId, readObjectType, isDateLike, coerceDateValue, sortSpecsToMongo, extractDataPayload, formatOutputRecord, } from './paths.js';
4
4
  export { compileFixedFilter, compileFixedFilters, compileJoinClause, buildTargetQueryFromLink, buildFixedOnlyQuery, } from './filters.js';
5
5
  export { validateContextLinkInput, defaultRecordRetrieval, defaultListRetrieval, contextKeyForLink, detectContextKeyCollisions, HippoxValidationError, } from './validation.js';
@@ -7,6 +7,9 @@ export { resolveObjectTypeCollection, readObjectTypeDocuments, countObjectTypeDo
7
7
  export { HippoxStore, createHippoxStore } from './store.js';
8
8
  export { simulateContextLink, type SimulateContextLinkOptions } from './simulate.js';
9
9
  export { discoverJoinCandidates, clearJoinDiscoveryCache, computeValueHitRate, computeNameSimilarity, computePairScore, sourceNameHintScore, targetNameHintScore, isScalarJoinable, normalizeScalarValue, classifyValue, type DiscoverJoinCandidatesOptions, } from './join-discovery.js';
10
+ export { inferLinksForObjectTypes, type InferLinksOptions, } from './infer-links.js';
11
+ export { flattenRecordForKeyAnalysis, flattenSampleForKeyAnalysis, memorixPathForLeaf, type FlattenedForHelpers, } from './record-flatten.js';
12
+ export { loadRecordKeyAnalysis, clearRecordKeyAnalysisCache, type RecordKeyAnalysisModule, } from './helpers-loader.js';
10
13
  export { resolveContext, type ResolveContextOptions } from './resolve.js';
11
14
  export { resolveMixedContext, hippoxLinkFromRelationCandidate, type ResolveMixedContextInput, type ResolveMixedContextOptions, } from './legacy-bridge.js';
12
15
  export { recommendIndexesForLink } from './index-recommendations.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,aAAa,EACb,UAAU,EACV,YAAY,EACZ,cAAc,EACd,UAAU,EACV,aAAa,EACb,WAAW,EACX,WAAW,EACX,QAAQ,EACR,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,EAClB,6BAA6B,EAC7B,sBAAsB,EACtB,4BAA4B,EAC5B,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,iCAAiC,EACjC,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,2BAA2B,EAC3B,8BAA8B,EAC9B,gCAAgC,EAChC,8BAA8B,EAC9B,gCAAgC,GACjC,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,EACvB,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,KAAK,6BAA6B,GACnC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EACL,mBAAmB,EACnB,+BAA+B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,GAChC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACjG,OAAO,EAAE,oBAAoB,EAAE,KAAK,2BAA2B,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,aAAa,EACb,UAAU,EACV,YAAY,EACZ,cAAc,EACd,UAAU,EACV,aAAa,EACb,WAAW,EACX,WAAW,EACX,QAAQ,EACR,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,EAClB,6BAA6B,EAC7B,sBAAsB,EACtB,4BAA4B,EAC5B,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,iCAAiC,EACjC,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,2BAA2B,EAC3B,8BAA8B,EAC9B,gCAAgC,EAChC,8BAA8B,EAC9B,gCAAgC,EAChC,0BAA0B,EAC1B,iCAAiC,EACjC,kCAAkC,GACnC,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,EACvB,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,KAAK,6BAA6B,GACnC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,EACxB,KAAK,iBAAiB,GACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,kBAAkB,EAClB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,KAAK,uBAAuB,GAC7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EACL,mBAAmB,EACnB,+BAA+B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,GAChC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACjG,OAAO,EAAE,oBAAoB,EAAE,KAAK,2BAA2B,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { loadHippoxConfig, DEFAULT_HIPPOX_DB, DEFAULT_HIPPOX_COLLECTION, DEFAULT_SIMULATION_LIMIT, DEFAULT_SIMULATION_EXAMPLES_LIMIT, DEFAULT_CONTEXT_LIST_LIMIT, DEFAULT_DISCOVERY_SAMPLE_LIMIT, DEFAULT_DISCOVERY_DISTINCT_CAP, DEFAULT_DISCOVERY_MAX_PAIRS, DEFAULT_DISCOVERY_MIN_COVERAGE, DEFAULT_DISCOVERY_MIN_PAIR_SCORE, DEFAULT_DISCOVERY_CACHE_TTL_MS, DEFAULT_DISCOVERY_MAX_CANDIDATES, } from './config.js';
1
+ export { loadHippoxConfig, DEFAULT_HIPPOX_DB, DEFAULT_HIPPOX_COLLECTION, DEFAULT_SIMULATION_LIMIT, DEFAULT_SIMULATION_EXAMPLES_LIMIT, DEFAULT_CONTEXT_LIST_LIMIT, DEFAULT_DISCOVERY_SAMPLE_LIMIT, DEFAULT_DISCOVERY_DISTINCT_CAP, DEFAULT_DISCOVERY_MAX_PAIRS, DEFAULT_DISCOVERY_MIN_COVERAGE, DEFAULT_DISCOVERY_MIN_PAIR_SCORE, DEFAULT_DISCOVERY_CACHE_TTL_MS, DEFAULT_DISCOVERY_MAX_CANDIDATES, DEFAULT_INFER_SAMPLE_LIMIT, DEFAULT_INFER_MIN_INCLUSION_RATIO, DEFAULT_INFER_CANDIDATE_CONFIDENCE, } from './config.js';
2
2
  export { readPath, readRecordId, readObjectType, isDateLike, coerceDateValue, sortSpecsToMongo, extractDataPayload, formatOutputRecord, } from './paths.js';
3
3
  export { compileFixedFilter, compileFixedFilters, compileJoinClause, buildTargetQueryFromLink, buildFixedOnlyQuery, } from './filters.js';
4
4
  export { validateContextLinkInput, defaultRecordRetrieval, defaultListRetrieval, contextKeyForLink, detectContextKeyCollisions, HippoxValidationError, } from './validation.js';
@@ -6,6 +6,9 @@ export { resolveObjectTypeCollection, readObjectTypeDocuments, countObjectTypeDo
6
6
  export { HippoxStore, createHippoxStore } from './store.js';
7
7
  export { simulateContextLink } from './simulate.js';
8
8
  export { discoverJoinCandidates, clearJoinDiscoveryCache, computeValueHitRate, computeNameSimilarity, computePairScore, sourceNameHintScore, targetNameHintScore, isScalarJoinable, normalizeScalarValue, classifyValue, } from './join-discovery.js';
9
+ export { inferLinksForObjectTypes, } from './infer-links.js';
10
+ export { flattenRecordForKeyAnalysis, flattenSampleForKeyAnalysis, memorixPathForLeaf, } from './record-flatten.js';
11
+ export { loadRecordKeyAnalysis, clearRecordKeyAnalysisCache, } from './helpers-loader.js';
9
12
  export { resolveContext } from './resolve.js';
10
13
  export { resolveMixedContext, hippoxLinkFromRelationCandidate, } from './legacy-bridge.js';
11
14
  export { recommendIndexesForLink } from './index-recommendations.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAoCA,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,iCAAiC,EACjC,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,2BAA2B,EAC3B,8BAA8B,EAC9B,gCAAgC,EAChC,8BAA8B,EAC9B,gCAAgC,GACjC,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,EACvB,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAmC,MAAM,eAAe,CAAC;AACrF,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,GAEd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAA8B,MAAM,cAAc,CAAC;AAC1E,OAAO,EACL,mBAAmB,EACnB,+BAA+B,GAGhC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAA6B,MAAM,cAAc,CAAC;AACjG,OAAO,EAAE,oBAAoB,EAAyD,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAyCA,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,iCAAiC,EACjC,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,2BAA2B,EAC3B,8BAA8B,EAC9B,gCAAgC,EAChC,8BAA8B,EAC9B,gCAAgC,EAChC,0BAA0B,EAC1B,iCAAiC,EACjC,kCAAkC,GACnC,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,EACvB,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAmC,MAAM,eAAe,CAAC;AACrF,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,GAEd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,GAEzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,kBAAkB,GAEnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,2BAA2B,GAE5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAA8B,MAAM,cAAc,CAAC;AAC1E,OAAO,EACL,mBAAmB,EACnB,+BAA+B,GAGhC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAA6B,MAAM,cAAc,CAAC;AACjG,OAAO,EAAE,oBAAoB,EAAyD,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { MemorixRetrievalClient } from '@x12i/memorix-retrieval';
2
+ import type { InferLinksInput, InferLinksResult } from './types.js';
3
+ export type InferLinksOptions = {
4
+ retrieval: MemorixRetrievalClient;
5
+ input: InferLinksInput;
6
+ processEnv?: NodeJS.ProcessEnv;
7
+ };
8
+ export declare function inferLinksForObjectTypes(options: InferLinksOptions): Promise<InferLinksResult>;
9
+ //# sourceMappingURL=infer-links.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infer-links.d.ts","sourceRoot":"","sources":["../src/infer-links.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAStE,OAAO,KAAK,EAEV,eAAe,EACf,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,sBAAsB,CAAC;IAClC,KAAK,EAAE,eAAe,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAChC,CAAC;AAIF,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAgM3B"}
@@ -0,0 +1,172 @@
1
+ import { resolveDefaultListDescriptorForEntity } from '@x12i/memorix-retrieval';
2
+ import { loadHippoxConfig } from './config.js';
3
+ import { readObjectTypeDocuments, resolveObjectTypeCollection, } from './collection-resolver.js';
4
+ import { loadRecordKeyAnalysis } from './helpers-loader.js';
5
+ import { flattenSampleForKeyAnalysis, memorixPathForLeaf } from './record-flatten.js';
6
+ const DEFAULT_DATA_ROOT = 'data';
7
+ export async function inferLinksForObjectTypes(options) {
8
+ const config = loadHippoxConfig(options.processEnv);
9
+ const objectTypes = [...new Set((options.input.objectTypes ?? []).map((t) => t.trim()).filter(Boolean))];
10
+ if (objectTypes.length < 2) {
11
+ throw new Error('objectTypes must include at least two distinct object types');
12
+ }
13
+ const sampleLimit = Math.min(options.input.sampleLimit ?? config.inferSampleLimit, config.inferSampleLimit);
14
+ const candidateThreshold = options.input.candidateConfidenceThreshold ?? config.inferCandidateConfidence;
15
+ const minInclusionRatio = options.input.minInclusionRatio ?? config.inferMinInclusionRatio;
16
+ const helpers = loadRecordKeyAnalysis();
17
+ const warnings = [];
18
+ const collectionProfiles = [];
19
+ const samplesByType = new Map();
20
+ const targetCollectionsMap = {};
21
+ for (const objectType of objectTypes) {
22
+ try {
23
+ await resolveDefaultListDescriptorForEntity(options.retrieval, objectType);
24
+ }
25
+ catch {
26
+ throw new Error(`Object type not found: ${objectType}`);
27
+ }
28
+ const binding = await resolveObjectTypeCollection(options.retrieval, objectType, options.input.contentType);
29
+ const dataRoot = await resolveDataRoot(options.retrieval, objectType, binding.contentType);
30
+ const docs = await readObjectTypeDocuments(options.retrieval, binding, {
31
+ limit: sampleLimit,
32
+ });
33
+ if (docs.length === 0) {
34
+ warnings.push({
35
+ code: 'empty_collection',
36
+ message: `No sample records for object type "${objectType}".`,
37
+ });
38
+ continue;
39
+ }
40
+ const flatSample = flattenSampleForKeyAnalysis(docs, dataRoot);
41
+ const { records: helperRecords, pathByLeaf } = flatSample;
42
+ samplesByType.set(objectType, helperRecords);
43
+ const first = helperRecords[0];
44
+ if (!first || Object.keys(first).length === 0) {
45
+ warnings.push({
46
+ code: 'no_scalar_fields',
47
+ message: `No scalar join fields discovered in sample for "${objectType}".`,
48
+ });
49
+ continue;
50
+ }
51
+ const candidates = helpers
52
+ .analyzeSingleRecordKeys(first)
53
+ .filter((c) => c.confidence >= candidateThreshold)
54
+ .map((c) => c.property);
55
+ if (candidates.length === 0) {
56
+ warnings.push({
57
+ code: 'no_key_candidates',
58
+ message: `No property candidates above confidence ${candidateThreshold} for "${objectType}".`,
59
+ });
60
+ continue;
61
+ }
62
+ const classified = helpers.analyzeCollectionKeys(helperRecords, candidates);
63
+ const primaryKeys = classified
64
+ .filter((row) => row.classification === 'PRIMARY')
65
+ .map((row) => memorixPathForLeaf(pathByLeaf, row.property));
66
+ const foreignKeys = classified
67
+ .filter((row) => row.classification === 'FOREIGN' || row.classification === 'FOREIGN_OR_DIRTY_PRIMARY')
68
+ .map((row) => ({
69
+ leaf: row.property,
70
+ path: memorixPathForLeaf(pathByLeaf, row.property),
71
+ }));
72
+ if (primaryKeys.length === 0) {
73
+ const idLike = classified
74
+ .filter((row) => row.property.endsWith('Id') || row.property === 'id')
75
+ .sort((a, b) => b.uniquenessRatio - a.uniquenessRatio)
76
+ .slice(0, 3)
77
+ .map((row) => memorixPathForLeaf(pathByLeaf, row.property));
78
+ primaryKeys.push(...idLike);
79
+ }
80
+ collectionProfiles.push({
81
+ objectType,
82
+ contentType: binding.contentType,
83
+ sampleCount: helperRecords.length,
84
+ primaryKeys,
85
+ foreignKeys: foreignKeys.map((row) => row.path),
86
+ properties: classified.map((row) => ({
87
+ property: memorixPathForLeaf(pathByLeaf, row.property),
88
+ classification: row.classification,
89
+ uniqueCount: row.uniqueCount,
90
+ uniquenessRatio: row.uniquenessRatio,
91
+ confidence: row.confidence,
92
+ })),
93
+ });
94
+ targetCollectionsMap[objectType] = {
95
+ primaryKeys: primaryKeys.map((path) => {
96
+ for (const [leaf, full] of pathByLeaf.entries()) {
97
+ if (full === path)
98
+ return leaf;
99
+ }
100
+ return path.split('.').pop() ?? path;
101
+ }),
102
+ records: helperRecords,
103
+ };
104
+ }
105
+ const inferredLinks = [];
106
+ let rank = 0;
107
+ for (const profile of collectionProfiles) {
108
+ const sourceSample = samplesByType.get(profile.objectType);
109
+ if (!sourceSample?.length)
110
+ continue;
111
+ for (const foreignKey of profile.foreignKeys) {
112
+ const foreignLeaf = foreignKey.split('.').pop() ?? foreignKey;
113
+ const others = { ...targetCollectionsMap };
114
+ delete others[profile.objectType];
115
+ const edges = helpers.mapCrossCollectionRelationships(sourceSample, foreignLeaf, others, { minInclusionRatio });
116
+ for (const edge of edges) {
117
+ rank += 1;
118
+ const targetProfile = collectionProfiles.find((p) => p.objectType === edge.targetCollection);
119
+ const resolvedTargetPath = targetProfile?.primaryKeys.find((p) => p.endsWith(`.${edge.targetProperty}`) || p === edge.targetProperty)
120
+ ?? targetProfile?.primaryKeys[0]
121
+ ?? `data.${edge.targetProperty}`;
122
+ inferredLinks.push({
123
+ rank,
124
+ sourceObjectType: profile.objectType,
125
+ targetObjectType: edge.targetCollection,
126
+ sourcePath: foreignKey,
127
+ targetPath: resolvedTargetPath,
128
+ direction: 'downstream',
129
+ operator: 'eq',
130
+ inclusionRatio: edge.inclusionRatio,
131
+ confidence: edge.confidence / 100,
132
+ summary: `${Math.round(edge.inclusionRatio * 100)}% of source values match target `
133
+ + `${edge.targetProperty} on ${edge.targetCollection}.`,
134
+ });
135
+ }
136
+ }
137
+ }
138
+ inferredLinks.sort((a, b) => b.confidence - a.confidence || a.sourceObjectType.localeCompare(b.sourceObjectType));
139
+ inferredLinks.forEach((link, index) => {
140
+ link.rank = index + 1;
141
+ });
142
+ if (inferredLinks.length === 0) {
143
+ warnings.push({
144
+ code: 'no_inferred_links',
145
+ message: `No cross-collection links met inclusion ratio ${minInclusionRatio}.`,
146
+ });
147
+ }
148
+ return {
149
+ mode: 'fuzzy-mapping',
150
+ sampleLimit,
151
+ candidateConfidenceThreshold: candidateThreshold,
152
+ minInclusionRatio,
153
+ collectionProfiles,
154
+ inferredLinks,
155
+ warnings,
156
+ };
157
+ }
158
+ async function resolveDataRoot(retrieval, objectType, contentTypeKey) {
159
+ try {
160
+ const { entity } = await resolveDefaultListDescriptorForEntity(retrieval, objectType);
161
+ const ct = entity.contentTypes?.[contentTypeKey];
162
+ if (ct && typeof ct.dataRoot === 'string')
163
+ return ct.dataRoot;
164
+ if (entity.defaults?.dataRoot)
165
+ return entity.defaults.dataRoot;
166
+ }
167
+ catch {
168
+ // fall through
169
+ }
170
+ return DEFAULT_DATA_ROOT;
171
+ }
172
+ //# sourceMappingURL=infer-links.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infer-links.js","sourceRoot":"","sources":["../src/infer-links.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { MemorixRetrievalClient } from '@x12i/memorix-retrieval';
2
2
  import type { HippoxStore } from './store.js';
3
- import type { InferredFieldType, JoinDiscoveryInput, JoinDiscoveryResult } from './types.js';
3
+ import type { InferredFieldType, JoinDiscoveryInput, JoinDiscoveryResult, LinkDirection } from './types.js';
4
4
  export type DiscoverJoinCandidatesOptions = {
5
5
  retrieval: MemorixRetrievalClient;
6
6
  store?: HippoxStore;
@@ -12,6 +12,7 @@ type PairProbe = {
12
12
  targetPath: string;
13
13
  valueHitRate: number;
14
14
  sourceCoverage: number;
15
+ sourceUniqueness: number;
15
16
  targetCoverage: number;
16
17
  targetUniqueness: number;
17
18
  nameSimilarity: number;
@@ -20,6 +21,19 @@ type PairProbe = {
20
21
  sourceType: InferredFieldType;
21
22
  targetType: InferredFieldType;
22
23
  };
24
+ export type DirectionInferenceProbe = {
25
+ sourcePath: string;
26
+ targetPath: string;
27
+ sourceUniqueness: number;
28
+ targetUniqueness: number;
29
+ schemaRelationBoost: number;
30
+ approvedLinkBoost: number;
31
+ };
32
+ export type DirectionInference = {
33
+ direction: LinkDirection;
34
+ confidence: number;
35
+ reasons: string[];
36
+ };
23
37
  export declare function clearJoinDiscoveryCache(): void;
24
38
  export declare function discoverJoinCandidates(options: DiscoverJoinCandidatesOptions): Promise<JoinDiscoveryResult>;
25
39
  export declare function isScalarJoinable(value: unknown): boolean;
@@ -30,5 +44,6 @@ export declare function computeNameSimilarity(sourcePath: string, targetPath: st
30
44
  export declare function sourceNameHintScore(path: string, targetObjectType: string): number;
31
45
  export declare function targetNameHintScore(path: string, sourceObjectType: string): number;
32
46
  export declare function computePairScore(probe: PairProbe): number;
47
+ export declare function inferLikelyConnectionDirection(probe: DirectionInferenceProbe, sourceObjectType: string, targetObjectType: string): DirectionInference;
33
48
  export {};
34
49
  //# sourceMappingURL=join-discovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"join-discovery.d.ts","sourceRoot":"","sources":["../src/join-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAUtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EACV,iBAAiB,EAGjB,kBAAkB,EAClB,mBAAmB,EAIpB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,6BAA6B,GAAG;IAC1C,SAAS,EAAE,sBAAsB,CAAC;IAClC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAChC,CAAC;AAyBF,KAAK,SAAS,GAAG;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,UAAU,EAAE,iBAAiB,CAAC;CAC/B,CAAC;AAaF,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,mBAAmB,CAAC,CA0K9B;AAkLD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKxD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CASlE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAS/D;AAqKD,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAO7F;AAED,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAeR;AAYD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAUlF;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAQlF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAiBzD"}
1
+ {"version":3,"file":"join-discovery.d.ts","sourceRoot":"","sources":["../src/join-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAUtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EACV,iBAAiB,EAGjB,kBAAkB,EAClB,mBAAmB,EAGnB,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,6BAA6B,GAAG;IAC1C,SAAS,EAAE,sBAAsB,CAAC;IAClC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAChC,CAAC;AAyBF,KAAK,SAAS,GAAG;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,UAAU,EAAE,iBAAiB,CAAC;CAC/B,CAAC;AAQF,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAOF,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,mBAAmB,CAAC,CA+K9B;AAmLD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKxD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CASlE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAS/D;AAsKD,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAO7F;AAED,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAeR;AAYD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAUlF;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAQlF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAiBzD;AAaD,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,uBAAuB,EAC9B,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,GACvB,kBAAkB,CA8CpB"}
@@ -114,6 +114,8 @@ export async function discoverJoinCandidates(options) {
114
114
  const targetFields = rankTargetFields(targetInventory, pairProbes, sourceObjectType, mergedSeeds);
115
115
  const joinCandidates = rankJoinCandidates({
116
116
  probes: pairProbes,
117
+ sourceObjectType,
118
+ targetObjectType,
117
119
  minPairScore: config.discoveryMinPairScore,
118
120
  maxCandidates: config.discoveryMaxCandidates,
119
121
  approvedJoin: mergedSeeds.approvedJoin,
@@ -128,6 +130,8 @@ export async function discoverJoinCandidates(options) {
128
130
  ? {
129
131
  sourcePath: joinCandidates[0].sourcePath,
130
132
  targetPath: joinCandidates[0].targetPath,
133
+ direction: joinCandidates[0].direction,
134
+ directionConfidence: joinCandidates[0].directionConfidence,
131
135
  operator: joinCandidates[0].operator,
132
136
  }
133
137
  : null;
@@ -144,6 +148,7 @@ export async function discoverJoinCandidates(options) {
144
148
  targetFields,
145
149
  joinCandidates,
146
150
  recommendedJoin,
151
+ recommendedDirection: recommendedJoin?.direction ?? null,
147
152
  warnings,
148
153
  };
149
154
  cacheResult(cacheKey, result, config.discoveryCacheTtlMs);
@@ -168,6 +173,7 @@ function buildEmptyResult(params) {
168
173
  targetFields: [],
169
174
  joinCandidates: [],
170
175
  recommendedJoin: null,
176
+ recommendedDirection: null,
171
177
  warnings: params.warnings,
172
178
  };
173
179
  }
@@ -419,6 +425,7 @@ function probeJoinPairs(params) {
419
425
  targetPath: target.path,
420
426
  valueHitRate,
421
427
  sourceCoverage: source.coverage,
428
+ sourceUniqueness: source.uniqueness,
422
429
  targetCoverage: target.coverage,
423
430
  targetUniqueness: target.uniqueness,
424
431
  nameSimilarity: computeNameSimilarity(source.path, target.path, targetObjectType),
@@ -545,6 +552,74 @@ function typesMismatch(sourceType, targetType) {
545
552
  }
546
553
  return sourceType !== 'mixed' && targetType !== 'mixed' && sourceType !== targetType;
547
554
  }
555
+ export function inferLikelyConnectionDirection(probe, sourceObjectType, targetObjectType) {
556
+ if (probe.approvedLinkBoost >= 1 || probe.schemaRelationBoost > 0) {
557
+ return {
558
+ direction: 'downstream',
559
+ confidence: 1,
560
+ reasons: probe.approvedLinkBoost >= 1 ? ['approved_link_history'] : ['schema_relation'],
561
+ };
562
+ }
563
+ const sourcePrimary = primaryKeyHintScore(probe.sourcePath, probe.sourceUniqueness);
564
+ const targetPrimary = primaryKeyHintScore(probe.targetPath, probe.targetUniqueness);
565
+ const sourceReferencesTarget = referenceHintScore(probe.sourcePath, targetObjectType, probe.sourceUniqueness);
566
+ const targetReferencesSource = referenceHintScore(probe.targetPath, sourceObjectType, probe.targetUniqueness);
567
+ const downstreamScore = sourceReferencesTarget + targetPrimary;
568
+ const upstreamScore = targetReferencesSource + sourcePrimary;
569
+ const direction = upstreamScore > downstreamScore + 0.15 ? 'upstream' : 'downstream';
570
+ const winningScore = direction === 'downstream' ? downstreamScore : upstreamScore;
571
+ const losingScore = direction === 'downstream' ? upstreamScore : downstreamScore;
572
+ const reasons = [];
573
+ if (direction === 'downstream') {
574
+ if (sourceReferencesTarget >= 0.5)
575
+ reasons.push('source_field_references_target');
576
+ if (targetPrimary >= 0.5)
577
+ reasons.push('target_field_is_identifier');
578
+ if (probe.sourceUniqueness < probe.targetUniqueness)
579
+ reasons.push('target_values_more_unique');
580
+ }
581
+ else {
582
+ if (targetReferencesSource >= 0.5)
583
+ reasons.push('target_field_references_source');
584
+ if (sourcePrimary >= 0.5)
585
+ reasons.push('source_field_is_identifier');
586
+ if (probe.targetUniqueness < probe.sourceUniqueness)
587
+ reasons.push('source_values_more_unique');
588
+ }
589
+ if (reasons.length === 0)
590
+ reasons.push('default_source_to_target');
591
+ return {
592
+ direction,
593
+ confidence: clamp01(0.5 + Math.min(0.5, Math.max(0, winningScore - losingScore) / 2)),
594
+ reasons,
595
+ };
596
+ }
597
+ function primaryKeyHintScore(path, uniqueness) {
598
+ const leaf = leafName(path).toLowerCase();
599
+ let score = 0;
600
+ if (leaf === 'id' || leaf === '_id' || leaf === 'entityid' || leaf === 'recordid' || leaf === 'targetid') {
601
+ score += 0.7;
602
+ }
603
+ else if (leaf.endsWith('id') && uniqueness >= 0.95) {
604
+ score += 0.45;
605
+ }
606
+ if (uniqueness >= 0.95)
607
+ score += 0.35;
608
+ else if (uniqueness >= 0.75)
609
+ score += 0.2;
610
+ return clamp01(score);
611
+ }
612
+ function referenceHintScore(path, referencedObjectType, uniqueness) {
613
+ const leaf = leafName(path).toLowerCase();
614
+ let score = sourceNameHintScore(path, referencedObjectType);
615
+ if (leaf === 'id' || leaf === '_id' || leaf === 'entityid' || leaf === 'recordid')
616
+ score *= 0.25;
617
+ if (uniqueness < 0.95)
618
+ score += 0.2;
619
+ if (uniqueness < 0.5)
620
+ score += 0.2;
621
+ return clamp01(score);
622
+ }
548
623
  function clamp01(value) {
549
624
  if (value < 0)
550
625
  return 0;
@@ -661,22 +736,28 @@ function rankJoinCandidates(params) {
661
736
  || a.probe.targetPath.localeCompare(b.probe.targetPath);
662
737
  })
663
738
  .slice(0, params.maxCandidates);
664
- return candidates.map((row, index) => ({
665
- rank: index + 1,
666
- score: row.score,
667
- sourcePath: row.probe.sourcePath,
668
- targetPath: row.probe.targetPath,
669
- operator: 'eq',
670
- signals: {
671
- valueHitRate: row.probe.valueHitRate,
672
- sourceCoverage: row.probe.sourceCoverage,
673
- targetUniqueness: row.probe.targetUniqueness,
674
- nameSimilarity: row.probe.nameSimilarity,
675
- schemaRelationBoost: row.probe.schemaRelationBoost,
676
- approvedLinkBoost: row.probe.approvedLinkBoost >= 1 ? 1 : row.probe.approvedLinkBoost,
677
- },
678
- summary: buildCandidateSummary(row.probe),
679
- }));
739
+ return candidates.map((row, index) => {
740
+ const direction = inferLikelyConnectionDirection(row.probe, params.sourceObjectType, params.targetObjectType);
741
+ return {
742
+ rank: index + 1,
743
+ score: row.score,
744
+ sourcePath: row.probe.sourcePath,
745
+ targetPath: row.probe.targetPath,
746
+ direction: direction.direction,
747
+ directionConfidence: direction.confidence,
748
+ directionReasons: direction.reasons,
749
+ operator: 'eq',
750
+ signals: {
751
+ valueHitRate: row.probe.valueHitRate,
752
+ sourceCoverage: row.probe.sourceCoverage,
753
+ targetUniqueness: row.probe.targetUniqueness,
754
+ nameSimilarity: row.probe.nameSimilarity,
755
+ schemaRelationBoost: row.probe.schemaRelationBoost,
756
+ approvedLinkBoost: row.probe.approvedLinkBoost >= 1 ? 1 : row.probe.approvedLinkBoost,
757
+ },
758
+ summary: buildCandidateSummary(row.probe),
759
+ };
760
+ });
680
761
  }
681
762
  function buildCandidateSummary(probe) {
682
763
  const hitPct = Math.round(probe.valueHitRate * 100);
@@ -1 +1 @@
1
- {"version":3,"file":"join-discovery.js","sourceRoot":"","sources":["../src/join-discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"join-discovery.js","sourceRoot":"","sources":["../src/join-discovery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export type FlattenedForHelpers = {
2
+ /** Leaf-key records for @x12i/helpers record-key-analysis */
3
+ records: Record<string, unknown>[];
4
+ /** Maps leaf property name → Memorix dot path (e.g. subnetId → data.subnetId) */
5
+ pathByLeaf: Map<string, string>;
6
+ };
7
+ /** Flatten scalar fields to leaf-key records for helpers, keeping a path map. */
8
+ export declare function flattenSampleForKeyAnalysis(docs: Record<string, unknown>[], dataRoot?: string): FlattenedForHelpers;
9
+ export declare function memorixPathForLeaf(pathByLeaf: Map<string, string>, leaf: string): string;
10
+ /** @deprecated Use flattenSampleForKeyAnalysis which returns path map for helpers. */
11
+ export declare function flattenRecordForKeyAnalysis(doc: Record<string, unknown>, dataRoot?: string): Record<string, unknown>;
12
+ //# sourceMappingURL=record-flatten.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-flatten.d.ts","sourceRoot":"","sources":["../src/record-flatten.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,mBAAmB,GAAG;IAChC,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACnC,iFAAiF;IACjF,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAAC;AAEF,iFAAiF;AACjF,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC/B,QAAQ,SAAS,GAChB,mBAAmB,CAuBrB;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAExF;AAsBD,sFAAsF;AACtF,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,QAAQ,SAAS,GAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzB"}
@@ -0,0 +1,49 @@
1
+ import { extractDataPayload, readPath } from './paths.js';
2
+ import { isScalarJoinable } from './join-discovery.js';
3
+ /** Flatten scalar fields to leaf-key records for helpers, keeping a path map. */
4
+ export function flattenSampleForKeyAnalysis(docs, dataRoot = 'data') {
5
+ const records = [];
6
+ const pathByLeaf = new Map();
7
+ for (const doc of docs) {
8
+ const flat = {};
9
+ const payload = readPath(doc, dataRoot);
10
+ if (payload && typeof payload === 'object' && !Array.isArray(payload)) {
11
+ collectLeafScalars(payload, dataRoot, flat, pathByLeaf);
12
+ }
13
+ else {
14
+ collectLeafScalars(extractDataPayload(doc), '', flat, pathByLeaf);
15
+ }
16
+ const identityRecordId = readPath(doc, 'identity.recordId');
17
+ if (identityRecordId != null && isScalarJoinable(identityRecordId)) {
18
+ flat.identity_recordId = identityRecordId;
19
+ pathByLeaf.set('identity_recordId', 'identity.recordId');
20
+ }
21
+ records.push(flat);
22
+ }
23
+ return { records, pathByLeaf };
24
+ }
25
+ export function memorixPathForLeaf(pathByLeaf, leaf) {
26
+ return pathByLeaf.get(leaf) ?? leaf;
27
+ }
28
+ function collectLeafScalars(obj, prefix, flat, pathByLeaf) {
29
+ for (const [key, value] of Object.entries(obj)) {
30
+ const path = prefix ? `${prefix}.${key}` : key;
31
+ if (value === null || value === undefined)
32
+ continue;
33
+ if (Array.isArray(value))
34
+ continue;
35
+ if (typeof value === 'object' && !(value instanceof Date)) {
36
+ collectLeafScalars(value, path, flat, pathByLeaf);
37
+ continue;
38
+ }
39
+ if (!isScalarJoinable(value))
40
+ continue;
41
+ flat[key] = value;
42
+ pathByLeaf.set(key, path);
43
+ }
44
+ }
45
+ /** @deprecated Use flattenSampleForKeyAnalysis which returns path map for helpers. */
46
+ export function flattenRecordForKeyAnalysis(doc, dataRoot = 'data') {
47
+ return flattenSampleForKeyAnalysis([doc], dataRoot).records[0] ?? {};
48
+ }
49
+ //# sourceMappingURL=record-flatten.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-flatten.js","sourceRoot":"","sources":["../src/record-flatten.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AASvD,iFAAiF;AACjF,MAAM,UAAU,2BAA2B,CACzC,IAA+B,EAC/B,QAAQ,GAAG,MAAM;IAEjB,MAAM,OAAO,GAA8B,EAAE,CAAC;IAC9C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE7C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACxC,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACtE,kBAAkB,CAAC,OAAkC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACrF,CAAC;aAAM,CAAC;YACN,kBAAkB,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;QAC5D,IAAI,gBAAgB,IAAI,IAAI,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;YAC1C,UAAU,CAAC,GAAG,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,UAA+B,EAAE,IAAY;IAC9E,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACtC,CAAC;AAED,SAAS,kBAAkB,CACzB,GAA4B,EAC5B,MAAc,EACd,IAA6B,EAC7B,UAA+B;IAE/B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QACpD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,SAAS;QACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,EAAE,CAAC;YAC1D,kBAAkB,CAAC,KAAgC,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YAC7E,SAAS;QACX,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;YAAE,SAAS;QACvC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAClB,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,2BAA2B,CACzC,GAA4B,EAC5B,QAAQ,GAAG,MAAM;IAEjB,OAAO,2BAA2B,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACvE,CAAC"}
package/dist/service.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { MemorixRetrievalClient } from '@x12i/memorix-retrieval';
2
2
  import { HippoxStore } from './store.js';
3
- import type { ContextLink, ContextLinkInput, JoinDiscoveryInput, JoinDiscoveryResult, ResolveContextInput, SimulationSummary } from './types.js';
3
+ import type { ContextLink, ContextLinkInput, JoinDiscoveryInput, JoinDiscoveryResult, InferLinksInput, InferLinksResult, RelationCandidateBridgeInput, ResolveContextInput, SimulationSummary } from './types.js';
4
4
  import { HippoxValidationError } from './validation.js';
5
5
  export type HippoxServiceOptions = {
6
6
  retrieval: MemorixRetrievalClient;
@@ -31,6 +31,8 @@ export declare class HippoxService {
31
31
  }>;
32
32
  approveLink(id: string): Promise<ContextLink>;
33
33
  discoverJoinCandidates(input: JoinDiscoveryInput): Promise<JoinDiscoveryResult>;
34
+ inferLinks(input: InferLinksInput): Promise<InferLinksResult>;
35
+ createDraftFromRelationCandidate(input: RelationCandidateBridgeInput): Promise<ContextLink>;
34
36
  resolveContextInput(input: ResolveContextInput): Promise<import("./types.js").ResolveContextResult>;
35
37
  resolveMixedContextInput(input: ResolveContextInput & {
36
38
  legacyContextLinks?: import('@x12i/memorix-mongo').JobContextLink[];
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAC;AAI5D,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,qBAAqB,EAA4B,MAAM,iBAAiB,CAAC;AAGlF,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,sBAAsB,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAC/B,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF,qBAAa,aAAa;IACxB,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAE/C,OAAO;WAMM,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC;IAQpE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,SAAS,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAI3D,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;IAI9D,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAIhD,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,UAAU,EAAE,iBAAiB,CAAA;KAAE,CAAC;IAM3F,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,UAAU,EAAE,iBAAiB,CAAA;KAAE,CAAC;IAqB1G,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,UAAU,EAAE,iBAAiB,CAAA;KAAE,CAAC;IAU7F,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAI7C,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAS/E,mBAAmB,CAAC,KAAK,EAAE,mBAAmB;IAS9C,wBAAwB,CAC5B,KAAK,EAAE,mBAAmB,GAAG;QAC3B,kBAAkB,CAAC,EAAE,OAAO,qBAAqB,EAAE,cAAc,EAAE,CAAC;QACpE,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB;;;YAUW,sBAAsB;CAQrC;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,qBAAqB,CAElF"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAC;AAI5D,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,4BAA4B,EAC5B,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,qBAAqB,EAA4B,MAAM,iBAAiB,CAAC;AAKlF,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,sBAAsB,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAC/B,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF,qBAAa,aAAa;IACxB,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAE/C,OAAO;WAMM,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC;IAQpE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,SAAS,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAI3D,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;IAI9D,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAIhD,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,UAAU,EAAE,iBAAiB,CAAA;KAAE,CAAC;IAM3F,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,UAAU,EAAE,iBAAiB,CAAA;KAAE,CAAC;IAqB1G,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,UAAU,EAAE,iBAAiB,CAAA;KAAE,CAAC;IAU7F,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAI7C,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAS/E,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQ7D,gCAAgC,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,WAAW,CAAC;IAgB3F,mBAAmB,CAAC,KAAK,EAAE,mBAAmB;IAS9C,wBAAwB,CAC5B,KAAK,EAAE,mBAAmB,GAAG;QAC3B,kBAAkB,CAAC,EAAE,OAAO,qBAAqB,EAAE,cAAc,EAAE,CAAC;QACpE,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB;;;YAUW,sBAAsB;CAQrC;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,qBAAqB,CAElF"}
package/dist/service.js CHANGED
@@ -4,6 +4,8 @@ import { resolveContext } from './resolve.js';
4
4
  import { resolveMixedContext } from './legacy-bridge.js';
5
5
  import { HippoxValidationError, validateContextLinkInput } from './validation.js';
6
6
  import { discoverJoinCandidates } from './join-discovery.js';
7
+ import { inferLinksForObjectTypes } from './infer-links.js';
8
+ import { hippoxLinkFromRelationCandidate } from './legacy-bridge.js';
7
9
  export class HippoxService {
8
10
  retrieval;
9
11
  store;
@@ -74,6 +76,28 @@ export class HippoxService {
74
76
  processEnv: this.processEnv,
75
77
  });
76
78
  }
79
+ async inferLinks(input) {
80
+ return inferLinksForObjectTypes({
81
+ retrieval: this.retrieval,
82
+ input,
83
+ processEnv: this.processEnv,
84
+ });
85
+ }
86
+ async createDraftFromRelationCandidate(input) {
87
+ const draft = hippoxLinkFromRelationCandidate({
88
+ relationKey: input.relationKey,
89
+ sourceEntity: input.sourceEntity,
90
+ targetEntity: input.targetEntity,
91
+ sourcePath: input.sourceField,
92
+ targetPath: input.targetField,
93
+ sourceContentType: input.sourceContentType,
94
+ targetContentType: input.targetContentType,
95
+ });
96
+ return this.createDraftLink({
97
+ ...draft,
98
+ alias: input.alias,
99
+ });
100
+ }
77
101
  async resolveContextInput(input) {
78
102
  return resolveContext({
79
103
  retrieval: this.retrieval,
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -132,6 +132,9 @@ export type HippoxConfig = {
132
132
  discoveryMinPairScore: number;
133
133
  discoveryCacheTtlMs: number;
134
134
  discoveryMaxCandidates: number;
135
+ inferSampleLimit: number;
136
+ inferMinInclusionRatio: number;
137
+ inferCandidateConfidence: number;
135
138
  };
136
139
  export type InferredFieldType = 'string' | 'number' | 'boolean' | 'date' | 'object' | 'array' | 'mixed';
137
140
  export type JoinDiscoveryField = {
@@ -157,6 +160,9 @@ export type JoinDiscoveryCandidate = {
157
160
  score: number;
158
161
  sourcePath: string;
159
162
  targetPath: string;
163
+ direction: LinkDirection;
164
+ directionConfidence: number;
165
+ directionReasons: string[];
160
166
  operator: JoinOperator;
161
167
  signals: JoinDiscoveryCandidateSignals;
162
168
  summary: string;
@@ -164,6 +170,8 @@ export type JoinDiscoveryCandidate = {
164
170
  export type JoinDiscoveryRecommendedJoin = {
165
171
  sourcePath: string;
166
172
  targetPath: string;
173
+ direction: LinkDirection;
174
+ directionConfidence: number;
167
175
  operator: JoinOperator;
168
176
  };
169
177
  export type JoinDiscoveryWarning = {
@@ -183,6 +191,7 @@ export type JoinDiscoveryResult = {
183
191
  targetFields: JoinDiscoveryField[];
184
192
  joinCandidates: JoinDiscoveryCandidate[];
185
193
  recommendedJoin: JoinDiscoveryRecommendedJoin | null;
194
+ recommendedDirection: LinkDirection | null;
186
195
  warnings: JoinDiscoveryWarning[];
187
196
  };
188
197
  export type JoinDiscoveryInput = {
@@ -193,6 +202,58 @@ export type JoinDiscoveryInput = {
193
202
  direction?: LinkDirection;
194
203
  sampleLimit?: number;
195
204
  };
205
+ export type CollectionKeyProfile = {
206
+ objectType: string;
207
+ contentType: string;
208
+ sampleCount: number;
209
+ primaryKeys: string[];
210
+ foreignKeys: string[];
211
+ properties: Array<{
212
+ property: string;
213
+ classification: 'PRIMARY' | 'FOREIGN' | 'FOREIGN_OR_DIRTY_PRIMARY' | 'ENUM' | 'NONE';
214
+ uniqueCount: number;
215
+ uniquenessRatio: number;
216
+ confidence: number;
217
+ }>;
218
+ };
219
+ export type InferredContextLink = {
220
+ rank: number;
221
+ sourceObjectType: string;
222
+ targetObjectType: string;
223
+ sourcePath: string;
224
+ targetPath: string;
225
+ direction: LinkDirection;
226
+ operator: JoinOperator;
227
+ inclusionRatio: number;
228
+ confidence: number;
229
+ summary: string;
230
+ };
231
+ export type InferLinksInput = {
232
+ objectTypes: string[];
233
+ contentType?: string;
234
+ sampleLimit?: number;
235
+ minInclusionRatio?: number;
236
+ candidateConfidenceThreshold?: number;
237
+ };
238
+ export type InferLinksResult = {
239
+ mode: 'fuzzy-mapping';
240
+ sampleLimit: number;
241
+ candidateConfidenceThreshold: number;
242
+ minInclusionRatio: number;
243
+ collectionProfiles: CollectionKeyProfile[];
244
+ inferredLinks: InferredContextLink[];
245
+ warnings: JoinDiscoveryWarning[];
246
+ };
247
+ export type RelationCandidateBridgeInput = {
248
+ relationKey: string;
249
+ sourceEntity: string;
250
+ targetEntity: string;
251
+ sourceField: string;
252
+ targetField: string;
253
+ sourceContentType?: string;
254
+ targetContentType?: string;
255
+ alias?: string;
256
+ };
196
257
  export type ObjectTypeCollectionBinding = {
197
258
  objectType: string;
198
259
  contentType: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@x12i/memorix-hippox",
3
- "version": "1.1.0",
3
+ "version": "1.3.0",
4
4
  "description": "Memorix Hippox: discover, simulate, persist, and resolve contextual relationships between Memorix object types.",
5
5
  "type": "module",
6
6
  "engines": {
@@ -34,20 +34,25 @@
34
34
  "test:watch": "vitest"
35
35
  },
36
36
  "dependencies": {
37
- "@x12i/memorix-mongo": "^1.4.0",
38
- "@x12i/memorix-retrieval": "^1.19.0",
37
+ "@x12i/memorix-mongo": "^1.5.0",
38
+ "@x12i/memorix-retrieval": "^1.20.0",
39
39
  "mongodb": "^6.21.0"
40
40
  },
41
41
  "peerDependencies": {
42
+ "@x12i/helpers": ">=2.0.0",
42
43
  "fastify": ">=4"
43
44
  },
44
45
  "peerDependenciesMeta": {
45
46
  "fastify": {
46
47
  "optional": true
48
+ },
49
+ "@x12i/helpers": {
50
+ "optional": true
47
51
  }
48
52
  },
49
53
  "devDependencies": {
50
54
  "@types/node": "^22.10.2",
55
+ "@x12i/helpers": "^2.0.0",
51
56
  "fastify": "^5.8.5",
52
57
  "typescript": "^5.7.2",
53
58
  "vitest": "^3.0.0"