@adonis-agora/agent 0.55.0 → 0.57.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/dist/providers/agent_provider.d.ts.map +1 -1
  3. package/dist/providers/agent_provider.js +84 -10
  4. package/dist/providers/agent_provider.js.map +1 -1
  5. package/dist/src/ag-ui/adapter.d.ts.map +1 -1
  6. package/dist/src/ag-ui/adapter.js +1 -2
  7. package/dist/src/ag-ui/adapter.js.map +1 -1
  8. package/dist/src/ag-ui/encoder.d.ts +7 -92
  9. package/dist/src/ag-ui/encoder.d.ts.map +1 -1
  10. package/dist/src/ag-ui/encoder.js +14 -498
  11. package/dist/src/ag-ui/encoder.js.map +1 -1
  12. package/dist/src/ag-ui/frames.d.ts +17 -0
  13. package/dist/src/ag-ui/frames.d.ts.map +1 -0
  14. package/dist/src/ag-ui/frames.js +69 -0
  15. package/dist/src/ag-ui/frames.js.map +1 -0
  16. package/dist/src/ag-ui/index.d.ts +9 -6
  17. package/dist/src/ag-ui/index.d.ts.map +1 -1
  18. package/dist/src/ag-ui/index.js +9 -6
  19. package/dist/src/ag-ui/index.js.map +1 -1
  20. package/dist/src/ag-ui/stream.d.ts +7 -23
  21. package/dist/src/ag-ui/stream.d.ts.map +1 -1
  22. package/dist/src/ag-ui/stream.js +9 -64
  23. package/dist/src/ag-ui/stream.js.map +1 -1
  24. package/dist/src/agent-service.d.ts +22 -0
  25. package/dist/src/agent-service.d.ts.map +1 -1
  26. package/dist/src/agent-service.js +57 -5
  27. package/dist/src/agent-service.js.map +1 -1
  28. package/dist/src/ai-tool-ref.d.ts +26 -4
  29. package/dist/src/ai-tool-ref.d.ts.map +1 -1
  30. package/dist/src/ai-tool-ref.js +6 -1
  31. package/dist/src/ai-tool-ref.js.map +1 -1
  32. package/dist/src/confirmed-tool.d.ts +2 -2
  33. package/dist/src/confirmed-tool.d.ts.map +1 -1
  34. package/dist/src/confirmed-tool.js.map +1 -1
  35. package/dist/src/guardrails/agent.d.ts.map +1 -1
  36. package/dist/src/guardrails/agent.js +11 -0
  37. package/dist/src/guardrails/agent.js.map +1 -1
  38. package/dist/src/index.d.ts +4 -3
  39. package/dist/src/index.d.ts.map +1 -1
  40. package/dist/src/index.js +4 -3
  41. package/dist/src/index.js.map +1 -1
  42. package/dist/src/mcp-client/options.d.ts +12 -0
  43. package/dist/src/mcp-client/options.d.ts.map +1 -1
  44. package/dist/src/mcp-client/tool-source.d.ts.map +1 -1
  45. package/dist/src/mcp-client/tool-source.js +2 -0
  46. package/dist/src/mcp-client/tool-source.js.map +1 -1
  47. package/dist/src/media/index.d.ts +1 -1
  48. package/dist/src/media/index.d.ts.map +1 -1
  49. package/dist/src/media/index.js +1 -1
  50. package/dist/src/media/index.js.map +1 -1
  51. package/dist/src/media/media-attachment-staging.d.ts +107 -6
  52. package/dist/src/media/media-attachment-staging.d.ts.map +1 -1
  53. package/dist/src/media/media-attachment-staging.js +173 -21
  54. package/dist/src/media/media-attachment-staging.js.map +1 -1
  55. package/dist/src/react/ag-ui.d.ts +41 -0
  56. package/dist/src/react/ag-ui.d.ts.map +1 -0
  57. package/dist/src/react/ag-ui.js +63 -0
  58. package/dist/src/react/ag-ui.js.map +1 -0
  59. package/dist/src/react/client.d.ts +12 -0
  60. package/dist/src/react/client.d.ts.map +1 -0
  61. package/dist/src/react/client.js +21 -0
  62. package/dist/src/react/client.js.map +1 -0
  63. package/dist/src/react/index.d.ts +3 -8
  64. package/dist/src/react/index.d.ts.map +1 -1
  65. package/dist/src/react/index.js +4 -20
  66. package/dist/src/react/index.js.map +1 -1
  67. package/dist/src/react/media.d.ts +18 -0
  68. package/dist/src/react/media.d.ts.map +1 -0
  69. package/dist/src/react/media.js +18 -0
  70. package/dist/src/react/media.js.map +1 -0
  71. package/dist/src/spi/agent-store.d.ts +22 -0
  72. package/dist/src/spi/agent-store.d.ts.map +1 -1
  73. package/dist/src/spi/agent-store.js.map +1 -1
  74. package/dist/src/spi/attachment-staging.d.ts +5 -0
  75. package/dist/src/spi/attachment-staging.d.ts.map +1 -1
  76. package/dist/src/spi/tool.d.ts +24 -0
  77. package/dist/src/spi/tool.d.ts.map +1 -1
  78. package/dist/src/stores/factory.d.ts +8 -2
  79. package/dist/src/stores/factory.d.ts.map +1 -1
  80. package/dist/src/stores/factory.js +8 -2
  81. package/dist/src/stores/factory.js.map +1 -1
  82. package/dist/src/stores/lucid-schema.d.ts.map +1 -1
  83. package/dist/src/stores/lucid-schema.js +2 -0
  84. package/dist/src/stores/lucid-schema.js.map +1 -1
  85. package/dist/src/stores/lucid.d.ts +12 -0
  86. package/dist/src/stores/lucid.d.ts.map +1 -1
  87. package/dist/src/stores/lucid.js +47 -0
  88. package/dist/src/stores/lucid.js.map +1 -1
  89. package/dist/src/testing/in-memory-store.d.ts +7 -0
  90. package/dist/src/testing/in-memory-store.d.ts.map +1 -1
  91. package/dist/src/testing/in-memory-store.js +33 -0
  92. package/dist/src/testing/in-memory-store.js.map +1 -1
  93. package/dist/src/tool-discovery.d.ts.map +1 -1
  94. package/dist/src/tool-discovery.js +27 -9
  95. package/dist/src/tool-discovery.js.map +1 -1
  96. package/dist/src/tool-filters.d.ts +33 -0
  97. package/dist/src/tool-filters.d.ts.map +1 -0
  98. package/dist/src/tool-filters.js +45 -0
  99. package/dist/src/tool-filters.js.map +1 -0
  100. package/dist/src/tool-registry.d.ts +33 -5
  101. package/dist/src/tool-registry.d.ts.map +1 -1
  102. package/dist/src/tool-registry.js +55 -11
  103. package/dist/src/tool-registry.js.map +1 -1
  104. package/dist/src/types.d.ts +16 -0
  105. package/dist/src/types.d.ts.map +1 -1
  106. package/package.json +15 -5
  107. package/skills/agent-tools/SKILL.md +19 -1
  108. package/dist/src/ag-ui/input.d.ts +0 -72
  109. package/dist/src/ag-ui/input.d.ts.map +0 -1
  110. package/dist/src/ag-ui/input.js +0 -216
  111. package/dist/src/ag-ui/input.js.map +0 -1
  112. package/dist/src/ag-ui/interrupt-id.d.ts +0 -27
  113. package/dist/src/ag-ui/interrupt-id.d.ts.map +0 -1
  114. package/dist/src/ag-ui/interrupt-id.js +0 -42
  115. package/dist/src/ag-ui/interrupt-id.js.map +0 -1
  116. package/dist/src/ag-ui/types.d.ts +0 -202
  117. package/dist/src/ag-ui/types.d.ts.map +0 -1
  118. package/dist/src/ag-ui/types.js +0 -33
  119. package/dist/src/ag-ui/types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../../src/ag-ui/encoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../../src/ag-ui/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,WAAW,IAAI,aAAa,GAC7B,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C;;;;GAIG;AACH,MAAM,OAAO,WAAW;IACL,MAAM,CAAgB;IAEvC,YAAY,OAA2B;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,uEAAuE;IACvE,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAED,0FAA0F;IAC1F,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED,wFAAwF;IACxF,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,KAAkB;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,KAAK,GAAG,KAAK;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;CACF"}
