@indexnetwork/protocol 4.5.0-rc.324.1 → 4.5.0-rc.326.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.
Files changed (53) hide show
  1. package/dist/agent/agent.tools.js +1 -1
  2. package/dist/agent/agent.tools.js.map +1 -1
  3. package/dist/agent/tests/fakes.d.ts +1 -1
  4. package/dist/agent/tests/fakes.d.ts.map +1 -1
  5. package/dist/agent/tests/fakes.js +2 -2
  6. package/dist/agent/tests/fakes.js.map +1 -1
  7. package/dist/index.d.ts +1 -0
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +1 -0
  10. package/dist/index.js.map +1 -1
  11. package/dist/negotiation/negotiation.graph.js +2 -2
  12. package/dist/negotiation/negotiation.graph.js.map +1 -1
  13. package/dist/opportunity/feed/feed.graph.d.ts +17 -1
  14. package/dist/opportunity/feed/feed.graph.d.ts.map +1 -1
  15. package/dist/opportunity/feed/feed.graph.js +101 -4
  16. package/dist/opportunity/feed/feed.graph.js.map +1 -1
  17. package/dist/opportunity/feed/feed.state.d.ts +16 -0
  18. package/dist/opportunity/feed/feed.state.d.ts.map +1 -1
  19. package/dist/opportunity/feed/feed.state.js +10 -0
  20. package/dist/opportunity/feed/feed.state.js.map +1 -1
  21. package/dist/opportunity/opportunity.discover.d.ts +1 -1
  22. package/dist/opportunity/opportunity.discover.d.ts.map +1 -1
  23. package/dist/opportunity/opportunity.discover.js +6 -15
  24. package/dist/opportunity/opportunity.discover.js.map +1 -1
  25. package/dist/opportunity/opportunity.graph.d.ts +1 -1
  26. package/dist/opportunity/opportunity.graph.js +8 -8
  27. package/dist/opportunity/opportunity.graph.js.map +1 -1
  28. package/dist/opportunity/opportunity.tools.d.ts.map +1 -1
  29. package/dist/opportunity/opportunity.tools.js +5 -4
  30. package/dist/opportunity/opportunity.tools.js.map +1 -1
  31. package/dist/opportunity/opportunity.utils.d.ts +4 -1
  32. package/dist/opportunity/opportunity.utils.d.ts.map +1 -1
  33. package/dist/opportunity/opportunity.utils.js +13 -6
  34. package/dist/opportunity/opportunity.utils.js.map +1 -1
  35. package/dist/questioner/questioner.ask.tool.d.ts.map +1 -1
  36. package/dist/questioner/questioner.ask.tool.js +2 -10
  37. package/dist/questioner/questioner.ask.tool.js.map +1 -1
  38. package/dist/questioner/questioner.env.d.ts +50 -0
  39. package/dist/questioner/questioner.env.d.ts.map +1 -0
  40. package/dist/questioner/questioner.env.js +76 -0
  41. package/dist/questioner/questioner.env.js.map +1 -0
  42. package/dist/questioner/questioner.types.d.ts +7 -0
  43. package/dist/questioner/questioner.types.d.ts.map +1 -1
  44. package/dist/questioner/questioner.types.js.map +1 -1
  45. package/dist/shared/agent/tool.runtime.js +1 -1
  46. package/dist/shared/agent/tool.runtime.js.map +1 -1
  47. package/dist/shared/interfaces/agent-dispatcher.interface.d.ts +6 -5
  48. package/dist/shared/interfaces/agent-dispatcher.interface.d.ts.map +1 -1
  49. package/dist/shared/interfaces/agent-dispatcher.interface.js.map +1 -1
  50. package/dist/shared/interfaces/agent.interface.d.ts +3 -2
  51. package/dist/shared/interfaces/agent.interface.d.ts.map +1 -1
  52. package/dist/shared/interfaces/agent.interface.js.map +1 -1
  53. package/package.json +1 -1
@@ -75,7 +75,7 @@ export function createAgentTools(defineTool, deps) {
75
75
  ownerId: context.userId,
76
76
  name,
77
77
  description: query.description?.trim() || undefined,
78
- type: 'personal',
78
+ type: 'external',
79
79
  });
