@indexnetwork/protocol 3.6.3-rc.269.1 → 3.6.3-rc.272.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 (77) hide show
  1. package/README.md +90 -26
  2. package/dist/agent/tests/fakes.d.ts.map +1 -1
  3. package/dist/agent/tests/fakes.js.map +1 -1
  4. package/dist/chat/chat.agent.d.ts.map +1 -1
  5. package/dist/chat/chat.agent.js +3 -3
  6. package/dist/chat/chat.agent.js.map +1 -1
  7. package/dist/chat/chat.streamer.d.ts.map +1 -1
  8. package/dist/chat/chat.streamer.js +1 -1
  9. package/dist/chat/chat.streamer.js.map +1 -1
  10. package/dist/chat/chat.summarizer.d.ts.map +1 -1
  11. package/dist/chat/chat.summarizer.js +1 -1
  12. package/dist/chat/chat.summarizer.js.map +1 -1
  13. package/dist/chat/tests/chat.graph.mocks.d.ts.map +1 -1
  14. package/dist/chat/tests/chat.graph.mocks.js +0 -1
  15. package/dist/chat/tests/chat.graph.mocks.js.map +1 -1
  16. package/dist/index.d.ts +21 -21
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +10 -10
  19. package/dist/index.js.map +1 -1
  20. package/dist/intent/intent.graph.js +1 -1
  21. package/dist/intent/intent.graph.js.map +1 -1
  22. package/dist/maintenance/maintenance.graph.d.ts.map +1 -1
  23. package/dist/maintenance/maintenance.graph.js +1 -1
  24. package/dist/maintenance/maintenance.graph.js.map +1 -1
  25. package/dist/negotiation/negotiation.agent.d.ts.map +1 -1
  26. package/dist/negotiation/negotiation.agent.js +1 -1
  27. package/dist/negotiation/negotiation.agent.js.map +1 -1
  28. package/dist/negotiation/negotiation.summarizer.d.ts.map +1 -1
  29. package/dist/negotiation/negotiation.summarizer.js +1 -1
  30. package/dist/negotiation/negotiation.summarizer.js.map +1 -1
  31. package/dist/network/indexer/indexer.graph.d.ts.map +1 -1
  32. package/dist/network/indexer/indexer.graph.js +2 -2
  33. package/dist/network/indexer/indexer.graph.js.map +1 -1
  34. package/dist/opportunity/discovery-question.helper.d.ts.map +1 -1
  35. package/dist/opportunity/discovery-question.helper.js.map +1 -1
  36. package/dist/opportunity/feed/feed.graph.d.ts.map +1 -1
  37. package/dist/opportunity/feed/feed.graph.js +1 -1
  38. package/dist/opportunity/feed/feed.graph.js.map +1 -1
  39. package/dist/opportunity/negotiation-summary.builder.d.ts.map +1 -1
  40. package/dist/opportunity/negotiation-summary.builder.js.map +1 -1
  41. package/dist/opportunity/opportunity.discover.d.ts.map +1 -1
  42. package/dist/opportunity/opportunity.discover.js +1 -1
  43. package/dist/opportunity/opportunity.discover.js.map +1 -1
  44. package/dist/opportunity/opportunity.enricher.d.ts.map +1 -1
  45. package/dist/opportunity/opportunity.enricher.js.map +1 -1
  46. package/dist/opportunity/opportunity.graph.d.ts.map +1 -1
  47. package/dist/opportunity/opportunity.graph.js +5 -5
  48. package/dist/opportunity/opportunity.graph.js.map +1 -1
  49. package/dist/opportunity/opportunity.persist.d.ts.map +1 -1
  50. package/dist/opportunity/opportunity.persist.js.map +1 -1
  51. package/dist/opportunity/question.generator.d.ts.map +1 -1
  52. package/dist/opportunity/question.generator.js +2 -2
  53. package/dist/opportunity/question.generator.js.map +1 -1
  54. package/dist/premise/premise.graph.d.ts.map +1 -1
  55. package/dist/premise/premise.graph.js +1 -1
  56. package/dist/premise/premise.graph.js.map +1 -1
  57. package/dist/profile/profile.graph.js +1 -1
  58. package/dist/profile/profile.graph.js.map +1 -1
  59. package/dist/questioner/questioner.agent.d.ts.map +1 -1
  60. package/dist/questioner/questioner.agent.js +1 -1
  61. package/dist/questioner/questioner.agent.js.map +1 -1
  62. package/dist/questioner/questioner.presets.d.ts.map +1 -1
  63. package/dist/questioner/questioner.presets.js +1 -1
  64. package/dist/questioner/questioner.presets.js.map +1 -1
  65. package/dist/shared/agent/response.streamer.d.ts.map +1 -1
  66. package/dist/shared/agent/response.streamer.js +1 -1
  67. package/dist/shared/agent/response.streamer.js.map +1 -1
  68. package/dist/shared/agent/tool.factory.d.ts.map +1 -1
  69. package/dist/shared/agent/tool.factory.js +1 -1
  70. package/dist/shared/agent/tool.factory.js.map +1 -1
  71. package/dist/shared/agent/tool.helpers.d.ts.map +1 -1
  72. package/dist/shared/agent/tool.helpers.js.map +1 -1
  73. package/dist/shared/assignment/network-assignment.policy.d.ts.map +1 -1
  74. package/dist/shared/assignment/network-assignment.policy.js.map +1 -1
  75. package/dist/shared/interfaces/questioner.interface.d.ts.map +1 -1
  76. package/dist/shared/interfaces/questioner.interface.js.map +1 -1
  77. package/package.json +1 -1