@@ -0,0 +1,17 @@
1
+ import type { AgUiSourceFrame } from '@dudousxd/nestjs-agent-core/ag-ui';
2
+ import type { StreamFrame } from '../spi/token-stream-sink.js';
3
+ /**
4
+ * One frame of this package's sink as the frame the shared AG-UI encoder reads
5
+ * (`@dudousxd/nestjs-agent-core/ag-ui`). The typed `approval` / `elicitation` frames carry what the
6
+ * shared vocabulary leaves optional — the PARKED run, the tool and its arguments — so an interrupt
7
+ * addresses a delegated sub-agent's own run.
8
+ */
9
+ export declare function toAgUiFrame(frame: StreamFrame): AgUiSourceFrame;
10
+ /**
11
+ * A library run's stream as the shared encoder's frames. A hand-rolled iterator rather than a
12
+ * generator: the AG-UI driver lets go of a parked stream while a read is still pending, and a
13
+ * generator would queue that `return()` behind the read that never comes — the sink's subscription
14
+ * has to be released at once.
15
+ */
16
+ export declare function agUiFrames(frames: AsyncIterable<StreamFrame>): AsyncIterable<AgUiSourceFrame>;
17
+ //# sourceMappingURL=frames.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frames.d.ts","sourceRoot":"","sources":["../../../src/ag-ui/frames.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,eAAe,CAoC/D;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC,eAAe,CAAC,CAkB7F"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * One frame of this package's sink as the frame the shared AG-UI encoder reads
3
+ * (`@dudousxd/nestjs-agent-core/ag-ui`). The typed `approval` / `elicitation` frames carry what the
4
+ * shared vocabulary leaves optional — the PARKED run, the tool and its arguments — so an interrupt
5
+ * addresses a delegated sub-agent's own run.
6
+ */
7
+ export function toAgUiFrame(frame) {
8
+ switch (frame.t) {
9
+ case 'text':
10
+ return { kind: 'text', text: frame.v };
11
+ case 'component':
12
+ return {
13
+ kind: 'ui',
14
+ component: frame.name,
15
+ props: frame.data,
16
+ ...(frame.id !== undefined ? { id: frame.id } : {}),
17
+ ...(frame.version !== undefined ? { version: frame.version } : {}),
18
+ ...(frame.toolCallId !== undefined ? { toolCallId: frame.toolCallId } : {}),
19
+ };
20
+ case 'approval':
21
+ return {
22
+ kind: 'approval-requested',
23
+ id: frame.id,
24
+ runId: frame.runId,
25
+ toolName: frame.toolName,
26
+ input: frame.input ?? null,
27
+ approver: frame.approver ?? 'requester',
28
+ ...(frame.expiresAt !== undefined ? { expiresAt: frame.expiresAt } : {}),
29
+ };
30
+ case 'elicitation':
31
+ return {
32
+ kind: 'elicitation',
33
+ id: frame.id,
34
+ runId: frame.runId,
35
+ request: frame.request,
36
+ };
37
+ case 'error':
38
+ return { kind: 'error', code: frame.code, message: frame.message };
39
+ case 'event':
40
+ // The same vocabulary, copied: shared field for field (see `stream-events.ts`).
41
+ return frame.event;
42
+ }
43
+ }
44
+ /**
45
+ * A library run's stream as the shared encoder's frames. A hand-rolled iterator rather than a
46
+ * generator: the AG-UI driver lets go of a parked stream while a read is still pending, and a
47
+ * generator would queue that `return()` behind the read that never comes — the sink's subscription
48
+ * has to be released at once.
49
+ */
50
+ export function agUiFrames(frames) {
51
+ return {
52
+ [Symbol.asyncIterator]() {
53
+ const inner = frames[Symbol.asyncIterator]();
54
+ return {
55
+ next: async () => {
56
+ const result = await inner.next();
57
+ return result.done === true
58
+ ? { done: true, value: undefined }
59
+ : { done: false, value: toAgUiFrame(result.value) };
60
+ },
61
+ return: async () => {
62
+ await inner.return?.();
63
+ return { done: true, value: undefined };
64
+ },
65
+ };
66
+ },
67
+ };
68
+ }
69
+ //# sourceMappingURL=frames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frames.js","sourceRoot":"","sources":["../../../src/ag-ui/frames.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAAkB;IAC5C,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QAChB,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QACzC,KAAK,WAAW;YACd,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClE,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5E,CAAC;QACJ,KAAK,UAAU;YACb,OAAO;gBACL,IAAI,EAAE,oBAAoB;gBAC1B,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI;gBAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,WAAW;gBACvC,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACzE,CAAC;QACJ,KAAK,aAAa;YAChB,OAAO;gBACL,IAAI,EAAE,aAAa;gBACnB,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,OAAO,EAAE,KAAK,CAAC,OAAuE;aACvF,CAAC;QACJ,KAAK,OAAO;YACV,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QACrE,KAAK,OAAO;YACV,gFAAgF;YAChF,OAAO,KAAK,CAAC,KAAwB,CAAC;IAC1C,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,MAAkC;IAC3D,OAAO;QACL,CAAC,MAAM,CAAC,aAAa,CAAC;YACpB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7C,OAAO;gBACL,IAAI,EAAE,KAAK,IAAI,EAAE;oBACf,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;oBAClC,OAAO,MAAM,CAAC,IAAI,KAAK,IAAI;wBACzB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAa,EAAE,KAAK,EAAE,SAAS,EAAE;wBAC3C,CAAC,CAAC,EAAE,IAAI,EAAE,KAAc,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjE,CAAC;gBACD,MAAM,EAAE,KAAK,IAAI,EAAE;oBACjB,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;oBACvB,OAAO,EAAE,IAAI,EAAE,IAAa,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;gBACnD,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,12 +1,15 @@
1
1
  /**
2
- * AG-UI 1.0 (https://docs.ag-ui.com/spec/1.0), producer side: the encoder that projects a run's
3
- * stream onto AG-UI events, and the pieces the `POST <path>/ag-ui` route is built from — for a host
4
- * that mounts its own route instead of the provider's.
2
+ * AG-UI 1.0 (https://docs.ag-ui.com/spec/1.0), producer side: the route adapter, and the pieces it is
3
+ * built from — for a host that mounts its own route instead of the provider's.
4
+ *
5
+ * The encoder, the input readers and the interrupt-id codec are `@dudousxd/nestjs-agent-core/ag-ui`
6
+ * (one implementation for both servers), re-exported here; `AgUiEncoder` and `agUiEvents` take this
7
+ * package's `StreamFrame`s. Install `@dudousxd/nestjs-agent-core` (an optional peer, 0.35 or later)
8
+ * to use this entry.
5
9
  */
