@indexnetwork/protocol 0.3.3 → 0.4.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.
Files changed (66) hide show
  1. package/dist/contact/contact.tools.d.ts.map +1 -1
  2. package/dist/contact/contact.tools.js +37 -22
  3. package/dist/contact/contact.tools.js.map +1 -1
  4. package/dist/index.d.ts +3 -1
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js.map +1 -1
  7. package/dist/integration/integration.tools.d.ts.map +1 -1
  8. package/dist/integration/integration.tools.js +10 -8
  9. package/dist/integration/integration.tools.js.map +1 -1
  10. package/dist/intent/intent.tools.d.ts.map +1 -1
  11. package/dist/intent/intent.tools.js +112 -23
  12. package/dist/intent/intent.tools.js.map +1 -1
  13. package/dist/mcp/mcp.server.d.ts.map +1 -1
  14. package/dist/mcp/mcp.server.js +2 -1
  15. package/dist/mcp/mcp.server.js.map +1 -1
  16. package/dist/negotiation/negotiation.graph.d.ts +37 -1
  17. package/dist/negotiation/negotiation.graph.d.ts.map +1 -1
  18. package/dist/negotiation/negotiation.graph.js +48 -6
  19. package/dist/negotiation/negotiation.graph.js.map +1 -1
  20. package/dist/negotiation/negotiation.state.d.ts +12 -0
  21. package/dist/negotiation/negotiation.state.d.ts.map +1 -1
  22. package/dist/negotiation/negotiation.state.js +16 -0
  23. package/dist/negotiation/negotiation.state.js.map +1 -1
  24. package/dist/negotiation/negotiation.tools.d.ts +7 -0
  25. package/dist/negotiation/negotiation.tools.d.ts.map +1 -0
  26. package/dist/negotiation/negotiation.tools.js +547 -0
  27. package/dist/negotiation/negotiation.tools.js.map +1 -0
  28. package/dist/network/network.tools.d.ts.map +1 -1
  29. package/dist/network/network.tools.js +65 -21
  30. package/dist/network/network.tools.js.map +1 -1
  31. package/dist/opportunity/opportunity.graph.d.ts.map +1 -1
  32. package/dist/opportunity/opportunity.graph.js +4 -2
  33. package/dist/opportunity/opportunity.graph.js.map +1 -1
  34. package/dist/opportunity/opportunity.tools.d.ts.map +1 -1
  35. package/dist/opportunity/opportunity.tools.js +50 -26
  36. package/dist/opportunity/opportunity.tools.js.map +1 -1
  37. package/dist/profile/profile.tools.d.ts.map +1 -1
  38. package/dist/profile/profile.tools.js +50 -18
  39. package/dist/profile/profile.tools.js.map +1 -1
  40. package/dist/shared/agent/tool.factory.d.ts.map +1 -1
  41. package/dist/shared/agent/tool.factory.js +12 -1
  42. package/dist/shared/agent/tool.factory.js.map +1 -1
  43. package/dist/shared/agent/tool.helpers.d.ts +22 -0
  44. package/dist/shared/agent/tool.helpers.d.ts.map +1 -1
  45. package/dist/shared/agent/tool.helpers.js.map +1 -1
  46. package/dist/shared/agent/tool.registry.d.ts.map +1 -1
  47. package/dist/shared/agent/tool.registry.js +4 -0
  48. package/dist/shared/agent/tool.registry.js.map +1 -1
  49. package/dist/shared/agent/utility.tools.d.ts.map +1 -1
  50. package/dist/shared/agent/utility.tools.js +215 -46
  51. package/dist/shared/agent/utility.tools.js.map +1 -1
  52. package/dist/shared/interfaces/database.interface.d.ts +52 -0
  53. package/dist/shared/interfaces/database.interface.d.ts.map +1 -1
  54. package/dist/shared/interfaces/negotiation-events.interface.d.ts +58 -0
  55. package/dist/shared/interfaces/negotiation-events.interface.d.ts.map +1 -0
  56. package/dist/shared/interfaces/negotiation-events.interface.js +7 -0
  57. package/dist/shared/interfaces/negotiation-events.interface.js.map +1 -0
  58. package/dist/shared/interfaces/webhook.interface.d.ts +25 -0
  59. package/dist/shared/interfaces/webhook.interface.d.ts.map +1 -0
  60. package/dist/shared/interfaces/webhook.interface.js +2 -0
  61. package/dist/shared/interfaces/webhook.interface.js.map +1 -0
  62. package/dist/webhook/webhook.tools.d.ts +7 -0
  63. package/dist/webhook/webhook.tools.d.ts.map +1 -0
  64. package/dist/webhook/webhook.tools.js +127 -0
  65. package/dist/webhook/webhook.tools.js.map +1 -0
  66. package/package.json +1 -1