package/README.md CHANGED
@@ -32,23 +32,39 @@ const tools = await createChatTools({
32
32
 
33
33
  ### 2. Implement the adapters
34
34
 
35
- The package defines interfaces — your application provides the concrete implementations:
35
+ The package defines interfaces — your application provides the concrete implementations.
36
+
37
+ **Required** (always needed by `createChatTools`):
36
38
 
37
39
  | Interface | Responsibility |
38
40
  |---|---|
39
- | `ChatGraphCompositeDatabase` | Core data access (users, intents, indexes, opportunities) |
41
+ | `ChatGraphCompositeDatabase` | Core data access (users, intents, indexes/networks, opportunities) |
42
+ | `UserDatabase` / `SystemDatabase` | Context-bound databases built by `createUserDatabase` / `createSystemDatabase` |
40
43
  | `Embedder` | Vector embeddings for semantic search |
41
44
  | `Scraper` | Web content extraction |
42
- | `Cache` / `HydeCache` | Result caching |
45
+ | `Cache` / `HydeCache` | Result caching (HyDE may share the general cache) |
43
46
  | `IntegrationAdapter` | OAuth and external tool actions |
44
- | `ContactServiceAdapter` | Contact management |
45
47
  | `IntentGraphQueue` | Background intent processing queue |
48
+ | `ContactServiceAdapter` | Contact management |
46
49
  | `ChatSessionReader` | Load conversation history |
47
50
  | `ProfileEnricher` | Enrich profiles from external sources |
48
51
  | `NegotiationGraphDatabase` | Negotiation state persistence |
52
+
53
+ **Optional** (enable specific capabilities; omit to run without that feature):
54
+
55
+ | Interface | Responsibility |
56
+ |---|---|
49
57
  | `AgentDatabase` | Agent registry CRUD (agents, transports, permissions) |
50
- | `AgentDispatcher` | Resolves and invokes agents during negotiation turns |
51
- | `McpAuthResolver` | Resolves `{ userId, agentId }` from an incoming MCP HTTP request |
58
+ | `AgentDispatcher` | Resolves and invokes personal agents during negotiation turns — required to register the negotiation tools |
59
+ | `McpAuthResolver` | Resolves `{ userId, agentId }` from an incoming MCP HTTP request (MCP server only) |
60
+ | `DeliveryLedger` | Commits OpenClaw opportunity-delivery rows |
61
+ | `DiscoveryRunStore` / `DiscoveryRunQueue` | Persist and execute async MCP discovery runs |
62
+ | `ProfileRunStore` / `ProfileRunQueue` | Persist and execute async MCP profile builds |
63
+ | `MintConnectLink` | Mints short connect links for opportunity accepts |
64
+ | `ChatSummaryReader` | Read-through chat-session digest |
65
+ | `ChatMessageWriter` | Writes user messages into the most-recent chat session (MCP elicitation) |
66
+ | `QuestionGeneratorReader` / `QuestionerDatabase` | Decision-question generation and persistence |
67
+ | `NegotiationSummaryReader` | Negotiation-digest summarization (falls back to deterministic digests) |
52
68
 
53
69
  All interfaces are exported from the package root — import them with `import type { ... } from "@indexnetwork/protocol"`.
54
70
 
@@ -61,36 +77,84 @@ import { createChatTools } from "@indexnetwork/protocol";
61
77
 
62
78
  const tools = await createChatTools({
63
79
  userId: "user-uuid",
64
- sessionId: "chat-session-id",
65
- indexId: "optional-index-uuid", // scope tools to a specific index
66
- database,
67
- embedder,
68
- scraper,
69
- cache,
70
- hydeCache,
71
- integration,
72
- intentQueue,
73
- contactService,
74
- chatSession,
75
- enricher,
76
- negotiationDatabase,
77
- integrationImporter,
78
- createUserDatabase,
79
- createSystemDatabase,
80
+
81
+ // ── Required adapters ──
82
+ database, // ChatGraphCompositeDatabase
83
+ embedder, // Embedder
84
+ scraper, // Scraper
85
+ cache, // Cache
86
+ hydeCache, // HydeCache
87
+ integration, // IntegrationAdapter
88
+ intentQueue, // IntentGraphQueue
89
+ contactService, // ContactServiceAdapter
90
+ chatSession, // ChatSessionReader
91
+ enricher, // ProfileEnricher
92
+ negotiationDatabase, // NegotiationGraphDatabase
93
+ integrationImporter, // bulk contact import
94
+ createUserDatabase, // (db, userId) => UserDatabase
95
+ createSystemDatabase, // (db, userId, indexScope, embedder?) => SystemDatabase
96
+
97
+ // ── Optional scoping ──
98
+ networkId: "optional-network-uuid", // scope tools to a specific index/network
99
+ sessionId: "chat-session-id", // enables draft opportunities with conversation context
100
+
101
+ // ── Optional capabilities (enable when the host supports them) ──
102
+ agentDatabase, // AgentDatabase — agent registry
103
+ agentDispatcher, // AgentDispatcher — routes negotiation turns to personal agents
104
+ deliveryLedger, // DeliveryLedger — OpenClaw delivery commits
105
+ discoveryRuns, // DiscoveryRunStore + discoveryRunQueue — async MCP discovery
106
+ profileRuns, // ProfileRunStore + profileRunQueue — async MCP profile builds
107
+ mintConnectLink, // short connect links for opportunity accepts
108
+ modelConfig, // override chat model / reasoning effort (see above)
80
109
  });
81
110
 
82
111
  // tools is an array of LangChain Tool objects ready to bind to an agent
83
112
  ```
84
113
 
114
+ `createChatTools` accepts a single `ToolContext` object. The required adapters
115
+ above are always needed; the optional capabilities default to a degraded-but-
116
+ functional mode when omitted (e.g. without `agentDispatcher` the negotiation
117
+ tools are not registered, and without `discoveryRuns` MCP discovery runs
118
+ synchronously).
119
+
85
120
  ## Graphs
86
121
 
87
- For direct graph invocation (bypassing the tool layer), factory classes are exported for each workflow:
122
+ For direct graph invocation (bypassing the tool layer), a `*GraphFactory` class is exported for each workflow:
88
123
 
89
124
  ```typescript
90
- import { ChatGraphFactory, IntentGraphFactory, OpportunityGraphFactory } from "@indexnetwork/protocol";
125
+ import {
126
+ ChatGraphFactory,
127
+ IntentGraphFactory,
128
+ OpportunityGraphFactory,
129
+ ProfileGraphFactory,
130
+ PremiseGraphFactory,
131
+ NegotiationGraphFactory,
132
+ HydeGraphFactory,
133
+ NetworkGraphFactory,
134
+ NetworkMembershipGraphFactory,
135
+ IntentNetworkGraphFactory,
136
+ HomeGraphFactory,
137
+ MaintenanceGraphFactory,
138
+ } from "@indexnetwork/protocol";
91
139
  ```
92
140
 
93
- Each factory exposes a `.createGraph()` method that returns a compiled LangGraph ready for `.invoke()`.
141
+ Each factory takes its typed dependencies in the constructor and exposes a
142
+ `.createGraph()` method that returns a compiled LangGraph ready for `.invoke()`.
143
+
144
+ | Factory | Workflow |
145
+ |---|---|
146
+ | `ChatGraphFactory` | ReAct chat loop — LLM calls tools, responds to the user |
147
+ | `IntentGraphFactory` | Clarify, infer, verify felicity, reconcile, and persist intents |
148
+ | `OpportunityGraphFactory` | HyDE-based discovery: search, evaluate (valency), rank, persist |
149
+ | `ProfileGraphFactory` | Generate/update user profiles with scraping and embedding |
150
+ | `PremiseGraphFactory` | Decompose and index a user's premises |
151
+ | `NegotiationGraphFactory` | Multi-turn bilateral negotiation flows |
152
+ | `HydeGraphFactory` | Generate hypothetical documents and embed them (cache-aware) |
153
+ | `NetworkGraphFactory` | Manage index/network CRUD |
154
+ | `NetworkMembershipGraphFactory` | Manage index/network member join/leave |
155
+ | `IntentNetworkGraphFactory` | Evaluate and assign/unassign intents to indexes |
156
+ | `HomeGraphFactory` | Categorize and curate home-feed content |
157
+ | `MaintenanceGraphFactory` | Periodic maintenance (feed health, opportunity expiration) |
94
158
 
95
159
  ## MCP server
96
160
 
@@ -165,7 +229,7 @@ git push <remote> dev
165
229
  git push <remote> main
166
230
  ```
167
231
 
168
- `dev` publishes prerelease versions derived from `package.json` using npm's `rc` tag, for example `0.4.0-rc.123.1`. `main` publishes the base version from `package.json` to `latest`.
232
+ `dev` publishes prerelease versions derived from `package.json` using npm's `rc` tag, for example `3.6.3-rc.123.1`. `main` publishes the base version from `package.json` to `latest` only when that version is not already on npm.
169
233
 
170
234
  Or publish manually from `packages/protocol/`:
171
235
 
@@ -1 +1 @@
1
- {"version":3,"file":"fakes.d.ts","sourceRoot":"/","sources":["agent/tests/fakes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,WAAW,EACX,oBAAoB,EAKrB,MAAM,4CAA4C,CAAC;AAEpD,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,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 +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 {\n AgentDatabase,\n AgentPermissionRecord,\n AgentRecord,\n AgentTransportRecord,\n AgentWithRelations,\n CreateAgentInput,\n CreateTransportInput,\n GrantPermissionInput,\n} 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":"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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 +1 @@
1
- {"version":3,"file":"chat.agent.d.ts","sourceRoot":"/","sources":["chat/chat.agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.agent.d.ts","sourceRoot":"/","sources":["chat/chat.agent.ts"],"names":[],"mappings":"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"}
@@ -7,11 +7,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { AIMessage, SystemMessage, ToolMessage, } from "@langchain/core/messages";
11
- import { createChatTools, } from "../shared/agent/tool.factory.js";
10
+ import { AIMessage, SystemMessage, ToolMessage } from "@langchain/core/messages";
11
+ import { createChatTools } from "../shared/agent/tool.factory.js";
12
12
  import { resolveChatContext } from "../shared/agent/tool.helpers.js";
13
13
  import { ITERATION_NUDGE, buildSystemContent } from "./chat.prompt.js";
14
- import { extractRecentToolCalls, } from "./chat.prompt.modules.js";
14
+ import { extractRecentToolCalls } from "./chat.prompt.modules.js";
15
15
  import { protocolLogger } from "../shared/observability/protocol.logger.js";
16
16
  import { createModel } from "../shared/agent/model.config.js";
17
17
  import { invokeWithAbortSignal } from "../shared/agent/model-signal.js";