10
+ export { AG_UI_CUSTOM, AG_UI_PROTOCOL_VERSION, type AgUiContentPart, type AgUiContext, type AgUiEvent, type AgUiInterrupt, type AgUiMessage, type AgUiMetadata, type AgUiPartSource, type AgUiResumeEntry, type AgUiRunInput, type AgUiRunOutcome, type AgUiSourceFrame, type AgUiTokenUsage, decodeInterruptId, encodeInterruptId, type ForwardedOptions, type InlineMedia, type InterruptAddress, parseRunInput, planResume, type ResumeDecision, type ResumePlan, readAnswersPayload, readApprovalPayload, readContext, readForwardedProps, readUserTurn, type UserTurn, } from '@dudousxd/nestjs-agent-core/ag-ui';
6
11
  export { type AgUiAdapterOptions, agUiAdapter } from './adapter.js';
7
12
  export { AgUiEncoder, type AgUiEncoderOptions } from './encoder.js';
8
- export { type ForwardedOptions, type InlineMedia, parseRunInput, planResume, type ResumeDecision, type ResumePlan, readAnswersPayload, readApprovalPayload, readContext, readForwardedProps, readUserTurn, type UserTurn, } from './input.js';
9
- export { decodeInterruptId, encodeInterruptId, type InterruptAddress } from './interrupt-id.js';
13
+ export { agUiFrames, toAgUiFrame } from './frames.js';
10
14
  export { type AgUiStreamOptions, agUiEvents, agUiSse } from './stream.js';