@@ -85,49 +85,53 @@ export function createOpportunityTools(defineTool, deps) {
85
85
  const { database, userDb, systemDb, graphs, embedder, cache } = deps;
86
86
  const createOpportunities = defineTool({
87
87
  name: "create_opportunities",
88
- description: "Creates opportunities (connections). NOT for looking up a specific person by name use read_user_profiles(query=name) for that.\n\n" +
89
- "Four modes:\n" +
90
- "1. **Discovery**: pass searchQuery and/or networkId. Finds matching people based on intent overlap.\n" +
91
- "2. **Introduction**: pass partyUserIds (2+ user IDs) + entities (pre-gathered profiles and intents). " +
92
- "You MUST gather profiles and intents from shared indexes BEFORE calling this. " +
93
- "Optionally pass hint (the user's reason for the introduction).\n" +
94
- "3. **Direct connection**: pass targetUserId (a single user ID) + searchQuery (reason for connecting). " +
95
- "Creates an opportunity between the current user and the target user.\n" +
96
- "4. **Introducer discovery**: pass introTargetUserId (user ID to find matches FOR). " +
97
- "Discovers matches for that person; current user becomes the introducer. " +
98
- "Use when user asks 'who should I introduce to @Person'.\n\n" +
99
- "Results are saved as drafts; use update_opportunity(status='pending') to send.",
88
+ description: "Creates opportunities discovered connections between users based on complementary intents. Opportunities are the core output " +
89
+ "of the discovery engine, representing potential valuable connections between people.\n\n" +
90
+ "**NOT for person lookup** use read_user_profiles(query=name) to find people by name.\n\n" +
91
+ "**Four modes:**\n" +
92
+ "1. **Discovery** (most common): pass `searchQuery` and/or `networkId`. The system finds other users in shared indexes " +
93
+ "whose intents semantically complement the query. Uses HyDE embeddings and LLM evaluation for scoring.\n" +
94
+ "2. **Introduction**: pass `partyUserIds` (2+ user IDs) + `entities` (pre-gathered profiles and intents from shared indexes). " +
95
+ "You MUST call read_user_profiles and read_intents for each party BEFORE calling this. " +
96
+ "Optionally pass `hint` with the user's reason for the introduction.\n" +
97
+ "3. **Direct connection**: pass `targetUserId` + `searchQuery`. Creates an opportunity between the current user and one specific person.\n" +
98
+ "4. **Introducer discovery**: pass `introTargetUserId` (find matches FOR that person; current user becomes the introducer). " +
99
+ "Use when user asks 'who should I introduce to [person]?'\n\n" +
100
+ "**Returns:** Opportunity code blocks (render as interactive cards) with opportunityId, match reasoning, confidence score, and status. " +
101
+ "All results start as drafts. Supports pagination via `continueFrom` for large result sets.\n\n" +
102
+ "**Next steps:** Use update_opportunity(opportunityId, status='pending') to send a draft to the other party.",
100
103
  querySchema: z.object({
101
104
  continueFrom: z
102
105
  .string()
103
106
  .optional()
104
- .describe("Discovery pagination: pass the discoveryId from a previous result to evaluate more candidates."),
107
+ .describe("Pagination token: pass the discoveryId from a previous create_opportunities result to evaluate the next batch of candidates. Do not combine with other mode parameters."),
105
108
  searchQuery: z
106
109
  .string()
107
110
  .optional()
108
- .describe("Discovery mode: what to look for."),
111
+ .describe("Discovery mode: natural language description of what to look for (e.g. 'AI/ML engineers', 'startup advisors in fintech'). Drives semantic matching against other users' intents and profiles."),
109
112
  networkId: z
110
113
  .string()
111
114
  .optional()
112
- .describe("Index UUID; optional when index-scoped. Pass the personal index ID (\"My Network\") to scope discovery to the user's contacts only."),
115
+ .describe("Index UUID to scope discovery to a specific community. Get from read_networks. Defaults to the scoped index in index-scoped chats. Pass the personal index ID (from read_networks, isPersonal=true) to scope to the user's contacts only."),
113
116
  intentId: z
114
117
  .string()
115
118
  .optional()
116
- .describe("Discovery mode: optional intent to use as source and for triggeredBy (e.g. from queue)."),
119
+ .describe("Optional intent UUID to use as the discovery source. The intent's description drives matching instead of searchQuery. Get from read_intents. Typically used by background processing, not direct agent calls."),
117
120
  targetUserId: z
118
121
  .string()
119
122
  .optional()
120
- .describe("Direct connection mode: create opportunity with this specific user ID. Used when the user wants to connect with a named person."),
123
+ .describe("Direct connection mode: create an opportunity with this specific user. Get the userId from read_user_profiles(query=name). Combine with searchQuery to explain the connection reason."),
121
124
  introTargetUserId: z
122
125
  .string()
123
126
  .optional()
124
127
  .describe("Introducer discovery mode: find matches FOR this user ID (the current user becomes the introducer). " +
125
- "Use when the user asks 'who should I introduce to @Person'. " +
128
+ "Get the userId from read_user_profiles(query=name). " +
129
+ "Use when the user asks 'who should I introduce to [person]?'. " +
126
130
  "Do NOT combine with partyUserIds (that's full introduction mode)."),
127
131
  partyUserIds: z
128
132
  .array(z.string())
129
133
  .optional()
130
- .describe("Introduction mode: user IDs to introduce (at least 2)."),
134
+ .describe("Introduction mode: array of 2+ user IDs to introduce to each other. Get user IDs from read_user_profiles or read_network_memberships. Must also provide entities with pre-gathered profile/intent data."),
131
135
  entities: z
132
136
  .array(z.object({
133
137
  userId: z.string(),
@@ -153,11 +157,15 @@ export function createOpportunityTools(defineTool, deps) {
153
157
  .describe("Shared index this entity's data comes from (required for intro mode)"),
154
158
  }))
155
159
  .optional()
156
- .describe("Introduction mode: pre-gathered profiles + intents per party. Gather via read_user_profiles + read_intents before calling."),
160
+ .describe("Introduction mode: pre-gathered profile and intent data for each party being introduced. " +
161
+ "Each entry needs userId, networkId (the shared index), and optionally profile (name, bio, skills, interests) and intents (intentId, payload). " +
162
+ "Gather this data by calling read_user_profiles and read_intents for each party BEFORE calling create_opportunities. " +
163
+ "All entities must share the same networkId (the shared index where both parties are members)."),
157
164
  hint: z
158
165
  .string()
159
166
  .optional()
160
- .describe("Introduction mode: the user's reason for the intro (e.g. 'both AI devs')."),
167
+ .describe("Introduction mode: the user's reason for making this introduction (e.g. 'both working on AI in healthcare', " +
168
+ "'complementary skills for a startup'). Helps the evaluator produce better match reasoning."),
161
169
  }),
162
170
  handler: async ({ context, query }) => {
163
171
  // Strict scope enforcement: when chat is index-scoped, only allow that index
@@ -595,12 +603,18 @@ export function createOpportunityTools(defineTool, deps) {
595
603
  });
596
604
  const listOpportunities = defineTool({
597
605
  name: "list_opportunities",
598
- description: "Lists the user's opportunities (suggested connections). Returns opportunity cards to display. When chat is index-scoped, only shows opportunities from that index.",
606
+ description: "Lists the authenticated user's existing opportunities (discovered connections). Returns opportunity cards ready for display.\n\n" +
607
+ "**What are opportunities?** Matches between users whose intents complement each other within shared indexes. " +
608
+ "Each opportunity has a status: draft (not yet sent), pending (sent, awaiting response), accepted, rejected, or expired.\n\n" +
609
+ "**When to use:** When the user wants to see their current connections/matches, check the status of previously discovered opportunities, " +
610
+ "or review what's waiting for their response.\n\n" +
611
+ "**Returns:** Up to 3 opportunity code blocks (interactive cards) with counterpart name, match reasoning, confidence score, " +
612
+ "and current status. Use update_opportunity to act on them (send, accept, reject).",
599
613
  querySchema: z.object({
600
614
  networkId: z
601
615
  .string()
602
616
  .optional()
603
- .describe("Index UUID filter; defaults to current index when scoped."),
617
+ .describe("Index UUID to filter opportunities to a specific community. Get from read_networks. Defaults to the scoped index in index-scoped chats. Omit to see opportunities across all indexes."),
604
618
  }),
605
619
  handler: async ({ context, query }) => {
606
620
  // Strict scope enforcement: when chat is index-scoped, only allow that index
@@ -761,14 +775,24 @@ export function createOpportunityTools(defineTool, deps) {
761
775
  });
762
776
  const updateOpportunity = defineTool({
763
777
  name: "update_opportunity",
764
- description: "Updates an opportunity's status. Use 'pending' to send a draft (notifies next person). Use 'accepted'/'rejected' to respond to a received opportunity. When chat is index-scoped, can only update opportunities from that index.",
778
+ description: "Updates an opportunity's status, advancing it through the connection lifecycle.\n\n" +
779
+ "**Status transitions:**\n" +
780
+ "- `pending`: Sends a draft opportunity to the other party. They'll be notified and can accept or reject. " +
781
+ "This is the primary action after create_opportunities returns a draft.\n" +
782
+ "- `accepted`: Accept a received opportunity — signals interest in connecting. Both parties can now communicate.\n" +
783
+ "- `rejected`: Decline a received opportunity.\n" +
784
+ "- `expired`: Mark as expired (typically done by the system after timeout).\n\n" +
785
+ "**When to use:** After create_opportunities or list_opportunities returns opportunity cards. " +
786
+ "The user clicks 'Send' (pending), 'Accept', or 'Reject' on the card, and the agent calls this tool.\n\n" +
787
+ "**Returns:** Confirmation with the new status and notification details (who was notified).",
765
788
  querySchema: z.object({
766
789
  opportunityId: z
767
790
  .string()
768
- .describe("Opportunity ID from list_opportunities"),
791
+ .describe("The UUID of the opportunity to update. Get from create_opportunities or list_opportunities results."),
769
792
  status: z
770
793
  .enum(["pending", "accepted", "rejected", "expired"])
771
- .describe("New status: pending (send draft), accepted, rejected, expired"),
794
+ .describe("New status: 'pending' = send the draft to the other party, 'accepted' = accept the connection, " +
795
+ "'rejected' = decline, 'expired' = mark as timed out."),
772
796
  }),
773
797
  handler: async ({ context, query }) => {
774
798
  const opportunityId = query.opportunityId?.trim();
@@ -1 +1 @@
1
- {"version":3,"file":"opportunity.tools.js","sourceRoot":"","sources":["../../src/opportunity/opportunity.tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opportunity.tools.js","sourceRoot":"","sources":["../../src/opportunity/opportunity.tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"profile.tools.d.ts","sourceRoot":"","sources":["../../src/profile/profile.tools.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAkB5E,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,iCA8hBxE"}
1
+ {"version":3,"file":"profile.tools.d.ts","sourceRoot":"","sources":["../../src/profile/profile.tools.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAkB5E,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,iCA8jBxE"}
@@ -25,11 +25,21 @@ export function createProfileTools(defineTool, deps) {
25
25
  }
26
26
  const readUserProfiles = defineTool({
27
27
  name: "read_user_profiles",
28
- description: "Find or read user profiles. When the user asks to find, look up, or learn about a specific person by name, use `query` — this is the primary way to look up people by name. With `query`: finds members by name (case-insensitive) across the user's indexes (or a specific index if `networkId` also provided). With `userId`: returns that user's profile. With `networkId` alone: returns profiles of all members in that index. In an index-scoped chat, no args returns the current user's profile. Outside an index-scoped chat, at least one parameter is required.",
28
+ description: "Retrieves user profiles containing identity info (name, bio, location), skills, and interests. Profiles are used for semantic matching " +
29
+ "in opportunity discovery — richer profiles produce better matches.\n\n" +
30
+ "**Usage modes:**\n" +
31
+ "- With `query` (name search): finds members by name (case-insensitive substring) across the user's indexes. " +
32
+ "This is the primary way to look up a person by name. Add `networkId` to restrict search to one index.\n" +
33
+ "- With `userId`: returns that specific user's full profile (name, bio, skills, interests, location).\n" +
34
+ "- With `networkId` alone: returns profiles of ALL members in that index.\n" +
35
+ "- No parameters (index-scoped chat only): returns the current user's own profile.\n\n" +
36
+ "**When to use:** Before creating introductions (need profiles of both parties), when the user asks about a person, " +
37
+ "or to check if a profile exists before suggesting create_user_profile.\n\n" +
38
+ "**Returns:** Profile objects with name, bio, location, skills[], interests[]. Use userId from results with other tools like read_intents(userId, networkId).",
29
39
  querySchema: z.object({
30
- userId: z.string().optional().describe("Optional user ID to fetch a specific user's profile"),
31
- networkId: z.string().optional().describe("Optional index ID to fetch profiles of all members in that index"),
32
- query: z.string().optional().describe("Name to find (case-insensitive substring match). Searches across the user's indexes, or within a specific index if networkId is also provided."),
40
+ userId: z.string().optional().describe("Fetch a specific user's profile by their user ID. Get user IDs from read_network_memberships or list_contacts."),
41
+ networkId: z.string().optional().describe("Index UUID fetch profiles of all members in this index, or narrow a name search to this index. Get from read_networks."),
42
+ query: z.string().optional().describe("Name to search for (case-insensitive substring match). Searches across all the user's indexes unless networkId is also provided. Use this when the user asks to 'find' or 'look up' someone."),
33
43
  }),
34
44
  handler: async ({ context, query }) => {
35
45
  const effectiveIndexId = query.networkId?.trim() || undefined;
@@ -196,16 +206,26 @@ export function createProfileTools(defineTool, deps) {
196
206
  });
197
207
  const createUserProfile = defineTool({
198
208
  name: "create_user_profile",
199
- description: "Auto-generates (or regenerates) a profile from the user's account data (name, email, social links) via web lookup, or from explicit text when the user provides a short description (e.g. role, skills, location). When the user provides a profile URL in their message, pass it in the matching parameter (e.g. linkedinUrl) so that URL is used for this request, not their saved links. Works whether or not the user already has a profile. Call with no args first; if it returns missing fields, ask the user conversationally for their full name and/or social URLs, then call again with those fields filled in. During onboarding, the first call returns a preview without saving. When the user confirms, call again with confirm=true to save.",
209
+ description: "Creates or regenerates the authenticated user's profile. Profiles are essential for discovery they provide the semantic context " +
210
+ "used to match users with complementary intents. A richer profile means better opportunity matches.\n\n" +
211
+ "**How it works:** The system enriches profile data from public web sources (LinkedIn, GitHub, Twitter) and/or explicit user input, " +
212
+ "then generates a structured profile with bio, skills, interests, location, and narrative context.\n\n" +
213
+ "**Usage patterns:**\n" +
214
+ "- No args: attempts auto-generation from account data. If insufficient info, returns `missingFields` — ask the user for name/social URLs and retry.\n" +
215
+ "- With social URLs (linkedinUrl, githubUrl, etc.): enriches from those specific URLs.\n" +
216
+ "- With bioOrDescription: creates profile from explicit text only (no web scraping).\n" +
217
+ "- During onboarding: first call returns a preview (not saved). Call again with confirm=true after user approval to persist.\n\n" +
218
+ "**Returns:** The generated profile (name, bio, location, skills, interests) or a `needsClarification` response listing missing fields.\n\n" +
219
+ "**Next steps:** After profile creation, the user can create intents (create_intent) and join indexes (create_network_membership) to start discovering opportunities.",
200
220
  querySchema: z.object({
201
- name: z.string().optional().describe("User's full name (first and last), if provided by the user"),
202
- linkedinUrl: z.string().optional().describe("LinkedIn profile URL"),
203
- githubUrl: z.string().optional().describe("GitHub profile URL"),
204
- twitterUrl: z.string().optional().describe("X/Twitter profile URL"),
205
- websites: z.array(z.string()).optional().describe("Personal or portfolio website URLs"),
206
- location: z.string().optional().describe("User's location (city, country)"),
207
- bioOrDescription: z.string().optional().describe("Explicit profile text from the user (e.g. 'software engineer, AI/ML, SF Bay Area'); creates or updates profile from this text only, no scraping"),
208
- confirm: z.boolean().optional().describe("Pass true to save a previously previewed profile during onboarding"),
221
+ name: z.string().optional().describe("User's full name (first and last). Pass when the user explicitly provides their name."),
222
+ linkedinUrl: z.string().optional().describe("LinkedIn profile URL (e.g. 'https://linkedin.com/in/username'). Pass when user shares a LinkedIn link."),
223
+ githubUrl: z.string().optional().describe("GitHub profile URL (e.g. 'https://github.com/username'). Pass when user shares a GitHub link."),
224
+ twitterUrl: z.string().optional().describe("X/Twitter profile URL (e.g. 'https://x.com/username'). Pass when user shares a Twitter/X link."),
225
+ websites: z.array(z.string()).optional().describe("Personal or portfolio website URLs. Pass when user shares website links."),
226
+ location: z.string().optional().describe("User's location (e.g. 'Berlin, Germany' or 'SF Bay Area'). Pass when the user mentions where they are based."),
227
+ bioOrDescription: z.string().optional().describe("Explicit profile text from the user (e.g. 'software engineer focused on AI/ML, based in SF'). When provided, creates/updates profile from this text only no web scraping. Use when user describes themselves in chat."),
228
+ confirm: z.boolean().optional().describe("Set to true to save a previously previewed profile. Only used during onboarding flow after the user approves the preview."),
209
229
  }),
210
230
  handler: async ({ context, query }) => {
211
231
  // Persist user-info fields (name, location, socials) to users table before any branching.
@@ -426,11 +446,17 @@ export function createProfileTools(defineTool, deps) {
426
446
  });
427
447
  const updateUserProfile = defineTool({
428
448
  name: "update_user_profile",
429
- description: "Updates the user's existing profile. For the current user's profile, profileId can be omitted and the tool will use their profile. Use ONE call per request with all changes in action (and details if needed). For profile URLs call scrape_url first, then pass scraped content in details.",
449
+ description: "Updates the authenticated user's existing profile with specific changes. Unlike create_user_profile (which regenerates the whole profile), " +
450
+ "this tool applies targeted modifications — updating bio text, adding/removing skills, changing location, etc.\n\n" +
451
+ "**When to use:** When the user wants to make specific changes to their profile (e.g. 'add Python to my skills', 'update my bio', " +
452
+ "'change my location to Berlin'). For full profile regeneration from social URLs, use create_user_profile instead.\n\n" +
453
+ "**Important:** If the user provides a URL to update from, call scrape_url first, then pass the scraped content in `details`.\n\n" +
454
+ "**Returns:** Confirmation that the profile was updated. The profile's semantic embeddings are automatically recalculated, " +
455
+ "which may surface new opportunity matches.",
430
456
  querySchema: z.object({
431
- profileId: z.string().optional().describe("Optional profile id from read_user_profiles; omit for current user's profile"),
432
- action: z.string().describe("What to do: one or more changes, e.g. 'update bio to X', 'add Python to skills'"),
433
- details: z.string().optional().describe("Additional context or pasted content"),
457
+ profileId: z.string().optional().describe("Profile UUID from read_user_profiles. Omit to update the current user's own profile (most common usage)."),
458
+ action: z.string().describe("Natural language description of ALL changes to make in a single call. Examples: 'update bio to focus on AI research', 'add Python and Rust to skills', 'change location to Berlin and add machine learning to interests'."),
459
+ details: z.string().optional().describe("Additional context or content to incorporate. Use this to pass scraped URL content (from scrape_url) or longer text the user provided."),
434
460
  }),
435
461
  handler: async ({ context, query }) => {
436
462
  // Use profileGraph query mode to validate profile existence and get id
@@ -478,7 +504,13 @@ export function createProfileTools(defineTool, deps) {
478
504
  });
479
505
  const completeOnboarding = defineTool({
480
506
  name: "complete_onboarding",
481
- description: "Marks onboarding as complete. Call this ONLY after the user has explicitly confirmed their profile is correct. Do NOT call this until the user says 'yes', 'looks good', 'that's right', or similar confirmation.",
507
+ description: "Marks the user's onboarding as complete, unlocking full platform access. This is the final step in the new-user setup flow.\n\n" +
508
+ "**Prerequisites:** The user must have a profile (created via create_user_profile) AND must have explicitly confirmed it " +
509
+ "(said 'yes', 'looks good', 'that's right', or similar). Do NOT call this until the user confirms.\n\n" +
510
+ "**What happens:** Sets completedAt timestamp on the user's onboarding record. May also auto-join the user to preconfigured indexes " +
511
+ "(communities) based on server configuration.\n\n" +
512
+ "**Workflow:** create_user_profile() -> user confirms preview -> create_user_profile(confirm=true) -> user confirms saved profile -> complete_onboarding()\n\n" +
513
+ "**Returns:** Confirmation that onboarding is complete. No parameters needed.",
482
514
  querySchema: z.object({}),
483
515
  handler: async ({ context }) => {
484
516
  const currentOnboarding = context.user.onboarding ?? {};
@@ -1 +1 @@
1
- {"version":3,"file":"profile.tools.js","sourceRoot":"","sources":["../../src/profile/profile.tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.tools.js","sourceRoot":"","sources":["../../src/profile/profile.tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool.factory.d.ts","sourceRoot":"","sources":["../../../src/shared/agent/tool.factory.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAGzB,MAAM,mBAAmB,CAAC;AAW3B,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACxF,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAQlD;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,WAAW,EACjB,kBAAkB,CAAC,EAAE,mBAAmB,kBA6IzC;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"tool.factory.d.ts","sourceRoot":"","sources":["../../../src/shared/agent/tool.factory.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAGzB,MAAM,mBAAmB,CAAC;AAa3B,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACxF,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAQlD;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,WAAW,EACjB,kBAAkB,CAAC,EAAE,mBAAmB,kBAyJzC;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC"}
@@ -23,6 +23,8 @@ import { createOpportunityTools } from "../../opportunity/opportunity.tools.js";
23
23
  import { createUtilityTools } from "./utility.tools.js";
24
24
  import { createIntegrationTools } from "../../integration/integration.tools.js";
25
25
  import { createContactTools } from "../../contact/contact.tools.js";
26
+ import { createWebhookTools } from "../../webhook/webhook.tools.js";
27
+ import { createNegotiationTools } from "../../negotiation/negotiation.tools.js";
26
28
  const logger = protocolLogger("ChatTools");
27
29
  // ═══════════════════════════════════════════════════════════════════════════════
28
30
  // TOOL FACTORY
@@ -79,7 +81,7 @@ export async function createChatTools(deps, preResolvedContext) {
79
81
  const lensInferrer = new LensInferrer();
80
82
  const hydeGenerator = new HydeGenerator();
81
83
  const compiledHydeGraph = new HydeGraphFactory(database, embedder, hydeCache, lensInferrer, hydeGenerator).createGraph();
82
- const negotiationGraph = new NegotiationGraphFactory(deps.negotiationDatabase, new NegotiationProposer(), new NegotiationResponder()).createGraph();
84
+ const negotiationGraph = new NegotiationGraphFactory(deps.negotiationDatabase, new NegotiationProposer(), new NegotiationResponder(), deps.webhookLookup, deps.negotiationEvents, deps.negotiationTimeoutQueue).createGraph();
83
85
  const opportunityGraph = new OpportunityGraphFactory(database, embedder, compiledHydeGraph, undefined, // evaluator (default)
84
86
  undefined, // queueNotification
85
87
  negotiationGraph).createGraph();
@@ -111,6 +113,11 @@ export async function createChatTools(deps, preResolvedContext) {
111
113
  contactService: deps.contactService,
112
114
  integrationImporter: deps.integrationImporter,
113
115
  enricher: deps.enricher,
116
+ negotiationDatabase: deps.negotiationDatabase,
117
+ webhook: deps.webhook,
118
+ webhookLookup: deps.webhookLookup,
119
+ negotiationEvents: deps.negotiationEvents,
120
+ negotiationTimeoutQueue: deps.negotiationTimeoutQueue,
114
121
  graphs: {
115
122
  profile: profileGraph,
116
123
  intent: intentGraph,
@@ -128,6 +135,8 @@ export async function createChatTools(deps, preResolvedContext) {
128
135
  const utilityTools = createUtilityTools(defineTool, toolDeps);
129
136
  const contactTools = createContactTools(defineTool, toolDeps);
130
137
  const integrationTools = createIntegrationTools(defineTool, toolDeps);
138
+ const webhookTools = createWebhookTools(defineTool, toolDeps);
139
+ const negotiationTools = createNegotiationTools(defineTool, toolDeps);
131
140
  // Chat only proposes opportunities from the conversation (create_opportunities).
132
141
  // Other opportunities are shown on the home view; do not give the agent list_opportunities.
133
142
  const opportunityToolsForChat = opportunityTools.filter((t) => t.name !== "list_opportunities");
@@ -139,6 +148,8 @@ export async function createChatTools(deps, preResolvedContext) {
139
148
  ...utilityTools,
140
149
  ...integrationTools,
141
150
  ...contactTools,
151
+ ...webhookTools,
152
+ ...negotiationTools,
142
153
  ];
143
154
  }
144
155
  //# sourceMappingURL=tool.factory.js.map