@dudousxd/nestjs-agent 1.4.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -0
- package/dist/durable/index.cjs +477 -316
- package/dist/durable/index.cjs.map +1 -1
- package/dist/durable/index.d.cts +7 -0
- package/dist/durable/index.d.ts +7 -0
- package/dist/durable/index.js +386 -225
- package/dist/durable/index.js.map +1 -1
- package/dist/index.cjs +468 -317
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +34 -2
- package/dist/index.d.ts +34 -2
- package/dist/index.js +367 -217
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.cjs
CHANGED
|
@@ -42,6 +42,7 @@ __export(index_exports, {
|
|
|
42
42
|
InlineAgentRunner: () => InlineAgentRunner,
|
|
43
43
|
LedgerQuotaStore: () => LedgerQuotaStore,
|
|
44
44
|
MemoriesController: () => MemoriesController,
|
|
45
|
+
MessagesController: () => MessagesController,
|
|
45
46
|
SKILL_METADATA: () => SKILL_METADATA,
|
|
46
47
|
SYSTEM_PROMPT_CONTRIBUTOR_METADATA: () => SYSTEM_PROMPT_CONTRIBUTOR_METADATA,
|
|
47
48
|
SYSTEM_PROMPT_METADATA: () => SYSTEM_PROMPT_METADATA,
|
|
@@ -64,8 +65,8 @@ __export(index_exports, {
|
|
|
64
65
|
module.exports = __toCommonJS(index_exports);
|
|
65
66
|
|
|
66
67
|
// src/agent.module.ts
|
|
67
|
-
var
|
|
68
|
-
var
|
|
68
|
+
var import_nestjs_agent_core21 = require("@dudousxd/nestjs-agent-core");
|
|
69
|
+
var import_common18 = require("@nestjs/common");
|
|
69
70
|
var import_core4 = require("@nestjs/core");
|
|
70
71
|
|
|
71
72
|
// src/agent-deps.factory.ts
|
|
@@ -685,6 +686,40 @@ var AgentService = class {
|
|
|
685
686
|
return this.store.truncateFrom(threadId, messageId);
|
|
686
687
|
}
|
|
687
688
|
/**
|
|
689
|
+
* Rate a message in one of `actor`'s threads: `'up'`/`'down'` with an optional comment, or `null`
|
|
690
|
+
* to clear the rating. Answers `404` for an unknown message, `403` for another actor's, and `501`
|
|
691
|
+
* on a store without `threadOfMessage` + `setMessageFeedback`.
|
|
692
|
+
*/
|
|
693
|
+
async setMessageFeedback(actor, messageId, input) {
|
|
694
|
+
if (input.value !== null && input.value !== "up" && input.value !== "down") {
|
|
695
|
+
throw new import_common2.BadRequestException("value must be 'up', 'down' or null");
|
|
696
|
+
}
|
|
697
|
+
if (input.comment !== void 0 && typeof input.comment !== "string") {
|
|
698
|
+
throw new import_common2.BadRequestException("comment must be a string");
|
|
699
|
+
}
|
|
700
|
+
const comment = input.comment?.trim();
|
|
701
|
+
if (comment !== void 0 && comment.length > 2e3) {
|
|
702
|
+
throw new import_common2.BadRequestException("comment must be at most 2000 characters");
|
|
703
|
+
}
|
|
704
|
+
if (this.store.threadOfMessage === void 0 || this.store.setMessageFeedback === void 0) {
|
|
705
|
+
throw new import_common2.NotImplementedException("Message feedback requires an AgentStore that implements threadOfMessage() and setMessageFeedback(); the bound store does not support it.");
|
|
706
|
+
}
|
|
707
|
+
const threadId = await this.store.threadOfMessage(messageId);
|
|
708
|
+
if (threadId === null) {
|
|
709
|
+
throw new import_common2.NotFoundException(`message ${messageId} not found`);
|
|
710
|
+
}
|
|
711
|
+
await this.assertOwnsThread(actor, threadId);
|
|
712
|
+
const feedback = input.value === null ? null : {
|
|
713
|
+
value: input.value,
|
|
714
|
+
...comment !== void 0 && comment.length > 0 ? {
|
|
715
|
+
comment
|
|
716
|
+
} : {},
|
|
717
|
+
updatedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
718
|
+
};
|
|
719
|
+
await this.store.setMessageFeedback(messageId, feedback);
|
|
720
|
+
return feedback;
|
|
721
|
+
}
|
|
722
|
+
/**
|
|
688
723
|
* Every file this actor has staged, newest first — across threads, including uploads that were
|
|
689
724
|
* never sent, which nothing else on this surface can see.
|
|
690
725
|
*
|
|
@@ -1273,9 +1308,15 @@ var ChatController = class {
|
|
|
1273
1308
|
});
|
|
1274
1309
|
await this.pipe(res, runId, this.agent.subscribe(runId), threadId);
|
|
1275
1310
|
}
|
|
1276
|
-
|
|
1311
|
+
/**
|
|
1312
|
+
* Attach to a run's stream: every buffered frame, then live ones. `?after=<seq>` (or the SSE
|
|
1313
|
+
* `Last-Event-ID` header a browser `EventSource` sends on its own) skips the frames a reconnecting
|
|
1314
|
+
* client already has — see {@link pipe} for how frames are numbered.
|
|
1315
|
+
*/
|
|
1316
|
+
async stream(req, runId, res, after) {
|
|
1277
1317
|
const actor = await this.actorResolver.resolve(req);
|
|
1278
|
-
|
|
1318
|
+
const cursor = parseCursor(after) ?? parseCursor(req.headers["last-event-id"]) ?? 0;
|
|
1319
|
+
await this.pipe(res, runId, await this.agent.subscribeAs(actor, runId), void 0, cursor);
|
|
1279
1320
|
}
|
|
1280
1321
|
async cancel(req, runId) {
|
|
1281
1322
|
const actor = await this.actorResolver.resolve(req);
|
|
@@ -1284,7 +1325,15 @@ var ChatController = class {
|
|
|
1284
1325
|
aborted: true
|
|
1285
1326
|
};
|
|
1286
1327
|
}
|
|
1287
|
-
|
|
1328
|
+
/**
|
|
1329
|
+
* Every `data:` frame carries an SSE `id:` — its 1-based sequence number within the run. The
|
|
1330
|
+
* number is a pure function of the run's buffered stream (every sink replays a run from its first
|
|
1331
|
+
* chunk, in write order), so the same frame gets the same number on the POST that started the run
|
|
1332
|
+
* and on any later `GET …/stream`, whichever replica serves it. A reconnecting client passes the
|
|
1333
|
+
* last one it saw as `?after=`; frames at or below it are read off the sink but not re-sent.
|
|
1334
|
+
* `meta`, `done` and `error` carry no id: `meta` is re-sent on every attach, the terminals once.
|
|
1335
|
+
*/
|
|
1336
|
+
async pipe(res, runId, events, threadId, after = 0) {
|
|
1288
1337
|
res.setHeader("Content-Type", "text/event-stream");
|
|
1289
1338
|
res.setHeader("Cache-Control", "no-cache");
|
|
1290
1339
|
res.setHeader("Connection", "keep-alive");
|
|
@@ -1301,6 +1350,16 @@ data: ${JSON.stringify({
|
|
|
1301
1350
|
`);
|
|
1302
1351
|
const decoder = new TextDecoder();
|
|
1303
1352
|
let buffer = "";
|
|
1353
|
+
let seq = 0;
|
|
1354
|
+
const forward = /* @__PURE__ */ __name((line) => {
|
|
1355
|
+
seq += 1;
|
|
1356
|
+
if (seq > after) {
|
|
1357
|
+
res.write(`id: ${seq}
|
|
1358
|
+
data: ${line}
|
|
1359
|
+
|
|
1360
|
+
`);
|
|
1361
|
+
}
|
|
1362
|
+
}, "forward");
|
|
1304
1363
|
try {
|
|
1305
1364
|
for await (const chunk of events) {
|
|
1306
1365
|
buffer += decoder.decode(chunk, {
|
|
@@ -1311,17 +1370,13 @@ data: ${JSON.stringify({
|
|
|
1311
1370
|
const line = buffer.slice(0, newline);
|
|
1312
1371
|
buffer = buffer.slice(newline + 1);
|
|
1313
1372
|
if (line.length > 0) {
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
`);
|
|
1373
|
+
forward(line);
|
|
1317
1374
|
}
|
|
1318
1375
|
newline = buffer.indexOf("\n");
|
|
1319
1376
|
}
|
|
1320
1377
|
}
|
|
1321
1378
|
if (buffer.length > 0) {
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
`);
|
|
1379
|
+
forward(buffer);
|
|
1325
1380
|
}
|
|
1326
1381
|
res.write("event: done\ndata: {}\n\n");
|
|
1327
1382
|
} catch (error) {
|
|
@@ -1358,11 +1413,13 @@ _ts_decorate6([
|
|
|
1358
1413
|
_ts_param5(0, (0, import_common6.Req)()),
|
|
1359
1414
|
_ts_param5(1, (0, import_common6.Param)("runId")),
|
|
1360
1415
|
_ts_param5(2, (0, import_common6.Res)()),
|
|
1416
|
+
_ts_param5(3, (0, import_common6.Query)("after")),
|
|
1361
1417
|
_ts_metadata6("design:type", Function),
|
|
1362
1418
|
_ts_metadata6("design:paramtypes", [
|
|
1363
1419
|
typeof Request === "undefined" ? Object : Request,
|
|
1364
1420
|
String,
|
|
1365
|
-
typeof Response === "undefined" ? Object : Response
|
|
1421
|
+
typeof Response === "undefined" ? Object : Response,
|
|
1422
|
+
String
|
|
1366
1423
|
]),
|
|
1367
1424
|
_ts_metadata6("design:returntype", Promise)
|
|
1368
1425
|
], ChatController.prototype, "stream", null);
|
|
@@ -1386,6 +1443,15 @@ ChatController = _ts_decorate6([
|
|
|
1386
1443
|
typeof ActorResolver === "undefined" ? Object : ActorResolver
|
|
1387
1444
|
])
|
|
1388
1445
|
], ChatController);
|
|
1446
|
+
function parseCursor(raw) {
|
|
1447
|
+
const value = Array.isArray(raw) ? raw[0] : raw;
|
|
1448
|
+
if (typeof value !== "string" || !/^\d+$/.test(value.trim())) {
|
|
1449
|
+
return void 0;
|
|
1450
|
+
}
|
|
1451
|
+
const parsed = Number(value.trim());
|
|
1452
|
+
return Number.isSafeInteger(parsed) ? parsed : void 0;
|
|
1453
|
+
}
|
|
1454
|
+
__name(parseCursor, "parseCursor");
|
|
1389
1455
|
|
|
1390
1456
|
// src/controller/memories.controller.ts
|
|
1391
1457
|
var import_nestjs_agent_core7 = require("@dudousxd/nestjs-agent-core");
|
|
@@ -1522,7 +1588,7 @@ MemoriesController = _ts_decorate7([
|
|
|
1522
1588
|
])
|
|
1523
1589
|
], MemoriesController);
|
|
1524
1590
|
|
|
1525
|
-
// src/controller/
|
|
1591
|
+
// src/controller/messages.controller.ts
|
|
1526
1592
|
var import_nestjs_agent_core8 = require("@dudousxd/nestjs-agent-core");
|
|
1527
1593
|
var import_common8 = require("@nestjs/common");
|
|
1528
1594
|
function _ts_decorate8(decorators, target, key, desc) {
|
|
@@ -1551,9 +1617,9 @@ function _ts_param7(paramIndex, decorator) {
|
|
|
1551
1617
|
};
|
|
1552
1618
|
}
|
|
1553
1619
|
__name(_ts_param7, "_ts_param");
|
|
1554
|
-
var
|
|
1620
|
+
var MessagesController = class {
|
|
1555
1621
|
static {
|
|
1556
|
-
__name(this, "
|
|
1622
|
+
__name(this, "MessagesController");
|
|
1557
1623
|
}
|
|
1558
1624
|
agent;
|
|
1559
1625
|
actorResolver;
|
|
@@ -1561,31 +1627,48 @@ var QuotaController = class {
|
|
|
1561
1627
|
this.agent = agent;
|
|
1562
1628
|
this.actorResolver = actorResolver;
|
|
1563
1629
|
}
|
|
1564
|
-
|
|
1630
|
+
/**
|
|
1631
|
+
* Rate a message: `{ value: 'up' | 'down' | null, comment? }`. Answers the stored rating
|
|
1632
|
+
* (`{ feedback: null }` once cleared). Only the thread's owner may rate its messages.
|
|
1633
|
+
*/
|
|
1634
|
+
async feedback(req, id, body) {
|
|
1565
1635
|
const actor = await this.actorResolver.resolve(req);
|
|
1566
|
-
|
|
1636
|
+
const feedback = await this.agent.setMessageFeedback(actor, id, {
|
|
1637
|
+
value: body?.value ?? null,
|
|
1638
|
+
...body?.comment !== void 0 ? {
|
|
1639
|
+
comment: body.comment
|
|
1640
|
+
} : {}
|
|
1641
|
+
});
|
|
1642
|
+
return {
|
|
1643
|
+
feedback
|
|
1644
|
+
};
|
|
1567
1645
|
}
|
|
1568
1646
|
};
|
|
1569
1647
|
_ts_decorate8([
|
|
1570
|
-
(0, import_common8.
|
|
1648
|
+
(0, import_common8.Post)(":id/feedback"),
|
|
1649
|
+
(0, import_common8.HttpCode)(200),
|
|
1571
1650
|
_ts_param7(0, (0, import_common8.Req)()),
|
|
1651
|
+
_ts_param7(1, (0, import_common8.Param)("id")),
|
|
1652
|
+
_ts_param7(2, (0, import_common8.Body)()),
|
|
1572
1653
|
_ts_metadata8("design:type", Function),
|
|
1573
1654
|
_ts_metadata8("design:paramtypes", [
|
|
1574
|
-
typeof Request === "undefined" ? Object : Request
|
|
1655
|
+
typeof Request === "undefined" ? Object : Request,
|
|
1656
|
+
String,
|
|
1657
|
+
typeof FeedbackBody === "undefined" ? Object : FeedbackBody
|
|
1575
1658
|
]),
|
|
1576
1659
|
_ts_metadata8("design:returntype", Promise)
|
|
1577
|
-
],
|
|
1578
|
-
|
|
1579
|
-
(0, import_common8.Controller)("
|
|
1660
|
+
], MessagesController.prototype, "feedback", null);
|
|
1661
|
+
MessagesController = _ts_decorate8([
|
|
1662
|
+
(0, import_common8.Controller)("messages"),
|
|
1580
1663
|
_ts_param7(1, (0, import_common8.Inject)(import_nestjs_agent_core8.AGENT_ACTOR_RESOLVER)),
|
|
1581
1664
|
_ts_metadata8("design:type", Function),
|
|
1582
1665
|
_ts_metadata8("design:paramtypes", [
|
|
1583
1666
|
typeof AgentService === "undefined" ? Object : AgentService,
|
|
1584
1667
|
typeof ActorResolver === "undefined" ? Object : ActorResolver
|
|
1585
1668
|
])
|
|
1586
|
-
],
|
|
1669
|
+
], MessagesController);
|
|
1587
1670
|
|
|
1588
|
-
// src/controller/
|
|
1671
|
+
// src/controller/quota.controller.ts
|
|
1589
1672
|
var import_nestjs_agent_core9 = require("@dudousxd/nestjs-agent-core");
|
|
1590
1673
|
var import_common9 = require("@nestjs/common");
|
|
1591
1674
|
function _ts_decorate9(decorators, target, key, desc) {
|
|
@@ -1614,6 +1697,69 @@ function _ts_param8(paramIndex, decorator) {
|
|
|
1614
1697
|
};
|
|
1615
1698
|
}
|
|
1616
1699
|
__name(_ts_param8, "_ts_param");
|
|
1700
|
+
var QuotaController = class {
|
|
1701
|
+
static {
|
|
1702
|
+
__name(this, "QuotaController");
|
|
1703
|
+
}
|
|
1704
|
+
agent;
|
|
1705
|
+
actorResolver;
|
|
1706
|
+
constructor(agent, actorResolver) {
|
|
1707
|
+
this.agent = agent;
|
|
1708
|
+
this.actorResolver = actorResolver;
|
|
1709
|
+
}
|
|
1710
|
+
async today(req) {
|
|
1711
|
+
const actor = await this.actorResolver.resolve(req);
|
|
1712
|
+
return this.agent.quotaToday(actor.id);
|
|
1713
|
+
}
|
|
1714
|
+
};
|
|
1715
|
+
_ts_decorate9([
|
|
1716
|
+
(0, import_common9.Get)("today"),
|
|
1717
|
+
_ts_param8(0, (0, import_common9.Req)()),
|
|
1718
|
+
_ts_metadata9("design:type", Function),
|
|
1719
|
+
_ts_metadata9("design:paramtypes", [
|
|
1720
|
+
typeof Request === "undefined" ? Object : Request
|
|
1721
|
+
]),
|
|
1722
|
+
_ts_metadata9("design:returntype", Promise)
|
|
1723
|
+
], QuotaController.prototype, "today", null);
|
|
1724
|
+
QuotaController = _ts_decorate9([
|
|
1725
|
+
(0, import_common9.Controller)("quota"),
|
|
1726
|
+
_ts_param8(1, (0, import_common9.Inject)(import_nestjs_agent_core9.AGENT_ACTOR_RESOLVER)),
|
|
1727
|
+
_ts_metadata9("design:type", Function),
|
|
1728
|
+
_ts_metadata9("design:paramtypes", [
|
|
1729
|
+
typeof AgentService === "undefined" ? Object : AgentService,
|
|
1730
|
+
typeof ActorResolver === "undefined" ? Object : ActorResolver
|
|
1731
|
+
])
|
|
1732
|
+
], QuotaController);
|
|
1733
|
+
|
|
1734
|
+
// src/controller/skills.controller.ts
|
|
1735
|
+
var import_nestjs_agent_core10 = require("@dudousxd/nestjs-agent-core");
|
|
1736
|
+
var import_common10 = require("@nestjs/common");
|
|
1737
|
+
function _ts_decorate10(decorators, target, key, desc) {
|
|
1738
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1739
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
|
|
1740
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
1741
|
+
} else {
|
|
1742
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
1743
|
+
if (d = decorators[i]) {
|
|
1744
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
1745
|
+
}
|
|
1746
|
+
}
|
|
1747
|
+
}
|
|
1748
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1749
|
+
}
|
|
1750
|
+
__name(_ts_decorate10, "_ts_decorate");
|
|
1751
|
+
function _ts_metadata10(metadataKey, metadataValue) {
|
|
1752
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
|
|
1753
|
+
return Reflect.metadata(metadataKey, metadataValue);
|
|
1754
|
+
}
|
|
1755
|
+
}
|
|
1756
|
+
__name(_ts_metadata10, "_ts_metadata");
|
|
1757
|
+
function _ts_param9(paramIndex, decorator) {
|
|
1758
|
+
return function(target, key) {
|
|
1759
|
+
decorator(target, key, paramIndex);
|
|
1760
|
+
};
|
|
1761
|
+
}
|
|
1762
|
+
__name(_ts_param9, "_ts_param");
|
|
1617
1763
|
var SkillsController = class {
|
|
1618
1764
|
static {
|
|
1619
1765
|
__name(this, "SkillsController");
|
|
@@ -1629,40 +1775,40 @@ var SkillsController = class {
|
|
|
1629
1775
|
return [];
|
|
1630
1776
|
}
|
|
1631
1777
|
const actor = await this.actorResolver.resolve(req);
|
|
1632
|
-
const offer = await (0,
|
|
1778
|
+
const offer = await (0, import_nestjs_agent_core10.offerSkills)(this.skills, {
|
|
1633
1779
|
actor,
|
|
1634
1780
|
threadId: threadId ?? ""
|
|
1635
1781
|
});
|
|
1636
1782
|
return offer.entries;
|
|
1637
1783
|
}
|
|
1638
1784
|
};
|
|
1639
|
-
|
|
1640
|
-
(0,
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1785
|
+
_ts_decorate10([
|
|
1786
|
+
(0, import_common10.Get)(),
|
|
1787
|
+
_ts_param9(0, (0, import_common10.Req)()),
|
|
1788
|
+
_ts_param9(1, (0, import_common10.Query)("threadId")),
|
|
1789
|
+
_ts_metadata10("design:type", Function),
|
|
1790
|
+
_ts_metadata10("design:paramtypes", [
|
|
1645
1791
|
typeof Request === "undefined" ? Object : Request,
|
|
1646
1792
|
String
|
|
1647
1793
|
]),
|
|
1648
|
-
|
|
1794
|
+
_ts_metadata10("design:returntype", Promise)
|
|
1649
1795
|
], SkillsController.prototype, "list", null);
|
|
1650
|
-
SkillsController =
|
|
1651
|
-
(0,
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1796
|
+
SkillsController = _ts_decorate10([
|
|
1797
|
+
(0, import_common10.Controller)("skills"),
|
|
1798
|
+
_ts_param9(0, (0, import_common10.Inject)(import_nestjs_agent_core10.AGENT_ACTOR_RESOLVER)),
|
|
1799
|
+
_ts_param9(1, (0, import_common10.Optional)()),
|
|
1800
|
+
_ts_param9(1, (0, import_common10.Inject)(import_nestjs_agent_core10.AGENT_SKILLS)),
|
|
1801
|
+
_ts_metadata10("design:type", Function),
|
|
1802
|
+
_ts_metadata10("design:paramtypes", [
|
|
1657
1803
|
typeof ActorResolver === "undefined" ? Object : ActorResolver,
|
|
1658
1804
|
Object
|
|
1659
1805
|
])
|
|
1660
1806
|
], SkillsController);
|
|
1661
1807
|
|
|
1662
1808
|
// src/controller/threads.controller.ts
|
|
1663
|
-
var
|
|
1664
|
-
var
|
|
1665
|
-
function
|
|
1809
|
+
var import_nestjs_agent_core11 = require("@dudousxd/nestjs-agent-core");
|
|
1810
|
+
var import_common11 = require("@nestjs/common");
|
|
1811
|
+
function _ts_decorate11(decorators, target, key, desc) {
|
|
1666
1812
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1667
1813
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
|
|
1668
1814
|
r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -1675,19 +1821,19 @@ function _ts_decorate10(decorators, target, key, desc) {
|
|
|
1675
1821
|
}
|
|
1676
1822
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1677
1823
|
}
|
|
1678
|
-
__name(
|
|
1679
|
-
function
|
|
1824
|
+
__name(_ts_decorate11, "_ts_decorate");
|
|
1825
|
+
function _ts_metadata11(metadataKey, metadataValue) {
|
|
1680
1826
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
|
|
1681
1827
|
return Reflect.metadata(metadataKey, metadataValue);
|
|
1682
1828
|
}
|
|
1683
1829
|
}
|
|
1684
|
-
__name(
|
|
1685
|
-
function
|
|
1830
|
+
__name(_ts_metadata11, "_ts_metadata");
|
|
1831
|
+
function _ts_param10(paramIndex, decorator) {
|
|
1686
1832
|
return function(target, key) {
|
|
1687
1833
|
decorator(target, key, paramIndex);
|
|
1688
1834
|
};
|
|
1689
1835
|
}
|
|
1690
|
-
__name(
|
|
1836
|
+
__name(_ts_param10, "_ts_param");
|
|
1691
1837
|
var ThreadsController = class {
|
|
1692
1838
|
static {
|
|
1693
1839
|
__name(this, "ThreadsController");
|
|
@@ -1751,101 +1897,101 @@ var ThreadsController = class {
|
|
|
1751
1897
|
};
|
|
1752
1898
|
}
|
|
1753
1899
|
};
|
|
1754
|
-
|
|
1755
|
-
(0,
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1900
|
+
_ts_decorate11([
|
|
1901
|
+
(0, import_common11.Get)(),
|
|
1902
|
+
_ts_param10(0, (0, import_common11.Req)()),
|
|
1903
|
+
_ts_metadata11("design:type", Function),
|
|
1904
|
+
_ts_metadata11("design:paramtypes", [
|
|
1759
1905
|
typeof Request === "undefined" ? Object : Request
|
|
1760
1906
|
]),
|
|
1761
|
-
|
|
1907
|
+
_ts_metadata11("design:returntype", Promise)
|
|
1762
1908
|
], ThreadsController.prototype, "list", null);
|
|
1763
|
-
|
|
1764
|
-
(0,
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1909
|
+
_ts_decorate11([
|
|
1910
|
+
(0, import_common11.Get)(":id"),
|
|
1911
|
+
_ts_param10(0, (0, import_common11.Req)()),
|
|
1912
|
+
_ts_param10(1, (0, import_common11.Param)("id")),
|
|
1913
|
+
_ts_metadata11("design:type", Function),
|
|
1914
|
+
_ts_metadata11("design:paramtypes", [
|
|
1769
1915
|
typeof Request === "undefined" ? Object : Request,
|
|
1770
1916
|
String
|
|
1771
1917
|
]),
|
|
1772
|
-
|
|
1918
|
+
_ts_metadata11("design:returntype", Promise)
|
|
1773
1919
|
], ThreadsController.prototype, "detail", null);
|
|
1774
|
-
|
|
1775
|
-
(0,
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1920
|
+
_ts_decorate11([
|
|
1921
|
+
(0, import_common11.Delete)(":id"),
|
|
1922
|
+
_ts_param10(0, (0, import_common11.Req)()),
|
|
1923
|
+
_ts_param10(1, (0, import_common11.Param)("id")),
|
|
1924
|
+
_ts_metadata11("design:type", Function),
|
|
1925
|
+
_ts_metadata11("design:paramtypes", [
|
|
1780
1926
|
typeof Request === "undefined" ? Object : Request,
|
|
1781
1927
|
String
|
|
1782
1928
|
]),
|
|
1783
|
-
|
|
1929
|
+
_ts_metadata11("design:returntype", Promise)
|
|
1784
1930
|
], ThreadsController.prototype, "remove", null);
|
|
1785
|
-
|
|
1786
|
-
(0,
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1931
|
+
_ts_decorate11([
|
|
1932
|
+
(0, import_common11.Post)(":id/fork-from/:messageId"),
|
|
1933
|
+
_ts_param10(0, (0, import_common11.Req)()),
|
|
1934
|
+
_ts_param10(1, (0, import_common11.Param)("id")),
|
|
1935
|
+
_ts_param10(2, (0, import_common11.Param)("messageId")),
|
|
1936
|
+
_ts_metadata11("design:type", Function),
|
|
1937
|
+
_ts_metadata11("design:paramtypes", [
|
|
1792
1938
|
typeof Request === "undefined" ? Object : Request,
|
|
1793
1939
|
String,
|
|
1794
1940
|
String
|
|
1795
1941
|
]),
|
|
1796
|
-
|
|
1942
|
+
_ts_metadata11("design:returntype", Promise)
|
|
1797
1943
|
], ThreadsController.prototype, "fork", null);
|
|
1798
|
-
|
|
1799
|
-
(0,
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1944
|
+
_ts_decorate11([
|
|
1945
|
+
(0, import_common11.Patch)(":id"),
|
|
1946
|
+
_ts_param10(0, (0, import_common11.Req)()),
|
|
1947
|
+
_ts_param10(1, (0, import_common11.Param)("id")),
|
|
1948
|
+
_ts_param10(2, (0, import_common11.Body)()),
|
|
1949
|
+
_ts_metadata11("design:type", Function),
|
|
1950
|
+
_ts_metadata11("design:paramtypes", [
|
|
1805
1951
|
typeof Request === "undefined" ? Object : Request,
|
|
1806
1952
|
String,
|
|
1807
1953
|
typeof UpdateThreadBody === "undefined" ? Object : UpdateThreadBody
|
|
1808
1954
|
]),
|
|
1809
|
-
|
|
1955
|
+
_ts_metadata11("design:returntype", Promise)
|
|
1810
1956
|
], ThreadsController.prototype, "update", null);
|
|
1811
|
-
|
|
1812
|
-
(0,
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1957
|
+
_ts_decorate11([
|
|
1958
|
+
(0, import_common11.Post)(":id/promote"),
|
|
1959
|
+
_ts_param10(0, (0, import_common11.Req)()),
|
|
1960
|
+
_ts_param10(1, (0, import_common11.Param)("id")),
|
|
1961
|
+
_ts_metadata11("design:type", Function),
|
|
1962
|
+
_ts_metadata11("design:paramtypes", [
|
|
1817
1963
|
typeof Request === "undefined" ? Object : Request,
|
|
1818
1964
|
String
|
|
1819
1965
|
]),
|
|
1820
|
-
|
|
1966
|
+
_ts_metadata11("design:returntype", Promise)
|
|
1821
1967
|
], ThreadsController.prototype, "promote", null);
|
|
1822
|
-
|
|
1823
|
-
(0,
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1968
|
+
_ts_decorate11([
|
|
1969
|
+
(0, import_common11.Delete)(":id/from/:messageId"),
|
|
1970
|
+
_ts_param10(0, (0, import_common11.Req)()),
|
|
1971
|
+
_ts_param10(1, (0, import_common11.Param)("id")),
|
|
1972
|
+
_ts_param10(2, (0, import_common11.Param)("messageId")),
|
|
1973
|
+
_ts_metadata11("design:type", Function),
|
|
1974
|
+
_ts_metadata11("design:paramtypes", [
|
|
1829
1975
|
typeof Request === "undefined" ? Object : Request,
|
|
1830
1976
|
String,
|
|
1831
1977
|
String
|
|
1832
1978
|
]),
|
|
1833
|
-
|
|
1979
|
+
_ts_metadata11("design:returntype", Promise)
|
|
1834
1980
|
], ThreadsController.prototype, "truncateFrom", null);
|
|
1835
|
-
ThreadsController =
|
|
1836
|
-
(0,
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1981
|
+
ThreadsController = _ts_decorate11([
|
|
1982
|
+
(0, import_common11.Controller)("threads"),
|
|
1983
|
+
_ts_param10(1, (0, import_common11.Inject)(import_nestjs_agent_core11.AGENT_ACTOR_RESOLVER)),
|
|
1984
|
+
_ts_metadata11("design:type", Function),
|
|
1985
|
+
_ts_metadata11("design:paramtypes", [
|
|
1840
1986
|
typeof AgentService === "undefined" ? Object : AgentService,
|
|
1841
1987
|
typeof ActorResolver === "undefined" ? Object : ActorResolver
|
|
1842
1988
|
])
|
|
1843
1989
|
], ThreadsController);
|
|
1844
1990
|
|
|
1845
1991
|
// src/controller/tool-call.controller.ts
|
|
1846
|
-
var
|
|
1847
|
-
var
|
|
1848
|
-
function
|
|
1992
|
+
var import_nestjs_agent_core12 = require("@dudousxd/nestjs-agent-core");
|
|
1993
|
+
var import_common12 = require("@nestjs/common");
|
|
1994
|
+
function _ts_decorate12(decorators, target, key, desc) {
|
|
1849
1995
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1850
1996
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
|
|
1851
1997
|
r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -1858,19 +2004,19 @@ function _ts_decorate11(decorators, target, key, desc) {
|
|
|
1858
2004
|
}
|
|
1859
2005
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1860
2006
|
}
|
|
1861
|
-
__name(
|
|
1862
|
-
function
|
|
2007
|
+
__name(_ts_decorate12, "_ts_decorate");
|
|
2008
|
+
function _ts_metadata12(metadataKey, metadataValue) {
|
|
1863
2009
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
|
|
1864
2010
|
return Reflect.metadata(metadataKey, metadataValue);
|
|
1865
2011
|
}
|
|
1866
2012
|
}
|
|
1867
|
-
__name(
|
|
1868
|
-
function
|
|
2013
|
+
__name(_ts_metadata12, "_ts_metadata");
|
|
2014
|
+
function _ts_param11(paramIndex, decorator) {
|
|
1869
2015
|
return function(target, key) {
|
|
1870
2016
|
decorator(target, key, paramIndex);
|
|
1871
2017
|
};
|
|
1872
2018
|
}
|
|
1873
|
-
__name(
|
|
2019
|
+
__name(_ts_param11, "_ts_param");
|
|
1874
2020
|
var MAX_ANSWERED_QUESTIONS = 100;
|
|
1875
2021
|
var MAX_VALUES_PER_QUESTION = 100;
|
|
1876
2022
|
var MAX_ANSWER_VALUE_LENGTH = 4096;
|
|
@@ -1879,7 +2025,7 @@ var MAX_VIA_LENGTH = 64;
|
|
|
1879
2025
|
var DEFAULT_VIA = "web";
|
|
1880
2026
|
function toolCallId(claimed) {
|
|
1881
2027
|
if (typeof claimed !== "string" || claimed.length === 0) {
|
|
1882
|
-
throw new
|
|
2028
|
+
throw new import_common12.BadRequestException("toolCallId must be a non-empty string");
|
|
1883
2029
|
}
|
|
1884
2030
|
return claimed;
|
|
1885
2031
|
}
|
|
@@ -1889,10 +2035,10 @@ function rejectReason(claimed) {
|
|
|
1889
2035
|
return void 0;
|
|
1890
2036
|
}
|
|
1891
2037
|
if (typeof claimed !== "string") {
|
|
1892
|
-
throw new
|
|
2038
|
+
throw new import_common12.BadRequestException("reason must be a string");
|
|
1893
2039
|
}
|
|
1894
2040
|
if (claimed.length > MAX_REJECT_REASON_LENGTH) {
|
|
1895
|
-
throw new
|
|
2041
|
+
throw new import_common12.BadRequestException(`reason must be at most ${MAX_REJECT_REASON_LENGTH} characters`);
|
|
1896
2042
|
}
|
|
1897
2043
|
return claimed;
|
|
1898
2044
|
}
|
|
@@ -1902,7 +2048,7 @@ function remember(claimed) {
|
|
|
1902
2048
|
return false;
|
|
1903
2049
|
}
|
|
1904
2050
|
if (typeof claimed !== "boolean") {
|
|
1905
|
-
throw new
|
|
2051
|
+
throw new import_common12.BadRequestException("remember must be a boolean");
|
|
1906
2052
|
}
|
|
1907
2053
|
return claimed;
|
|
1908
2054
|
}
|
|
@@ -1912,7 +2058,7 @@ function via(claimed) {
|
|
|
1912
2058
|
return DEFAULT_VIA;
|
|
1913
2059
|
}
|
|
1914
2060
|
if (typeof claimed !== "string" || claimed.length === 0 || claimed.length > MAX_VIA_LENGTH) {
|
|
1915
|
-
throw new
|
|
2061
|
+
throw new import_common12.BadRequestException(`via must be a string of 1-${MAX_VIA_LENGTH} characters`);
|
|
1916
2062
|
}
|
|
1917
2063
|
return claimed;
|
|
1918
2064
|
}
|
|
@@ -1922,26 +2068,26 @@ function answers(claimed) {
|
|
|
1922
2068
|
return void 0;
|
|
1923
2069
|
}
|
|
1924
2070
|
if (typeof claimed !== "object" || claimed === null || Array.isArray(claimed)) {
|
|
1925
|
-
throw new
|
|
2071
|
+
throw new import_common12.BadRequestException("answers must be an object of questionId \u2192 chosen values");
|
|
1926
2072
|
}
|
|
1927
2073
|
const entries = Object.entries(claimed);
|
|
1928
2074
|
if (entries.length > MAX_ANSWERED_QUESTIONS) {
|
|
1929
|
-
throw new
|
|
2075
|
+
throw new import_common12.BadRequestException(`answers may cover at most ${MAX_ANSWERED_QUESTIONS} questions`);
|
|
1930
2076
|
}
|
|
1931
2077
|
const validated = /* @__PURE__ */ Object.create(null);
|
|
1932
2078
|
for (const [questionId, values] of entries) {
|
|
1933
2079
|
if (!Array.isArray(values)) {
|
|
1934
|
-
throw new
|
|
2080
|
+
throw new import_common12.BadRequestException(`answers["${questionId}"] must be an array of chosen values`);
|
|
1935
2081
|
}
|
|
1936
2082
|
if (values.length > MAX_VALUES_PER_QUESTION) {
|
|
1937
|
-
throw new
|
|
2083
|
+
throw new import_common12.BadRequestException(`answers["${questionId}"] may carry at most ${MAX_VALUES_PER_QUESTION} values`);
|
|
1938
2084
|
}
|
|
1939
2085
|
for (const value of values) {
|
|
1940
2086
|
if (typeof value !== "string") {
|
|
1941
|
-
throw new
|
|
2087
|
+
throw new import_common12.BadRequestException(`answers["${questionId}"] must contain only strings`);
|
|
1942
2088
|
}
|
|
1943
2089
|
if (value.length > MAX_ANSWER_VALUE_LENGTH) {
|
|
1944
|
-
throw new
|
|
2090
|
+
throw new import_common12.BadRequestException(`answers["${questionId}"] values must be at most ${MAX_ANSWER_VALUE_LENGTH} characters`);
|
|
1945
2091
|
}
|
|
1946
2092
|
}
|
|
1947
2093
|
validated[questionId] = values;
|
|
@@ -1999,64 +2145,64 @@ var ToolCallController = class {
|
|
|
1999
2145
|
};
|
|
2000
2146
|
}
|
|
2001
2147
|
};
|
|
2002
|
-
|
|
2003
|
-
(0,
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
|
|
2007
|
-
|
|
2148
|
+
_ts_decorate12([
|
|
2149
|
+
(0, import_common12.Post)("approve"),
|
|
2150
|
+
_ts_param11(0, (0, import_common12.Req)()),
|
|
2151
|
+
_ts_param11(1, (0, import_common12.Body)()),
|
|
2152
|
+
_ts_metadata12("design:type", Function),
|
|
2153
|
+
_ts_metadata12("design:paramtypes", [
|
|
2008
2154
|
typeof Request === "undefined" ? Object : Request,
|
|
2009
2155
|
typeof ApproveBody === "undefined" ? Object : ApproveBody
|
|
2010
2156
|
]),
|
|
2011
|
-
|
|
2157
|
+
_ts_metadata12("design:returntype", Promise)
|
|
2012
2158
|
], ToolCallController.prototype, "approve", null);
|
|
2013
|
-
|
|
2014
|
-
(0,
|
|
2015
|
-
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
|
|
2159
|
+
_ts_decorate12([
|
|
2160
|
+
(0, import_common12.Post)("reject"),
|
|
2161
|
+
_ts_param11(0, (0, import_common12.Req)()),
|
|
2162
|
+
_ts_param11(1, (0, import_common12.Body)()),
|
|
2163
|
+
_ts_metadata12("design:type", Function),
|
|
2164
|
+
_ts_metadata12("design:paramtypes", [
|
|
2019
2165
|
typeof Request === "undefined" ? Object : Request,
|
|
2020
2166
|
typeof RejectBody === "undefined" ? Object : RejectBody
|
|
2021
2167
|
]),
|
|
2022
|
-
|
|
2168
|
+
_ts_metadata12("design:returntype", Promise)
|
|
2023
2169
|
], ToolCallController.prototype, "reject", null);
|
|
2024
|
-
|
|
2025
|
-
(0,
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
|
|
2029
|
-
|
|
2170
|
+
_ts_decorate12([
|
|
2171
|
+
(0, import_common12.Post)("answer"),
|
|
2172
|
+
_ts_param11(0, (0, import_common12.Req)()),
|
|
2173
|
+
_ts_param11(1, (0, import_common12.Body)()),
|
|
2174
|
+
_ts_metadata12("design:type", Function),
|
|
2175
|
+
_ts_metadata12("design:paramtypes", [
|
|
2030
2176
|
typeof Request === "undefined" ? Object : Request,
|
|
2031
2177
|
typeof AnswerBody === "undefined" ? Object : AnswerBody
|
|
2032
2178
|
]),
|
|
2033
|
-
|
|
2179
|
+
_ts_metadata12("design:returntype", Promise)
|
|
2034
2180
|
], ToolCallController.prototype, "answer", null);
|
|
2035
|
-
|
|
2036
|
-
(0,
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2181
|
+
_ts_decorate12([
|
|
2182
|
+
(0, import_common12.Post)("skip"),
|
|
2183
|
+
_ts_param11(0, (0, import_common12.Req)()),
|
|
2184
|
+
_ts_param11(1, (0, import_common12.Body)()),
|
|
2185
|
+
_ts_metadata12("design:type", Function),
|
|
2186
|
+
_ts_metadata12("design:paramtypes", [
|
|
2041
2187
|
typeof Request === "undefined" ? Object : Request,
|
|
2042
2188
|
Object
|
|
2043
2189
|
]),
|
|
2044
|
-
|
|
2190
|
+
_ts_metadata12("design:returntype", Promise)
|
|
2045
2191
|
], ToolCallController.prototype, "skip", null);
|
|
2046
|
-
ToolCallController =
|
|
2047
|
-
(0,
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2192
|
+
ToolCallController = _ts_decorate12([
|
|
2193
|
+
(0, import_common12.Controller)("tool-call"),
|
|
2194
|
+
_ts_param11(1, (0, import_common12.Inject)(import_nestjs_agent_core12.AGENT_ACTOR_RESOLVER)),
|
|
2195
|
+
_ts_metadata12("design:type", Function),
|
|
2196
|
+
_ts_metadata12("design:paramtypes", [
|
|
2051
2197
|
typeof AgentService === "undefined" ? Object : AgentService,
|
|
2052
2198
|
typeof ActorResolver === "undefined" ? Object : ActorResolver
|
|
2053
2199
|
])
|
|
2054
2200
|
], ToolCallController);
|
|
2055
2201
|
|
|
2056
2202
|
// src/controller/tools.controller.ts
|
|
2057
|
-
var
|
|
2058
|
-
var
|
|
2059
|
-
function
|
|
2203
|
+
var import_nestjs_agent_core13 = require("@dudousxd/nestjs-agent-core");
|
|
2204
|
+
var import_common13 = require("@nestjs/common");
|
|
2205
|
+
function _ts_decorate13(decorators, target, key, desc) {
|
|
2060
2206
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2061
2207
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
|
|
2062
2208
|
r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -2069,19 +2215,19 @@ function _ts_decorate12(decorators, target, key, desc) {
|
|
|
2069
2215
|
}
|
|
2070
2216
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
2071
2217
|
}
|
|
2072
|
-
__name(
|
|
2073
|
-
function
|
|
2218
|
+
__name(_ts_decorate13, "_ts_decorate");
|
|
2219
|
+
function _ts_metadata13(metadataKey, metadataValue) {
|
|
2074
2220
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
|
|
2075
2221
|
return Reflect.metadata(metadataKey, metadataValue);
|
|
2076
2222
|
}
|
|
2077
2223
|
}
|
|
2078
|
-
__name(
|
|
2079
|
-
function
|
|
2224
|
+
__name(_ts_metadata13, "_ts_metadata");
|
|
2225
|
+
function _ts_param12(paramIndex, decorator) {
|
|
2080
2226
|
return function(target, key) {
|
|
2081
2227
|
decorator(target, key, paramIndex);
|
|
2082
2228
|
};
|
|
2083
2229
|
}
|
|
2084
|
-
__name(
|
|
2230
|
+
__name(_ts_param12, "_ts_param");
|
|
2085
2231
|
var ToolsController = class {
|
|
2086
2232
|
static {
|
|
2087
2233
|
__name(this, "ToolsController");
|
|
@@ -2096,7 +2242,7 @@ var ToolsController = class {
|
|
|
2096
2242
|
}
|
|
2097
2243
|
async list(req, agent) {
|
|
2098
2244
|
if (agent !== void 0 && this.agents.get(agent) === void 0) {
|
|
2099
|
-
throw new
|
|
2245
|
+
throw new import_common13.NotFoundException(`No agent named "${agent}"`);
|
|
2100
2246
|
}
|
|
2101
2247
|
const actor = await this.actorResolver.resolve(req);
|
|
2102
2248
|
const deps = this.depsFactory.forAgent(agent);
|
|
@@ -2110,33 +2256,33 @@ var ToolsController = class {
|
|
|
2110
2256
|
}));
|
|
2111
2257
|
}
|
|
2112
2258
|
};
|
|
2113
|
-
|
|
2114
|
-
(0,
|
|
2115
|
-
|
|
2116
|
-
|
|
2117
|
-
|
|
2118
|
-
|
|
2259
|
+
_ts_decorate13([
|
|
2260
|
+
(0, import_common13.Get)(),
|
|
2261
|
+
_ts_param12(0, (0, import_common13.Req)()),
|
|
2262
|
+
_ts_param12(1, (0, import_common13.Query)("agent")),
|
|
2263
|
+
_ts_metadata13("design:type", Function),
|
|
2264
|
+
_ts_metadata13("design:paramtypes", [
|
|
2119
2265
|
typeof Request === "undefined" ? Object : Request,
|
|
2120
2266
|
String
|
|
2121
2267
|
]),
|
|
2122
|
-
|
|
2268
|
+
_ts_metadata13("design:returntype", Promise)
|
|
2123
2269
|
], ToolsController.prototype, "list", null);
|
|
2124
|
-
ToolsController =
|
|
2125
|
-
(0,
|
|
2126
|
-
|
|
2127
|
-
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
|
|
2270
|
+
ToolsController = _ts_decorate13([
|
|
2271
|
+
(0, import_common13.Controller)("tools"),
|
|
2272
|
+
_ts_param12(0, (0, import_common13.Inject)(import_nestjs_agent_core13.AGENT_ACTOR_RESOLVER)),
|
|
2273
|
+
_ts_param12(1, (0, import_common13.Inject)(import_nestjs_agent_core13.AGENT_DEPS_FACTORY)),
|
|
2274
|
+
_ts_param12(2, (0, import_common13.Inject)(import_nestjs_agent_core13.AGENT_REGISTRY)),
|
|
2275
|
+
_ts_metadata13("design:type", Function),
|
|
2276
|
+
_ts_metadata13("design:paramtypes", [
|
|
2131
2277
|
typeof ActorResolver === "undefined" ? Object : ActorResolver,
|
|
2132
2278
|
typeof AgentDepsFactory === "undefined" ? Object : AgentDepsFactory,
|
|
2133
|
-
typeof
|
|
2279
|
+
typeof import_nestjs_agent_core13.AgentRegistry === "undefined" ? Object : import_nestjs_agent_core13.AgentRegistry
|
|
2134
2280
|
])
|
|
2135
2281
|
], ToolsController);
|
|
2136
2282
|
|
|
2137
2283
|
// src/discovery/agent-discovery.service.ts
|
|
2138
|
-
var
|
|
2139
|
-
var
|
|
2284
|
+
var import_nestjs_agent_core14 = require("@dudousxd/nestjs-agent-core");
|
|
2285
|
+
var import_common14 = require("@nestjs/common");
|
|
2140
2286
|
var import_core = require("@nestjs/core");
|
|
2141
2287
|
|
|
2142
2288
|
// src/decorator/agent.decorator.ts
|
|
@@ -2171,7 +2317,7 @@ function SystemPromptContributor() {
|
|
|
2171
2317
|
__name(SystemPromptContributor, "SystemPromptContributor");
|
|
2172
2318
|
|
|
2173
2319
|
// src/discovery/agent-discovery.service.ts
|
|
2174
|
-
function
|
|
2320
|
+
function _ts_decorate14(decorators, target, key, desc) {
|
|
2175
2321
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2176
2322
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
|
|
2177
2323
|
r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -2184,19 +2330,19 @@ function _ts_decorate13(decorators, target, key, desc) {
|
|
|
2184
2330
|
}
|
|
2185
2331
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
2186
2332
|
}
|
|
2187
|
-
__name(
|
|
2188
|
-
function
|
|
2333
|
+
__name(_ts_decorate14, "_ts_decorate");
|
|
2334
|
+
function _ts_metadata14(metadataKey, metadataValue) {
|
|
2189
2335
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
|
|
2190
2336
|
return Reflect.metadata(metadataKey, metadataValue);
|
|
2191
2337
|
}
|
|
2192
2338
|
}
|
|
2193
|
-
__name(
|
|
2194
|
-
function
|
|
2339
|
+
__name(_ts_metadata14, "_ts_metadata");
|
|
2340
|
+
function _ts_param13(paramIndex, decorator) {
|
|
2195
2341
|
return function(target, key) {
|
|
2196
2342
|
decorator(target, key, paramIndex);
|
|
2197
2343
|
};
|
|
2198
2344
|
}
|
|
2199
|
-
__name(
|
|
2345
|
+
__name(_ts_param13, "_ts_param");
|
|
2200
2346
|
var AgentDiscoveryService = class _AgentDiscoveryService {
|
|
2201
2347
|
static {
|
|
2202
2348
|
__name(this, "AgentDiscoveryService");
|
|
@@ -2205,7 +2351,7 @@ var AgentDiscoveryService = class _AgentDiscoveryService {
|
|
|
2205
2351
|
scanner;
|
|
2206
2352
|
registry;
|
|
2207
2353
|
contributors;
|
|
2208
|
-
logger = new
|
|
2354
|
+
logger = new import_common14.Logger(_AgentDiscoveryService.name);
|
|
2209
2355
|
constructor(discovery, scanner, registry, contributors) {
|
|
2210
2356
|
this.discovery = discovery;
|
|
2211
2357
|
this.scanner = scanner;
|
|
@@ -2323,22 +2469,22 @@ var AgentDiscoveryService = class _AgentDiscoveryService {
|
|
|
2323
2469
|
return (ctx) => candidate.call(instance, ctx);
|
|
2324
2470
|
}
|
|
2325
2471
|
};
|
|
2326
|
-
AgentDiscoveryService =
|
|
2327
|
-
(0,
|
|
2328
|
-
|
|
2329
|
-
|
|
2330
|
-
|
|
2331
|
-
|
|
2472
|
+
AgentDiscoveryService = _ts_decorate14([
|
|
2473
|
+
(0, import_common14.Injectable)(),
|
|
2474
|
+
_ts_param13(2, (0, import_common14.Inject)(import_nestjs_agent_core14.AGENT_REGISTRY)),
|
|
2475
|
+
_ts_param13(3, (0, import_common14.Inject)(import_nestjs_agent_core14.AGENT_PROMPT_CONTRIBUTORS)),
|
|
2476
|
+
_ts_metadata14("design:type", Function),
|
|
2477
|
+
_ts_metadata14("design:paramtypes", [
|
|
2332
2478
|
typeof import_core.DiscoveryService === "undefined" ? Object : import_core.DiscoveryService,
|
|
2333
2479
|
typeof import_core.MetadataScanner === "undefined" ? Object : import_core.MetadataScanner,
|
|
2334
|
-
typeof
|
|
2480
|
+
typeof import_nestjs_agent_core14.AgentRegistry === "undefined" ? Object : import_nestjs_agent_core14.AgentRegistry,
|
|
2335
2481
|
Array
|
|
2336
2482
|
])
|
|
2337
2483
|
], AgentDiscoveryService);
|
|
2338
2484
|
|
|
2339
2485
|
// src/discovery/ai-tool-discovery.service.ts
|
|
2340
|
-
var
|
|
2341
|
-
var
|
|
2486
|
+
var import_nestjs_agent_core15 = require("@dudousxd/nestjs-agent-core");
|
|
2487
|
+
var import_common15 = require("@nestjs/common");
|
|
2342
2488
|
var import_core2 = require("@nestjs/core");
|
|
2343
2489
|
var import_zod = require("zod");
|
|
2344
2490
|
|
|
@@ -2387,7 +2533,7 @@ function provideAgentTool(factoryOrTool, inject) {
|
|
|
2387
2533
|
__name(provideAgentTool, "provideAgentTool");
|
|
2388
2534
|
|
|
2389
2535
|
// src/discovery/ai-tool-discovery.service.ts
|
|
2390
|
-
function
|
|
2536
|
+
function _ts_decorate15(decorators, target, key, desc) {
|
|
2391
2537
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2392
2538
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
|
|
2393
2539
|
r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -2400,19 +2546,19 @@ function _ts_decorate14(decorators, target, key, desc) {
|
|
|
2400
2546
|
}
|
|
2401
2547
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
2402
2548
|
}
|
|
2403
|
-
__name(
|
|
2404
|
-
function
|
|
2549
|
+
__name(_ts_decorate15, "_ts_decorate");
|
|
2550
|
+
function _ts_metadata15(metadataKey, metadataValue) {
|
|
2405
2551
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
|
|
2406
2552
|
return Reflect.metadata(metadataKey, metadataValue);
|
|
2407
2553
|
}
|
|
2408
2554
|
}
|
|
2409
|
-
__name(
|
|
2410
|
-
function
|
|
2555
|
+
__name(_ts_metadata15, "_ts_metadata");
|
|
2556
|
+
function _ts_param14(paramIndex, decorator) {
|
|
2411
2557
|
return function(target, key) {
|
|
2412
2558
|
decorator(target, key, paramIndex);
|
|
2413
2559
|
};
|
|
2414
2560
|
}
|
|
2415
|
-
__name(
|
|
2561
|
+
__name(_ts_param14, "_ts_param");
|
|
2416
2562
|
var AiToolDiscoveryService = class _AiToolDiscoveryService {
|
|
2417
2563
|
static {
|
|
2418
2564
|
__name(this, "AiToolDiscoveryService");
|
|
@@ -2421,7 +2567,7 @@ var AiToolDiscoveryService = class _AiToolDiscoveryService {
|
|
|
2421
2567
|
registry;
|
|
2422
2568
|
agents;
|
|
2423
2569
|
options;
|
|
2424
|
-
logger = new
|
|
2570
|
+
logger = new import_common15.Logger(_AiToolDiscoveryService.name);
|
|
2425
2571
|
constructor(discovery, registry, agents, options) {
|
|
2426
2572
|
this.discovery = discovery;
|
|
2427
2573
|
this.registry = registry;
|
|
@@ -2469,6 +2615,9 @@ var AiToolDiscoveryService = class _AiToolDiscoveryService {
|
|
|
2469
2615
|
} : {},
|
|
2470
2616
|
...meta.presentation !== void 0 ? {
|
|
2471
2617
|
presentation: meta.presentation
|
|
2618
|
+
} : {},
|
|
2619
|
+
...meta.terminal === true ? {
|
|
2620
|
+
terminal: true
|
|
2472
2621
|
} : {}
|
|
2473
2622
|
}, {
|
|
2474
2623
|
execute: /* @__PURE__ */ __name((input, ctx) => instance.execute(input, ctx), "execute"),
|
|
@@ -2492,7 +2641,7 @@ var AiToolDiscoveryService = class _AiToolDiscoveryService {
|
|
|
2492
2641
|
let delegates = 0;
|
|
2493
2642
|
for (const definition of this.agents.list()) {
|
|
2494
2643
|
for (const edge of definition.delegatesTo ?? []) {
|
|
2495
|
-
const { agent: target, detached } = (0,
|
|
2644
|
+
const { agent: target, detached } = (0, import_nestjs_agent_core15.normalizeDelegation)(edge);
|
|
2496
2645
|
const targetDefinition = this.agents.get(target);
|
|
2497
2646
|
if (targetDefinition === void 0) {
|
|
2498
2647
|
throw new Error(`Agent "${definition.name}" hands off to "${target}", which is not a registered @Agent. Declare it as an @Agent provider or fix the reference.`);
|
|
@@ -2542,13 +2691,13 @@ var AiToolDiscoveryService = class _AiToolDiscoveryService {
|
|
|
2542
2691
|
return true;
|
|
2543
2692
|
}
|
|
2544
2693
|
};
|
|
2545
|
-
AiToolDiscoveryService =
|
|
2546
|
-
(0,
|
|
2547
|
-
|
|
2548
|
-
|
|
2549
|
-
|
|
2550
|
-
|
|
2551
|
-
|
|
2694
|
+
AiToolDiscoveryService = _ts_decorate15([
|
|
2695
|
+
(0, import_common15.Injectable)(),
|
|
2696
|
+
_ts_param14(1, (0, import_common15.Inject)(import_nestjs_agent_core15.AGENT_TOOL_REGISTRY)),
|
|
2697
|
+
_ts_param14(2, (0, import_common15.Inject)(import_nestjs_agent_core15.AGENT_REGISTRY)),
|
|
2698
|
+
_ts_param14(3, (0, import_common15.Inject)(import_nestjs_agent_core15.AGENT_OPTIONS)),
|
|
2699
|
+
_ts_metadata15("design:type", Function),
|
|
2700
|
+
_ts_metadata15("design:paramtypes", [
|
|
2552
2701
|
typeof import_core2.DiscoveryService === "undefined" ? Object : import_core2.DiscoveryService,
|
|
2553
2702
|
typeof ToolRegistry === "undefined" ? Object : ToolRegistry,
|
|
2554
2703
|
typeof AgentRegistry === "undefined" ? Object : AgentRegistry,
|
|
@@ -2557,13 +2706,13 @@ AiToolDiscoveryService = _ts_decorate14([
|
|
|
2557
2706
|
], AiToolDiscoveryService);
|
|
2558
2707
|
|
|
2559
2708
|
// src/discovery/skill-discovery.service.ts
|
|
2560
|
-
var
|
|
2561
|
-
var
|
|
2709
|
+
var import_nestjs_agent_core17 = require("@dudousxd/nestjs-agent-core");
|
|
2710
|
+
var import_common16 = require("@nestjs/common");
|
|
2562
2711
|
var import_core3 = require("@nestjs/core");
|
|
2563
2712
|
|
|
2564
2713
|
// src/decorator/skill.decorator.ts
|
|
2565
2714
|
var import_reflect_metadata4 = require("reflect-metadata");
|
|
2566
|
-
var
|
|
2715
|
+
var import_nestjs_agent_core16 = require("@dudousxd/nestjs-agent-core");
|
|
2567
2716
|
var SKILL_METADATA = /* @__PURE__ */ Symbol.for("@dudousxd/nestjs-agent:skill-metadata");
|
|
2568
2717
|
function Skill(options) {
|
|
2569
2718
|
return (target) => {
|
|
@@ -2576,12 +2725,12 @@ function readSkillMetadata(target) {
|
|
|
2576
2725
|
}
|
|
2577
2726
|
__name(readSkillMetadata, "readSkillMetadata");
|
|
2578
2727
|
function skillScope(options) {
|
|
2579
|
-
return options.scope ??
|
|
2728
|
+
return options.scope ?? import_nestjs_agent_core16.GLOBAL_SCOPE;
|
|
2580
2729
|
}
|
|
2581
2730
|
__name(skillScope, "skillScope");
|
|
2582
2731
|
|
|
2583
2732
|
// src/discovery/skill-discovery.service.ts
|
|
2584
|
-
function
|
|
2733
|
+
function _ts_decorate16(decorators, target, key, desc) {
|
|
2585
2734
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2586
2735
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
|
|
2587
2736
|
r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -2594,26 +2743,26 @@ function _ts_decorate15(decorators, target, key, desc) {
|
|
|
2594
2743
|
}
|
|
2595
2744
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
2596
2745
|
}
|
|
2597
|
-
__name(
|
|
2598
|
-
function
|
|
2746
|
+
__name(_ts_decorate16, "_ts_decorate");
|
|
2747
|
+
function _ts_metadata16(metadataKey, metadataValue) {
|
|
2599
2748
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
|
|
2600
2749
|
return Reflect.metadata(metadataKey, metadataValue);
|
|
2601
2750
|
}
|
|
2602
2751
|
}
|
|
2603
|
-
__name(
|
|
2604
|
-
function
|
|
2752
|
+
__name(_ts_metadata16, "_ts_metadata");
|
|
2753
|
+
function _ts_param15(paramIndex, decorator) {
|
|
2605
2754
|
return function(target, key) {
|
|
2606
2755
|
decorator(target, key, paramIndex);
|
|
2607
2756
|
};
|
|
2608
2757
|
}
|
|
2609
|
-
__name(
|
|
2758
|
+
__name(_ts_param15, "_ts_param");
|
|
2610
2759
|
var SkillDiscoveryService = class _SkillDiscoveryService {
|
|
2611
2760
|
static {
|
|
2612
2761
|
__name(this, "SkillDiscoveryService");
|
|
2613
2762
|
}
|
|
2614
2763
|
discovery;
|
|
2615
2764
|
declared;
|
|
2616
|
-
logger = new
|
|
2765
|
+
logger = new import_common16.Logger(_SkillDiscoveryService.name);
|
|
2617
2766
|
constructor(discovery, declared) {
|
|
2618
2767
|
this.discovery = discovery;
|
|
2619
2768
|
this.declared = declared;
|
|
@@ -2650,18 +2799,18 @@ var SkillDiscoveryService = class _SkillDiscoveryService {
|
|
|
2650
2799
|
return flat === void 0 ? void 0 : () => flat;
|
|
2651
2800
|
}
|
|
2652
2801
|
};
|
|
2653
|
-
SkillDiscoveryService =
|
|
2654
|
-
(0,
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
|
|
2802
|
+
SkillDiscoveryService = _ts_decorate16([
|
|
2803
|
+
(0, import_common16.Injectable)(),
|
|
2804
|
+
_ts_param15(1, (0, import_common16.Inject)(import_nestjs_agent_core17.AGENT_SKILL_SOURCES)),
|
|
2805
|
+
_ts_metadata16("design:type", Function),
|
|
2806
|
+
_ts_metadata16("design:paramtypes", [
|
|
2658
2807
|
typeof import_core3.DiscoveryService === "undefined" ? Object : import_core3.DiscoveryService,
|
|
2659
2808
|
Array
|
|
2660
2809
|
])
|
|
2661
2810
|
], SkillDiscoveryService);
|
|
2662
2811
|
|
|
2663
2812
|
// src/in-process-sink.ts
|
|
2664
|
-
var
|
|
2813
|
+
var import_nestjs_agent_core18 = require("@dudousxd/nestjs-agent-core");
|
|
2665
2814
|
var InProcessTokenStreamSink = class {
|
|
2666
2815
|
static {
|
|
2667
2816
|
__name(this, "InProcessTokenStreamSink");
|
|
@@ -2716,7 +2865,7 @@ var InProcessTokenStreamSink = class {
|
|
|
2716
2865
|
}
|
|
2717
2866
|
if (buf.ended) {
|
|
2718
2867
|
if (buf.failure !== void 0) {
|
|
2719
|
-
throw new
|
|
2868
|
+
throw new import_nestjs_agent_core18.AgentStreamError(buf.failure);
|
|
2720
2869
|
}
|
|
2721
2870
|
return;
|
|
2722
2871
|
}
|
|
@@ -2752,9 +2901,9 @@ var LedgerQuotaStore = class {
|
|
|
2752
2901
|
};
|
|
2753
2902
|
|
|
2754
2903
|
// src/runner/inline-agent-runner.ts
|
|
2755
|
-
var
|
|
2756
|
-
var
|
|
2757
|
-
function
|
|
2904
|
+
var import_nestjs_agent_core19 = require("@dudousxd/nestjs-agent-core");
|
|
2905
|
+
var import_common17 = require("@nestjs/common");
|
|
2906
|
+
function _ts_decorate17(decorators, target, key, desc) {
|
|
2758
2907
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2759
2908
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
|
|
2760
2909
|
r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -2767,26 +2916,26 @@ function _ts_decorate16(decorators, target, key, desc) {
|
|
|
2767
2916
|
}
|
|
2768
2917
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
2769
2918
|
}
|
|
2770
|
-
__name(
|
|
2771
|
-
function
|
|
2919
|
+
__name(_ts_decorate17, "_ts_decorate");
|
|
2920
|
+
function _ts_metadata17(metadataKey, metadataValue) {
|
|
2772
2921
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
|
|
2773
2922
|
return Reflect.metadata(metadataKey, metadataValue);
|
|
2774
2923
|
}
|
|
2775
2924
|
}
|
|
2776
|
-
__name(
|
|
2777
|
-
function
|
|
2925
|
+
__name(_ts_metadata17, "_ts_metadata");
|
|
2926
|
+
function _ts_param16(paramIndex, decorator) {
|
|
2778
2927
|
return function(target, key) {
|
|
2779
2928
|
decorator(target, key, paramIndex);
|
|
2780
2929
|
};
|
|
2781
2930
|
}
|
|
2782
|
-
__name(
|
|
2931
|
+
__name(_ts_param16, "_ts_param");
|
|
2783
2932
|
var InlineAgentRunner = class _InlineAgentRunner {
|
|
2784
2933
|
static {
|
|
2785
2934
|
__name(this, "InlineAgentRunner");
|
|
2786
2935
|
}
|
|
2787
2936
|
factory;
|
|
2788
2937
|
store;
|
|
2789
|
-
logger = new
|
|
2938
|
+
logger = new import_common17.Logger(_InlineAgentRunner.name);
|
|
2790
2939
|
pending = /* @__PURE__ */ new Map();
|
|
2791
2940
|
/**
|
|
2792
2941
|
* Runs someone has asked to stop. In-process, like `pending`, and for the same reason: this runner
|
|
@@ -2815,18 +2964,18 @@ var InlineAgentRunner = class _InlineAgentRunner {
|
|
|
2815
2964
|
] : []
|
|
2816
2965
|
]
|
|
2817
2966
|
});
|
|
2818
|
-
void (0,
|
|
2967
|
+
void (0, import_nestjs_agent_core19.runAgentLoop)({
|
|
2819
2968
|
...deps,
|
|
2820
2969
|
day
|
|
2821
2970
|
}, input, hooks).then(() => this.store.setActiveStream(input.threadId, null)).catch(async (error) => {
|
|
2822
|
-
if (error instanceof
|
|
2971
|
+
if (error instanceof import_nestjs_agent_core19.RunCancelledError) {
|
|
2823
2972
|
await this.settleCancelled(runId, input.threadId, deps);
|
|
2824
2973
|
return;
|
|
2825
2974
|
}
|
|
2826
2975
|
const message = error instanceof Error ? error.message : String(error);
|
|
2827
|
-
const code = (0,
|
|
2976
|
+
const code = (0, import_nestjs_agent_core19.agentFailureCode)(error);
|
|
2828
2977
|
this.logger.error(`agent run ${runId} failed (${code}): ${message}`);
|
|
2829
|
-
(0,
|
|
2978
|
+
(0, import_nestjs_agent_core19.publishAgentRunFailed)({
|
|
2830
2979
|
runId,
|
|
2831
2980
|
code,
|
|
2832
2981
|
message
|
|
@@ -2875,7 +3024,7 @@ var InlineAgentRunner = class _InlineAgentRunner {
|
|
|
2875
3024
|
for (const [key, waiter] of this.pending) {
|
|
2876
3025
|
if (key.startsWith(`${runId}:`)) {
|
|
2877
3026
|
this.pending.delete(key);
|
|
2878
|
-
waiter.reject(new
|
|
3027
|
+
waiter.reject(new import_nestjs_agent_core19.RunCancelledError());
|
|
2879
3028
|
}
|
|
2880
3029
|
}
|
|
2881
3030
|
await Promise.resolve();
|
|
@@ -2890,7 +3039,7 @@ var InlineAgentRunner = class _InlineAgentRunner {
|
|
|
2890
3039
|
this.logger.log(`agent run ${runId} cancelled`);
|
|
2891
3040
|
await this.store.setActiveStream(threadId, null);
|
|
2892
3041
|
const writer = await deps.sink.open(runId);
|
|
2893
|
-
await writer.write((0,
|
|
3042
|
+
await writer.write((0, import_nestjs_agent_core19.encodeStreamEvent)({
|
|
2894
3043
|
kind: "cancelled"
|
|
2895
3044
|
}));
|
|
2896
3045
|
await writer.end();
|
|
@@ -2951,7 +3100,7 @@ var InlineAgentRunner = class _InlineAgentRunner {
|
|
|
2951
3100
|
awaitApproval: /* @__PURE__ */ __name((call, _ctx, opts) => this.parkApproval(runId, call.id, opts?.timeoutMs), "awaitApproval"),
|
|
2952
3101
|
awaitAnswers: /* @__PURE__ */ __name((request) => this.park(runId, request.id), "awaitAnswers"),
|
|
2953
3102
|
step: /* @__PURE__ */ __name((_name, fn) => fn(), "step"),
|
|
2954
|
-
parallel:
|
|
3103
|
+
parallel: import_nestjs_agent_core19.settleAll,
|
|
2955
3104
|
cancelled: /* @__PURE__ */ __name(async () => this.cancelled.has(runId), "cancelled"),
|
|
2956
3105
|
runAgent: /* @__PURE__ */ __name((agentName, task) => this.runNested({
|
|
2957
3106
|
agentName,
|
|
@@ -3002,7 +3151,7 @@ var InlineAgentRunner = class _InlineAgentRunner {
|
|
|
3002
3151
|
awaitApproval: /* @__PURE__ */ __name((call, _ctx, opts) => this.parkApproval(runId, call.id, opts?.timeoutMs), "awaitApproval"),
|
|
3003
3152
|
awaitAnswers: /* @__PURE__ */ __name((request) => this.park(runId, request.id), "awaitAnswers"),
|
|
3004
3153
|
step: /* @__PURE__ */ __name((_name, fn) => fn(), "step"),
|
|
3005
|
-
parallel:
|
|
3154
|
+
parallel: import_nestjs_agent_core19.settleAll,
|
|
3006
3155
|
cancelled: /* @__PURE__ */ __name(async () => this.cancelled.has(runId), "cancelled"),
|
|
3007
3156
|
runAgent: /* @__PURE__ */ __name((childName, childTask) => this.runNested({
|
|
3008
3157
|
agentName: childName,
|
|
@@ -3035,7 +3184,7 @@ var InlineAgentRunner = class _InlineAgentRunner {
|
|
|
3035
3184
|
}
|
|
3036
3185
|
}), "startAgent")
|
|
3037
3186
|
};
|
|
3038
|
-
void (0,
|
|
3187
|
+
void (0, import_nestjs_agent_core19.runAgentLoop)({
|
|
3039
3188
|
...deps,
|
|
3040
3189
|
day
|
|
3041
3190
|
}, {
|
|
@@ -3049,13 +3198,13 @@ var InlineAgentRunner = class _InlineAgentRunner {
|
|
|
3049
3198
|
parentRunId,
|
|
3050
3199
|
deliverTo
|
|
3051
3200
|
}, hooks).catch(async (error) => {
|
|
3052
|
-
const cancelled = error instanceof
|
|
3201
|
+
const cancelled = error instanceof import_nestjs_agent_core19.RunCancelledError;
|
|
3053
3202
|
const message = error instanceof Error ? error.message : String(error);
|
|
3054
3203
|
if (!cancelled) {
|
|
3055
3204
|
this.logger.error(`detached agent run ${runId} failed: ${message}`);
|
|
3056
|
-
(0,
|
|
3205
|
+
(0, import_nestjs_agent_core19.publishAgentRunFailed)({
|
|
3057
3206
|
runId,
|
|
3058
|
-
code: (0,
|
|
3207
|
+
code: (0, import_nestjs_agent_core19.agentFailureCode)(error),
|
|
3059
3208
|
message
|
|
3060
3209
|
});
|
|
3061
3210
|
}
|
|
@@ -3063,11 +3212,11 @@ var InlineAgentRunner = class _InlineAgentRunner {
|
|
|
3063
3212
|
runId,
|
|
3064
3213
|
status: cancelled ? "cancelled" : "failed",
|
|
3065
3214
|
...cancelled ? {} : {
|
|
3066
|
-
errorCode: (0,
|
|
3215
|
+
errorCode: (0, import_nestjs_agent_core19.agentFailureCode)(error),
|
|
3067
3216
|
errorMessage: message
|
|
3068
3217
|
}
|
|
3069
3218
|
});
|
|
3070
|
-
await (0,
|
|
3219
|
+
await (0, import_nestjs_agent_core19.settleUnsettledDelegation)({
|
|
3071
3220
|
store: this.store,
|
|
3072
3221
|
delivery: deliverTo,
|
|
3073
3222
|
agent: agentName,
|
|
@@ -3106,7 +3255,7 @@ var InlineAgentRunner = class _InlineAgentRunner {
|
|
|
3106
3255
|
awaitApproval: /* @__PURE__ */ __name((call, _ctx, opts) => this.parkApproval(runId, call.id, opts?.timeoutMs), "awaitApproval"),
|
|
3107
3256
|
awaitAnswers: /* @__PURE__ */ __name((request) => this.park(runId, request.id), "awaitAnswers"),
|
|
3108
3257
|
step: /* @__PURE__ */ __name((_name, fn) => fn(), "step"),
|
|
3109
|
-
parallel:
|
|
3258
|
+
parallel: import_nestjs_agent_core19.settleAll,
|
|
3110
3259
|
// A child stops when it is cancelled OR when the run a human is actually watching is: the
|
|
3111
3260
|
// canceller names the top-level run, which is the only id that ever left the server.
|
|
3112
3261
|
cancelled: /* @__PURE__ */ __name(async () => this.cancelled.has(runId) || this.cancelled.has(sinkRunId), "cancelled"),
|
|
@@ -3141,7 +3290,7 @@ var InlineAgentRunner = class _InlineAgentRunner {
|
|
|
3141
3290
|
}), "startAgent")
|
|
3142
3291
|
};
|
|
3143
3292
|
try {
|
|
3144
|
-
return await (0,
|
|
3293
|
+
return await (0, import_nestjs_agent_core19.runAgentLoop)({
|
|
3145
3294
|
...deps,
|
|
3146
3295
|
day
|
|
3147
3296
|
}, {
|
|
@@ -3160,19 +3309,19 @@ var InlineAgentRunner = class _InlineAgentRunner {
|
|
|
3160
3309
|
}
|
|
3161
3310
|
}
|
|
3162
3311
|
};
|
|
3163
|
-
InlineAgentRunner =
|
|
3164
|
-
(0,
|
|
3165
|
-
|
|
3166
|
-
|
|
3167
|
-
|
|
3168
|
-
|
|
3312
|
+
InlineAgentRunner = _ts_decorate17([
|
|
3313
|
+
(0, import_common17.Injectable)(),
|
|
3314
|
+
_ts_param16(0, (0, import_common17.Inject)(import_nestjs_agent_core19.AGENT_DEPS_FACTORY)),
|
|
3315
|
+
_ts_param16(1, (0, import_common17.Inject)(import_nestjs_agent_core19.AGENT_STORE)),
|
|
3316
|
+
_ts_metadata17("design:type", Function),
|
|
3317
|
+
_ts_metadata17("design:paramtypes", [
|
|
3169
3318
|
typeof AgentDepsFactory === "undefined" ? Object : AgentDepsFactory,
|
|
3170
3319
|
typeof AgentStore === "undefined" ? Object : AgentStore
|
|
3171
3320
|
])
|
|
3172
3321
|
], InlineAgentRunner);
|
|
3173
3322
|
|
|
3174
3323
|
// src/skills-config.ts
|
|
3175
|
-
var
|
|
3324
|
+
var import_nestjs_agent_core20 = require("@dudousxd/nestjs-agent-core");
|
|
3176
3325
|
function declaredSkillProvider(declared) {
|
|
3177
3326
|
return {
|
|
3178
3327
|
list: /* @__PURE__ */ __name(({ scopes }) => declared.filter((skill) => scopes.includes(skill.scope)).map(({ name, description, scope }) => ({
|
|
@@ -3198,7 +3347,7 @@ function resolveSkillsConfig(options, declared) {
|
|
|
3198
3347
|
declaredSkillProvider(declared)
|
|
3199
3348
|
];
|
|
3200
3349
|
return {
|
|
3201
|
-
provider: providers.length === 1 ? providers[0] : (0,
|
|
3350
|
+
provider: providers.length === 1 ? providers[0] : (0, import_nestjs_agent_core20.compositeSkillProvider)(providers),
|
|
3202
3351
|
...options.scopes !== void 0 ? {
|
|
3203
3352
|
scopes: options.scopes
|
|
3204
3353
|
} : {},
|
|
@@ -3210,7 +3359,7 @@ function resolveSkillsConfig(options, declared) {
|
|
|
3210
3359
|
__name(resolveSkillsConfig, "resolveSkillsConfig");
|
|
3211
3360
|
|
|
3212
3361
|
// src/agent.module.ts
|
|
3213
|
-
function
|
|
3362
|
+
function _ts_decorate18(decorators, target, key, desc) {
|
|
3214
3363
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3215
3364
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
|
|
3216
3365
|
r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -3223,92 +3372,92 @@ function _ts_decorate17(decorators, target, key, desc) {
|
|
|
3223
3372
|
}
|
|
3224
3373
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
3225
3374
|
}
|
|
3226
|
-
__name(
|
|
3375
|
+
__name(_ts_decorate18, "_ts_decorate");
|
|
3227
3376
|
var DEFAULT_PATH = "agent";
|
|
3228
3377
|
function sharedProviders(durable, includeStore) {
|
|
3229
3378
|
const providers = [
|
|
3230
3379
|
{
|
|
3231
|
-
provide:
|
|
3232
|
-
useFactory: /* @__PURE__ */ __name(() => new
|
|
3380
|
+
provide: import_nestjs_agent_core21.AGENT_TOOL_REGISTRY,
|
|
3381
|
+
useFactory: /* @__PURE__ */ __name(() => new import_nestjs_agent_core21.ToolRegistry(), "useFactory")
|
|
3233
3382
|
},
|
|
3234
3383
|
// Starts empty; AgentDiscoveryService populates it from `@Agent`-decorated providers at boot.
|
|
3235
3384
|
{
|
|
3236
|
-
provide:
|
|
3237
|
-
useFactory: /* @__PURE__ */ __name(() => new
|
|
3385
|
+
provide: import_nestjs_agent_core21.AGENT_REGISTRY,
|
|
3386
|
+
useFactory: /* @__PURE__ */ __name(() => new import_nestjs_agent_core21.AgentRegistry(), "useFactory")
|
|
3238
3387
|
},
|
|
3239
3388
|
// A shared, mutable list AgentDiscoveryService fills with `@SystemPromptContributor()` methods.
|
|
3240
3389
|
{
|
|
3241
|
-
provide:
|
|
3390
|
+
provide: import_nestjs_agent_core21.AGENT_PROMPT_CONTRIBUTORS,
|
|
3242
3391
|
useFactory: /* @__PURE__ */ __name(() => [], "useFactory")
|
|
3243
3392
|
},
|
|
3244
3393
|
// Likewise for `@Skill`-decorated providers — filled by SkillDiscoveryService at onModuleInit,
|
|
3245
3394
|
// read lazily by the AGENT_SKILLS provider below (which DI builds before discovery has run).
|
|
3246
3395
|
{
|
|
3247
|
-
provide:
|
|
3396
|
+
provide: import_nestjs_agent_core21.AGENT_SKILL_SOURCES,
|
|
3248
3397
|
useFactory: /* @__PURE__ */ __name(() => [], "useFactory")
|
|
3249
3398
|
},
|
|
3250
3399
|
{
|
|
3251
3400
|
// One resolution, shared by the loop's deps and the listing endpoint: a second one would
|
|
3252
3401
|
// drift, and a user would be offered a skill the agent cannot reach. `undefined` when the
|
|
3253
3402
|
// host configured none — which is what keeps the turn's checkpoint sequence unchanged.
|
|
3254
|
-
provide:
|
|
3403
|
+
provide: import_nestjs_agent_core21.AGENT_SKILLS,
|
|
3255
3404
|
useFactory: /* @__PURE__ */ __name((options, declared) => resolveSkillsConfig(options.skills, declared), "useFactory"),
|
|
3256
3405
|
inject: [
|
|
3257
|
-
|
|
3258
|
-
|
|
3406
|
+
import_nestjs_agent_core21.AGENT_OPTIONS,
|
|
3407
|
+
import_nestjs_agent_core21.AGENT_SKILL_SOURCES
|
|
3259
3408
|
]
|
|
3260
3409
|
},
|
|
3261
3410
|
{
|
|
3262
3411
|
// One resolution, shared by the loop's deps and the read-back endpoint: a person has to be
|
|
3263
3412
|
// shown what the model was shown, and two resolutions would eventually disagree about that.
|
|
3264
|
-
provide:
|
|
3413
|
+
provide: import_nestjs_agent_core21.AGENT_MEMORY,
|
|
3265
3414
|
useFactory: /* @__PURE__ */ __name((options) => options.memory, "useFactory"),
|
|
3266
3415
|
inject: [
|
|
3267
|
-
|
|
3416
|
+
import_nestjs_agent_core21.AGENT_OPTIONS
|
|
3268
3417
|
]
|
|
3269
3418
|
},
|
|
3270
3419
|
{
|
|
3271
|
-
provide:
|
|
3420
|
+
provide: import_nestjs_agent_core21.AGENT_SINK,
|
|
3272
3421
|
useFactory: /* @__PURE__ */ __name((options) => options.sink ?? new InProcessTokenStreamSink(), "useFactory"),
|
|
3273
3422
|
inject: [
|
|
3274
|
-
|
|
3423
|
+
import_nestjs_agent_core21.AGENT_OPTIONS
|
|
3275
3424
|
]
|
|
3276
3425
|
},
|
|
3277
3426
|
{
|
|
3278
|
-
provide:
|
|
3279
|
-
useFactory: /* @__PURE__ */ __name((options) => options.rolesPolicy ?? new
|
|
3427
|
+
provide: import_nestjs_agent_core21.AGENT_ROLES_POLICY,
|
|
3428
|
+
useFactory: /* @__PURE__ */ __name((options) => options.rolesPolicy ?? new import_nestjs_agent_core21.DefaultRolesPolicy(options.defaultRoles), "useFactory"),
|
|
3280
3429
|
inject: [
|
|
3281
|
-
|
|
3430
|
+
import_nestjs_agent_core21.AGENT_OPTIONS
|
|
3282
3431
|
]
|
|
3283
3432
|
},
|
|
3284
3433
|
{
|
|
3285
|
-
provide:
|
|
3434
|
+
provide: import_nestjs_agent_core21.AGENT_ACTOR_RESOLVER,
|
|
3286
3435
|
useFactory: /* @__PURE__ */ __name((options) => options.actorResolver, "useFactory"),
|
|
3287
3436
|
inject: [
|
|
3288
|
-
|
|
3437
|
+
import_nestjs_agent_core21.AGENT_OPTIONS
|
|
3289
3438
|
]
|
|
3290
3439
|
},
|
|
3291
3440
|
{
|
|
3292
|
-
provide:
|
|
3441
|
+
provide: import_nestjs_agent_core21.AGENT_MODEL,
|
|
3293
3442
|
useFactory: /* @__PURE__ */ __name((o) => o.model, "useFactory"),
|
|
3294
3443
|
inject: [
|
|
3295
|
-
|
|
3444
|
+
import_nestjs_agent_core21.AGENT_OPTIONS
|
|
3296
3445
|
]
|
|
3297
3446
|
},
|
|
3298
3447
|
{
|
|
3299
3448
|
// An explicit `quota` wins; otherwise `quotaLimitTokens` binds the built-in ledger-backed
|
|
3300
3449
|
// store; otherwise quotas are off (undefined). The ledger store reads the same usage rows
|
|
3301
3450
|
// the loop already writes, so enforcement needs no extra shared state across replicas.
|
|
3302
|
-
provide:
|
|
3451
|
+
provide: import_nestjs_agent_core21.AGENT_QUOTA_STORE,
|
|
3303
3452
|
useFactory: /* @__PURE__ */ __name((o, store) => o.quota ?? (o.quotaLimitTokens !== void 0 ? new LedgerQuotaStore(store, o.quotaLimitTokens) : void 0), "useFactory"),
|
|
3304
3453
|
inject: [
|
|
3305
|
-
|
|
3306
|
-
|
|
3454
|
+
import_nestjs_agent_core21.AGENT_OPTIONS,
|
|
3455
|
+
import_nestjs_agent_core21.AGENT_STORE
|
|
3307
3456
|
]
|
|
3308
3457
|
},
|
|
3309
3458
|
AgentDepsFactory2,
|
|
3310
3459
|
{
|
|
3311
|
-
provide:
|
|
3460
|
+
provide: import_nestjs_agent_core21.AGENT_DEPS_FACTORY,
|
|
3312
3461
|
useExisting: AgentDepsFactory2
|
|
3313
3462
|
},
|
|
3314
3463
|
// Populates the registry + contributors (onModuleInit) BEFORE AiToolDiscoveryService synthesizes
|
|
@@ -3322,22 +3471,22 @@ function sharedProviders(durable, includeStore) {
|
|
|
3322
3471
|
// through AgentService.signalToolCall, which reaches whichever AGENT_RUNNER is bound above.
|
|
3323
3472
|
AgentApprovalPortAdapter,
|
|
3324
3473
|
{
|
|
3325
|
-
provide:
|
|
3474
|
+
provide: import_nestjs_agent_core21.AGENT_APPROVAL_PORT,
|
|
3326
3475
|
useExisting: AgentApprovalPortAdapter
|
|
3327
3476
|
}
|
|
3328
3477
|
];
|
|
3329
3478
|
if (includeStore) {
|
|
3330
3479
|
providers.push({
|
|
3331
|
-
provide:
|
|
3480
|
+
provide: import_nestjs_agent_core21.AGENT_STORE,
|
|
3332
3481
|
useFactory: /* @__PURE__ */ __name((o) => o.store, "useFactory"),
|
|
3333
3482
|
inject: [
|
|
3334
|
-
|
|
3483
|
+
import_nestjs_agent_core21.AGENT_OPTIONS
|
|
3335
3484
|
]
|
|
3336
3485
|
});
|
|
3337
3486
|
}
|
|
3338
3487
|
if (durable) {
|
|
3339
3488
|
providers.push({
|
|
3340
|
-
provide:
|
|
3489
|
+
provide: import_nestjs_agent_core21.AGENT_RUNNER,
|
|
3341
3490
|
useFactory: /* @__PURE__ */ __name((durableRunner) => {
|
|
3342
3491
|
if (durableRunner === void 0) {
|
|
3343
3492
|
throw new Error("AgentModule.forRoot({ durable: true }) requires importing AgentDurableModule from '@dudousxd/nestjs-agent/durable' (alongside a configured DurableModule). It was not found.");
|
|
@@ -3346,14 +3495,14 @@ function sharedProviders(durable, includeStore) {
|
|
|
3346
3495
|
}, "useFactory"),
|
|
3347
3496
|
inject: [
|
|
3348
3497
|
{
|
|
3349
|
-
token:
|
|
3498
|
+
token: import_nestjs_agent_core21.AGENT_DURABLE_RUNNER,
|
|
3350
3499
|
optional: true
|
|
3351
3500
|
}
|
|
3352
3501
|
]
|
|
3353
3502
|
});
|
|
3354
3503
|
} else {
|
|
3355
3504
|
providers.push({
|
|
3356
|
-
provide:
|
|
3505
|
+
provide: import_nestjs_agent_core21.AGENT_RUNNER,
|
|
3357
3506
|
useExisting: InlineAgentRunner
|
|
3358
3507
|
});
|
|
3359
3508
|
}
|
|
@@ -3362,25 +3511,25 @@ function sharedProviders(durable, includeStore) {
|
|
|
3362
3511
|
__name(sharedProviders, "sharedProviders");
|
|
3363
3512
|
function exportsFor(includeStore) {
|
|
3364
3513
|
return [
|
|
3365
|
-
|
|
3366
|
-
|
|
3367
|
-
|
|
3368
|
-
|
|
3369
|
-
|
|
3370
|
-
|
|
3371
|
-
|
|
3514
|
+
import_nestjs_agent_core21.AGENT_OPTIONS,
|
|
3515
|
+
import_nestjs_agent_core21.AGENT_TOOL_REGISTRY,
|
|
3516
|
+
import_nestjs_agent_core21.AGENT_REGISTRY,
|
|
3517
|
+
import_nestjs_agent_core21.AGENT_SINK,
|
|
3518
|
+
import_nestjs_agent_core21.AGENT_ROLES_POLICY,
|
|
3519
|
+
import_nestjs_agent_core21.AGENT_ACTOR_RESOLVER,
|
|
3520
|
+
import_nestjs_agent_core21.AGENT_MODEL,
|
|
3372
3521
|
...includeStore ? [
|
|
3373
|
-
|
|
3522
|
+
import_nestjs_agent_core21.AGENT_STORE
|
|
3374
3523
|
] : [],
|
|
3375
|
-
|
|
3376
|
-
|
|
3377
|
-
|
|
3378
|
-
|
|
3379
|
-
|
|
3524
|
+
import_nestjs_agent_core21.AGENT_QUOTA_STORE,
|
|
3525
|
+
import_nestjs_agent_core21.AGENT_PROMPT_CONTRIBUTORS,
|
|
3526
|
+
import_nestjs_agent_core21.AGENT_SKILLS,
|
|
3527
|
+
import_nestjs_agent_core21.AGENT_MEMORY,
|
|
3528
|
+
import_nestjs_agent_core21.AGENT_DEPS_FACTORY,
|
|
3380
3529
|
AgentDepsFactory2,
|
|
3381
3530
|
AgentService,
|
|
3382
3531
|
InlineAgentRunner,
|
|
3383
|
-
|
|
3532
|
+
import_nestjs_agent_core21.AGENT_APPROVAL_PORT
|
|
3384
3533
|
];
|
|
3385
3534
|
}
|
|
3386
3535
|
__name(exportsFor, "exportsFor");
|
|
@@ -3392,7 +3541,8 @@ var BASE_CONTROLLERS = [
|
|
|
3392
3541
|
AgentsController,
|
|
3393
3542
|
SkillsController,
|
|
3394
3543
|
MemoriesController,
|
|
3395
|
-
ToolsController
|
|
3544
|
+
ToolsController,
|
|
3545
|
+
MessagesController
|
|
3396
3546
|
];
|
|
3397
3547
|
var GUARDABLE_CONTROLLERS = [
|
|
3398
3548
|
...BASE_CONTROLLERS,
|
|
@@ -3450,7 +3600,7 @@ var AgentModule = class _AgentModule {
|
|
|
3450
3600
|
controllers: controllersForSurface(options.surface, options.attachments?.upload === true),
|
|
3451
3601
|
providers: [
|
|
3452
3602
|
{
|
|
3453
|
-
provide:
|
|
3603
|
+
provide: import_nestjs_agent_core21.AGENT_OPTIONS,
|
|
3454
3604
|
useValue: options
|
|
3455
3605
|
},
|
|
3456
3606
|
...sharedProviders(options.durable ?? false, includeStore),
|
|
@@ -3474,7 +3624,7 @@ var AgentModule = class _AgentModule {
|
|
|
3474
3624
|
controllers: controllersForSurface(options.surface, options.attachmentsUpload === true),
|
|
3475
3625
|
providers: [
|
|
3476
3626
|
{
|
|
3477
|
-
provide:
|
|
3627
|
+
provide: import_nestjs_agent_core21.AGENT_OPTIONS,
|
|
3478
3628
|
// Stamp the STATIC wiring flags onto the factory result: `durable`/`surface` are
|
|
3479
3629
|
// authoritative on the async config object (they decided the actual wiring above), and
|
|
3480
3630
|
// the durable module reads `durable` back off AGENT_OPTIONS. `surface` isn't read back by
|
|
@@ -3495,13 +3645,13 @@ var AgentModule = class _AgentModule {
|
|
|
3495
3645
|
};
|
|
3496
3646
|
}
|
|
3497
3647
|
};
|
|
3498
|
-
AgentModule =
|
|
3499
|
-
(0,
|
|
3500
|
-
(0,
|
|
3648
|
+
AgentModule = _ts_decorate18([
|
|
3649
|
+
(0, import_common18.Global)(),
|
|
3650
|
+
(0, import_common18.Module)({})
|
|
3501
3651
|
], AgentModule);
|
|
3502
3652
|
|
|
3503
3653
|
// src/resolver/header-actor-resolver.ts
|
|
3504
|
-
var
|
|
3654
|
+
var import_common19 = require("@nestjs/common");
|
|
3505
3655
|
function readHeader(req, name) {
|
|
3506
3656
|
if (typeof req !== "object" || req === null || !("headers" in req)) return void 0;
|
|
3507
3657
|
const { headers } = req;
|
|
@@ -3517,7 +3667,7 @@ var HeaderActorResolver = class {
|
|
|
3517
3667
|
resolve(req) {
|
|
3518
3668
|
const id = readHeader(req, "x-actor-id");
|
|
3519
3669
|
if (id === void 0 || id.length === 0) {
|
|
3520
|
-
throw new
|
|
3670
|
+
throw new import_common19.UnauthorizedException("HeaderActorResolver: missing x-actor-id header. No default actor is fabricated. Send x-actor-id from a trusted gateway, or configure AgentModule.forRoot({ actorResolver }) with a resolver that reads your authenticated principal.");
|
|
3521
3671
|
}
|
|
3522
3672
|
const roles = (readHeader(req, "x-actor-role") ?? "").split(",").map((role) => role.trim()).filter((role) => role.length > 0);
|
|
3523
3673
|
const tenantRef = readHeader(req, "x-tenant-ref");
|
|
@@ -3555,6 +3705,7 @@ __reExport(index_exports, require("@dudousxd/nestjs-agent-core"), module.exports
|
|
|
3555
3705
|
InlineAgentRunner,
|
|
3556
3706
|
LedgerQuotaStore,
|
|
3557
3707
|
MemoriesController,
|
|
3708
|
+
MessagesController,
|
|
3558
3709
|
SKILL_METADATA,
|
|
3559
3710
|
SYSTEM_PROMPT_CONTRIBUTOR_METADATA,
|
|
3560
3711
|
SYSTEM_PROMPT_METADATA,
|