11
- export * from './types.js';
12
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ag-ui/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,aAAa,EACb,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,KAAK,QAAQ,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAChG,OAAO,EAAE,KAAK,iBAAiB,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC1E,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ag-ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,aAAa,EACb,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,KAAK,QAAQ,GACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,KAAK,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,KAAK,iBAAiB,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC"}
@@ -1,12 +1,15 @@
1
1
  /**
2
- * AG-UI 1.0 (https://docs.ag-ui.com/spec/1.0), producer side: the encoder that projects a run's
3
- * stream onto AG-UI events, and the pieces the `POST <path>/ag-ui` route is built from — for a host
4
- * that mounts its own route instead of the provider's.
2
+ * AG-UI 1.0 (https://docs.ag-ui.com/spec/1.0), producer side: the route adapter, and the pieces it is
3
+ * built from — for a host that mounts its own route instead of the provider's.
4
+ *
5
+ * The encoder, the input readers and the interrupt-id codec are `@dudousxd/nestjs-agent-core/ag-ui`
6
+ * (one implementation for both servers), re-exported here; `AgUiEncoder` and `agUiEvents` take this
7
+ * package's `StreamFrame`s. Install `@dudousxd/nestjs-agent-core` (an optional peer, 0.35 or later)
8
+ * to use this entry.
5
9
  */