80
80
  try {
81
81
  if (permissions.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"agent.tools.js","sourceRoot":"/","sources":["agent/agent.tools.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\n\nimport type { DefineTool, ToolDeps } from '../shared/agent/tool.helpers.js';\nimport { error, success } from '../shared/agent/tool.helpers.js';\nimport { protocolLogger } from '../shared/observability/protocol.logger.js';\n\nconst logger = protocolLogger('ChatTools:Agent');\n\nconst AGENT_ACTIONS = [\n 'manage:profile',\n 'manage:intents',\n 'manage:networks',\n 'manage:contacts',\n 'manage:opportunities',\n 'manage:negotiations',\n] as const;\n\nfunction invalidActionMessage(action: string) {\n return `Invalid action: ${action}. Valid actions: ${AGENT_ACTIONS.join(', ')}`;\n}\n\nfunction isValidAction(action: string): action is (typeof AGENT_ACTIONS)[number] {\n return (AGENT_ACTIONS as readonly string[]).includes(action);\n}\n\nfunction requireAgentDatabase(deps: ToolDeps) {\n if (!deps.agentDatabase) {\n return null;\n }\n\n return deps.agentDatabase;\n}\n\nfunction ensureAgentScopedAccess(context: { agentId?: string }, requestedAgentId: string): string | null {\n if (context.agentId && context.agentId !== requestedAgentId) {\n return 'This agent can only manage its own registration.';\n }\n\n return null;\n}\n\nfunction sanitizeAgentForOutput<T extends { transports?: Array<{ channel: string; config: Record<string, unknown> }> }>(agent: T): T {\n return {\n ...agent,\n transports: agent.transports,\n };\n}\n\nfunction sanitizeAgentName(name: string): string | null {\n const cleanName = name.trim();\n return cleanName ? cleanName : null;\n}\n\nfunction normalizePermissions(permissions: string[] | undefined): string[] {\n return [...new Set((permissions ?? []).map((action) => action.trim()).filter(Boolean))];\n}\n\nexport function createAgentTools(defineTool: DefineTool, deps: ToolDeps) {\n const agentDb = requireAgentDatabase(deps);\n if (!agentDb) {\n return [];\n }\n\n const registerAgent = defineTool({\n name: 'register_agent',\n description:\n 'Register a new personal agent for the current user. Optionally configure initial permissions. ' +\n 'Use this when connecting an external agent to Index.',\n querySchema: z.object({\n name: z.string().min(1).describe('Display name for the agent.'),\n description: z.string().optional().describe('What the agent does.'),\n permissions: z.array(z.string()).optional().describe('Optional initial permission actions to grant.'),\n }),\n handler: async ({ context, query }) => {\n if (context.agentId) {\n return error(\n 'Agent registration must be done from a user session (web UI or personal API key), ' +\n 'not from within an existing agent context. To register a new agent, visit the Index web app.'\n );\n }\n\n try {\n const name = sanitizeAgentName(query.name);\n if (!name) {\n return error('Agent name is required.');\n }\n\n const permissions = normalizePermissions(query.permissions);\n for (const permission of permissions) {\n if (!isValidAction(permission)) {\n return error(invalidActionMessage(permission));\n }\n }\n\n const agent = await agentDb.createAgent({\n ownerId: context.userId,\n name,\n description: query.description?.trim() || undefined,\n type: 'personal',\n });\n\n try {\n if (permissions.length > 0) {\n await agentDb.grantPermission({\n agentId: agent.id,\n userId: context.userId,\n scope: 'global',\n actions: permissions,\n });\n }\n } catch (setupError) {\n try {\n await agentDb.deleteAgent(agent.id);\n } catch {\n // Best-effort cleanup to avoid leaving partially registered agents behind.\n }\n\n throw setupError;\n }\n\n const fullAgent = await agentDb.getAgentWithRelations(agent.id);\n return success({\n message: `Agent \"${agent.name}\" registered successfully.`,\n agent: sanitizeAgentForOutput(fullAgent ?? ({ ...agent, transports: [], permissions: [] })),\n });\n } catch (err) {\n logger.error('Failed to register agent', { err });\n return error('Failed to register agent. Please try again.');\n }\n },\n });\n\n const listAgents = defineTool({\n name: 'list_agents',\n description: 'List all agents the current user owns or has authorized.',\n querySchema: z.object({}),\n handler: async ({ context }) => {\n try {\n const agents = await agentDb.listAgentsForUser(context.userId);\n const filteredAgents = context.agentId\n ? agents.filter((agent) => agent.id === context.agentId)\n : agents;\n return success({\n agents: filteredAgents.map((agent) => sanitizeAgentForOutput(agent)),\n count: filteredAgents.length,\n });\n } catch (err) {\n logger.error('Failed to list agents', { err });\n return error('Failed to list agents. Please try again.');\n }\n },\n });\n\n const updateAgent = defineTool({\n name: 'update_agent',\n description: 'Update an agent name, description, or status.',\n querySchema: z.object({\n agent_id: z.string().min(1).describe('The agent ID to update.'),\n name: z.string().optional().describe('Updated display name.'),\n description: z.string().optional().describe('Updated description.'),\n status: z.enum(['active', 'inactive']).optional().describe('Updated status.'),\n }),\n handler: async ({ context, query }) => {\n const scopeError = ensureAgentScopedAccess(context, query.agent_id);\n if (scopeError) {\n return error(scopeError);\n }\n\n try {\n const agent = await agentDb.getAgent(query.agent_id);\n if (!agent || agent.ownerId !== context.userId) {\n return error('Agent not found');\n }\n\n if (agent.type === 'system') {\n return error('System agents cannot be modified');\n }\n\n const updates: { name?: string; description?: string | null; status?: 'active' | 'inactive' } = {};\n if (query.name !== undefined) {\n const name = query.name.trim();\n if (!name) {\n return error('Agent name is required');\n }\n updates.name = name;\n }\n if (query.description !== undefined) {\n updates.description = query.description.trim() || null;\n }\n if (query.status) {\n updates.status = query.status;\n }\n\n if (Object.keys(updates).length === 0) {\n return error('At least one field is required.');\n }\n\n const updated = await agentDb.updateAgent(query.agent_id, updates);\n if (!updated) {\n return error('Agent not found');\n }\n\n const fullAgent = await agentDb.getAgentWithRelations(query.agent_id);\n return success({\n message: 'Agent updated.',\n agent: sanitizeAgentForOutput(fullAgent ?? ({ ...updated, transports: [], permissions: [] })),\n });\n } catch (err) {\n logger.error('Failed to update agent', { err });\n return error('Failed to update agent. Please try again.');\n }\n },\n });\n\n const deleteAgent = defineTool({\n name: 'delete_agent',\n description: 'Soft-delete a personal agent and deactivate its transports.',\n querySchema: z.object({\n agent_id: z.string().min(1).describe('The agent ID to delete.'),\n }),\n handler: async ({ context, query }) => {\n const scopeError = ensureAgentScopedAccess(context, query.agent_id);\n if (scopeError) {\n return error(scopeError);\n }\n\n try {\n const agent = await agentDb.getAgent(query.agent_id);\n if (!agent || agent.ownerId !== context.userId) {\n return error('Agent not found');\n }\n if (agent.type === 'system') {\n return error('System agents cannot be deleted');\n }\n\n await agentDb.deleteAgent(query.agent_id);\n return success({ message: `Agent \"${agent.name}\" deleted.` });\n } catch (err) {\n logger.error('Failed to delete agent', { err });\n return error('Failed to delete agent. Please try again.');\n }\n },\n });\n\n const grantAgentPermission = defineTool({\n name: 'grant_agent_permission',\n description: 'Grant one or more permissions to an agent for the current user. ' +\n 'Valid actions: manage:profile, manage:intents, manage:networks, manage:contacts, manage:opportunities, manage:negotiations.',\n querySchema: z.object({\n agent_id: z.string().min(1).describe('The agent ID to grant permissions to.'),\n actions: z.array(z.string()).min(1).describe('Permission actions to grant. Valid values: manage:profile, manage:intents, manage:networks, manage:contacts, manage:opportunities, manage:negotiations.'),\n scope: z.enum(['global', 'node', 'network']).optional().describe('Optional permission scope.'),\n scope_id: z.string().optional().describe('Scope target ID for node/network scopes.'),\n }),\n handler: async ({ context, query }) => {\n const scopeError = ensureAgentScopedAccess(context, query.agent_id);\n if (scopeError) {\n return error(scopeError);\n }\n\n const actions = normalizePermissions(query.actions);\n if (actions.length === 0) {\n return error('At least one non-empty action is required.');\n }\n\n for (const action of actions) {\n if (!isValidAction(action)) {\n return error(invalidActionMessage(action));\n }\n }\n\n if ((query.scope === 'network' || query.scope === 'node') && !query.scope_id?.trim()) {\n return error(`scope_id is required for ${query.scope} permissions.`);\n }\n\n try {\n const agent = await agentDb.getAgent(query.agent_id);\n if (!agent || agent.ownerId !== context.userId) {\n return error('Agent not found');\n }\n\n const permission = await agentDb.grantPermission({\n agentId: query.agent_id,\n userId: context.userId,\n scope: query.scope,\n scopeId: query.scope === 'global' || query.scope === undefined ? undefined : query.scope_id?.trim(),\n actions,\n });\n\n return success({ message: 'Permission granted.', permission });\n } catch (err) {\n logger.error('Failed to grant permission', { err });\n return error('Failed to grant permission. Please try again.');\n }\n },\n });\n\n const revokeAgentPermission = defineTool({\n name: 'revoke_agent_permission',\n description: 'Revoke a specific permission from an agent.',\n querySchema: z.object({\n agent_id: z.string().min(1).describe('The agent ID that owns the permission.'),\n permission_id: z.string().min(1).describe('The permission ID to revoke.'),\n }),\n handler: async ({ context, query }) => {\n const scopeError = ensureAgentScopedAccess(context, query.agent_id);\n if (scopeError) {\n return error(scopeError);\n }\n\n try {\n const agent = await agentDb.getAgentWithRelations(query.agent_id);\n if (!agent || agent.ownerId !== context.userId) {\n return error('Agent not found');\n }\n\n const permission = agent.permissions.find((item) => item.id === query.permission_id);\n if (!permission) {\n return error('Permission not found');\n }\n\n await agentDb.revokePermission(query.permission_id);\n return success({ message: 'Permission revoked.' });\n } catch (err) {\n logger.error('Failed to revoke permission', { err });\n return error('Failed to revoke permission. Please try again.');\n }\n },\n });\n\n return [\n registerAgent,\n listAgents,\n updateAgent,\n deleteAgent,\n grantAgentPermission,\n revokeAgentPermission,\n ] as const;\n}\n"]}
1
+ {"version":3,"file":"agent.tools.js","sourceRoot":"/","sources":["agent/agent.tools.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\n\nimport type { DefineTool, ToolDeps } from '../shared/agent/tool.helpers.js';\nimport { error, success } from '../shared/agent/tool.helpers.js';\nimport { protocolLogger } from '../shared/observability/protocol.logger.js';\n\nconst logger = protocolLogger('ChatTools:Agent');\n\nconst AGENT_ACTIONS = [\n 'manage:profile',\n 'manage:intents',\n 'manage:networks',\n 'manage:contacts',\n 'manage:opportunities',\n 'manage:negotiations',\n] as const;\n\nfunction invalidActionMessage(action: string) {\n return `Invalid action: ${action}. Valid actions: ${AGENT_ACTIONS.join(', ')}`;\n}\n\nfunction isValidAction(action: string): action is (typeof AGENT_ACTIONS)[number] {\n return (AGENT_ACTIONS as readonly string[]).includes(action);\n}\n\nfunction requireAgentDatabase(deps: ToolDeps) {\n if (!deps.agentDatabase) {\n return null;\n }\n\n return deps.agentDatabase;\n}\n\nfunction ensureAgentScopedAccess(context: { agentId?: string }, requestedAgentId: string): string | null {\n if (context.agentId && context.agentId !== requestedAgentId) {\n return 'This agent can only manage its own registration.';\n }\n\n return null;\n}\n\nfunction sanitizeAgentForOutput<T extends { transports?: Array<{ channel: string; config: Record<string, unknown> }> }>(agent: T): T {\n return {\n ...agent,\n transports: agent.transports,\n };\n}\n\nfunction sanitizeAgentName(name: string): string | null {\n const cleanName = name.trim();\n return cleanName ? cleanName : null;\n}\n\nfunction normalizePermissions(permissions: string[] | undefined): string[] {\n return [...new Set((permissions ?? []).map((action) => action.trim()).filter(Boolean))];\n}\n\nexport function createAgentTools(defineTool: DefineTool, deps: ToolDeps) {\n const agentDb = requireAgentDatabase(deps);\n if (!agentDb) {\n return [];\n }\n\n const registerAgent = defineTool({\n name: 'register_agent',\n description:\n 'Register a new personal agent for the current user. Optionally configure initial permissions. ' +\n 'Use this when connecting an external agent to Index.',\n querySchema: z.object({\n name: z.string().min(1).describe('Display name for the agent.'),\n description: z.string().optional().describe('What the agent does.'),\n permissions: z.array(z.string()).optional().describe('Optional initial permission actions to grant.'),\n }),\n handler: async ({ context, query }) => {\n if (context.agentId) {\n return error(\n 'Agent registration must be done from a user session (web UI or personal API key), ' +\n 'not from within an existing agent context. To register a new agent, visit the Index web app.'\n );\n }\n\n try {\n const name = sanitizeAgentName(query.name);\n if (!name) {\n return error('Agent name is required.');\n }\n\n const permissions = normalizePermissions(query.permissions);\n for (const permission of permissions) {\n if (!isValidAction(permission)) {\n return error(invalidActionMessage(permission));\n }\n }\n\n const agent = await agentDb.createAgent({\n ownerId: context.userId,\n name,\n description: query.description?.trim() || undefined,\n type: 'external',\n });\n\n try {\n if (permissions.length > 0) {\n await agentDb.grantPermission({\n agentId: agent.id,\n userId: context.userId,\n scope: 'global',\n actions: permissions,\n });\n }\n } catch (setupError) {\n try {\n await agentDb.deleteAgent(agent.id);\n } catch {\n // Best-effort cleanup to avoid leaving partially registered agents behind.\n }\n\n throw setupError;\n }\n\n const fullAgent = await agentDb.getAgentWithRelations(agent.id);\n return success({\n message: `Agent \"${agent.name}\" registered successfully.`,\n agent: sanitizeAgentForOutput(fullAgent ?? ({ ...agent, transports: [], permissions: [] })),\n });\n } catch (err) {\n logger.error('Failed to register agent', { err });\n return error('Failed to register agent. Please try again.');\n }\n },\n });\n\n const listAgents = defineTool({\n name: 'list_agents',\n description: 'List all agents the current user owns or has authorized.',\n querySchema: z.object({}),\n handler: async ({ context }) => {\n try {\n const agents = await agentDb.listAgentsForUser(context.userId);\n const filteredAgents = context.agentId\n ? agents.filter((agent) => agent.id === context.agentId)\n : agents;\n return success({\n agents: filteredAgents.map((agent) => sanitizeAgentForOutput(agent)),\n count: filteredAgents.length,\n });\n } catch (err) {\n logger.error('Failed to list agents', { err });\n return error('Failed to list agents. Please try again.');\n }\n },\n });\n\n const updateAgent = defineTool({\n name: 'update_agent',\n description: 'Update an agent name, description, or status.',\n querySchema: z.object({\n agent_id: z.string().min(1).describe('The agent ID to update.'),\n name: z.string().optional().describe('Updated display name.'),\n description: z.string().optional().describe('Updated description.'),\n status: z.enum(['active', 'inactive']).optional().describe('Updated status.'),\n }),\n handler: async ({ context, query }) => {\n const scopeError = ensureAgentScopedAccess(context, query.agent_id);\n if (scopeError) {\n return error(scopeError);\n }\n\n try {\n const agent = await agentDb.getAgent(query.agent_id);\n if (!agent || agent.ownerId !== context.userId) {\n return error('Agent not found');\n }\n\n if (agent.type === 'system') {\n return error('System agents cannot be modified');\n }\n\n const updates: { name?: string; description?: string | null; status?: 'active' | 'inactive' } = {};\n if (query.name !== undefined) {\n const name = query.name.trim();\n if (!name) {\n return error('Agent name is required');\n }\n updates.name = name;\n }\n if (query.description !== undefined) {\n updates.description = query.description.trim() || null;\n }\n if (query.status) {\n updates.status = query.status;\n }\n\n if (Object.keys(updates).length === 0) {\n return error('At least one field is required.');\n }\n\n const updated = await agentDb.updateAgent(query.agent_id, updates);\n if (!updated) {\n return error('Agent not found');\n }\n\n const fullAgent = await agentDb.getAgentWithRelations(query.agent_id);\n return success({\n message: 'Agent updated.',\n agent: sanitizeAgentForOutput(fullAgent ?? ({ ...updated, transports: [], permissions: [] })),\n });\n } catch (err) {\n logger.error('Failed to update agent', { err });\n return error('Failed to update agent. Please try again.');\n }\n },\n });\n\n const deleteAgent = defineTool({\n name: 'delete_agent',\n description: 'Soft-delete a personal agent and deactivate its transports.',\n querySchema: z.object({\n agent_id: z.string().min(1).describe('The agent ID to delete.'),\n }),\n handler: async ({ context, query }) => {\n const scopeError = ensureAgentScopedAccess(context, query.agent_id);\n if (scopeError) {\n return error(scopeError);\n }\n\n try {\n const agent = await agentDb.getAgent(query.agent_id);\n if (!agent || agent.ownerId !== context.userId) {\n return error('Agent not found');\n }\n if (agent.type === 'system') {\n return error('System agents cannot be deleted');\n }\n\n await agentDb.deleteAgent(query.agent_id);\n return success({ message: `Agent \"${agent.name}\" deleted.` });\n } catch (err) {\n logger.error('Failed to delete agent', { err });\n return error('Failed to delete agent. Please try again.');\n }\n },\n });\n\n const grantAgentPermission = defineTool({\n name: 'grant_agent_permission',\n description: 'Grant one or more permissions to an agent for the current user. ' +\n 'Valid actions: manage:profile, manage:intents, manage:networks, manage:contacts, manage:opportunities, manage:negotiations.',\n querySchema: z.object({\n agent_id: z.string().min(1).describe('The agent ID to grant permissions to.'),\n actions: z.array(z.string()).min(1).describe('Permission actions to grant. Valid values: manage:profile, manage:intents, manage:networks, manage:contacts, manage:opportunities, manage:negotiations.'),\n scope: z.enum(['global', 'node', 'network']).optional().describe('Optional permission scope.'),\n scope_id: z.string().optional().describe('Scope target ID for node/network scopes.'),\n }),\n handler: async ({ context, query }) => {\n const scopeError = ensureAgentScopedAccess(context, query.agent_id);\n if (scopeError) {\n return error(scopeError);\n }\n\n const actions = normalizePermissions(query.actions);\n if (actions.length === 0) {\n return error('At least one non-empty action is required.');\n }\n\n for (const action of actions) {\n if (!isValidAction(action)) {\n return error(invalidActionMessage(action));\n }\n }\n\n if ((query.scope === 'network' || query.scope === 'node') && !query.scope_id?.trim()) {\n return error(`scope_id is required for ${query.scope} permissions.`);\n }\n\n try {\n const agent = await agentDb.getAgent(query.agent_id);\n if (!agent || agent.ownerId !== context.userId) {\n return error('Agent not found');\n }\n\n const permission = await agentDb.grantPermission({\n agentId: query.agent_id,\n userId: context.userId,\n scope: query.scope,\n scopeId: query.scope === 'global' || query.scope === undefined ? undefined : query.scope_id?.trim(),\n actions,\n });\n\n return success({ message: 'Permission granted.', permission });\n } catch (err) {\n logger.error('Failed to grant permission', { err });\n return error('Failed to grant permission. Please try again.');\n }\n },\n });\n\n const revokeAgentPermission = defineTool({\n name: 'revoke_agent_permission',\n description: 'Revoke a specific permission from an agent.',\n querySchema: z.object({\n agent_id: z.string().min(1).describe('The agent ID that owns the permission.'),\n permission_id: z.string().min(1).describe('The permission ID to revoke.'),\n }),\n handler: async ({ context, query }) => {\n const scopeError = ensureAgentScopedAccess(context, query.agent_id);\n if (scopeError) {\n return error(scopeError);\n }\n\n try {\n const agent = await agentDb.getAgentWithRelations(query.agent_id);\n if (!agent || agent.ownerId !== context.userId) {\n return error('Agent not found');\n }\n\n const permission = agent.permissions.find((item) => item.id === query.permission_id);\n if (!permission) {\n return error('Permission not found');\n }\n\n await agentDb.revokePermission(query.permission_id);\n return success({ message: 'Permission revoked.' });\n } catch (err) {\n logger.error('Failed to revoke permission', { err });\n return error('Failed to revoke permission. Please try again.');\n }\n },\n });\n\n return [\n registerAgent,\n listAgents,\n updateAgent,\n deleteAgent,\n grantAgentPermission,\n revokeAgentPermission,\n ] as const;\n}\n"]}
@@ -8,7 +8,7 @@ export interface SeedAgentInput {
8
8
  id: string;
9
9
  ownerId: string;
10
10
  name: string;
11
- type?: 'personal' | 'system';
11
+ type?: 'personal' | 'external' | 'system';
12
12
  description?: string | null;
13
13
  status?: 'active' | 'inactive';
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fakes.d.ts","sourceRoot":"/","sources":["agent/tests/fakes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,WAAW,EAAE,oBAAoB,EAAoF,MAAM,4CAA4C,CAAC;AAE5N,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;CAChC;AAED,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACvD,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,EAAE,CAAC;IACjE,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAAC;CAChE;AAOD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAsL/C"}
1
+ {"version":3,"file":"fakes.d.ts","sourceRoot":"/","sources":["agent/tests/fakes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,WAAW,EAAE,oBAAoB,EAAoF,MAAM,4CAA4C,CAAC;AAE5N,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC1C,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;CAChC;AAED,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACvD,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,EAAE,CAAC;IACjE,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAAC;CAChE;AAOD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAsL/C"}
@@ -45,7 +45,7 @@ export function createFakeAgentDb() {
45
45
  ownerId: input.ownerId,
46
46
  name: input.name,
47
47
  description: input.description ?? null,
48
- type: input.type ?? 'personal',
48
+ type: input.type ?? 'external',
49
49
  status: input.status ?? 'active',
50
50
  metadata: {},
51
51
  createdAt: now,
@@ -61,7 +61,7 @@ export function createFakeAgentDb() {
61
61
  ownerId: input.ownerId,
62
62
  name: input.name,
63
63
  description: input.description ?? null,
64
- type: input.type ?? 'personal',
64
+ type: input.type,
65
65
  status: 'active',
66
66
  metadata: input.metadata ?? {},
67
67
  createdAt: now,
@@ -1 +1 @@
1
- {"version":3,"file":"fakes.js","sourceRoot":"/","sources":["agent/tests/fakes.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Minimal in-memory fake of the {@link AgentDatabase} interface used by agent\n * tool tests. Only the surface area exercised by the specs in this folder is\n * implemented — unused methods throw if called so tests fail loudly.\n */\n\nimport type { AgentDatabase, AgentPermissionRecord, AgentRecord, AgentTransportRecord, AgentWithRelations, CreateAgentInput, CreateTransportInput, GrantPermissionInput } from '../../shared/interfaces/agent.interface.js';\n\nexport interface SeedAgentInput {\n id: string;\n ownerId: string;\n name: string;\n type?: 'personal' | 'system';\n description?: string | null;\n status?: 'active' | 'inactive';\n}\n\nexport interface FakeAgentDb extends AgentDatabase {\n seedAgent(input: SeedAgentInput): Promise<AgentRecord>;\n getPermissionsForAgent(agentId: string): AgentPermissionRecord[];\n getTransportsForAgent(agentId: string): AgentTransportRecord[];\n}\n\nfunction nextId(prefix: string, counter: { value: number }): string {\n counter.value += 1;\n return `${prefix}-${counter.value}`;\n}\n\n/**\n * Creates an in-memory agent database fake for unit tests. Only the methods\n * exercised by the agent tool specs are implemented; the rest throw.\n */\nexport function createFakeAgentDb(): FakeAgentDb {\n const agents = new Map<string, AgentRecord>();\n const transports = new Map<string, AgentTransportRecord>();\n const permissions = new Map<string, AgentPermissionRecord>();\n const agentCounter = { value: 0 };\n const transportCounter = { value: 0 };\n const permissionCounter = { value: 0 };\n\n function buildRelations(agent: AgentRecord): AgentWithRelations {\n const agentTransports = [...transports.values()].filter((t) => t.agentId === agent.id);\n const agentPermissions = [...permissions.values()].filter((p) => p.agentId === agent.id);\n return {\n ...agent,\n transports: agentTransports,\n permissions: agentPermissions,\n };\n }\n\n const db: FakeAgentDb = {\n getPermissionsForAgent(agentId: string) {\n return [...permissions.values()]\n .filter((permission) => permission.agentId === agentId)\n .map((permission) => ({ ...permission, actions: [...permission.actions] }));\n },\n\n getTransportsForAgent(agentId: string) {\n return [...transports.values()]\n .filter((transport) => transport.agentId === agentId)\n .map((transport) => ({ ...transport }));\n },\n\n async seedAgent(input: SeedAgentInput) {\n const now = new Date();\n const agent: AgentRecord = {\n id: input.id,\n ownerId: input.ownerId,\n name: input.name,\n description: input.description ?? null,\n type: input.type ?? 'personal',\n status: input.status ?? 'active',\n metadata: {},\n createdAt: now,\n updatedAt: now,\n };\n agents.set(agent.id, agent);\n return agent;\n },\n\n async createAgent(input: CreateAgentInput) {\n const now = new Date();\n const agent: AgentRecord = {\n id: nextId('agent', agentCounter),\n ownerId: input.ownerId,\n name: input.name,\n description: input.description ?? null,\n type: input.type ?? 'personal',\n status: 'active',\n metadata: input.metadata ?? {},\n createdAt: now,\n updatedAt: now,\n };\n agents.set(agent.id, agent);\n return agent;\n },\n\n async getAgent(agentId: string) {\n return agents.get(agentId) ?? null;\n },\n\n async getAgentWithRelations(agentId: string) {\n const agent = agents.get(agentId);\n if (!agent) return null;\n return buildRelations(agent);\n },\n\n async updateAgent(agentId, updates) {\n const existing = agents.get(agentId);\n if (!existing) return null;\n const updated: AgentRecord = {\n ...existing,\n ...('name' in updates && updates.name !== undefined ? { name: updates.name } : {}),\n ...('description' in updates && updates.description !== undefined ? { description: updates.description } : {}),\n ...('status' in updates && updates.status !== undefined ? { status: updates.status } : {}),\n ...('metadata' in updates && updates.metadata !== undefined ? { metadata: updates.metadata } : {}),\n updatedAt: new Date(),\n };\n agents.set(agentId, updated);\n return updated;\n },\n\n async deleteAgent(agentId: string) {\n agents.delete(agentId);\n for (const [id, transport] of transports) {\n if (transport.agentId === agentId) transports.delete(id);\n }\n for (const [id, permission] of permissions) {\n if (permission.agentId === agentId) permissions.delete(id);\n }\n },\n\n async listAgentsForUser(userId: string) {\n return [...agents.values()]\n .filter((agent) => agent.ownerId === userId)\n .map((agent) => buildRelations(agent));\n },\n\n async createTransport(input: CreateTransportInput) {\n const transport: AgentTransportRecord = {\n id: nextId('transport', transportCounter),\n agentId: input.agentId,\n channel: input.channel,\n config: input.config ?? {},\n priority: input.priority ?? 0,\n active: true,\n failureCount: 0,\n };\n transports.set(transport.id, transport);\n return transport;\n },\n\n async deleteTransport(transportId: string) {\n transports.delete(transportId);\n },\n\n async recordTransportFailure(transportId: string) {\n const transport = transports.get(transportId);\n if (transport) {\n transport.failureCount += 1;\n }\n },\n\n async recordTransportSuccess(transportId: string) {\n const transport = transports.get(transportId);\n if (transport) {\n transport.failureCount = 0;\n }\n },\n\n async grantPermission(input: GrantPermissionInput) {\n const permission: AgentPermissionRecord = {\n id: nextId('permission', permissionCounter),\n agentId: input.agentId,\n userId: input.userId,\n scope: input.scope ?? 'global',\n scopeId: input.scopeId ?? null,\n actions: [...input.actions],\n createdAt: new Date(),\n };\n permissions.set(permission.id, permission);\n return permission;\n },\n\n async revokePermission(permissionId: string) {\n permissions.delete(permissionId);\n },\n\n async hasPermission(agentId, userId, action, scope) {\n const requestedScope = scope?.type ?? 'global';\n const requestedScopeId = scope?.id ?? null;\n return [...permissions.values()].some(\n (permission) =>\n permission.agentId === agentId &&\n permission.userId === userId &&\n permission.scope === requestedScope &&\n (requestedScope === 'global' || permission.scopeId === requestedScopeId) &&\n permission.actions.includes(action),\n );\n },\n\n async findAuthorizedAgents() {\n throw new Error('findAuthorizedAgents is not implemented in the fake agent DB.');\n },\n\n getSystemAgentIds() {\n return {\n chatOrchestrator: '00000000-0000-0000-0000-000000000001',\n negotiator: '00000000-0000-0000-0000-000000000002',\n };\n },\n };\n\n return db;\n}\n"]}
1
+ {"version":3,"file":"fakes.js","sourceRoot":"/","sources":["agent/tests/fakes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmBH,SAAS,MAAM,CAAC,MAAc,EAAE,OAA0B;IACxD,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;IACnB,OAAO,GAAG,MAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC9C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAgC,CAAC;IAC3D,MAAM,WAAW,GAAG,IAAI,GAAG,EAAiC,CAAC;IAC7D,MAAM,YAAY,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAClC,MAAM,gBAAgB,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACtC,MAAM,iBAAiB,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAEvC,SAAS,cAAc,CAAC,KAAkB;QACxC,MAAM,eAAe,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;QACvF,MAAM,gBAAgB,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;QACzF,OAAO;YACL,GAAG,KAAK;YACR,UAAU,EAAE,eAAe;YAC3B,WAAW,EAAE,gBAAgB;SAC9B,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,GAAgB;QACtB,sBAAsB,CAAC,OAAe;YACpC,OAAO,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;iBAC7B,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,KAAK,OAAO,CAAC;iBACtD,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAChF,CAAC;QAED,qBAAqB,CAAC,OAAe;YACnC,OAAO,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;iBAC5B,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,KAAK,OAAO,CAAC;iBACpD,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,KAAqB;YACnC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,KAAK,GAAgB;gBACzB,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;gBACtC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,UAAU;gBAC9B,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,QAAQ;gBAChC,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,GAAG;aACf,CAAC;YACF,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,KAAuB;YACvC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,KAAK,GAAgB;gBACzB,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC;gBACjC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;gBACtC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;gBAC9B,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,GAAG;aACf,CAAC;YACF,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,OAAe;YAC5B,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;QACrC,CAAC;QAED,KAAK,CAAC,qBAAqB,CAAC,OAAe;YACzC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YACxB,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO;YAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrC,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAC3B,MAAM,OAAO,GAAgB;gBAC3B,GAAG,QAAQ;gBACX,GAAG,CAAC,MAAM,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF,GAAG,CAAC,aAAa,IAAI,OAAO,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9G,GAAG,CAAC,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1F,GAAG,CAAC,UAAU,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClG,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC;YACF,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7B,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,OAAe;YAC/B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACvB,KAAK,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,UAAU,EAAE,CAAC;gBACzC,IAAI,SAAS,CAAC,OAAO,KAAK,OAAO;oBAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC3D,CAAC;YACD,KAAK,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC;gBAC3C,IAAI,UAAU,CAAC,OAAO,KAAK,OAAO;oBAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,KAAK,CAAC,iBAAiB,CAAC,MAAc;YACpC,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;iBACxB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC;iBAC3C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,KAA2B;YAC/C,MAAM,SAAS,GAAyB;gBACtC,EAAE,EAAE,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC;gBACzC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE;gBAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC;gBAC7B,MAAM,EAAE,IAAI;gBACZ,YAAY,EAAE,CAAC;aAChB,CAAC;YACF,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YACxC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,WAAmB;YACvC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACjC,CAAC;QAED,KAAK,CAAC,sBAAsB,CAAC,WAAmB;YAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC9C,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,YAAY,IAAI,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,KAAK,CAAC,sBAAsB,CAAC,WAAmB;YAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC9C,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,KAA2B;YAC/C,MAAM,UAAU,GAA0B;gBACxC,EAAE,EAAE,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC;gBAC3C,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,QAAQ;gBAC9B,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;gBAC9B,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC3B,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC;YACF,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAC3C,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,YAAoB;YACzC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;YAChD,MAAM,cAAc,GAAG,KAAK,EAAE,IAAI,IAAI,QAAQ,CAAC;YAC/C,MAAM,gBAAgB,GAAG,KAAK,EAAE,EAAE,IAAI,IAAI,CAAC;YAC3C,OAAO,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACnC,CAAC,UAAU,EAAE,EAAE,CACb,UAAU,CAAC,OAAO,KAAK,OAAO;gBAC9B,UAAU,CAAC,MAAM,KAAK,MAAM;gBAC5B,UAAU,CAAC,KAAK,KAAK,cAAc;gBACnC,CAAC,cAAc,KAAK,QAAQ,IAAI,UAAU,CAAC,OAAO,KAAK,gBAAgB,CAAC;gBACxE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CACtC,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,oBAAoB;YACxB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnF,CAAC;QAED,iBAAiB;YACf,OAAO;gBACL,gBAAgB,EAAE,sCAAsC;gBACxD,UAAU,EAAE,sCAAsC;aACnD,CAAC;QACJ,CAAC;KACF,CAAC;IAEF,OAAO,EAAE,CAAC;AACZ,CAAC","sourcesContent":["/**\n * Minimal in-memory fake of the {@link AgentDatabase} interface used by agent\n * tool tests. Only the surface area exercised by the specs in this folder is\n * implemented — unused methods throw if called so tests fail loudly.\n */\n\nimport type { AgentDatabase, AgentPermissionRecord, AgentRecord, AgentTransportRecord, AgentWithRelations, CreateAgentInput, CreateTransportInput, GrantPermissionInput } from '../../shared/interfaces/agent.interface.js';\n\nexport interface SeedAgentInput {\n id: string;\n ownerId: string;\n name: string;\n type?: 'personal' | 'external' | 'system';\n description?: string | null;\n status?: 'active' | 'inactive';\n}\n\nexport interface FakeAgentDb extends AgentDatabase {\n seedAgent(input: SeedAgentInput): Promise<AgentRecord>;\n getPermissionsForAgent(agentId: string): AgentPermissionRecord[];\n getTransportsForAgent(agentId: string): AgentTransportRecord[];\n}\n\nfunction nextId(prefix: string, counter: { value: number }): string {\n counter.value += 1;\n return `${prefix}-${counter.value}`;\n}\n\n/**\n * Creates an in-memory agent database fake for unit tests. Only the methods\n * exercised by the agent tool specs are implemented; the rest throw.\n */\nexport function createFakeAgentDb(): FakeAgentDb {\n const agents = new Map<string, AgentRecord>();\n const transports = new Map<string, AgentTransportRecord>();\n const permissions = new Map<string, AgentPermissionRecord>();\n const agentCounter = { value: 0 };\n const transportCounter = { value: 0 };\n const permissionCounter = { value: 0 };\n\n function buildRelations(agent: AgentRecord): AgentWithRelations {\n const agentTransports = [...transports.values()].filter((t) => t.agentId === agent.id);\n const agentPermissions = [...permissions.values()].filter((p) => p.agentId === agent.id);\n return {\n ...agent,\n transports: agentTransports,\n permissions: agentPermissions,\n };\n }\n\n const db: FakeAgentDb = {\n getPermissionsForAgent(agentId: string) {\n return [...permissions.values()]\n .filter((permission) => permission.agentId === agentId)\n .map((permission) => ({ ...permission, actions: [...permission.actions] }));\n },\n\n getTransportsForAgent(agentId: string) {\n return [...transports.values()]\n .filter((transport) => transport.agentId === agentId)\n .map((transport) => ({ ...transport }));\n },\n\n async seedAgent(input: SeedAgentInput) {\n const now = new Date();\n const agent: AgentRecord = {\n id: input.id,\n ownerId: input.ownerId,\n name: input.name,\n description: input.description ?? null,\n type: input.type ?? 'external',\n status: input.status ?? 'active',\n metadata: {},\n createdAt: now,\n updatedAt: now,\n };\n agents.set(agent.id, agent);\n return agent;\n },\n\n async createAgent(input: CreateAgentInput) {\n const now = new Date();\n const agent: AgentRecord = {\n id: nextId('agent', agentCounter),\n ownerId: input.ownerId,\n name: input.name,\n description: input.description ?? null,\n type: input.type,\n status: 'active',\n metadata: input.metadata ?? {},\n createdAt: now,\n updatedAt: now,\n };\n agents.set(agent.id, agent);\n return agent;\n },\n\n async getAgent(agentId: string) {\n return agents.get(agentId) ?? null;\n },\n\n async getAgentWithRelations(agentId: string) {\n const agent = agents.get(agentId);\n if (!agent) return null;\n return buildRelations(agent);\n },\n\n async updateAgent(agentId, updates) {\n const existing = agents.get(agentId);\n if (!existing) return null;\n const updated: AgentRecord = {\n ...existing,\n ...('name' in updates && updates.name !== undefined ? { name: updates.name } : {}),\n ...('description' in updates && updates.description !== undefined ? { description: updates.description } : {}),\n ...('status' in updates && updates.status !== undefined ? { status: updates.status } : {}),\n ...('metadata' in updates && updates.metadata !== undefined ? { metadata: updates.metadata } : {}),\n updatedAt: new Date(),\n };\n agents.set(agentId, updated);\n return updated;\n },\n\n async deleteAgent(agentId: string) {\n agents.delete(agentId);\n for (const [id, transport] of transports) {\n if (transport.agentId === agentId) transports.delete(id);\n }\n for (const [id, permission] of permissions) {\n if (permission.agentId === agentId) permissions.delete(id);\n }\n },\n\n async listAgentsForUser(userId: string) {\n return [...agents.values()]\n .filter((agent) => agent.ownerId === userId)\n .map((agent) => buildRelations(agent));\n },\n\n async createTransport(input: CreateTransportInput) {\n const transport: AgentTransportRecord = {\n id: nextId('transport', transportCounter),\n agentId: input.agentId,\n channel: input.channel,\n config: input.config ?? {},\n priority: input.priority ?? 0,\n active: true,\n failureCount: 0,\n };\n transports.set(transport.id, transport);\n return transport;\n },\n\n async deleteTransport(transportId: string) {\n transports.delete(transportId);\n },\n\n async recordTransportFailure(transportId: string) {\n const transport = transports.get(transportId);\n if (transport) {\n transport.failureCount += 1;\n }\n },\n\n async recordTransportSuccess(transportId: string) {\n const transport = transports.get(transportId);\n if (transport) {\n transport.failureCount = 0;\n }\n },\n\n async grantPermission(input: GrantPermissionInput) {\n const permission: AgentPermissionRecord = {\n id: nextId('permission', permissionCounter),\n agentId: input.agentId,\n userId: input.userId,\n scope: input.scope ?? 'global',\n scopeId: input.scopeId ?? null,\n actions: [...input.actions],\n createdAt: new Date(),\n };\n permissions.set(permission.id, permission);\n return permission;\n },\n\n async revokePermission(permissionId: string) {\n permissions.delete(permissionId);\n },\n\n async hasPermission(agentId, userId, action, scope) {\n const requestedScope = scope?.type ?? 'global';\n const requestedScopeId = scope?.id ?? null;\n return [...permissions.values()].some(\n (permission) =>\n permission.agentId === agentId &&\n permission.userId === userId &&\n permission.scope === requestedScope &&\n (requestedScope === 'global' || permission.scopeId === requestedScopeId) &&\n permission.actions.includes(action),\n );\n },\n\n async findAuthorizedAgents() {\n throw new Error('findAuthorizedAgents is not implemented in the fake agent DB.');\n },\n\n getSystemAgentIds() {\n return {\n chatOrchestrator: '00000000-0000-0000-0000-000000000001',\n negotiator: '00000000-0000-0000-0000-000000000002',\n };\n },\n };\n\n return db;\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -92,6 +92,7 @@ export { QuestionerAgent } from "./questioner/questioner.agent.js";
92
92
  export type { QuestionerAgentConfig } from "./questioner/questioner.agent.js";
93
93
  export type { QuestionerInput, QuestionerContext, QuestionerEnqueuePayload, QuestionerEnqueueFn, DiscoveryContext, IntentContext, ProfileContext, NegotiationContext, ChatContext } from "./questioner/questioner.types.js";
94
94
  export { getPreset } from "./questioner/questioner.presets.js";
95
+ export { isQuestionerEnabled, isDiscoveryQuestionsEnabled, discoveryQuestionsInputMode, discoveryQuestionsTimeoutMs, chatQuestionWaitTimeoutMs } from "./questioner/questioner.env.js";
95
96
  export type { QuestionerPreset } from "./questioner/questioner.presets.js";
96
97
  export { OpportunityEvaluator } from "./opportunity/opportunity.evaluator.js";
97
98
  export type { EvaluatorInput, OpportunityEvaluatorOptionsConstructor } from "./opportunity/opportunity.evaluator.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -60,6 +60,7 @@ export { NegotiationInsightsGenerator } from "./negotiation/insight.generator.js
60
60
  export { IndexNegotiator } from "./negotiation/negotiation.agent.js";
61
61
  export { QuestionerAgent } from "./questioner/questioner.agent.js";
62
62
  export { getPreset } from "./questioner/questioner.presets.js";
63
+ export { isQuestionerEnabled, isDiscoveryQuestionsEnabled, discoveryQuestionsInputMode, discoveryQuestionsTimeoutMs, chatQuestionWaitTimeoutMs } from "./questioner/questioner.env.js";
63
64
  export { OpportunityEvaluator } from "./opportunity/opportunity.evaluator.js";
64
65
  export { OpportunityPresenter, gatherPresenterContext } from "./opportunity/opportunity.presenter.js";
65
66
  export { createOpportunityTools } from "./opportunity/opportunity.tools.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"/","sources":["index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,6CAA6C;AAC7C,EAAE;AACF,4DAA4D;AAC5D,gFAAgF;AAChF,+EAA+E;AAC/E,qDAAqD;AACrD,EAAE;AACF,yDAAyD;AACzD,2EAA2E;AAC3E,mEAAmE;AACnE,+EAA+E;AAC/E,iFAAiF;AACjF,gFAAgF;AAEhF,iFAAiF;AAEjF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAI9D,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAC5F,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAcrI,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAyCrG,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE1E,iFAAiF;AAEjF,OAAO,EAAE,uBAAuB,EAA0B,MAAM,yCAAyC,CAAC;AAC1G,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,+BAA+B,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,oBAAoB,EAA2O,MAAM,qCAAqC,CAAC;AAGjf,OAAO,EAAE,kBAAkB,EAAqB,MAAM,qCAAqC,CAAC;AAE5F,OAAO,EAAE,mCAAmC,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,qCAAqC,EAAE,6BAA6B,EAAE,gCAAgC,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AAElW,OAAO,EAAE,oCAAoC,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,8BAA8B,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAExN,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,kCAAkC,EAAE,MAAM,uCAAuC,CAAC;AAG3L,iFAAiF;AAEjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,OAAO,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACjI,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,iFAAiF;AAEjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAElF,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAGnE,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAE9E,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AACtG,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,iFAAiF;AAEjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,+BAA+B,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAEnP,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AAE5N,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAE/E,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AACpH,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAE1N,OAAO,EAAE,4BAA4B,EAAE,uBAAuB,EAAwD,MAAM,sCAAsC,CAAC;AAEnK,iFAAiF;AAEjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAE5E,iFAAiF;AAEjF,OAAO,EAAE,eAAe,EAAE,6BAA6B,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEpI,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AASvE,iFAAiF;AAEjF,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC","sourcesContent":["// =============================================================================\n// @indexnetwork/protocol — public API barrel\n//\n// This file is the ONLY supported entry point. Deep imports\n// (\"@indexnetwork/protocol/src/...\") are not part of the contract and may break\n// in any release. Every symbol is re-exported explicitly (no wildcards) so the\n// surface is reviewable and changes are intentional.\n//\n// Stability tiers are defined in STABILITY.md. In short:\n// • Stable — Interfaces, Graph factories, Agents, createChatTools,\n// the tool/runtime helpers, and shared schemas.\n// • Experimental — Sections marked @experimental below (advanced graph state\n// types and internal helpers); may change in a minor release.\n// =============================================================================\n\n// ─── Public API (recommended for external consumers) ──────────────────────────\n\nexport { createChatTools } from \"./shared/agent/tool.factory.js\";\nexport { getModelName } from \"./shared/agent/model.config.js\";\nexport type { ChatTools } from \"./shared/agent/tool.factory.js\";\nexport type { ModelConfig, ModelSettings } from \"./shared/agent/model.config.js\";\nexport type { ToolContext, ResolvedToolContext, ToolDeps, ProtocolDeps, RawToolDefinition, CompiledGraph } from \"./shared/agent/tool.helpers.js\";\nexport { ChatContextAccessError, resolveChatContext } from \"./shared/agent/tool.helpers.js\";\nexport {\n deriveAllowedNetworkIds,\n deriveDiscoveryNetworkIds,\n focusedNetworkId,\n focusedNetworkLabel,\n hasNetworkScope,\n scopeFromNetworkId,\n} from \"./shared/agent/tool.scope.js\";\nexport type { ToolScopeEnvelope, ToolScopeType, ScopeMembership, DeriveNetworkScopeInput } from \"./shared/agent/tool.scope.js\";\nexport { requestContext } from \"./shared/observability/request-context.js\";\nexport { setLoggerFactory } from \"./shared/observability/log.js\";\nexport type { LoggerWithSource as ProtocolLoggerWithSource } from \"./shared/observability/log.js\";\nexport { setTimingWrapper } from \"./shared/observability/performance.js\";\nexport { ToolRuntimeError, getToolTimeoutPolicy, invokeToolRuntime, toolRuntimeErrorToResult } from \"./shared/agent/tool.runtime.js\";\nexport type { ToolRuntimeErrorCode, ToolTimeoutClass, ToolTimeoutPolicy } from \"./shared/agent/tool.runtime.js\";\n\n// ─── Interfaces (implement these to wire up your infrastructure) ───────────────\n\nexport type { McpAuthResolver } from \"./shared/interfaces/auth.interface.js\";\nexport type { Cache, CacheOptions, HydeCache, OpportunityCache } from \"./shared/interfaces/cache.interface.js\";\nexport type { ChatSessionReader, ChatSessionDetail, ChatSessionSummary } from \"./shared/interfaces/chat-session.interface.js\";\nexport type { ChatSummaryReader } from \"./shared/interfaces/chat-summary.interface.js\";\nexport type { ChatMessageWriter } from \"./shared/interfaces/chat-message-writer.interface.js\";\nexport type { QuestionGeneratorReader } from \"./shared/interfaces/question-generator.interface.js\";\nexport type { QuestionerDatabase, PersistableQuestion, PersistedQuestion, QuestionFilters, ChatQuestionsHost, ChatQuestionAnswerOutcome } from \"./shared/interfaces/questioner.interface.js\";\nexport type { NegotiationSummaryReader } from \"./shared/interfaces/negotiation-summary.interface.js\";\nexport type { DiscoveryNegotiationDigest } from \"./shared/schemas/negotiation-digest.schema.js\";\nexport { NegotiationSummarizer, buildFallbackDigest } from \"./negotiation/negotiation.summarizer.js\";\nexport type { ContactServiceAdapter, ContactEntry, ContactImportResult, ContactInput, ContactResult, ContactSearchResult } from \"./shared/interfaces/contact.interface.js\";\nexport type {\n ChatGraphCompositeDatabase, UserDatabase, SystemDatabase, Database,\n OpportunityGraphDatabase, OpportunityControllerDatabase, HomeGraphDatabase,\n IntentGraphDatabase, IntentNetworkGraphDatabase, NetworkGraphDatabase, NetworkMembershipGraphDatabase,\n HydeGraphDatabase, EnrichmentGraphDatabase, PremiseGraphDatabase, NegotiationGraphDatabase,\n NegotiationQueries, NegotiationUserAnswer,\n Opportunity, OpportunityActor, OpportunityContext, OpportunityDetection, OpportunityInterpretation,\n OpportunityQueryOptions, OpportunitySignal, OpportunityStatus,\n ActiveIntent, CreatedIntent, CreateIntentData, UpdateIntentData, IntentRecord, SimilarIntent, SimilarIntentSearchOptions,\n IndexedIntentDetails, IndexMemberDetails, AssignmentNetworkMembership, NetworkAssignmentContext, NetworkMembership, OwnedIndex,\n CreateHydeDocumentData, HydeDocument, HydeSourceType, CreateOpportunityData,\n PremiseAnalysis, PremiseAssertion, PremiseProvenance, PremiseRecord, PremiseValidity,\n OnboardingPrivacyState, OnboardingProfileSeed, OnboardingState, PrivacyConsentDecision, PrivacyConsentSource,\n UpdateIndexSettingsData, UserRecord, UserSocial, ArchiveResult, Id,\n} from \"./shared/interfaces/database.interface.js\";\nexport type {\n Embedder, EmbeddingGenerator, EmbeddingGenerateOptions,\n VectorStore, VectorStoreOption, VectorSearchResult,\n HydeCandidate, HydeSearchOptions, LensEmbedding,\n} from \"./shared/interfaces/embedder.interface.js\";\nexport type { ProfileEnricher, EnrichmentRequest, EnrichmentResult } from \"./shared/interfaces/enrichment.interface.js\";\nexport type { IntegrationAdapter, IntegrationConnection, IntegrationSession, IntegrationSessionOptions, ToolActionResponse } from \"./shared/interfaces/integration.interface.js\";\nexport type { IntentGraphQueue } from \"./shared/interfaces/queue.interface.js\";\nexport type { Scraper, ExtractUrlContentOptions } from \"./shared/interfaces/scraper.interface.js\";\nexport type { Storage } from \"./shared/interfaces/storage.interface.js\";\nexport type { DeliveryLedger, DeliveredOpportunityRow } from \"./shared/interfaces/delivery-ledger.interface.js\";\nexport type { MintConnectLink, ConnectLinkKind } from \"./shared/interfaces/connect-link.interface.js\";\nexport type {\n DiscoveryRunStore, DiscoveryRunQueue, DiscoveryRunInput, CreateDiscoveryRunInput,\n DiscoveryRunRecord, DiscoveryRunStatus,\n} from \"./shared/interfaces/discovery-run.interface.js\";\nexport type {\n EnrichmentRunStore, EnrichmentRunQueue, EnrichmentRunInput, CreateEnrichmentRunInput,\n UpdateUserEnrichmentRunInput, PreviewUserEnrichmentRunInput,\n EnrichmentRunRecord, EnrichmentRunStatus, EnrichmentRunOperation,\n} from \"./shared/interfaces/enrichment-run.interface.js\";\nexport type { NegotiationTimeoutQueue } from \"./shared/interfaces/negotiation-events.interface.js\";\nexport type { AgentDispatcher, AgentDispatchResult, NegotiationTurnPayload } from \"./shared/interfaces/agent-dispatcher.interface.js\";\nexport type { AgentRecord, AgentTransportRecord, AgentPermissionRecord, AgentWithRelations, CreateAgentInput, CreateTransportInput, GrantPermissionInput, AgentDatabase } from './shared/interfaces/agent.interface.js';\nexport { SYSTEM_AGENT_IDS } from './shared/interfaces/agent.interface.js';\n\n// ─── Shared schemas ───────────────────────────────────────────────────────────\n\nexport { ChatContextDigestSchema, type ChatContextDigest } from \"./shared/schemas/chat-context.schema.js\";\nexport { QuestionOptionSchema, QuestionSchema, QuestionStrategySchema, QuestionWithStrategySchema, QuestionGeneratorResponseSchema, QuestionModeSchema, QuestionDetectionSchema, QuestionActorSchema, QuestionAnswerSchema, type Question, type QuestionOption, type QuestionStrategy, type QuestionWithStrategy, type QuestionGeneratorResponse, type QuestionGenerationResult, type QuestionMode, type QuestionDetection, type QuestionActor, type QuestionAnswer } from \"./shared/schemas/question.schema.js\";\nexport type { PendingQuestionSummary } from \"./shared/schemas/pending-question.schema.js\";\nexport type { McpAuthInput } from \"./shared/schemas/mcp-auth.schema.js\";\nexport { UserIdentitySchema, type UserIdentity } from \"./shared/schemas/identity.schema.js\";\nexport type { DiscoverySourceProfile, DiscoverySummary, DiscoveryNegotiation, DiscoveryTurn, DiscoveryOutcome, DiscoveryQuestionInput, NegotiationRole } from \"./shared/schemas/discovery-question.schema.js\";\nexport { NetworkAssignmentResourceTypeSchema, NetworkAssignmentModeSchema, NetworkAssignmentScopeSchema, NetworkAssignmentPromptPresenceSchema, NetworkAssignmentPolicySchema, NetworkAssignmentRawScoresSchema, NetworkAssignmentMetadataSchema, OpportunityEvidenceKindSchema, OpportunityEvidenceSchema } from \"./shared/schemas/network-assignment.schema.js\";\nexport type { NetworkAssignmentResourceType, NetworkAssignmentMode, NetworkAssignmentScope, NetworkAssignmentPromptPresence, NetworkAssignmentPolicy, NetworkAssignmentRawScores, NetworkAssignmentMetadata, OpportunityEvidenceKind, OpportunityEvidence } from \"./shared/schemas/network-assignment.schema.js\";\nexport { DEFAULT_NETWORK_ASSIGNMENT_THRESHOLD, classifyPromptPresence, resolveAssignmentNetworkScope, buildNetworkAssignmentDecision, combineAssignmentScores } from \"./shared/assignment/network-assignment.policy.js\";\nexport type { PromptPresenceInput, ResolveAssignmentNetworkScopeArgs, AssignmentScopeMembership, BuildNetworkAssignmentDecisionArgs, NetworkAssignmentDecision } from \"./shared/assignment/network-assignment.policy.js\";\nexport { buildCandidateEvidence, withCandidateEvidence, mergeOpportunityEvidence, withMatchedStrategies, renderOpportunityEvidenceForPrompt } from \"./opportunity/opportunity.evidence.js\";\nexport type { EvidenceCandidateInput } from \"./opportunity/opportunity.evidence.js\";\n\n// ─── Graph factories ──────────────────────────────────────────────────────────\n\nexport { ChatGraphFactory } from \"./chat/chat.graph.js\";\nexport { HomeGraphFactory } from \"./opportunity/feed/feed.graph.js\";\nexport { HydeGraphFactory } from \"./shared/hyde/hyde.graph.js\";\nexport { NetworkGraphFactory } from \"./network/network.graph.js\";\nexport { NetworkMembershipGraphFactory } from \"./network/membership/membership.graph.js\";\nexport { IntentGraphFactory } from \"./intent/intent.graph.js\";\nexport { IntentNetworkGraphFactory } from \"./network/indexer/indexer.graph.js\";\nexport { MaintenanceGraphFactory } from \"./maintenance/maintenance.graph.js\";\nexport type { MaintenanceGraphDatabase, MaintenanceGraphCache, MaintenanceGraphQueue } from \"./maintenance/maintenance.graph.js\";\nexport { NegotiationGraphFactory, createDefaultNegotiationGraph, negotiateCandidates } from \"./negotiation/negotiation.graph.js\";\nexport { OpportunityGraphFactory } from \"./opportunity/opportunity.graph.js\";\nexport { EnrichmentGraphFactory } from \"./enrichment/enrichment.graph.js\";\nexport { PremiseGraphFactory } from \"./premise/premise.graph.js\";\n\n// ─── Agents ───────────────────────────────────────────────────────────────────\n\nexport { UserContextGenerator } from \"./context/context.generator.js\";\nexport type { UserContextInput, IncrementalContextInput, UserContextResult, GlobalContextInput, GlobalIncrementalContextInput } from \"./context/context.generator.js\";\nexport { ChatTitleGenerator } from \"./chat/chat.title.generator.js\";\nexport { ChatInterruptClassifier } from \"./chat/chat.interrupt.classifier.js\";\nexport type { ClassifyInterruptInput } from \"./chat/chat.interrupt.classifier.js\";\nexport { ChatSummarizer } from \"./chat/chat.summarizer.js\";\nexport type { ChatSummarizerInput, ChatSummarizerMessage } from \"./chat/chat.summarizer.js\";\nexport { HydeGenerator } from \"./shared/hyde/hyde.generator.js\";\nexport { SuggestionGenerator } from \"./chat/chat.suggester.js\";\nexport type { SuggestionGeneratorInput } from \"./chat/chat.suggester.js\";\nexport { generateInviteMessage } from \"./contact/contact.inviter.js\";\nexport type { InviteInput, InviteOutput } from \"./contact/contact.inviter.js\";\nexport { IntentIndexer } from \"./intent/intent.indexer.js\";\nexport type { IntentIndexerOutput } from \"./intent/intent.indexer.js\";\nexport { PremiseAnalyzer } from \"./premise/premise.analyzer.js\";\nexport type { PremiseAnalyzerOutput } from \"./premise/premise.analyzer.js\";\nexport { PremiseDecomposer } from \"./premise/premise.decomposer.js\";\nexport type { PremiseDecomposerOutput, DecomposedPremise } from \"./premise/premise.decomposer.js\";\nexport { PremiseIndexer } from \"./premise/premise.indexer.js\";\nexport type { PremiseIndexerOutput } from \"./premise/premise.indexer.js\";\nexport { LensInferrer } from \"./shared/hyde/lens.inferrer.js\";\nexport { NegotiationInsightsGenerator } from \"./negotiation/insight.generator.js\";\nexport type { NegotiationDigest } from \"./negotiation/insight.generator.js\";\nexport { IndexNegotiator } from \"./negotiation/negotiation.agent.js\";\nexport type { NegotiationAgentInput } from \"./negotiation/negotiation.agent.js\";\nexport { QuestionerAgent } from \"./questioner/questioner.agent.js\";\nexport type { QuestionerAgentConfig } from \"./questioner/questioner.agent.js\";\nexport type { QuestionerInput, QuestionerContext, QuestionerEnqueuePayload, QuestionerEnqueueFn, DiscoveryContext, IntentContext, ProfileContext, NegotiationContext, ChatContext } from \"./questioner/questioner.types.js\";\nexport { getPreset } from \"./questioner/questioner.presets.js\";\nexport type { QuestionerPreset } from \"./questioner/questioner.presets.js\";\nexport { OpportunityEvaluator } from \"./opportunity/opportunity.evaluator.js\";\nexport type { EvaluatorInput, OpportunityEvaluatorOptionsConstructor } from \"./opportunity/opportunity.evaluator.js\";\nexport { OpportunityPresenter, gatherPresenterContext } from \"./opportunity/opportunity.presenter.js\";\nexport { createOpportunityTools } from \"./opportunity/opportunity.tools.js\";\nexport { createEnrichmentTools } from \"./enrichment/enrichment.tools.js\";\nexport type { PresenterDatabase } from \"./opportunity/opportunity.presenter.js\";\nexport { QuestionGenerator } from \"./opportunity/question.generator.js\";\n\n// ─── Support utilities ────────────────────────────────────────────────────────\n\nexport { renderNetworkContext } from './shared/network/metadata.renderer.js';\nexport { canUserSeeOpportunity, isActionableForViewer, validateOpportunityActors, classifyOpportunity, selectByComposition, selectDigestCandidates, DIGEST_REDELIVERY_COOLDOWN_DAYS, FEED_SOFT_TARGETS } from \"./opportunity/opportunity.utils.js\";\nexport type { DigestDeliveredRow } from \"./opportunity/opportunity.utils.js\";\nexport { getPrimaryActionLabel } from \"./opportunity/opportunity.labels.js\";\nexport { computeFeedHealth } from \"./opportunity/feed/feed.health.js\";\nexport type { FeedHealthInput, FeedHealthResult } from \"./opportunity/feed/feed.health.js\";\nexport { selectContactsForDiscovery, shouldRunIntroducerDiscovery, runIntroducerDiscovery, MAX_CONTACTS_PER_CYCLE, MAX_CANDIDATES_PER_CONTACT, INTRODUCER_DISCOVERY_SOURCE } from \"./opportunity/opportunity.introducer.js\";\nexport type { IntroducerDiscoveryDatabase, IntroducerDiscoveryQueue, ContactWithIntents } from \"./opportunity/opportunity.introducer.js\";\nexport { persistOpportunities } from \"./opportunity/opportunity.persist.js\";\nexport { presentOpportunity } from \"./opportunity/opportunity.presentation.js\";\nexport type { UserInfo } from \"./opportunity/opportunity.presentation.js\";\nexport { stripUuids, stripIntroducerMentions, truncateAtBoundary } from \"./opportunity/opportunity.presentation.js\";\nexport { safeFallbackSummary, getSafePresentationOrSkip, SAFE_FALLBACK_MAX_CHARS, DEFAULT_FALLBACK_HEADLINE, DEFAULT_FALLBACK_ACTION, DEFAULT_EMPTY_FALLBACK_TEXT } from \"./opportunity/opportunity.safe-presentation.js\";\nexport type { SafeFallbackOptions, SafePresentation, SafePresentationOptions, SafePresentationSource } from \"./opportunity/opportunity.safe-presentation.js\";\nexport { getOrCreateDeliveryCardBatch, DELIVERY_CARD_CACHE_TTL, type CachedDeliveryCard, type OpportunityWithContext } from \"./opportunity/delivery-card.cache.js\";\n\n// ─── Tools ────────────────────────────────────────────────────────────────────\n\nexport { createToolRegistry } from \"./shared/agent/tool.registry.js\";\nexport { createAgentTools } from './agent/agent.tools.js';\nexport { AMBIENT_PARK_WINDOW_MS } from './negotiation/negotiation.tools.js';\nexport { normalizeTelegramHandle } from './shared/utils/telegram-handle.js';\n\n// ─── MCP ──────────────────────────────────────────────────────────────────────\n\nexport { createMcpServer, computeAgentAllowedNetworkIds, buildMcpOnboardingMessage, ONBOARDING_ALLOWED } from \"./mcp/mcp.server.js\";\nexport type { ScopedDepsFactory } from \"./mcp/mcp.server.js\";\nexport { buildElicitationCreate, flattenChoice } from \"./mcp/elicitation.builder.js\";\nexport { dispatchElicitations } from \"./mcp/elicitation.dispatcher.js\";\nexport type { ElicitResultLike, ElicitInputFn, DispatchElicitationsParams } from \"./mcp/elicitation.dispatcher.js\";\n\n// ─── States (for advanced graph consumers) ────────────────────────────────────\n// @experimental — internal graph-state shapes; may change in a minor release.\n\nexport type { UserNegotiationContext, NegotiationTurn, NegotiationOutcome, SeedAssessment } from \"./shared/schemas/negotiation-state.schema.js\";\nexport type { NegotiationGraphLike } from \"./negotiation/negotiation.state.js\";\n\n// ─── Streamers ────────────────────────────────────────────────────────────────\n\nexport { ChatStreamer } from \"./chat/chat.streamer.js\";\nexport { ResponseStreamer } from \"./shared/agent/response.streamer.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["index.ts"],"names":[],"mappings":"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","sourcesContent":["// =============================================================================\n// @indexnetwork/protocol — public API barrel\n//\n// This file is the ONLY supported entry point. Deep imports\n// (\"@indexnetwork/protocol/src/...\") are not part of the contract and may break\n// in any release. Every symbol is re-exported explicitly (no wildcards) so the\n// surface is reviewable and changes are intentional.\n//\n// Stability tiers are defined in STABILITY.md. In short:\n// • Stable — Interfaces, Graph factories, Agents, createChatTools,\n// the tool/runtime helpers, and shared schemas.\n// • Experimental — Sections marked @experimental below (advanced graph state\n// types and internal helpers); may change in a minor release.\n// =============================================================================\n\n// ─── Public API (recommended for external consumers) ──────────────────────────\n\nexport { createChatTools } from \"./shared/agent/tool.factory.js\";\nexport { getModelName } from \"./shared/agent/model.config.js\";\nexport type { ChatTools } from \"./shared/agent/tool.factory.js\";\nexport type { ModelConfig, ModelSettings } from \"./shared/agent/model.config.js\";\nexport type { ToolContext, ResolvedToolContext, ToolDeps, ProtocolDeps, RawToolDefinition, CompiledGraph } from \"./shared/agent/tool.helpers.js\";\nexport { ChatContextAccessError, resolveChatContext } from \"./shared/agent/tool.helpers.js\";\nexport {\n deriveAllowedNetworkIds,\n deriveDiscoveryNetworkIds,\n focusedNetworkId,\n focusedNetworkLabel,\n hasNetworkScope,\n scopeFromNetworkId,\n} from \"./shared/agent/tool.scope.js\";\nexport type { ToolScopeEnvelope, ToolScopeType, ScopeMembership, DeriveNetworkScopeInput } from \"./shared/agent/tool.scope.js\";\nexport { requestContext } from \"./shared/observability/request-context.js\";\nexport { setLoggerFactory } from \"./shared/observability/log.js\";\nexport type { LoggerWithSource as ProtocolLoggerWithSource } from \"./shared/observability/log.js\";\nexport { setTimingWrapper } from \"./shared/observability/performance.js\";\nexport { ToolRuntimeError, getToolTimeoutPolicy, invokeToolRuntime, toolRuntimeErrorToResult } from \"./shared/agent/tool.runtime.js\";\nexport type { ToolRuntimeErrorCode, ToolTimeoutClass, ToolTimeoutPolicy } from \"./shared/agent/tool.runtime.js\";\n\n// ─── Interfaces (implement these to wire up your infrastructure) ───────────────\n\nexport type { McpAuthResolver } from \"./shared/interfaces/auth.interface.js\";\nexport type { Cache, CacheOptions, HydeCache, OpportunityCache } from \"./shared/interfaces/cache.interface.js\";\nexport type { ChatSessionReader, ChatSessionDetail, ChatSessionSummary } from \"./shared/interfaces/chat-session.interface.js\";\nexport type { ChatSummaryReader } from \"./shared/interfaces/chat-summary.interface.js\";\nexport type { ChatMessageWriter } from \"./shared/interfaces/chat-message-writer.interface.js\";\nexport type { QuestionGeneratorReader } from \"./shared/interfaces/question-generator.interface.js\";\nexport type { QuestionerDatabase, PersistableQuestion, PersistedQuestion, QuestionFilters, ChatQuestionsHost, ChatQuestionAnswerOutcome } from \"./shared/interfaces/questioner.interface.js\";\nexport type { NegotiationSummaryReader } from \"./shared/interfaces/negotiation-summary.interface.js\";\nexport type { DiscoveryNegotiationDigest } from \"./shared/schemas/negotiation-digest.schema.js\";\nexport { NegotiationSummarizer, buildFallbackDigest } from \"./negotiation/negotiation.summarizer.js\";\nexport type { ContactServiceAdapter, ContactEntry, ContactImportResult, ContactInput, ContactResult, ContactSearchResult } from \"./shared/interfaces/contact.interface.js\";\nexport type {\n ChatGraphCompositeDatabase, UserDatabase, SystemDatabase, Database,\n OpportunityGraphDatabase, OpportunityControllerDatabase, HomeGraphDatabase,\n IntentGraphDatabase, IntentNetworkGraphDatabase, NetworkGraphDatabase, NetworkMembershipGraphDatabase,\n HydeGraphDatabase, EnrichmentGraphDatabase, PremiseGraphDatabase, NegotiationGraphDatabase,\n NegotiationQueries, NegotiationUserAnswer,\n Opportunity, OpportunityActor, OpportunityContext, OpportunityDetection, OpportunityInterpretation,\n OpportunityQueryOptions, OpportunitySignal, OpportunityStatus,\n ActiveIntent, CreatedIntent, CreateIntentData, UpdateIntentData, IntentRecord, SimilarIntent, SimilarIntentSearchOptions,\n IndexedIntentDetails, IndexMemberDetails, AssignmentNetworkMembership, NetworkAssignmentContext, NetworkMembership, OwnedIndex,\n CreateHydeDocumentData, HydeDocument, HydeSourceType, CreateOpportunityData,\n PremiseAnalysis, PremiseAssertion, PremiseProvenance, PremiseRecord, PremiseValidity,\n OnboardingPrivacyState, OnboardingProfileSeed, OnboardingState, PrivacyConsentDecision, PrivacyConsentSource,\n UpdateIndexSettingsData, UserRecord, UserSocial, ArchiveResult, Id,\n} from \"./shared/interfaces/database.interface.js\";\nexport type {\n Embedder, EmbeddingGenerator, EmbeddingGenerateOptions,\n VectorStore, VectorStoreOption, VectorSearchResult,\n HydeCandidate, HydeSearchOptions, LensEmbedding,\n} from \"./shared/interfaces/embedder.interface.js\";\nexport type { ProfileEnricher, EnrichmentRequest, EnrichmentResult } from \"./shared/interfaces/enrichment.interface.js\";\nexport type { IntegrationAdapter, IntegrationConnection, IntegrationSession, IntegrationSessionOptions, ToolActionResponse } from \"./shared/interfaces/integration.interface.js\";\nexport type { IntentGraphQueue } from \"./shared/interfaces/queue.interface.js\";\nexport type { Scraper, ExtractUrlContentOptions } from \"./shared/interfaces/scraper.interface.js\";\nexport type { Storage } from \"./shared/interfaces/storage.interface.js\";\nexport type { DeliveryLedger, DeliveredOpportunityRow } from \"./shared/interfaces/delivery-ledger.interface.js\";\nexport type { MintConnectLink, ConnectLinkKind } from \"./shared/interfaces/connect-link.interface.js\";\nexport type {\n DiscoveryRunStore, DiscoveryRunQueue, DiscoveryRunInput, CreateDiscoveryRunInput,\n DiscoveryRunRecord, DiscoveryRunStatus,\n} from \"./shared/interfaces/discovery-run.interface.js\";\nexport type {\n EnrichmentRunStore, EnrichmentRunQueue, EnrichmentRunInput, CreateEnrichmentRunInput,\n UpdateUserEnrichmentRunInput, PreviewUserEnrichmentRunInput,\n EnrichmentRunRecord, EnrichmentRunStatus, EnrichmentRunOperation,\n} from \"./shared/interfaces/enrichment-run.interface.js\";\nexport type { NegotiationTimeoutQueue } from \"./shared/interfaces/negotiation-events.interface.js\";\nexport type { AgentDispatcher, AgentDispatchResult, NegotiationTurnPayload } from \"./shared/interfaces/agent-dispatcher.interface.js\";\nexport type { AgentRecord, AgentTransportRecord, AgentPermissionRecord, AgentWithRelations, CreateAgentInput, CreateTransportInput, GrantPermissionInput, AgentDatabase } from './shared/interfaces/agent.interface.js';\nexport { SYSTEM_AGENT_IDS } from './shared/interfaces/agent.interface.js';\n\n// ─── Shared schemas ───────────────────────────────────────────────────────────\n\nexport { ChatContextDigestSchema, type ChatContextDigest } from \"./shared/schemas/chat-context.schema.js\";\nexport { QuestionOptionSchema, QuestionSchema, QuestionStrategySchema, QuestionWithStrategySchema, QuestionGeneratorResponseSchema, QuestionModeSchema, QuestionDetectionSchema, QuestionActorSchema, QuestionAnswerSchema, type Question, type QuestionOption, type QuestionStrategy, type QuestionWithStrategy, type QuestionGeneratorResponse, type QuestionGenerationResult, type QuestionMode, type QuestionDetection, type QuestionActor, type QuestionAnswer } from \"./shared/schemas/question.schema.js\";\nexport type { PendingQuestionSummary } from \"./shared/schemas/pending-question.schema.js\";\nexport type { McpAuthInput } from \"./shared/schemas/mcp-auth.schema.js\";\nexport { UserIdentitySchema, type UserIdentity } from \"./shared/schemas/identity.schema.js\";\nexport type { DiscoverySourceProfile, DiscoverySummary, DiscoveryNegotiation, DiscoveryTurn, DiscoveryOutcome, DiscoveryQuestionInput, NegotiationRole } from \"./shared/schemas/discovery-question.schema.js\";\nexport { NetworkAssignmentResourceTypeSchema, NetworkAssignmentModeSchema, NetworkAssignmentScopeSchema, NetworkAssignmentPromptPresenceSchema, NetworkAssignmentPolicySchema, NetworkAssignmentRawScoresSchema, NetworkAssignmentMetadataSchema, OpportunityEvidenceKindSchema, OpportunityEvidenceSchema } from \"./shared/schemas/network-assignment.schema.js\";\nexport type { NetworkAssignmentResourceType, NetworkAssignmentMode, NetworkAssignmentScope, NetworkAssignmentPromptPresence, NetworkAssignmentPolicy, NetworkAssignmentRawScores, NetworkAssignmentMetadata, OpportunityEvidenceKind, OpportunityEvidence } from \"./shared/schemas/network-assignment.schema.js\";\nexport { DEFAULT_NETWORK_ASSIGNMENT_THRESHOLD, classifyPromptPresence, resolveAssignmentNetworkScope, buildNetworkAssignmentDecision, combineAssignmentScores } from \"./shared/assignment/network-assignment.policy.js\";\nexport type { PromptPresenceInput, ResolveAssignmentNetworkScopeArgs, AssignmentScopeMembership, BuildNetworkAssignmentDecisionArgs, NetworkAssignmentDecision } from \"./shared/assignment/network-assignment.policy.js\";\nexport { buildCandidateEvidence, withCandidateEvidence, mergeOpportunityEvidence, withMatchedStrategies, renderOpportunityEvidenceForPrompt } from \"./opportunity/opportunity.evidence.js\";\nexport type { EvidenceCandidateInput } from \"./opportunity/opportunity.evidence.js\";\n\n// ─── Graph factories ──────────────────────────────────────────────────────────\n\nexport { ChatGraphFactory } from \"./chat/chat.graph.js\";\nexport { HomeGraphFactory } from \"./opportunity/feed/feed.graph.js\";\nexport { HydeGraphFactory } from \"./shared/hyde/hyde.graph.js\";\nexport { NetworkGraphFactory } from \"./network/network.graph.js\";\nexport { NetworkMembershipGraphFactory } from \"./network/membership/membership.graph.js\";\nexport { IntentGraphFactory } from \"./intent/intent.graph.js\";\nexport { IntentNetworkGraphFactory } from \"./network/indexer/indexer.graph.js\";\nexport { MaintenanceGraphFactory } from \"./maintenance/maintenance.graph.js\";\nexport type { MaintenanceGraphDatabase, MaintenanceGraphCache, MaintenanceGraphQueue } from \"./maintenance/maintenance.graph.js\";\nexport { NegotiationGraphFactory, createDefaultNegotiationGraph, negotiateCandidates } from \"./negotiation/negotiation.graph.js\";\nexport { OpportunityGraphFactory } from \"./opportunity/opportunity.graph.js\";\nexport { EnrichmentGraphFactory } from \"./enrichment/enrichment.graph.js\";\nexport { PremiseGraphFactory } from \"./premise/premise.graph.js\";\n\n// ─── Agents ───────────────────────────────────────────────────────────────────\n\nexport { UserContextGenerator } from \"./context/context.generator.js\";\nexport type { UserContextInput, IncrementalContextInput, UserContextResult, GlobalContextInput, GlobalIncrementalContextInput } from \"./context/context.generator.js\";\nexport { ChatTitleGenerator } from \"./chat/chat.title.generator.js\";\nexport { ChatInterruptClassifier } from \"./chat/chat.interrupt.classifier.js\";\nexport type { ClassifyInterruptInput } from \"./chat/chat.interrupt.classifier.js\";\nexport { ChatSummarizer } from \"./chat/chat.summarizer.js\";\nexport type { ChatSummarizerInput, ChatSummarizerMessage } from \"./chat/chat.summarizer.js\";\nexport { HydeGenerator } from \"./shared/hyde/hyde.generator.js\";\nexport { SuggestionGenerator } from \"./chat/chat.suggester.js\";\nexport type { SuggestionGeneratorInput } from \"./chat/chat.suggester.js\";\nexport { generateInviteMessage } from \"./contact/contact.inviter.js\";\nexport type { InviteInput, InviteOutput } from \"./contact/contact.inviter.js\";\nexport { IntentIndexer } from \"./intent/intent.indexer.js\";\nexport type { IntentIndexerOutput } from \"./intent/intent.indexer.js\";\nexport { PremiseAnalyzer } from \"./premise/premise.analyzer.js\";\nexport type { PremiseAnalyzerOutput } from \"./premise/premise.analyzer.js\";\nexport { PremiseDecomposer } from \"./premise/premise.decomposer.js\";\nexport type { PremiseDecomposerOutput, DecomposedPremise } from \"./premise/premise.decomposer.js\";\nexport { PremiseIndexer } from \"./premise/premise.indexer.js\";\nexport type { PremiseIndexerOutput } from \"./premise/premise.indexer.js\";\nexport { LensInferrer } from \"./shared/hyde/lens.inferrer.js\";\nexport { NegotiationInsightsGenerator } from \"./negotiation/insight.generator.js\";\nexport type { NegotiationDigest } from \"./negotiation/insight.generator.js\";\nexport { IndexNegotiator } from \"./negotiation/negotiation.agent.js\";\nexport type { NegotiationAgentInput } from \"./negotiation/negotiation.agent.js\";\nexport { QuestionerAgent } from \"./questioner/questioner.agent.js\";\nexport type { QuestionerAgentConfig } from \"./questioner/questioner.agent.js\";\nexport type { QuestionerInput, QuestionerContext, QuestionerEnqueuePayload, QuestionerEnqueueFn, DiscoveryContext, IntentContext, ProfileContext, NegotiationContext, ChatContext } from \"./questioner/questioner.types.js\";\nexport { getPreset } from \"./questioner/questioner.presets.js\";\nexport { isQuestionerEnabled, isDiscoveryQuestionsEnabled, discoveryQuestionsInputMode, discoveryQuestionsTimeoutMs, chatQuestionWaitTimeoutMs } from \"./questioner/questioner.env.js\";\nexport type { QuestionerPreset } from \"./questioner/questioner.presets.js\";\nexport { OpportunityEvaluator } from \"./opportunity/opportunity.evaluator.js\";\nexport type { EvaluatorInput, OpportunityEvaluatorOptionsConstructor } from \"./opportunity/opportunity.evaluator.js\";\nexport { OpportunityPresenter, gatherPresenterContext } from \"./opportunity/opportunity.presenter.js\";\nexport { createOpportunityTools } from \"./opportunity/opportunity.tools.js\";\nexport { createEnrichmentTools } from \"./enrichment/enrichment.tools.js\";\nexport type { PresenterDatabase } from \"./opportunity/opportunity.presenter.js\";\nexport { QuestionGenerator } from \"./opportunity/question.generator.js\";\n\n// ─── Support utilities ────────────────────────────────────────────────────────\n\nexport { renderNetworkContext } from './shared/network/metadata.renderer.js';\nexport { canUserSeeOpportunity, isActionableForViewer, validateOpportunityActors, classifyOpportunity, selectByComposition, selectDigestCandidates, DIGEST_REDELIVERY_COOLDOWN_DAYS, FEED_SOFT_TARGETS } from \"./opportunity/opportunity.utils.js\";\nexport type { DigestDeliveredRow } from \"./opportunity/opportunity.utils.js\";\nexport { getPrimaryActionLabel } from \"./opportunity/opportunity.labels.js\";\nexport { computeFeedHealth } from \"./opportunity/feed/feed.health.js\";\nexport type { FeedHealthInput, FeedHealthResult } from \"./opportunity/feed/feed.health.js\";\nexport { selectContactsForDiscovery, shouldRunIntroducerDiscovery, runIntroducerDiscovery, MAX_CONTACTS_PER_CYCLE, MAX_CANDIDATES_PER_CONTACT, INTRODUCER_DISCOVERY_SOURCE } from \"./opportunity/opportunity.introducer.js\";\nexport type { IntroducerDiscoveryDatabase, IntroducerDiscoveryQueue, ContactWithIntents } from \"./opportunity/opportunity.introducer.js\";\nexport { persistOpportunities } from \"./opportunity/opportunity.persist.js\";\nexport { presentOpportunity } from \"./opportunity/opportunity.presentation.js\";\nexport type { UserInfo } from \"./opportunity/opportunity.presentation.js\";\nexport { stripUuids, stripIntroducerMentions, truncateAtBoundary } from \"./opportunity/opportunity.presentation.js\";\nexport { safeFallbackSummary, getSafePresentationOrSkip, SAFE_FALLBACK_MAX_CHARS, DEFAULT_FALLBACK_HEADLINE, DEFAULT_FALLBACK_ACTION, DEFAULT_EMPTY_FALLBACK_TEXT } from \"./opportunity/opportunity.safe-presentation.js\";\nexport type { SafeFallbackOptions, SafePresentation, SafePresentationOptions, SafePresentationSource } from \"./opportunity/opportunity.safe-presentation.js\";\nexport { getOrCreateDeliveryCardBatch, DELIVERY_CARD_CACHE_TTL, type CachedDeliveryCard, type OpportunityWithContext } from \"./opportunity/delivery-card.cache.js\";\n\n// ─── Tools ────────────────────────────────────────────────────────────────────\n\nexport { createToolRegistry } from \"./shared/agent/tool.registry.js\";\nexport { createAgentTools } from './agent/agent.tools.js';\nexport { AMBIENT_PARK_WINDOW_MS } from './negotiation/negotiation.tools.js';\nexport { normalizeTelegramHandle } from './shared/utils/telegram-handle.js';\n\n// ─── MCP ──────────────────────────────────────────────────────────────────────\n\nexport { createMcpServer, computeAgentAllowedNetworkIds, buildMcpOnboardingMessage, ONBOARDING_ALLOWED } from \"./mcp/mcp.server.js\";\nexport type { ScopedDepsFactory } from \"./mcp/mcp.server.js\";\nexport { buildElicitationCreate, flattenChoice } from \"./mcp/elicitation.builder.js\";\nexport { dispatchElicitations } from \"./mcp/elicitation.dispatcher.js\";\nexport type { ElicitResultLike, ElicitInputFn, DispatchElicitationsParams } from \"./mcp/elicitation.dispatcher.js\";\n\n// ─── States (for advanced graph consumers) ────────────────────────────────────\n// @experimental — internal graph-state shapes; may change in a minor release.\n\nexport type { UserNegotiationContext, NegotiationTurn, NegotiationOutcome, SeedAssessment } from \"./shared/schemas/negotiation-state.schema.js\";\nexport type { NegotiationGraphLike } from \"./negotiation/negotiation.state.js\";\n\n// ─── Streamers ────────────────────────────────────────────────────────────────\n\nexport { ChatStreamer } from \"./chat/chat.streamer.js\";\nexport { ResponseStreamer } from \"./shared/agent/response.streamer.js\";\n"]}
@@ -70,8 +70,8 @@ export class NegotiationGraphFactory {
70
70
  // Determine scenario-based maxTurns
71
71
  const scope = { action: 'manage:negotiations', scopeType: 'network', scopeId: state.indexContext.networkId };
72
72
  const [sourceHasAgent, candidateHasAgent] = await Promise.all([
73
- dispatcher.hasPersonalAgent(state.sourceUser.id, scope),
74
- dispatcher.hasPersonalAgent(state.candidateUser.id, scope),
73
+ dispatcher.hasExternalAgent(state.sourceUser.id, scope),
74
+ dispatcher.hasExternalAgent(state.candidateUser.id, scope),
75
75
  ]);
76
76
  const ambientMax = Number(process.env.NEGOTIATION_MAX_TURNS_AMBIENT) || 6;
77
77
  let maxTurns = state.maxTurns;