@indexnetwork/protocol 1.9.0 → 1.10.0-rc.157.1
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/dist/opportunity/opportunity.graph.d.ts +52 -1
- package/dist/opportunity/opportunity.graph.d.ts.map +1 -1
- package/dist/opportunity/opportunity.graph.js +135 -6
- package/dist/opportunity/opportunity.graph.js.map +1 -1
- package/dist/opportunity/opportunity.presenter.d.ts +1 -1
- package/dist/opportunity/opportunity.presenter.d.ts.map +1 -1
- package/dist/opportunity/opportunity.presenter.js +45 -0
- package/dist/opportunity/opportunity.presenter.js.map +1 -1
- package/dist/opportunity/opportunity.state.d.ts +15 -2
- package/dist/opportunity/opportunity.state.d.ts.map +1 -1
- package/dist/opportunity/opportunity.state.js +5 -0
- package/dist/opportunity/opportunity.state.js.map +1 -1
- package/dist/opportunity/opportunity.utils.d.ts.map +1 -1
- package/dist/opportunity/opportunity.utils.js +4 -0
- package/dist/opportunity/opportunity.utils.js.map +1 -1
- package/dist/premise/premise.analyzer.d.ts.map +1 -1
- package/dist/premise/premise.analyzer.js +1 -1
- package/dist/premise/premise.analyzer.js.map +1 -1
- package/dist/premise/premise.indexer.d.ts.map +1 -1
- package/dist/premise/premise.indexer.js +1 -1
- package/dist/premise/premise.indexer.js.map +1 -1
- package/dist/premise/premise.tools.d.ts.map +1 -1
- package/dist/premise/premise.tools.js +32 -4
- package/dist/premise/premise.tools.js.map +1 -1
- package/dist/profile/profile.graph.d.ts +22 -5
- package/dist/profile/profile.graph.d.ts.map +1 -1
- package/dist/profile/profile.graph.js +46 -2
- package/dist/profile/profile.graph.js.map +1 -1
- package/dist/profile/profile.state.d.ts +7 -1
- package/dist/profile/profile.state.d.ts.map +1 -1
- package/dist/profile/profile.state.js +9 -0
- package/dist/profile/profile.state.js.map +1 -1
- package/dist/shared/agent/tool.factory.d.ts.map +1 -1
- package/dist/shared/agent/tool.factory.js +1 -0
- package/dist/shared/agent/tool.factory.js.map +1 -1
- package/dist/shared/agent/tool.helpers.d.ts +12 -0
- package/dist/shared/agent/tool.helpers.d.ts.map +1 -1
- package/dist/shared/agent/tool.helpers.js.map +1 -1
- package/dist/shared/hyde/hyde.strategies.d.ts +1 -1
- package/dist/shared/hyde/hyde.strategies.d.ts.map +1 -1
- package/dist/shared/hyde/hyde.strategies.js +6 -0
- package/dist/shared/hyde/hyde.strategies.js.map +1 -1
- package/dist/shared/hyde/lens.inferrer.d.ts +1 -1
- package/dist/shared/hyde/lens.inferrer.d.ts.map +1 -1
- package/dist/shared/interfaces/database.interface.d.ts +21 -3
- package/dist/shared/interfaces/database.interface.d.ts.map +1 -1
- package/dist/shared/interfaces/embedder.interface.d.ts +1 -1
- package/dist/shared/interfaces/embedder.interface.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -88,7 +88,7 @@ export declare class OpportunityGraphFactory {
|
|
|
88
88
|
hydeEmbeddings: Record<string, number[]>;
|
|
89
89
|
lenses?: Array<{
|
|
90
90
|
label: string;
|
|
91
|
-
corpus: 'profiles' | 'intents';
|
|
91
|
+
corpus: 'profiles' | 'intents' | 'premises';
|
|
92
92
|
}>;
|
|
93
93
|
hydeDocuments?: Record<string, {
|
|
94
94
|
hydeText?: string;
|
|
@@ -137,6 +137,10 @@ export declare class OpportunityGraphFactory {
|
|
|
137
137
|
discoverySource: "profile" | "intent";
|
|
138
138
|
resolvedTriggerIntentId: Id<"intents"> | undefined;
|
|
139
139
|
sourceProfile: SourceProfileData | null;
|
|
140
|
+
sourcePremises: {
|
|
141
|
+
premiseId: Id<"premises">;
|
|
142
|
+
embedding: number[];
|
|
143
|
+
}[];
|
|
140
144
|
resolvedIntentInIndex: boolean;
|
|
141
145
|
createIntentSuggested: boolean;
|
|
142
146
|
suggestedIntentDescription: string | undefined;
|
|
@@ -219,6 +223,13 @@ export declare class OpportunityGraphFactory {
|
|
|
219
223
|
discoverySource?: "profile" | "intent" | import("@langchain/langgraph").OverwriteValue<"profile" | "intent"> | undefined;
|
|
220
224
|
resolvedTriggerIntentId?: Id<"intents"> | import("@langchain/langgraph").OverwriteValue<Id<"intents"> | undefined> | undefined;
|
|
221
225
|
sourceProfile?: SourceProfileData | import("@langchain/langgraph").OverwriteValue<SourceProfileData | null> | null | undefined;
|
|
226
|
+
sourcePremises?: {
|
|
227
|
+
premiseId: Id<"premises">;
|
|
228
|
+
embedding: number[];
|
|
229
|
+
}[] | import("@langchain/langgraph").OverwriteValue<{
|
|
230
|
+
premiseId: Id<"premises">;
|
|
231
|
+
embedding: number[];
|
|
232
|
+
}[]> | undefined;
|
|
222
233
|
resolvedIntentInIndex?: boolean | import("@langchain/langgraph").OverwriteValue<boolean> | undefined;
|
|
223
234
|
createIntentSuggested?: boolean | import("@langchain/langgraph").OverwriteValue<boolean> | undefined;
|
|
224
235
|
suggestedIntentDescription?: string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined;
|
|
@@ -336,6 +347,16 @@ export declare class OpportunityGraphFactory {
|
|
|
336
347
|
discoverySource: import("@langchain/langgraph").BaseChannel<"profile" | "intent", "profile" | "intent" | import("@langchain/langgraph").OverwriteValue<"profile" | "intent">, unknown>;
|
|
337
348
|
resolvedTriggerIntentId: import("@langchain/langgraph").BaseChannel<Id<"intents"> | undefined, Id<"intents"> | import("@langchain/langgraph").OverwriteValue<Id<"intents"> | undefined> | undefined, unknown>;
|
|
338
349
|
sourceProfile: import("@langchain/langgraph").BaseChannel<SourceProfileData | null, SourceProfileData | import("@langchain/langgraph").OverwriteValue<SourceProfileData | null> | null, unknown>;
|
|
350
|
+
sourcePremises: import("@langchain/langgraph").BaseChannel<{
|
|
351
|
+
premiseId: Id<"premises">;
|
|
352
|
+
embedding: number[];
|
|
353
|
+
}[], {
|
|
354
|
+
premiseId: Id<"premises">;
|
|
355
|
+
embedding: number[];
|
|
356
|
+
}[] | import("@langchain/langgraph").OverwriteValue<{
|
|
357
|
+
premiseId: Id<"premises">;
|
|
358
|
+
embedding: number[];
|
|
359
|
+
}[]>, unknown>;
|
|
339
360
|
resolvedIntentInIndex: import("@langchain/langgraph").BaseChannel<boolean, boolean | import("@langchain/langgraph").OverwriteValue<boolean>, unknown>;
|
|
340
361
|
createIntentSuggested: import("@langchain/langgraph").BaseChannel<boolean, boolean | import("@langchain/langgraph").OverwriteValue<boolean>, unknown>;
|
|
341
362
|
suggestedIntentDescription: import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
|
|
@@ -483,6 +504,16 @@ export declare class OpportunityGraphFactory {
|
|
|
483
504
|
discoverySource: import("@langchain/langgraph").BaseChannel<"profile" | "intent", "profile" | "intent" | import("@langchain/langgraph").OverwriteValue<"profile" | "intent">, unknown>;
|
|
484
505
|
resolvedTriggerIntentId: import("@langchain/langgraph").BaseChannel<Id<"intents"> | undefined, Id<"intents"> | import("@langchain/langgraph").OverwriteValue<Id<"intents"> | undefined> | undefined, unknown>;
|
|
485
506
|
sourceProfile: import("@langchain/langgraph").BaseChannel<SourceProfileData | null, SourceProfileData | import("@langchain/langgraph").OverwriteValue<SourceProfileData | null> | null, unknown>;
|
|
507
|
+
sourcePremises: import("@langchain/langgraph").BaseChannel<{
|
|
508
|
+
premiseId: Id<"premises">;
|
|
509
|
+
embedding: number[];
|
|
510
|
+
}[], {
|
|
511
|
+
premiseId: Id<"premises">;
|
|
512
|
+
embedding: number[];
|
|
513
|
+
}[] | import("@langchain/langgraph").OverwriteValue<{
|
|
514
|
+
premiseId: Id<"premises">;
|
|
515
|
+
embedding: number[];
|
|
516
|
+
}[]>, unknown>;
|
|
486
517
|
resolvedIntentInIndex: import("@langchain/langgraph").BaseChannel<boolean, boolean | import("@langchain/langgraph").OverwriteValue<boolean>, unknown>;
|
|
487
518
|
createIntentSuggested: import("@langchain/langgraph").BaseChannel<boolean, boolean | import("@langchain/langgraph").OverwriteValue<boolean>, unknown>;
|
|
488
519
|
suggestedIntentDescription: import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
|
|
@@ -631,6 +662,16 @@ export declare class OpportunityGraphFactory {
|
|
|
631
662
|
discoverySource: import("@langchain/langgraph").BaseChannel<"profile" | "intent", "profile" | "intent" | import("@langchain/langgraph").OverwriteValue<"profile" | "intent">, unknown>;
|
|
632
663
|
resolvedTriggerIntentId: import("@langchain/langgraph").BaseChannel<Id<"intents"> | undefined, Id<"intents"> | import("@langchain/langgraph").OverwriteValue<Id<"intents"> | undefined> | undefined, unknown>;
|
|
633
664
|
sourceProfile: import("@langchain/langgraph").BaseChannel<SourceProfileData | null, SourceProfileData | import("@langchain/langgraph").OverwriteValue<SourceProfileData | null> | null, unknown>;
|
|
665
|
+
sourcePremises: import("@langchain/langgraph").BaseChannel<{
|
|
666
|
+
premiseId: Id<"premises">;
|
|
667
|
+
embedding: number[];
|
|
668
|
+
}[], {
|
|
669
|
+
premiseId: Id<"premises">;
|
|
670
|
+
embedding: number[];
|
|
671
|
+
}[] | import("@langchain/langgraph").OverwriteValue<{
|
|
672
|
+
premiseId: Id<"premises">;
|
|
673
|
+
embedding: number[];
|
|
674
|
+
}[]>, unknown>;
|
|
634
675
|
resolvedIntentInIndex: import("@langchain/langgraph").BaseChannel<boolean, boolean | import("@langchain/langgraph").OverwriteValue<boolean>, unknown>;
|
|
635
676
|
createIntentSuggested: import("@langchain/langgraph").BaseChannel<boolean, boolean | import("@langchain/langgraph").OverwriteValue<boolean>, unknown>;
|
|
636
677
|
suggestedIntentDescription: import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
|
|
@@ -1010,6 +1051,16 @@ export declare class OpportunityGraphFactory {
|
|
|
1010
1051
|
discoverySource: import("@langchain/langgraph").BaseChannel<"profile" | "intent", "profile" | "intent" | import("@langchain/langgraph").OverwriteValue<"profile" | "intent">, unknown>;
|
|
1011
1052
|
resolvedTriggerIntentId: import("@langchain/langgraph").BaseChannel<Id<"intents"> | undefined, Id<"intents"> | import("@langchain/langgraph").OverwriteValue<Id<"intents"> | undefined> | undefined, unknown>;
|
|
1012
1053
|
sourceProfile: import("@langchain/langgraph").BaseChannel<SourceProfileData | null, SourceProfileData | import("@langchain/langgraph").OverwriteValue<SourceProfileData | null> | null, unknown>;
|
|
1054
|
+
sourcePremises: import("@langchain/langgraph").BaseChannel<{
|
|
1055
|
+
premiseId: Id<"premises">;
|
|
1056
|
+
embedding: number[];
|
|
1057
|
+
}[], {
|
|
1058
|
+
premiseId: Id<"premises">;
|
|
1059
|
+
embedding: number[];
|
|
1060
|
+
}[] | import("@langchain/langgraph").OverwriteValue<{
|
|
1061
|
+
premiseId: Id<"premises">;
|
|
1062
|
+
embedding: number[];
|
|
1063
|
+
}[]>, unknown>;
|
|
1013
1064
|
resolvedIntentInIndex: import("@langchain/langgraph").BaseChannel<boolean, boolean | import("@langchain/langgraph").OverwriteValue<boolean>, unknown>;
|
|
1014
1065
|
createIntentSuggested: import("@langchain/langgraph").BaseChannel<boolean, boolean | import("@langchain/langgraph").OverwriteValue<boolean>, unknown>;
|
|
1015
1066
|
suggestedIntentDescription: import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opportunity.graph.d.ts","sourceRoot":"","sources":["../../src/opportunity/opportunity.graph.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"opportunity.graph.d.ts","sourceRoot":"","sources":["../../src/opportunity/opportunity.graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,4CAA4C,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC/B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAEL,KAAK,gBAAgB,EAErB,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AAK3F,yDAAyD;AACzD,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,CAAC,EAAE,CACP,oBAAoB,EAAE,MAAM,EAC5B,UAAU,EAAE,gBAAgB,EAAE,EAC9B,OAAO,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAC3B,OAAO,CAAC,KAAK,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;KAC3C,CAAC,CAAC,CAAC;IACJ,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,KAAK,CAAC;QAC5F,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,KAAK,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAC,CAAC;KACjG,CAAC,CAAC,CAAC;CACL,CAAC;AACF,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,4CAA4C,CAAC;AAC1F,OAAO,KAAK,EAEV,WAAW,EAGZ,MAAM,4CAA4C,CAAC;AAUpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oDAAoD,CAAC;AAW1F,0EAA0E;AAC1E,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,uGAAuG;AACvG,MAAM,MAAM,8BAA8B,GAAG,CAC3C,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,WAAW,GAAG,MAAM,GAAG,KAAK,KACnC,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,EAC7C,OAAO,EAAE,aAAa,EAAE,GAAG,SAAS,GACnC,MAAM,GAAG,SAAS,CAgCpB;AA6BD;;;GAGG;AACH,qBAAa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,iBAAiB,CAAC;IAC1B,OAAO,CAAC,iBAAiB,CAAC;IAC1B,OAAO,CAAC,gBAAgB,CAAC;IACzB;;;;OAIG;IACH,OAAO,CAAC,eAAe,CAAC;IACxB;;;;OAIG;IACH,OAAO,CAAC,sBAAsB,CAAC;gBAvBvB,QAAQ,EAAE,wBAAwB,EAClC,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE;QACrB,MAAM,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,OAAO,CAAC;YACnD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACzC,MAAM,CAAC,EAAE,KAAK,CAAC;gBAAE,KAAK,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,CAAA;aAAE,CAAC,CAAC;YAC/E,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;gBAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAAC,IAAI,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;SACtE,CAAC,CAAC;KACJ,EACO,iBAAiB,CAAC,EAAE,wBAAwB,YAAA,EAC5C,iBAAiB,CAAC,EAAE,8BAA8B,YAAA,EAClD,gBAAgB,CAAC,EAAE,oBAAoB,YAAA;IAC/C;;;;OAIG;IACK,eAAe,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,kBAAkB,CAAC,YAAA;IACnE;;;;OAIG;IACK,sBAAsB,CAAC,GAAE,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,aAAA;IAGpF,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA2hB4B,MAAM;yBAAW,MAAM;uBAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;4BA6b5D,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;;;;;4BA4IrB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;;;sBAnF1B,MAAM;yBAAW,MAAM;uBAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;sBAuQvD,MAAM;yBAAW,MAAM;uBAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAikElG"}
|
|
@@ -174,9 +174,10 @@ export class OpportunityGraphFactory {
|
|
|
174
174
|
};
|
|
175
175
|
}
|
|
176
176
|
const discoveryUserId = state.onBehalfOfUserId ?? state.userId;
|
|
177
|
-
const [intents, profile] = await Promise.all([
|
|
177
|
+
const [intents, profile, userPremises] = await Promise.all([
|
|
178
178
|
this.database.getActiveIntents(discoveryUserId),
|
|
179
179
|
this.database.getProfile(discoveryUserId),
|
|
180
|
+
this.database.getPremisesForUser(discoveryUserId, 'ACTIVE'),
|
|
180
181
|
]);
|
|
181
182
|
const indexedIntents = intents.map((intent) => ({
|
|
182
183
|
intentId: intent.id,
|
|
@@ -192,13 +193,20 @@ export class OpportunityGraphFactory {
|
|
|
192
193
|
attributes: profile.attributes ?? undefined,
|
|
193
194
|
}
|
|
194
195
|
: null;
|
|
196
|
+
const sourcePremises = (userPremises ?? [])
|
|
197
|
+
.filter(p => p.embedding && p.embedding.length > 0)
|
|
198
|
+
.map(p => ({
|
|
199
|
+
premiseId: p.id,
|
|
200
|
+
embedding: p.embedding,
|
|
201
|
+
}));
|
|
195
202
|
return {
|
|
196
203
|
userNetworks: userNetworkIds,
|
|
197
204
|
indexedIntents,
|
|
198
205
|
sourceProfile,
|
|
206
|
+
sourcePremises,
|
|
199
207
|
trace: [{
|
|
200
208
|
node: "prep",
|
|
201
|
-
detail: `${userNetworkIds.length} network(s), ${intents.length} intent(s), ${profile ? 'profile loaded' : 'no profile'}`,
|
|
209
|
+
detail: `${userNetworkIds.length} network(s), ${intents.length} intent(s), ${sourcePremises.length} premise(s), ${profile ? 'profile loaded' : 'no profile'}`,
|
|
202
210
|
}],
|
|
203
211
|
};
|
|
204
212
|
}, { context: { userId: state.userId }, logOutput: true }).catch((error) => {
|
|
@@ -696,12 +704,30 @@ export class OpportunityGraphFactory {
|
|
|
696
704
|
merged: merged.length,
|
|
697
705
|
},
|
|
698
706
|
});
|
|
699
|
-
|
|
707
|
+
const premiseCands = await runPremiseDiscovery();
|
|
708
|
+
const withPremises = mergePremiseCandidates(merged, premiseCands);
|
|
709
|
+
if (premiseCands.length > 0) {
|
|
710
|
+
traceEntries.push({ node: "discovery", detail: `+ Premise search → ${premiseCands.length} candidate(s), merged to ${withPremises.length}` });
|
|
711
|
+
}
|
|
712
|
+
return { candidates: filterByTarget(withPremises), trace: traceEntries };
|
|
713
|
+
}
|
|
714
|
+
const premiseCands = await runPremiseDiscovery();
|
|
715
|
+
const withPremises = mergePremiseCandidates(queryCandidates, premiseCands);
|
|
716
|
+
if (premiseCands.length > 0) {
|
|
717
|
+
traceEntries.push({ node: "discovery", detail: `+ Premise search → ${premiseCands.length} candidate(s), merged to ${withPremises.length}` });
|
|
700
718
|
}
|
|
701
|
-
return { candidates: filterByTarget(
|
|
719
|
+
return { candidates: filterByTarget(withPremises), trace: traceEntries };
|
|
702
720
|
}
|
|
703
721
|
// No search query - use profile embedding directly (mirror-only)
|
|
704
722
|
if (!vector || vector.length === 0) {
|
|
723
|
+
// Still attempt premise-based discovery even without a profile vector
|
|
724
|
+
const premiseCands = await runPremiseDiscovery();
|
|
725
|
+
if (premiseCands.length > 0) {
|
|
726
|
+
return {
|
|
727
|
+
candidates: filterByTarget(premiseCands),
|
|
728
|
+
trace: [{ node: "discovery", detail: `No profile vector; premise search → ${premiseCands.length} candidate(s)` }],
|
|
729
|
+
};
|
|
730
|
+
}
|
|
705
731
|
return { candidates: [] };
|
|
706
732
|
}
|
|
707
733
|
const allCandidates = [];
|
|
@@ -799,8 +825,13 @@ export class OpportunityGraphFactory {
|
|
|
799
825
|
},
|
|
800
826
|
});
|
|
801
827
|
}
|
|
828
|
+
const premiseCands = await runPremiseDiscovery();
|
|
829
|
+
const withPremises = mergePremiseCandidates(candidates, premiseCands);
|
|
830
|
+
if (premiseCands.length > 0) {
|
|
831
|
+
traceEntries.push({ node: "discovery", detail: `+ Premise search → ${premiseCands.length} candidate(s), merged to ${withPremises.length}` });
|
|
832
|
+
}
|
|
802
833
|
return {
|
|
803
|
-
candidates: filterByTarget(
|
|
834
|
+
candidates: filterByTarget(withPremises),
|
|
804
835
|
trace: traceEntries,
|
|
805
836
|
};
|
|
806
837
|
}
|
|
@@ -892,12 +923,85 @@ export class OpportunityGraphFactory {
|
|
|
892
923
|
}
|
|
893
924
|
return Array.from(byKey.values());
|
|
894
925
|
}
|
|
926
|
+
/**
|
|
927
|
+
* Premise-to-premise discovery (path D).
|
|
928
|
+
* Searches for other users' premises similar to the discoverer's premises,
|
|
929
|
+
* scoped to target networks. Additive — merges into existing candidates.
|
|
930
|
+
*/
|
|
931
|
+
async function runPremiseDiscovery() {
|
|
932
|
+
if (!state.sourcePremises?.length)
|
|
933
|
+
return [];
|
|
934
|
+
const targetNetworkIds = state.targetNetworks.map(t => t.networkId);
|
|
935
|
+
if (targetNetworkIds.length === 0)
|
|
936
|
+
return [];
|
|
937
|
+
logger.verbose('[Graph:Discovery] runPremiseDiscovery start', {
|
|
938
|
+
premiseCount: state.sourcePremises.length,
|
|
939
|
+
targetNetworks: targetNetworkIds.length,
|
|
940
|
+
});
|
|
941
|
+
const searchResults = await Promise.all(state.sourcePremises.map(sp => self.database.searchPremisesBySimilarity({
|
|
942
|
+
embedding: sp.embedding,
|
|
943
|
+
networkIds: targetNetworkIds,
|
|
944
|
+
excludeUserId: discoveryUserId,
|
|
945
|
+
limit: 20,
|
|
946
|
+
})));
|
|
947
|
+
const premiseCandidates = [];
|
|
948
|
+
for (const results of searchResults) {
|
|
949
|
+
for (const r of results) {
|
|
950
|
+
premiseCandidates.push({
|
|
951
|
+
candidateUserId: r.userId,
|
|
952
|
+
candidatePremiseId: r.premiseId,
|
|
953
|
+
networkId: r.networkId,
|
|
954
|
+
similarity: typeof r.similarity === 'number' ? r.similarity : parseFloat(String(r.similarity)),
|
|
955
|
+
lens: 'premise_match',
|
|
956
|
+
candidatePayload: r.assertionText ?? '',
|
|
957
|
+
discoverySource: 'premise-similarity',
|
|
958
|
+
});
|
|
959
|
+
}
|
|
960
|
+
}
|
|
961
|
+
// Dedup by userId + premiseId + networkId (a premise can appear in multiple networks)
|
|
962
|
+
const byKey = new Map();
|
|
963
|
+
for (const c of premiseCandidates) {
|
|
964
|
+
const key = `${c.candidateUserId}:${c.candidatePremiseId ?? 'none'}:${c.networkId}`;
|
|
965
|
+
if (!byKey.has(key) || c.similarity > (byKey.get(key)?.similarity ?? 0)) {
|
|
966
|
+
byKey.set(key, c);
|
|
967
|
+
}
|
|
968
|
+
}
|
|
969
|
+
const deduped = Array.from(byKey.values());
|
|
970
|
+
logger.verbose('[Graph:Discovery] runPremiseDiscovery complete', {
|
|
971
|
+
rawCount: premiseCandidates.length,
|
|
972
|
+
dedupedCount: deduped.length,
|
|
973
|
+
});
|
|
974
|
+
return deduped;
|
|
975
|
+
}
|
|
976
|
+
/**
|
|
977
|
+
* Merge premise candidates into an existing candidate list.
|
|
978
|
+
* Deduplicates by userId + networkId + discoverySource + entityId.
|
|
979
|
+
*/
|
|
980
|
+
function mergePremiseCandidates(existing, premise) {
|
|
981
|
+
if (premise.length === 0)
|
|
982
|
+
return existing;
|
|
983
|
+
const merged = new Map();
|
|
984
|
+
for (const c of [...existing, ...premise]) {
|
|
985
|
+
const key = `${c.candidateUserId}:${c.networkId}:${c.discoverySource}:${c.candidateIntentId ?? c.candidatePremiseId ?? 'none'}`;
|
|
986
|
+
if (!merged.has(key) || c.similarity > (merged.get(key)?.similarity ?? 0)) {
|
|
987
|
+
merged.set(key, c);
|
|
988
|
+
}
|
|
989
|
+
}
|
|
990
|
+
return Array.from(merged.values());
|
|
991
|
+
}
|
|
895
992
|
const resolvedIntent = state.resolvedTriggerIntentId
|
|
896
993
|
? state.indexedIntents.find((i) => i.intentId === state.resolvedTriggerIntentId)
|
|
897
994
|
: state.indexedIntents[0];
|
|
898
995
|
const searchText = state.searchQuery ?? resolvedIntent?.payload ?? '';
|
|
899
996
|
if (!searchText) {
|
|
900
997
|
logger.warn('[Graph:Discovery] No search text available for intent path');
|
|
998
|
+
const premiseCands = await runPremiseDiscovery();
|
|
999
|
+
if (premiseCands.length > 0) {
|
|
1000
|
+
return {
|
|
1001
|
+
candidates: filterByTarget(premiseCands),
|
|
1002
|
+
trace: [{ node: "discovery", detail: `No search text; premise search → ${premiseCands.length} candidate(s)` }],
|
|
1003
|
+
};
|
|
1004
|
+
}
|
|
901
1005
|
return { candidates: [] };
|
|
902
1006
|
}
|
|
903
1007
|
const discovererContext = buildDiscovererContext(state.sourceProfile, state.indexedIntents);
|
|
@@ -914,6 +1018,14 @@ export class OpportunityGraphFactory {
|
|
|
914
1018
|
const hydeEmbeddings = hydeResult.hydeEmbeddings;
|
|
915
1019
|
const lenses = hydeResult.lenses ?? [];
|
|
916
1020
|
if (!hydeEmbeddings || Object.keys(hydeEmbeddings).length === 0) {
|
|
1021
|
+
const premiseCands = await runPremiseDiscovery();
|
|
1022
|
+
if (premiseCands.length > 0) {
|
|
1023
|
+
return {
|
|
1024
|
+
hydeEmbeddings: {},
|
|
1025
|
+
candidates: filterByTarget(premiseCands),
|
|
1026
|
+
trace: [{ node: "discovery", detail: `No HyDE embeddings; premise search → ${premiseCands.length} candidate(s)` }],
|
|
1027
|
+
};
|
|
1028
|
+
}
|
|
917
1029
|
return { hydeEmbeddings: {}, candidates: [] };
|
|
918
1030
|
}
|
|
919
1031
|
const lensMap = new Map(lenses.map(l => [l.label, l]));
|
|
@@ -1039,9 +1151,14 @@ export class OpportunityGraphFactory {
|
|
|
1039
1151
|
},
|
|
1040
1152
|
});
|
|
1041
1153
|
}
|
|
1154
|
+
const premiseCands = await runPremiseDiscovery();
|
|
1155
|
+
const withPremises = mergePremiseCandidates(candidates, premiseCands);
|
|
1156
|
+
if (premiseCands.length > 0) {
|
|
1157
|
+
traceEntries.push({ node: "discovery", detail: `+ Premise search → ${premiseCands.length} candidate(s), merged to ${withPremises.length}` });
|
|
1158
|
+
}
|
|
1042
1159
|
return {
|
|
1043
1160
|
hydeEmbeddings: hydeEmbeddings,
|
|
1044
|
-
candidates: filterByTarget(
|
|
1161
|
+
candidates: filterByTarget(withPremises),
|
|
1045
1162
|
trace: traceEntries,
|
|
1046
1163
|
};
|
|
1047
1164
|
}
|
|
@@ -2326,11 +2443,23 @@ export class OpportunityGraphFactory {
|
|
|
2326
2443
|
}
|
|
2327
2444
|
else {
|
|
2328
2445
|
// Discovery path: opportunity_graph source, no introducer, lifecycle guard for agent/patient.
|
|
2446
|
+
// Build premise lookup from discovery candidates for premise tracking.
|
|
2447
|
+
// When multiple premise candidates exist for the same user, keep the highest-similarity one.
|
|
2448
|
+
const premiseLookup = new Map();
|
|
2449
|
+
for (const c of state.candidates ?? []) {
|
|
2450
|
+
if (c.discoverySource === 'premise-similarity' && c.candidatePremiseId) {
|
|
2451
|
+
const existing = premiseLookup.get(c.candidateUserId);
|
|
2452
|
+
if (!existing || c.similarity > existing.similarity) {
|
|
2453
|
+
premiseLookup.set(c.candidateUserId, { premiseId: c.candidatePremiseId, similarity: c.similarity });
|
|
2454
|
+
}
|
|
2455
|
+
}
|
|
2456
|
+
}
|
|
2329
2457
|
const evaluatorActors = evaluated.actors.map((a) => ({
|
|
2330
2458
|
networkId: a.networkId ?? indexIdForActors,
|
|
2331
2459
|
userId: a.userId,
|
|
2332
2460
|
role: a.role,
|
|
2333
2461
|
...(a.intentId ? { intent: a.intentId } : {}),
|
|
2462
|
+
...(premiseLookup.has(a.userId) ? { premise: premiseLookup.get(a.userId).premiseId } : {}),
|
|
2334
2463
|
}));
|
|
2335
2464
|
actors = evaluatorActors;
|
|
2336
2465
|
const hasIntroducerActor = actors.some(a => a.role === 'introducer');
|