@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.
- package/README.md +90 -26
- package/dist/agent/tests/fakes.d.ts.map +1 -1
- package/dist/agent/tests/fakes.js.map +1 -1
- package/dist/chat/chat.agent.d.ts.map +1 -1
- package/dist/chat/chat.agent.js +3 -3
- package/dist/chat/chat.agent.js.map +1 -1
- package/dist/chat/chat.streamer.d.ts.map +1 -1
- package/dist/chat/chat.streamer.js +1 -1
- package/dist/chat/chat.streamer.js.map +1 -1
- package/dist/chat/chat.summarizer.d.ts.map +1 -1
- package/dist/chat/chat.summarizer.js +1 -1
- package/dist/chat/chat.summarizer.js.map +1 -1
- package/dist/chat/tests/chat.graph.mocks.d.ts.map +1 -1
- package/dist/chat/tests/chat.graph.mocks.js +0 -1
- package/dist/chat/tests/chat.graph.mocks.js.map +1 -1
- package/dist/index.d.ts +21 -21
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -10
- package/dist/index.js.map +1 -1
- package/dist/intent/intent.graph.js +1 -1
- package/dist/intent/intent.graph.js.map +1 -1
- package/dist/maintenance/maintenance.graph.d.ts.map +1 -1
- package/dist/maintenance/maintenance.graph.js +1 -1
- package/dist/maintenance/maintenance.graph.js.map +1 -1
- package/dist/negotiation/negotiation.agent.d.ts.map +1 -1
- package/dist/negotiation/negotiation.agent.js +1 -1
- package/dist/negotiation/negotiation.agent.js.map +1 -1
- package/dist/negotiation/negotiation.summarizer.d.ts.map +1 -1
- package/dist/negotiation/negotiation.summarizer.js +1 -1
- package/dist/negotiation/negotiation.summarizer.js.map +1 -1
- package/dist/network/indexer/indexer.graph.d.ts.map +1 -1
- package/dist/network/indexer/indexer.graph.js +2 -2
- package/dist/network/indexer/indexer.graph.js.map +1 -1
- package/dist/opportunity/discovery-question.helper.d.ts.map +1 -1
- package/dist/opportunity/discovery-question.helper.js.map +1 -1
- package/dist/opportunity/feed/feed.graph.d.ts.map +1 -1
- package/dist/opportunity/feed/feed.graph.js +1 -1
- package/dist/opportunity/feed/feed.graph.js.map +1 -1
- package/dist/opportunity/negotiation-summary.builder.d.ts.map +1 -1
- package/dist/opportunity/negotiation-summary.builder.js.map +1 -1
- package/dist/opportunity/opportunity.discover.d.ts.map +1 -1
- package/dist/opportunity/opportunity.discover.js +1 -1
- package/dist/opportunity/opportunity.discover.js.map +1 -1
- package/dist/opportunity/opportunity.enricher.d.ts.map +1 -1
- package/dist/opportunity/opportunity.enricher.js.map +1 -1
- package/dist/opportunity/opportunity.graph.d.ts.map +1 -1
- package/dist/opportunity/opportunity.graph.js +5 -5
- package/dist/opportunity/opportunity.graph.js.map +1 -1
- package/dist/opportunity/opportunity.persist.d.ts.map +1 -1
- package/dist/opportunity/opportunity.persist.js.map +1 -1
- package/dist/opportunity/question.generator.d.ts.map +1 -1
- package/dist/opportunity/question.generator.js +2 -2
- package/dist/opportunity/question.generator.js.map +1 -1
- package/dist/premise/premise.graph.d.ts.map +1 -1
- package/dist/premise/premise.graph.js +1 -1
- package/dist/premise/premise.graph.js.map +1 -1
- package/dist/profile/profile.graph.js +1 -1
- package/dist/profile/profile.graph.js.map +1 -1
- package/dist/questioner/questioner.agent.d.ts.map +1 -1
- package/dist/questioner/questioner.agent.js +1 -1
- package/dist/questioner/questioner.agent.js.map +1 -1
- package/dist/questioner/questioner.presets.d.ts.map +1 -1
- package/dist/questioner/questioner.presets.js +1 -1
- package/dist/questioner/questioner.presets.js.map +1 -1
- package/dist/shared/agent/response.streamer.d.ts.map +1 -1
- package/dist/shared/agent/response.streamer.js +1 -1
- package/dist/shared/agent/response.streamer.js.map +1 -1
- package/dist/shared/agent/tool.factory.d.ts.map +1 -1
- package/dist/shared/agent/tool.factory.js +1 -1
- package/dist/shared/agent/tool.factory.js.map +1 -1
- package/dist/shared/agent/tool.helpers.d.ts.map +1 -1
- package/dist/shared/agent/tool.helpers.js.map +1 -1
- package/dist/shared/assignment/network-assignment.policy.d.ts.map +1 -1
- package/dist/shared/assignment/network-assignment.policy.js.map +1 -1
- package/dist/shared/interfaces/questioner.interface.d.ts.map +1 -1
- package/dist/shared/interfaces/questioner.interface.js.map +1 -1
- 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
|
-
|
|
65
|
-
|
|
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),
|
|
122
|
+
For direct graph invocation (bypassing the tool layer), a `*GraphFactory` class is exported for each workflow:
|
|
88
123
|
|
|
89
124
|
```typescript
|
|
90
|
-
import {
|
|
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
|
|
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 `
|
|
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,
|
|
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":"AAAA;;;;GAIG;AA4BH,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,IAAI,UAAU;gBAC9B,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 {\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":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"chat.agent.d.ts","sourceRoot":"/","sources":["chat/chat.agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,WAAW,EAA8C,MAAM,0BAA0B,CAAC;AAC9G,OAAO,EAAmB,KAAK,WAAW,EAA4B,MAAM,iCAAiC,CAAC;AAQ9G,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,iCAAiC,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACjJ,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAQ9E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAMnD;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;AAEnD;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACnF;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACvD;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;CAClF,GACD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,wBAAwB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACxE;IAME,IAAI,EAAE,yBAAyB,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB,iGAAiG;IACjG,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,EAAE;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH,GACD;IACE,IAAI,EAAE,2BAA2B,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,yBAAyB,EAAE,MAAM,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,cAAc,GAAG,SAAS,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,IAAI,EAAE,yBAAyB,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,yBAAyB,EAAE,MAAM,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;CACpB,GACD;IACE,IAAI,EAAE,kBAAkB,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,yBAAyB,EAAE,MAAM,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,GAAG,WAAW,CAAC;IAC9B,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,UAAU,EAAE,MAAM,CAAC;CACpB,GACD;IACE,IAAI,EAAE,qBAAqB,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EACH,UAAU,GACV,kBAAkB,GAClB,mBAAmB,GACnB,WAAW,GACX,UAAU,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD,GACD;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,SAAS,EAAE,QAAQ,EAAE,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,uBAAuB,CAAC;IAAC,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,0BAA0B,CAAC;IAAC,OAAO,EAAE;QAAE,SAAS,EAAE,aAAa,GAAG,UAAU,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE;YAAE,aAAa,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,GACrM;IAAE,IAAI,EAAE,wBAAwB,CAAC;IAAC,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,gBAAgB,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,aAAa,GAAG,UAAU,CAAA;KAAE,CAAA;CAAE,CAAC;AAMnK;;GAEG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AA4BvC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,8FAA8F;IAC9F,cAAc,EAAE,OAAO,CAAC;IACxB,iDAAiD;IACjD,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC/B,CAAC,CAAC;IACH,iDAAiD;IACjD,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6BAA6B;IAC7B,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,SAAS;IASlB,OAAO,CAAC,eAAe;IARzB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,WAAW,CAAmB;IAEtC;;OAEG;IACH,OAAO;IAkBP;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAUpC;;;OAGG;WACU,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;IAW7D;;;;;;OAMG;IAEG,YAAY,CAChB,QAAQ,EAAE,WAAW,EAAE,EACvB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,oBAAoB,CAAC;IA8FhC;;OAEG;YACW,gBAAgB;IAsE9B;;;OAGG;YACW,0BAA0B;IAgDxC;;;;;;;;OAQG;IACH;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAanC,OAAO,CAAC,uBAAuB;IA8B/B;;;;;;;;;OASG;IACH,OAAO,CAAC,mBAAmB;IAgC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAM5C;IAEF;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IASjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAO;IAE9C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAO;IAE5C;;;;;;;OAOG;YACW,mBAAmB;IAgHjC;;;;;OAKG;IAEG,GAAG,CAAC,eAAe,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QACjD,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,WAAW,EAAE,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IAiDF;;;;;;;;;;;OAWG;IAEG,SAAS,CACb,eAAe,EAAE,WAAW,EAAE,EAC9B,MAAM,CAAC,EAAE,YAAY,EACrB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;QACT,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,WAAW,EAAE,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,iBAAiB,EAAE,CAAC;YAAC,GAAG,EAAE,YAAY,CAAC;YAAC,wBAAwB,CAAC,EAAE,iCAAiC,CAAC;YAAC,kBAAkB,CAAC,EAAE,2BAA2B,CAAA;SAAE,CAAC;KACjN,CAAC;CAikBH"}
|
package/dist/chat/chat.agent.js
CHANGED
|
@@ -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
|
|
11
|
-
import { createChatTools
|
|
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
|
|
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";
|