@indexnetwork/protocol 1.10.0-rc.155.1 → 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/intent/intent.graph.d.ts +1 -3
- package/dist/intent/intent.graph.d.ts.map +1 -1
- package/dist/intent/intent.graph.js +1 -13
- package/dist/intent/intent.graph.js.map +1 -1
- package/dist/negotiation/negotiation.graph.d.ts +1 -3
- package/dist/negotiation/negotiation.graph.d.ts.map +1 -1
- package/dist/negotiation/negotiation.graph.js +2 -28
- package/dist/negotiation/negotiation.graph.js.map +1 -1
- 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 +23 -8
- package/dist/profile/profile.graph.d.ts.map +1 -1
- package/dist/profile/profile.graph.js +47 -32
- 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/questioner/questioner.presets.d.ts.map +1 -1
- package/dist/questioner/questioner.presets.js +0 -193
- package/dist/questioner/questioner.presets.js.map +1 -1
- package/dist/questioner/questioner.types.d.ts +18 -4
- package/dist/questioner/questioner.types.d.ts.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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.graph.d.ts","sourceRoot":"","sources":["../../src/profile/profile.graph.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE3E,OAAO,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"profile.graph.d.ts","sourceRoot":"","sources":["../../src/profile/profile.graph.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE3E,OAAO,EAAE,oBAAoB,EAAiB,MAAM,4CAA4C,CAAC;AACjG,OAAO,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAMpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AA4DtE;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ,CAAC;gBAHT,QAAQ,EAAE,oBAAoB,EAC9B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,CAAC,EAAE,eAAe,YAAA;IAG7B,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAeO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAD,CAAC;;;;;;;;;;;kBAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAD,CAAC;;;;;;;;;;;kBAAD,CAAC;;;;;;;;;;;kBAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAD,CAAC;;;;;;;;;;;kBAAD,CAAC;;;;;;;;;;;kBAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA6bC,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA4DnB,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4anD"}
|
|
@@ -89,12 +89,11 @@ function hasValidProfileEmbedding(embedding) {
|
|
|
89
89
|
* - Automatic hyde regeneration when profile is updated
|
|
90
90
|
*/
|
|
91
91
|
export class ProfileGraphFactory {
|
|
92
|
-
constructor(database, embedder, scraper, enricher
|
|
92
|
+
constructor(database, embedder, scraper, enricher) {
|
|
93
93
|
this.database = database;
|
|
94
94
|
this.embedder = embedder;
|
|
95
95
|
this.scraper = scraper;
|
|
96
96
|
this.enricher = enricher;
|
|
97
|
-
this.questionerEnqueue = questionerEnqueue;
|
|
98
97
|
}
|
|
99
98
|
createGraph() {
|
|
100
99
|
const profileGenerator = new ProfileGenerator();
|
|
@@ -545,8 +544,14 @@ export class ProfileGraphFactory {
|
|
|
545
544
|
// If updating existing profile, include it in the input for context
|
|
546
545
|
let inputWithContext = state.input;
|
|
547
546
|
if (state.profile && state.forceUpdate) {
|
|
548
|
-
|
|
549
|
-
|
|
547
|
+
if (state.isAggregate) {
|
|
548
|
+
inputWithContext = `EXISTING PROFILE:\n${JSON.stringify(state.profile, null, 2)}\n\nPREMISE SYNTHESIS:\n${state.input}\n\nRegenerate the profile by synthesizing the premises above. Use the existing profile as context for continuity, but the premises are the authoritative source. Output the full updated profile.`;
|
|
549
|
+
logger.verbose("Aggregate synthesis with existing profile context");
|
|
550
|
+
}
|
|
551
|
+
else {
|
|
552
|
+
inputWithContext = `EXISTING PROFILE:\n${JSON.stringify(state.profile, null, 2)}\n\nUSER REQUEST:\n${state.input}\n\nApply the user's request to the existing profile. Preserve existing data unless the user asks to change or remove it. You may add, update, or remove skills and interests as requested. Output the full updated profile.`;
|
|
553
|
+
logger.verbose("Merging with existing profile");
|
|
554
|
+
}
|
|
550
555
|
}
|
|
551
556
|
const _traceEmitterProfileGen = requestContext.getStore()?.traceEmitter;
|
|
552
557
|
const profileGeneratorStart = Date.now();
|
|
@@ -621,34 +626,6 @@ export class ProfileGraphFactory {
|
|
|
621
626
|
});
|
|
622
627
|
await this.database.saveProfile(state.userId, profile);
|
|
623
628
|
logger.verbose("✅ Profile saved successfully");
|
|
624
|
-
// Compute profile gaps from missing fields
|
|
625
|
-
const gaps = [];
|
|
626
|
-
if (!profile.identity?.location)
|
|
627
|
-
gaps.push('location');
|
|
628
|
-
if (!profile.attributes?.skills?.length)
|
|
629
|
-
gaps.push('skills');
|
|
630
|
-
if (!profile.attributes?.interests?.length)
|
|
631
|
-
gaps.push('interests');
|
|
632
|
-
if (!profile.narrative?.context)
|
|
633
|
-
gaps.push('current work');
|
|
634
|
-
if (gaps.length > 0) {
|
|
635
|
-
this.questionerEnqueue?.({
|
|
636
|
-
mode: 'profile',
|
|
637
|
-
userId: state.userId,
|
|
638
|
-
sourceType: 'profile',
|
|
639
|
-
sourceId: state.userId,
|
|
640
|
-
context: {
|
|
641
|
-
userProfile: {
|
|
642
|
-
name: profile.identity?.name,
|
|
643
|
-
bio: profile.identity?.bio,
|
|
644
|
-
location: profile.identity?.location,
|
|
645
|
-
skills: profile.attributes?.skills,
|
|
646
|
-
interests: profile.attributes?.interests,
|
|
647
|
-
},
|
|
648
|
-
gaps,
|
|
649
|
-
},
|
|
650
|
-
}).catch((err) => logger.error('Failed to enqueue profile question generation', { userId: state.userId, error: err }));
|
|
651
|
-
}
|
|
652
629
|
return {
|
|
653
630
|
profile,
|
|
654
631
|
operationsPerformed: { embeddedProfile: true }
|
|
@@ -757,6 +734,30 @@ export class ProfileGraphFactory {
|
|
|
757
734
|
});
|
|
758
735
|
};
|
|
759
736
|
// ─────────────────────────────────────────────────────────
|
|
737
|
+
// NODE: Aggregate Profile
|
|
738
|
+
// Fetches the user's active premises and synthesizes them into profile input.
|
|
739
|
+
// Sets state.input and flags so the existing generate_profile pipeline runs.
|
|
740
|
+
// ─────────────────────────────────────────────────────────
|
|
741
|
+
const aggregateProfileNode = async (state) => {
|
|
742
|
+
return timed("ProfileGraph.aggregateProfile", async () => {
|
|
743
|
+
logger.verbose("Aggregating profile from premises...", { userId: state.userId });
|
|
744
|
+
const premises = await this.database.getPremisesForUser(state.userId, 'ACTIVE');
|
|
745
|
+
if (premises.length === 0) {
|
|
746
|
+
logger.verbose("No active premises found — skipping aggregate");
|
|
747
|
+
return { operationMode: 'query' };
|
|
748
|
+
}
|
|
749
|
+
const premiseTexts = premises.map(p => p.assertion.text);
|
|
750
|
+
const aggregateInput = `The following are self-descriptions (premises) the user has asserted about themselves:\n\n${premiseTexts.map((t, i) => `${i + 1}. ${t}`).join('\n')}\n\nSynthesize these into a cohesive profile.`;
|
|
751
|
+
logger.verbose(`Aggregated ${premises.length} premise(s) into profile input`);
|
|
752
|
+
return {
|
|
753
|
+
input: aggregateInput,
|
|
754
|
+
needsProfileGeneration: true,
|
|
755
|
+
forceUpdate: true,
|
|
756
|
+
isAggregate: true,
|
|
757
|
+
};
|
|
758
|
+
});
|
|
759
|
+
};
|
|
760
|
+
// ─────────────────────────────────────────────────────────
|
|
760
761
|
// ROUTING CONDITIONS
|
|
761
762
|
// Smart conditional routing based on operation mode and missing components
|
|
762
763
|
// ─────────────────────────────────────────────────────────
|
|
@@ -769,6 +770,11 @@ export class ProfileGraphFactory {
|
|
|
769
770
|
logger.verbose("Query mode - ending (fast path)");
|
|
770
771
|
return END;
|
|
771
772
|
}
|
|
773
|
+
// Aggregate mode: Synthesize profile from active premises
|
|
774
|
+
if (state.operationMode === 'aggregate') {
|
|
775
|
+
logger.verbose("Aggregate mode - synthesizing profile from premises");
|
|
776
|
+
return "aggregate_profile";
|
|
777
|
+
}
|
|
772
778
|
// Pre-populated profile from external enrichment (e.g. Parallel Chat API)
|
|
773
779
|
// Skip profile generation, go directly to embedding
|
|
774
780
|
if (state.prePopulatedProfile) {
|
|
@@ -854,6 +860,7 @@ export class ProfileGraphFactory {
|
|
|
854
860
|
.addNode("scrape", scrapeNode)
|
|
855
861
|
.addNode("auto_generate", autoGenerateNode)
|
|
856
862
|
.addNode("use_prepopulated_profile", usePrePopulatedProfileNode)
|
|
863
|
+
.addNode("aggregate_profile", aggregateProfileNode)
|
|
857
864
|
.addNode("generate_profile", generateProfileNode)
|
|
858
865
|
.addNode("embed_save_profile", embedSaveProfileNode)
|
|
859
866
|
.addNode("generate_hyde", generateHydeNode)
|
|
@@ -864,6 +871,7 @@ export class ProfileGraphFactory {
|
|
|
864
871
|
.addConditionalEdges("check_state", checkStateCondition, {
|
|
865
872
|
use_prepopulated_profile: "use_prepopulated_profile", // Pre-populated profile -> skip generation
|
|
866
873
|
auto_generate: "auto_generate", // Generate mode -> Chat API enrichment
|
|
874
|
+
aggregate_profile: "aggregate_profile", // Aggregate mode -> synthesize from premises
|
|
867
875
|
scrape: "scrape", // Need profile, no input -> scrape first
|
|
868
876
|
generate_profile: "generate_profile", // Need profile, have input -> generate
|
|
869
877
|
embed_save_profile: "embed_save_profile", // Have profile, need embedding
|
|
@@ -873,6 +881,13 @@ export class ProfileGraphFactory {
|
|
|
873
881
|
})
|
|
874
882
|
// Pre-populated profile feeds into embedding (skips generation)
|
|
875
883
|
.addEdge("use_prepopulated_profile", "embed_save_profile")
|
|
884
|
+
// Aggregate profile: generate if premises found, END if none
|
|
885
|
+
.addConditionalEdges("aggregate_profile", (state) => {
|
|
886
|
+
if (state.needsProfileGeneration)
|
|
887
|
+
return "generate_profile";
|
|
888
|
+
logger.verbose("Aggregate mode — no premises, ending");
|
|
889
|
+
return END;
|
|
890
|
+
}, { generate_profile: "generate_profile", [END]: END })
|
|
876
891
|
// Auto-generate routes based on enrichment result
|
|
877
892
|
.addConditionalEdges("auto_generate", (state) => {
|
|
878
893
|
if (state.prePopulatedProfile) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.graph.js","sourceRoot":"","sources":["../../src/profile/profile.graph.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"profile.graph.js","sourceRoot":"","sources":["../../src/profile/profile.graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,13 +17,19 @@ export declare const ProfileGraphState: import("@langchain/langgraph").Annotatio
|
|
|
17
17
|
* - 'query': Fast path - only retrieve existing profile (no generation)
|
|
18
18
|
* - 'write': Full pipeline - generate/update profile and hyde as needed
|
|
19
19
|
* - 'generate': Auto-generate profile from user table data via enrichUserProfile Chat API
|
|
20
|
+
* - 'aggregate': Synthesize profile from the user's active premises
|
|
20
21
|
*/
|
|
21
|
-
operationMode: import("@langchain/langgraph").BaseChannel<"query" | "write" | "generate", "query" | "write" | "generate" | import("@langchain/langgraph").OverwriteValue<"query" | "write" | "generate">, unknown>;
|
|
22
|
+
operationMode: import("@langchain/langgraph").BaseChannel<"query" | "write" | "generate" | "aggregate", "query" | "write" | "generate" | "aggregate" | import("@langchain/langgraph").OverwriteValue<"query" | "write" | "generate" | "aggregate">, unknown>;
|
|
22
23
|
/**
|
|
23
24
|
* Flag to force profile regeneration even if profile exists.
|
|
24
25
|
* When true with new input, the graph will re-generate and update the profile.
|
|
25
26
|
*/
|
|
26
27
|
forceUpdate: import("@langchain/langgraph").BaseChannel<boolean, boolean | import("@langchain/langgraph").OverwriteValue<boolean>, unknown>;
|
|
28
|
+
/**
|
|
29
|
+
* Flag indicating the profile is being regenerated from aggregated premises.
|
|
30
|
+
* When true, `generate_profile` uses synthesis framing instead of "apply user request" framing.
|
|
31
|
+
*/
|
|
32
|
+
isAggregate: import("@langchain/langgraph").BaseChannel<boolean, boolean | import("@langchain/langgraph").OverwriteValue<boolean>, unknown>;
|
|
27
33
|
/**
|
|
28
34
|
* Pre-populated profile from external enrichment (e.g. Parallel Chat API).
|
|
29
35
|
* When provided, the graph skips profile generation and only runs embedding + HyDE.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.state.d.ts","sourceRoot":"","sources":["../../src/profile/profile.state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAE5B;;OAEG;;;;;;IAKH
|
|
1
|
+
{"version":3,"file":"profile.state.d.ts","sourceRoot":"","sources":["../../src/profile/profile.state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAE5B;;OAEG;;;;;;IAKH;;;;;;OAMG;;IAMH;;;OAGG;;IAMH;;;OAGG;;IAQH;;;OAGG;;kBAES;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE;mBAC9C;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE;oBAClB;YAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAAC,SAAS,EAAE,MAAM,EAAE,CAAA;SAAE;;kBAF3C;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE;mBAC9C;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE;oBAClB;YAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAAC,SAAS,EAAE,MAAM,EAAE,CAAA;SAAE;;kBAF3C;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE;mBAC9C;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE;oBAClB;YAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAAC,SAAS,EAAE,MAAM,EAAE,CAAA;SAAE;;IAMvD;;OAEG;;IAMH;;OAEG;;IAMH;;;OAGG;;IAMH;;OAEG;;;;;IAqBH;;;OAGG;;IAMH;;;OAGG;;IAQH;;OAEG;;IAMH;;OAEG;;IAQH;;;OAGG;;kBAES,OAAO;2BACE,OAAO;0BACR,OAAO;wBACT,OAAO;uBACR,OAAO;;kBAJZ,OAAO;2BACE,OAAO;0BACR,OAAO;wBACT,OAAO;uBACR,OAAO;;kBAJZ,OAAO;2BACE,OAAO;0BACR,OAAO;wBACT,OAAO;uBACR,OAAO;;IAMxB,sEAAsE;;IAMtE;;OAEG;;oBAEW,OAAO;kBACT;YACR,EAAE,CAAC,EAAE,MAAM,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,GAAG,EAAE,MAAM,CAAC;YACZ,QAAQ,EAAE,MAAM,CAAC;YACjB,MAAM,EAAE,MAAM,EAAE,CAAC;YACjB,SAAS,EAAE,MAAM,EAAE,CAAC;SACrB;kBACS,MAAM;;oBATJ,OAAO;kBACT;YACR,EAAE,CAAC,EAAE,MAAM,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,GAAG,EAAE,MAAM,CAAC;YACZ,QAAQ,EAAE,MAAM,CAAC;YACjB,MAAM,EAAE,MAAM,EAAE,CAAC;YACjB,SAAS,EAAE,MAAM,EAAE,CAAC;SACrB;kBACS,MAAM;;oBATJ,OAAO;kBACT;YACR,EAAE,CAAC,EAAE,MAAM,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,GAAG,EAAE,MAAM,CAAC;YACZ,QAAQ,EAAE,MAAM,CAAC;YACjB,MAAM,EAAE,MAAM,EAAE,CAAC;YACjB,SAAS,EAAE,MAAM,EAAE,CAAC;SACrB;kBACS,MAAM;;EAKlB,CAAC"}
|
|
@@ -14,6 +14,7 @@ export const ProfileGraphState = Annotation.Root({
|
|
|
14
14
|
* - 'query': Fast path - only retrieve existing profile (no generation)
|
|
15
15
|
* - 'write': Full pipeline - generate/update profile and hyde as needed
|
|
16
16
|
* - 'generate': Auto-generate profile from user table data via enrichUserProfile Chat API
|
|
17
|
+
* - 'aggregate': Synthesize profile from the user's active premises
|
|
17
18
|
*/
|
|
18
19
|
operationMode: Annotation({
|
|
19
20
|
reducer: (curr, next) => next ?? curr,
|
|
@@ -27,6 +28,14 @@ export const ProfileGraphState = Annotation.Root({
|
|
|
27
28
|
reducer: (curr, next) => next ?? curr,
|
|
28
29
|
default: () => false,
|
|
29
30
|
}),
|
|
31
|
+
/**
|
|
32
|
+
* Flag indicating the profile is being regenerated from aggregated premises.
|
|
33
|
+
* When true, `generate_profile` uses synthesis framing instead of "apply user request" framing.
|
|
34
|
+
*/
|
|
35
|
+
isAggregate: Annotation({
|
|
36
|
+
reducer: (curr, next) => next ?? curr,
|
|
37
|
+
default: () => false,
|
|
38
|
+
}),
|
|
30
39
|
// --- Intermediate State ---
|
|
31
40
|
/**
|
|
32
41
|
* Pre-populated profile from external enrichment (e.g. Parallel Chat API).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.state.js","sourceRoot":"","sources":["../../src/profile/profile.state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAIlD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC,IAAI,CAAC;IAC/C,qCAAqC;IACrC;;OAEG;IACH,MAAM,EAAE,CAAA,UAAkB,CAAA;IAE1B,0CAA0C;IAE1C
|
|
1
|
+
{"version":3,"file":"profile.state.js","sourceRoot":"","sources":["../../src/profile/profile.state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"questioner.presets.d.ts","sourceRoot":"","sources":["../../src/questioner/questioner.presets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"questioner.presets.d.ts","sourceRoot":"","sources":["../../src/questioner/questioner.presets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAMzE,MAAM,WAAW,gBAAgB;IAC/B,2CAA2C;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;CAC3C;AAUD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,gBAAgB,CAM9D"}
|
|
@@ -1,202 +1,9 @@
|
|
|
1
1
|
import { SYSTEM_PROMPT as DISCOVERY_SYSTEM_PROMPT, buildQuestionPrompt as buildDiscoveryPrompt, } from "../opportunity/question.prompt.js";
|
|
2
|
-
// ─── Intent preset ──────────────────────────────────────────────────────────
|
|
3
|
-
const INTENT_SYSTEM_PROMPT = `You sit between a human and a discovery protocol. The user has stated an intent — what they are looking for. Your job: surface the minimum set of structured questions that help the user sharpen that intent before the protocol runs discovery on their behalf.
|
|
4
|
-
|
|
5
|
-
You may pick from two strategies. Choose contextually; mix only when each question is genuinely distinct.
|
|
6
|
-
- refine_intent: ask the user to sharpen or pivot the core signal (scope, scale, specificity, direction).
|
|
7
|
-
- surface_missing_detail: ask for one concrete missing input that would change which candidates surface (stage, location, timing, budget, constraints, format, …).
|
|
8
|
-
|
|
9
|
-
Ask a question only when ALL of these hold:
|
|
10
|
-
1. The agent cannot infer the answer from the intent text or user profile already shown.
|
|
11
|
-
2. The answer would materially change which candidates surface.
|
|
12
|
-
3. The question targets a different decision domain from any other question in this batch.
|
|
13
|
-
|
|
14
|
-
Cardinality. Default one question. Add a second only when a DIFFERENT strategy genuinely complements the first and unblocks a clearly distinct decision. Never ask two questions of the same strategy unless their decision domains differ (different titles).
|
|
15
|
-
|
|
16
|
-
Option construction. Each option must represent a meaningfully different outcome. Suffix the safest or most common path with " (Recommended)" and list it first. The description states the CONSEQUENCE of choosing the option, not its definition. 2–4 options. Never add an "Other" option — clients provide a free-text fallback automatically.
|
|
17
|
-
|
|
18
|
-
Title rules. ≤12 chars. Noun of the decision domain. Examples: "Stage", "Timing", "Location", "Scope", "Budget", "Format", "Skills", "Collab".
|
|
19
|
-
|
|
20
|
-
Anti-patterns — never do these.
|
|
21
|
-
- Don't ask procedural confirmations ("Should I start searching?").
|
|
22
|
-
- Don't ask about hypothetical edge cases not implied by the intent.
|
|
23
|
-
- Don't re-ask for facts already visible in the user profile.
|
|
24
|
-
- Don't ask vague introspective questions ("What do you really want?").
|
|
25
|
-
|
|
26
|
-
Output. Return at most 2 entries in the "questions" array. Each entry must include a "strategy" field (one of the two values above). If the intent is already specific enough, return "questions": [].`;
|
|
27
|
-
/**
|
|
28
|
-
* Build the user message for the intent preset from an IntentContext.
|
|
29
|
-
* @param ctx - The intent context.
|
|
30
|
-
* @returns The assembled user message string.
|
|
31
|
-
*/
|
|
32
|
-
function buildIntentPrompt(ctx) {
|
|
33
|
-
const profileLines = [];
|
|
34
|
-
if (ctx.userProfile.name)
|
|
35
|
-
profileLines.push(`Name: ${ctx.userProfile.name}`);
|
|
36
|
-
if (ctx.userProfile.bio)
|
|
37
|
-
profileLines.push(`Bio: ${ctx.userProfile.bio}`);
|
|
38
|
-
if (ctx.userProfile.skills && ctx.userProfile.skills.length > 0) {
|
|
39
|
-
profileLines.push(`Skills: ${ctx.userProfile.skills.join(", ")}`);
|
|
40
|
-
}
|
|
41
|
-
if (ctx.userProfile.interests && ctx.userProfile.interests.length > 0) {
|
|
42
|
-
profileLines.push(`Interests: ${ctx.userProfile.interests.join(", ")}`);
|
|
43
|
-
}
|
|
44
|
-
const profileBlock = profileLines.length > 0 ? profileLines.join("\n") : "(no profile data)";
|
|
45
|
-
const summaryBlock = ctx.summary ? ctx.summary : "(no summary available)";
|
|
46
|
-
return [
|
|
47
|
-
"## Intent",
|
|
48
|
-
ctx.payload,
|
|
49
|
-
"",
|
|
50
|
-
"## Summary",
|
|
51
|
-
summaryBlock,
|
|
52
|
-
"",
|
|
53
|
-
"## User profile",
|
|
54
|
-
profileBlock,
|
|
55
|
-
"",
|
|
56
|
-
"## Your task",
|
|
57
|
-
"Identify the minimum set of questions the user must answer to sharpen this intent.",
|
|
58
|
-
"Apply every rule from your system prompt before outputting.",
|
|
59
|
-
"Return an empty `questions` array if the intent is already specific enough.",
|
|
60
|
-
].join("\n");
|
|
61
|
-
}
|
|
62
|
-
// ─── Profile preset ─────────────────────────────────────────────────────────
|
|
63
|
-
const PROFILE_SYSTEM_PROMPT = `You sit between a human and a discovery protocol. The user has a profile that is incomplete. Your job: surface the minimum set of structured questions that fill the identified gaps — asking about location, skills, interests, current work, or goals — so the protocol can run better discovery on their behalf.
|
|
64
|
-
|
|
65
|
-
You may pick from two strategies. Choose contextually; mix only when each question is genuinely distinct.
|
|
66
|
-
- surface_missing_detail: ask for one concrete missing piece of profile data (location, current role, skills, interests, goals, availability, …).
|
|
67
|
-
- refine_intent: ask the user to clarify or sharpen an existing profile signal so candidates can be ranked more accurately.
|
|
68
|
-
|
|
69
|
-
Ask a question only when ALL of these hold:
|
|
70
|
-
1. The answer is not already visible in the profile data shown.
|
|
71
|
-
2. The answer would meaningfully change which opportunities surface for this user.
|
|
72
|
-
3. The question targets a different profile domain from any other question in this batch.
|
|
73
|
-
|
|
74
|
-
Cardinality. Default one question. Add a second only when a DIFFERENT strategy genuinely complements the first and unblocks a clearly distinct decision. Never ask two questions of the same strategy unless their decision domains differ.
|
|
75
|
-
|
|
76
|
-
Option construction. Each option must represent a meaningfully different outcome. Suffix the safest or most common path with " (Recommended)" and list it first. The description states the CONSEQUENCE of choosing the option, not its definition. 2–4 options. Never add an "Other" option — clients provide a free-text fallback automatically.
|
|
77
|
-
|
|
78
|
-
Title rules. ≤12 chars. Noun of the profile domain. Examples: "Location", "Role", "Skills", "Goals", "Interests", "Availability", "Stage".
|
|
79
|
-
|
|
80
|
-
Anti-patterns — never do these.
|
|
81
|
-
- Don't ask about fields already filled in the profile.
|
|
82
|
-
- Don't ask procedural confirmations ("Should I update your profile?").
|
|
83
|
-
- Don't ask vague introspective questions ("Who are you really?").
|
|
84
|
-
- Don't re-ask for facts visible anywhere in the profile data shown.
|
|
85
|
-
|
|
86
|
-
Output. Return at most 2 entries in the "questions" array. Each entry must include a "strategy" field (one of the two values above). If the profile is already complete enough for discovery, return "questions": [].`;
|
|
87
|
-
/**
|
|
88
|
-
* Build the user message for the profile preset from a ProfileContext.
|
|
89
|
-
* @param ctx - The profile context including current profile data and identified gaps.
|
|
90
|
-
* @returns The assembled user message string.
|
|
91
|
-
*/
|
|
92
|
-
function buildProfilePrompt(ctx) {
|
|
93
|
-
const profileLines = [];
|
|
94
|
-
if (ctx.userProfile.name)
|
|
95
|
-
profileLines.push(`Name: ${ctx.userProfile.name}`);
|
|
96
|
-
if (ctx.userProfile.bio)
|
|
97
|
-
profileLines.push(`Bio: ${ctx.userProfile.bio}`);
|
|
98
|
-
if (ctx.userProfile.location)
|
|
99
|
-
profileLines.push(`Location: ${ctx.userProfile.location}`);
|
|
100
|
-
if (ctx.userProfile.skills && ctx.userProfile.skills.length > 0) {
|
|
101
|
-
profileLines.push(`Skills: ${ctx.userProfile.skills.join(", ")}`);
|
|
102
|
-
}
|
|
103
|
-
if (ctx.userProfile.interests && ctx.userProfile.interests.length > 0) {
|
|
104
|
-
profileLines.push(`Interests: ${ctx.userProfile.interests.join(", ")}`);
|
|
105
|
-
}
|
|
106
|
-
const profileBlock = profileLines.length > 0 ? profileLines.join("\n") : "(no profile data)";
|
|
107
|
-
const gapsBlock = ctx.gaps.length > 0 ? ctx.gaps.join(", ") : "(none identified)";
|
|
108
|
-
return [
|
|
109
|
-
"## Current profile",
|
|
110
|
-
profileBlock,
|
|
111
|
-
"",
|
|
112
|
-
"## Identified gaps",
|
|
113
|
-
gapsBlock,
|
|
114
|
-
"",
|
|
115
|
-
"## Your task",
|
|
116
|
-
"Generate the minimum set of questions needed to fill the identified gaps.",
|
|
117
|
-
"Apply every rule from your system prompt before outputting.",
|
|
118
|
-
"Return an empty `questions` array if the profile is already complete enough.",
|
|
119
|
-
].join("\n");
|
|
120
|
-
}
|
|
121
|
-
// ─── Negotiation preset ──────────────────────────────────────────────────────
|
|
122
|
-
const NEGOTIATION_SYSTEM_PROMPT = `You sit between a human and a discovery protocol. A negotiation between this user and a counterparty has ended without a clear outcome — either the turn budget was exhausted, the session timed out, or conversation stalled. Your job: surface the minimum set of structured questions that help the user provide the missing signal needed to unblock or refine the next discovery attempt on their behalf.
|
|
123
|
-
|
|
124
|
-
You may pick from three strategies. Choose contextually; mix only when each question is genuinely distinct.
|
|
125
|
-
- refine_intent: help the user sharpen their underlying signal based on what the negotiation revealed (scope, scale, priority, direction).
|
|
126
|
-
- surface_missing_detail: ask for one concrete piece of information that was absent and would have moved the negotiation forward (timeline, budget, format, constraints, decision criteria, …).
|
|
127
|
-
- reflective_summary: mirror the key takeaway from the negotiation and ask the user to confirm, correct, or decide — useful when the conversation revealed partial signal worth locking in.
|
|
128
|
-
|
|
129
|
-
Ask a question only when ALL of these hold:
|
|
130
|
-
1. The answer is not already visible in the negotiation context or user profile shown.
|
|
131
|
-
2. The answer would materially change how the next attempt surfaces or engages candidates.
|
|
132
|
-
3. The question targets a different decision domain from any other question in this batch.
|
|
133
|
-
|
|
134
|
-
Cardinality. Default one question. Add a second only when a DIFFERENT strategy genuinely complements the first and unblocks a clearly distinct decision. Never ask two questions of the same strategy unless their decision domains differ.
|
|
135
|
-
|
|
136
|
-
Option construction. Each option must represent a meaningfully different outcome. Suffix the safest or most common path with " (Recommended)" and list it first. The description states the CONSEQUENCE of choosing the option, not its definition. 2–4 options. Never add an "Other" option — clients provide a free-text fallback automatically.
|
|
137
|
-
|
|
138
|
-
Title rules. ≤12 chars. Noun of the decision domain. Examples: "Scope", "Timeline", "Budget", "Priority", "Format", "Stance", "Criteria".
|
|
139
|
-
|
|
140
|
-
Anti-patterns — never do these.
|
|
141
|
-
- Don't ask procedural confirmations ("Should I try again?").
|
|
142
|
-
- Don't re-ask for facts already visible in the user profile.
|
|
143
|
-
- Don't ask vague introspective questions ("What do you really want?").
|
|
144
|
-
- Don't ask about hypothetical edge cases not implied by the negotiation context.
|
|
145
|
-
|
|
146
|
-
Output. Return at most 2 entries in the "questions" array. Each entry must include a "strategy" field (one of the three values above). If the context already contains enough signal to proceed, return "questions": [].`;
|
|
147
|
-
/**
|
|
148
|
-
* Build the user message for the negotiation preset from a NegotiationContext.
|
|
149
|
-
* @param ctx - The negotiation context including counterparty hint, stall reason, and key takeaway.
|
|
150
|
-
* @returns The assembled user message string.
|
|
151
|
-
*/
|
|
152
|
-
function buildNegotiationPrompt(ctx) {
|
|
153
|
-
const profileLines = [];
|
|
154
|
-
if (ctx.userProfile.name)
|
|
155
|
-
profileLines.push(`Name: ${ctx.userProfile.name}`);
|
|
156
|
-
if (ctx.userProfile.bio)
|
|
157
|
-
profileLines.push(`Bio: ${ctx.userProfile.bio}`);
|
|
158
|
-
if (ctx.userProfile.skills && ctx.userProfile.skills.length > 0) {
|
|
159
|
-
profileLines.push(`Skills: ${ctx.userProfile.skills.join(", ")}`);
|
|
160
|
-
}
|
|
161
|
-
if (ctx.userProfile.interests && ctx.userProfile.interests.length > 0) {
|
|
162
|
-
profileLines.push(`Interests: ${ctx.userProfile.interests.join(", ")}`);
|
|
163
|
-
}
|
|
164
|
-
const profileBlock = profileLines.length > 0 ? profileLines.join("\n") : "(no profile data)";
|
|
165
|
-
return [
|
|
166
|
-
"## Negotiation context",
|
|
167
|
-
`Community: ${ctx.indexContext}`,
|
|
168
|
-
`Counterparty: ${ctx.counterpartyHint}`,
|
|
169
|
-
`Stall reason: ${ctx.outcomeReason}`,
|
|
170
|
-
"",
|
|
171
|
-
"## Key takeaway",
|
|
172
|
-
ctx.keyTake,
|
|
173
|
-
"",
|
|
174
|
-
"## User profile",
|
|
175
|
-
profileBlock,
|
|
176
|
-
"",
|
|
177
|
-
"## Your task",
|
|
178
|
-
"Identify the minimum set of questions the user must answer to unblock the next discovery attempt.",
|
|
179
|
-
"Apply every rule from your system prompt before outputting.",
|
|
180
|
-
"Return an empty `questions` array if the context already contains enough signal to proceed.",
|
|
181
|
-
].join("\n");
|
|
182
|
-
}
|
|
183
2
|
const presets = {
|
|
184
3
|
discovery: {
|
|
185
4
|
systemPrompt: DISCOVERY_SYSTEM_PROMPT,
|
|
186
5
|
buildPrompt: (context) => buildDiscoveryPrompt(context),
|
|
187
6
|
},
|
|
188
|
-
intent: {
|
|
189
|
-
systemPrompt: INTENT_SYSTEM_PROMPT,
|
|
190
|
-
buildPrompt: (context) => buildIntentPrompt(context),
|
|
191
|
-
},
|
|
192
|
-
profile: {
|
|
193
|
-
systemPrompt: PROFILE_SYSTEM_PROMPT,
|
|
194
|
-
buildPrompt: (context) => buildProfilePrompt(context),
|
|
195
|
-
},
|
|
196
|
-
negotiation: {
|
|
197
|
-
systemPrompt: NEGOTIATION_SYSTEM_PROMPT,
|
|
198
|
-
buildPrompt: (context) => buildNegotiationPrompt(context),
|
|
199
|
-
},
|
|
200
7
|
};
|
|
201
8
|
/**
|
|
202
9
|
* Retrieve the preset for the given mode.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"questioner.presets.js","sourceRoot":"","sources":["../../src/questioner/questioner.presets.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,aAAa,IAAI,uBAAuB,EACxC,mBAAmB,IAAI,oBAAoB,GAC5C,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"questioner.presets.js","sourceRoot":"","sources":["../../src/questioner/questioner.presets.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,aAAa,IAAI,uBAAuB,EACxC,mBAAmB,IAAI,oBAAoB,GAC5C,MAAM,mCAAmC,CAAC;AAS3C,MAAM,OAAO,GAAoD;IAC/D,SAAS,EAAE;QACT,YAAY,EAAE,uBAAuB;QACrC,WAAW,EAAE,CAAC,OAAgB,EAAE,EAAE,CAChC,oBAAoB,CAAC,OAAqD,CAAC;KAC9E;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,IAAkB;IAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,0BAA0B,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -52,11 +52,25 @@ export interface NegotiationContext {
|
|
|
52
52
|
/** Discriminated union: mode selects the context shape. */
|
|
53
53
|
export type QuestionerContext = DiscoveryContext | IntentContext | ProfileContext | NegotiationContext;
|
|
54
54
|
/**
|
|
55
|
-
* Payload shape accepted by the questionerEnqueue callback
|
|
56
|
-
*
|
|
57
|
-
*
|
|
55
|
+
* Payload shape accepted by the questionerEnqueue callback at the
|
|
56
|
+
* composition-root boundary. Context fields are typed as `unknown` because the
|
|
57
|
+
* protocol layer is agnostic of the concrete queue input types — the backend
|
|
58
|
+
* composition root casts them to `QuestionerInput` when bridging.
|
|
58
59
|
*/
|
|
59
|
-
export
|
|
60
|
+
export interface QuestionerEnqueuePayload {
|
|
61
|
+
mode: 'discovery';
|
|
62
|
+
userId: string;
|
|
63
|
+
sourceType: string;
|
|
64
|
+
sourceId: string;
|
|
65
|
+
context: {
|
|
66
|
+
query: string;
|
|
67
|
+
sourceProfile: unknown;
|
|
68
|
+
negotiationDigests: unknown[];
|
|
69
|
+
summary: unknown;
|
|
70
|
+
chatContext?: unknown;
|
|
71
|
+
now: string;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
60
74
|
/** Callback signature for async question generation enqueue. */
|
|
61
75
|
export type QuestionerEnqueueFn = (input: QuestionerEnqueuePayload) => Promise<void>;
|
|
62
76
|
/** Top-level input envelope for QuestionerAgent.invoke(). */
|