10
+ export { AG_UI_CUSTOM, AG_UI_PROTOCOL_VERSION, decodeInterruptId, encodeInterruptId, parseRunInput, planResume, readAnswersPayload, readApprovalPayload, readContext, readForwardedProps, readUserTurn, } from '@dudousxd/nestjs-agent-core/ag-ui';
6
11
  export { agUiAdapter } from './adapter.js';
7
12
  export { AgUiEncoder } from './encoder.js';
8
- export { parseRunInput, planResume, readAnswersPayload, readApprovalPayload, readContext, readForwardedProps, readUserTurn, } from './input.js';
9
- export { decodeInterruptId, encodeInterruptId } from './interrupt-id.js';
13
+ export { agUiFrames, toAgUiFrame } from './frames.js';
10
14
  export { agUiEvents, agUiSse } from './stream.js';
11
- export * from './types.js';
12
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ag-ui/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAA2B,WAAW,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,WAAW,EAA2B,MAAM,cAAc,CAAC;AACpE,OAAO,EAGL,aAAa,EACb,UAAU,EAGV,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,YAAY,GAEb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAyB,MAAM,mBAAmB,CAAC;AAChG,OAAO,EAA0B,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC1E,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ag-ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,YAAY,EACZ,sBAAsB,EAatB,iBAAiB,EACjB,iBAAiB,EAIjB,aAAa,EACb,UAAU,EAGV,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,YAAY,GAEb,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAA2B,WAAW,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,WAAW,EAA2B,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAA0B,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC"}
@@ -1,28 +1,12 @@
1
+ import { type AgUiEvent, type AgUiStreamOptions } from '@dudousxd/nestjs-agent-core/ag-ui';
1
2
  import type { StreamFrame } from '../spi/token-stream-sink.js';
2
- import { type AgUiEncoderOptions } from './encoder.js';
3
- import type { AgUiEvent } from './types.js';
4
- export interface AgUiStreamOptions extends AgUiEncoderOptions {
5
- /**
6
- * How long the library stream may stay silent, while the run waits on a person AND has other work
7
- * announced, before the AG-UI run is reported interrupted. Default 750 ms.
8
- *
9
- * Only that mixed case needs a clock. A run whose every open tool call is waiting on someone is
10
- * reported at once; a run waiting on no one is never cut short.
11
- */
12
- quietMs?: number;
13
- /** Events to write right after `RUN_STARTED` (warnings about input that was dropped). */
14
- preamble?: AgUiEvent[];
15
- }
3
+ export { agUiSse } from '@dudousxd/nestjs-agent-core/ag-ui';
4
+ export type { AgUiStreamOptions };
16
5
  /**
17
- * One AG-UI run over a library run's stream.
18
- *
19
- * AG-UI has no mid-run channel from the consumer: a run that needs an approval or an answer does not
20
- * wait with the connection open — it ENDS, saying what it waits for, and a later run carries the
21
- * answers. The library run underneath does wait (parked, durably when the runner is durable). So this
22
- * stops reading when the run is waiting on someone and nothing else is moving, closes the AG-UI run
23
- * with the interrupt outcome, and leaves the library run parked for the resume to pick up.
6
+ * One AG-UI run over a library run's stream — the shared driver
7
+ * (`@dudousxd/nestjs-agent-core/ag-ui`) over this package's frames. It stops reading when the run is
8
+ * waiting on someone and nothing else is moving, closes the AG-UI run with the interrupt outcome,
9
+ * and leaves the library run parked for the resume to pick up.
24
10
  */
25
11
  export declare function agUiEvents(frames: AsyncIterable<StreamFrame>, options: AgUiStreamOptions): AsyncGenerator<AgUiEvent>;
26
- /** One AG-UI event as an SSE frame: a single `data:` line, LF-terminated, as the binding pins. */
27
- export declare function agUiSse(event: AgUiEvent): string;
28
12
  //# sourceMappingURL=stream.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../src/ag-ui/stream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,WAAW,iBAAkB,SAAQ,kBAAkB;IAC3D;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yFAAyF;IACzF,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;CACxB;AAOD;;;;;;;;GAQG;AACH,wBAAuB,UAAU,CAC/B,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,EAClC,OAAO,EAAE,iBAAiB,GACzB,cAAc,CAAC,SAAS,CAAC,CAmC3B;AAkBD,kGAAkG;AAClG,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAEhD"}
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../src/ag-ui/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,iBAAiB,EAEvB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG/D,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAElC;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,EAClC,OAAO,EAAE,iBAAiB,GACzB,cAAc,CAAC,SAAS,CAAC,CAE3B"}
@@ -1,68 +1,13 @@
1
- import { AgUiEncoder } from './encoder.js';
2
- const DEFAULT_QUIET_MS = 750;
3
- const GRACE_MS = 50;
1
+ import { agUiEvents as sharedAgUiEvents, } from '@dudousxd/nestjs-agent-core/ag-ui';
2
+ import { agUiFrames } from './frames.js';
3
+ export { agUiSse } from '@dudousxd/nestjs-agent-core/ag-ui';
4
4
  /**
5
- * One AG-UI run over a library run's stream.
6
- *
7
- * AG-UI has no mid-run channel from the consumer: a run that needs an approval or an answer does not
8
- * wait with the connection open — it ENDS, saying what it waits for, and a later run carries the
9
- * answers. The library run underneath does wait (parked, durably when the runner is durable). So this
10
- * stops reading when the run is waiting on someone and nothing else is moving, closes the AG-UI run
11
- * with the interrupt outcome, and leaves the library run parked for the resume to pick up.
5
+ * One AG-UI run over a library run's stream — the shared driver
6
+ * (`@dudousxd/nestjs-agent-core/ag-ui`) over this package's frames. It stops reading when the run is
7
+ * waiting on someone and nothing else is moving, closes the AG-UI run with the interrupt outcome,
8
+ * and leaves the library run parked for the resume to pick up.
12
9
  */
13
- export async function* agUiEvents(frames, options) {
14
- const encoder = new AgUiEncoder(options);
15
- const quietMs = options.quietMs ?? DEFAULT_QUIET_MS;
16
- yield* encoder.start();
17
- yield* options.preamble ?? [];
18
- const iterator = frames[Symbol.asyncIterator]();
19
- let upcoming;
20
- let ended = false;
21
- try {
22
- for (;;) {
23
- upcoming ??= iterator.next();
24
- // Frames buffered before this reader attached are replayed without a pause between them, so
25
- // "is it waiting?" is only asked of a stream that has caught up with what it already holds.
26
- const caughtUp = encoder.consumed >= (options.skip ?? 0);
27
- let next;
28
- if (caughtUp && encoder.waiting) {
29
- // Nothing else in flight: only a frame already on its way (a sink that reads in batches)
30
- // can still arrive, so a short grace is enough. Otherwise wait out the quiet window.
31
- next = await raceQuiet(upcoming, encoder.busy ? quietMs : Math.min(quietMs, GRACE_MS));
32
- }
33
- else {
34
- next = await upcoming;
35
- }
36
- if (next === 'quiet')
37
- break;
38
- upcoming = undefined;
39
- if (next.done === true) {
40
- ended = true;
41
- break;
42
- }
43
- yield* encoder.encode(next.value);
44
- }
45
- }
46
- finally {
47
- // Stop following the library stream; the run it carries is left exactly as it is.
48
- void iterator.return?.();
49
- }
50
- yield* encoder.finish(ended);
51
- }
52
- function raceQuiet(upcoming, ms) {
53
- return new Promise((resolve, reject) => {
54
- const timer = setTimeout(() => resolve('quiet'), ms);
55
- upcoming.then((result) => {
56
- clearTimeout(timer);
57
- resolve(result);
58
- }, (error) => {
59
- clearTimeout(timer);
60
- reject(error);
61
- });
62
- });
63
- }
64
- /** One AG-UI event as an SSE frame: a single `data:` line, LF-terminated, as the binding pins. */
65
- export function agUiSse(event) {
66
- return `data: ${JSON.stringify(event)}\n\n`;
10
+ export function agUiEvents(frames, options) {
11
+ return sharedAgUiEvents(agUiFrames(frames), options);
67
12
  }
68
13
  //# sourceMappingURL=stream.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../src/ag-ui/stream.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAA2B,MAAM,cAAc,CAAC;AAgBpE,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,MAAM,QAAQ,GAAG,EAAE,CAAC;AAIpB;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,UAAU,CAC/B,MAAkC,EAClC,OAA0B;IAE1B,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,gBAAgB,CAAC;IACpD,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;IAChD,IAAI,QAA0D,CAAC;IAC/D,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,CAAC;QACH,SAAS,CAAC;YACR,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC7B,4FAA4F;YAC5F,4FAA4F;YAC5F,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YACzD,IAAI,IAAU,CAAC;YACf,IAAI,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBAChC,yFAAyF;gBACzF,qFAAqF;gBACrF,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;YACzF,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,MAAM,QAAQ,CAAC;YACxB,CAAC;YACD,IAAI,IAAI,KAAK,OAAO;gBAAE,MAAM;YAC5B,QAAQ,GAAG,SAAS,CAAC;YACrB,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACvB,KAAK,GAAG,IAAI,CAAC;gBACb,MAAM;YACR,CAAC;YACD,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;YAAS,CAAC;QACT,kFAAkF;QAClF,KAAK,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;IAC3B,CAAC;IACD,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,SAAS,CAAC,QAA8C,EAAE,EAAU;IAC3E,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACrD,QAAQ,CAAC,IAAI,CACX,CAAC,MAAM,EAAE,EAAE;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,EACD,CAAC,KAAc,EAAE,EAAE;YACjB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,OAAO,CAAC,KAAgB;IACtC,OAAO,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../src/ag-ui/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,IAAI,gBAAgB,GAC/B,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAG5D;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CACxB,MAAkC,EAClC,OAA0B;IAE1B,OAAO,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;AACvD,CAAC"}
@@ -118,6 +118,11 @@ export interface AgentServiceOptions {
118
118
  queue?: ChatQueueService;
119
119
  }
120
120
  /** A send's attachments were refused — `status` is what the chat route answers (`403`, `501`). */
121
+ /** A thread's `defaultAgent` named an agent this app does not register. */
122
+ export declare class UnknownAgentError extends Error {
123
+ readonly agentName: string;
124
+ constructor(agentName: string);
125
+ }
121
126
  export declare class AttachmentRefusedError extends Error {
122
127
  readonly status: 400 | 403 | 501;
123
128
  constructor(status: 400 | 403 | 501, message: string);
@@ -152,6 +157,23 @@ export declare class AgentService {
152
157
  * thread's default agent. `false` when the store cannot persist it (no `updateThread`).
153
158
  */
154
159
  setThreadModel(actor: Actor, threadId: string, model: string | null): Promise<boolean>;
160
+ /**
161
+ * Set a thread's default agent and/or pin its model (`PATCH <path>/threads/:id`). `null` clears
162
+ * either. The model is checked against the catalog for the agent the thread's next turn runs as —
163
+ * the one this patch sets, else the thread's own default, else the configured one. A
164
+ * `defaultAgent` that names no registered agent is refused ({@link UnknownAgentError}). `false`
165
+ * when the store cannot persist it (no `updateThread`). Ownership is the caller's to check.
166
+ */
167
+ updateThreadSettings(actor: Actor, threadId: string, patch: {
168
+ defaultAgent?: string | null;
169
+ model?: string | null;
170
+ }): Promise<boolean>;
171
+ private isKnownAgent;
172
+ /**
173
+ * The agent a send runs as: the one it names, else the thread's own default agent (when the
174
+ * thread exists and has one), else the configured default.
175
+ */
176
+ private resolveAgentName;
155
177
  /**
156
178
  * The registered agents, for a picker (`GET <path>/agents`). With a model catalog, an agent it
157
179
  * locks to one model for this actor carries `lockedModel` — the same lock `GET <path>/models`
@@ -1 +1 @@
1
- {"version":3,"file":"agent-service.d.ts","sourceRoot":"","sources":["../../src/agent-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-service.d.ts","sourceRoot":"","sources":["../../src/agent-service.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,15 @@ export class RegenerateNeedsThreadError extends Error {
30
30
  }
31
31
  }
32
32
  /** A send's attachments were refused — `status` is what the chat route answers (`403`, `501`). */
33
+ /** A thread's `defaultAgent` named an agent this app does not register. */
34
+ export class UnknownAgentError extends Error {
35
+ agentName;
36
+ constructor(agentName) {
37
+ super(`unknown agent "${agentName}"`);
38
+ this.agentName = agentName;
39
+ this.name = 'UnknownAgentError';
40
+ }
41
+ }
33
42
  export class AttachmentRefusedError extends Error {
34
43
  status;
35
44
  constructor(status, message) {
@@ -109,15 +118,57 @@ export class AgentService {
109
118
  * thread's default agent. `false` when the store cannot persist it (no `updateThread`).
110
119
  */
111
120
  async setThreadModel(actor, threadId, model) {
121
+ return this.updateThreadSettings(actor, threadId, { model });
122
+ }
123
+ /**
124
+ * Set a thread's default agent and/or pin its model (`PATCH <path>/threads/:id`). `null` clears
125
+ * either. The model is checked against the catalog for the agent the thread's next turn runs as —
126
+ * the one this patch sets, else the thread's own default, else the configured one. A
127
+ * `defaultAgent` that names no registered agent is refused ({@link UnknownAgentError}). `false`
128
+ * when the store cannot persist it (no `updateThread`). Ownership is the caller's to check.
129
+ */
130
+ async updateThreadSettings(actor, threadId, patch) {
131
+ if (patch.defaultAgent === undefined && patch.model === undefined) {
132
+ return true;
133
+ }
112
134
  if (this.store.updateThread === undefined) {
113
135
  return false;
114
136
  }
115
- const pinned = model === null
116
- ? null
117
- : await this.assertModelAllowed(actor, this.deps.defaultAgentName(), model);
118
- await this.store.updateThread(threadId, { model: pinned });
137
+ if (typeof patch.defaultAgent === 'string' && !this.isKnownAgent(patch.defaultAgent)) {
138
+ throw new UnknownAgentError(patch.defaultAgent);
139
+ }
140
+ const model = patch.model === undefined || patch.model === null
141
+ ? patch.model
142
+ : await this.assertModelAllowed(actor, patch.defaultAgent ?? (await this.resolveAgentName(undefined, threadId)), patch.model);
143
+ await this.store.updateThread(threadId, {
144
+ ...(patch.defaultAgent !== undefined ? { defaultAgent: patch.defaultAgent } : {}),
145
+ ...(model !== undefined ? { model } : {}),
146
+ });
119
147
  return true;
120
148
  }
149
+ isKnownAgent(name) {
150
+ return (name === this.deps.defaultAgentName() ||
151
+ this.deps.agentDefinitions().some((definition) => definition.name === name));
152
+ }
153
+ /**
154
+ * The agent a send runs as: the one it names, else the thread's own default agent (when the
155
+ * thread exists and has one), else the configured default.
156
+ */
157
+ async resolveAgentName(agentName, threadId) {
158
+ if (agentName !== undefined) {
159
+ return agentName;
160
+ }
161
+ if (threadId !== undefined) {
162
+ const reader = this.store.defaultAgentForThread?.bind(this.store);
163
+ const threadDefault = reader !== undefined
164
+ ? await reader(threadId)
165
+ : ((await this.store.getThread(threadId))?.defaultAgent ?? null);
166
+ if (threadDefault !== null && threadDefault !== undefined) {
167
+ return threadDefault;
168
+ }
169
+ }
170
+ return this.deps.defaultAgentName();
171
+ }
121
172
  /**
122
173
  * The registered agents, for a picker (`GET <path>/agents`). With a model catalog, an agent it
123
174
  * locks to one model for this actor carries `lockedModel` — the same lock `GET <path>/models`
@@ -207,7 +258,8 @@ export class AgentService {
207
258
  throw new RegenerateNeedsThreadError();
208
259
  }
209
260
  await this.assertWithinQuota(params.actor);
210
- const agentName = params.agentName ?? this.deps.defaultAgentName();
261
+ // The send's own agent, else the thread's default agent, else the configured default.
262
+ const agentName = await this.resolveAgentName(params.agentName, params.threadId);
211
263
  // Before the thread exists, so a refused model or attachment leaves nothing behind.
212
264
  const model = await this.resolveModel(params.actor, agentName, params.model, params.threadId);
213
265
  const attachments = await this.resolveAttachments(params.actor, params.attachments ?? []);