@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.
- package/CHANGELOG.md +57 -0
- package/dist/providers/agent_provider.d.ts.map +1 -1
- package/dist/providers/agent_provider.js +84 -10
- package/dist/providers/agent_provider.js.map +1 -1
- package/dist/src/ag-ui/adapter.d.ts.map +1 -1
- package/dist/src/ag-ui/adapter.js +1 -2
- package/dist/src/ag-ui/adapter.js.map +1 -1
- package/dist/src/ag-ui/encoder.d.ts +7 -92
- package/dist/src/ag-ui/encoder.d.ts.map +1 -1
- package/dist/src/ag-ui/encoder.js +14 -498
- package/dist/src/ag-ui/encoder.js.map +1 -1
- package/dist/src/ag-ui/frames.d.ts +17 -0
- package/dist/src/ag-ui/frames.d.ts.map +1 -0
- package/dist/src/ag-ui/frames.js +69 -0
- package/dist/src/ag-ui/frames.js.map +1 -0
- package/dist/src/ag-ui/index.d.ts +9 -6
- package/dist/src/ag-ui/index.d.ts.map +1 -1
- package/dist/src/ag-ui/index.js +9 -6
- package/dist/src/ag-ui/index.js.map +1 -1
- package/dist/src/ag-ui/stream.d.ts +7 -23
- package/dist/src/ag-ui/stream.d.ts.map +1 -1
- package/dist/src/ag-ui/stream.js +9 -64
- package/dist/src/ag-ui/stream.js.map +1 -1
- package/dist/src/agent-service.d.ts +22 -0
- package/dist/src/agent-service.d.ts.map +1 -1
- package/dist/src/agent-service.js +57 -5
- package/dist/src/agent-service.js.map +1 -1
- package/dist/src/ai-tool-ref.d.ts +26 -4
- package/dist/src/ai-tool-ref.d.ts.map +1 -1
- package/dist/src/ai-tool-ref.js +6 -1
- package/dist/src/ai-tool-ref.js.map +1 -1
- package/dist/src/confirmed-tool.d.ts +2 -2
- package/dist/src/confirmed-tool.d.ts.map +1 -1
- package/dist/src/confirmed-tool.js.map +1 -1
- package/dist/src/guardrails/agent.d.ts.map +1 -1
- package/dist/src/guardrails/agent.js +11 -0
- package/dist/src/guardrails/agent.js.map +1 -1
- package/dist/src/index.d.ts +4 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp-client/options.d.ts +12 -0
- package/dist/src/mcp-client/options.d.ts.map +1 -1
- package/dist/src/mcp-client/tool-source.d.ts.map +1 -1
- package/dist/src/mcp-client/tool-source.js +2 -0
- package/dist/src/mcp-client/tool-source.js.map +1 -1
- package/dist/src/media/index.d.ts +1 -1
- package/dist/src/media/index.d.ts.map +1 -1
- package/dist/src/media/index.js +1 -1
- package/dist/src/media/index.js.map +1 -1
- package/dist/src/media/media-attachment-staging.d.ts +107 -6
- package/dist/src/media/media-attachment-staging.d.ts.map +1 -1
- package/dist/src/media/media-attachment-staging.js +173 -21
- package/dist/src/media/media-attachment-staging.js.map +1 -1
- package/dist/src/react/ag-ui.d.ts +41 -0
- package/dist/src/react/ag-ui.d.ts.map +1 -0
- package/dist/src/react/ag-ui.js +63 -0
- package/dist/src/react/ag-ui.js.map +1 -0
- package/dist/src/react/client.d.ts +12 -0
- package/dist/src/react/client.d.ts.map +1 -0
- package/dist/src/react/client.js +21 -0
- package/dist/src/react/client.js.map +1 -0
- package/dist/src/react/index.d.ts +3 -8
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/react/index.js +4 -20
- package/dist/src/react/index.js.map +1 -1
- package/dist/src/react/media.d.ts +18 -0
- package/dist/src/react/media.d.ts.map +1 -0
- package/dist/src/react/media.js +18 -0
- package/dist/src/react/media.js.map +1 -0
- package/dist/src/spi/agent-store.d.ts +22 -0
- package/dist/src/spi/agent-store.d.ts.map +1 -1
- package/dist/src/spi/agent-store.js.map +1 -1
- package/dist/src/spi/attachment-staging.d.ts +5 -0
- package/dist/src/spi/attachment-staging.d.ts.map +1 -1
- package/dist/src/spi/tool.d.ts +24 -0
- package/dist/src/spi/tool.d.ts.map +1 -1
- package/dist/src/stores/factory.d.ts +8 -2
- package/dist/src/stores/factory.d.ts.map +1 -1
- package/dist/src/stores/factory.js +8 -2
- package/dist/src/stores/factory.js.map +1 -1
- package/dist/src/stores/lucid-schema.d.ts.map +1 -1
- package/dist/src/stores/lucid-schema.js +2 -0
- package/dist/src/stores/lucid-schema.js.map +1 -1
- package/dist/src/stores/lucid.d.ts +12 -0
- package/dist/src/stores/lucid.d.ts.map +1 -1
- package/dist/src/stores/lucid.js +47 -0
- package/dist/src/stores/lucid.js.map +1 -1
- package/dist/src/testing/in-memory-store.d.ts +7 -0
- package/dist/src/testing/in-memory-store.d.ts.map +1 -1
- package/dist/src/testing/in-memory-store.js +33 -0
- package/dist/src/testing/in-memory-store.js.map +1 -1
- package/dist/src/tool-discovery.d.ts.map +1 -1
- package/dist/src/tool-discovery.js +27 -9
- package/dist/src/tool-discovery.js.map +1 -1
- package/dist/src/tool-filters.d.ts +33 -0
- package/dist/src/tool-filters.d.ts.map +1 -0
- package/dist/src/tool-filters.js +45 -0
- package/dist/src/tool-filters.js.map +1 -0
- package/dist/src/tool-registry.d.ts +33 -5
- package/dist/src/tool-registry.d.ts.map +1 -1
- package/dist/src/tool-registry.js +55 -11
- package/dist/src/tool-registry.js.map +1 -1
- package/dist/src/types.d.ts +16 -0
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +15 -5
- package/skills/agent-tools/SKILL.md +19 -1
- package/dist/src/ag-ui/input.d.ts +0 -72
- package/dist/src/ag-ui/input.d.ts.map +0 -1
- package/dist/src/ag-ui/input.js +0 -216
- package/dist/src/ag-ui/input.js.map +0 -1
- package/dist/src/ag-ui/interrupt-id.d.ts +0 -27
- package/dist/src/ag-ui/interrupt-id.d.ts.map +0 -1
- package/dist/src/ag-ui/interrupt-id.js +0 -42
- package/dist/src/ag-ui/interrupt-id.js.map +0 -1
- package/dist/src/ag-ui/types.d.ts +0 -202
- package/dist/src/ag-ui/types.d.ts.map +0 -1
- package/dist/src/ag-ui/types.js +0 -33
- 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
|
|
3
|
-
*
|
|
4
|
-
*
|
|
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 {
|
|
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
|
|
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"}
|
package/dist/src/ag-ui/index.js
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* AG-UI 1.0 (https://docs.ag-ui.com/spec/1.0), producer side: the
|
|
3
|
-
*
|
|
4
|
-
*
|
|
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 {
|
|
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
|
|
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
|
-
|
|
3
|
-
|
|
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
|
-
*
|
|
20
|
-
*
|
|
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,
|
|
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"}
|
package/dist/src/ag-ui/stream.js
CHANGED
|
@@ -1,68 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
*
|
|
8
|
-
*
|
|
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
|
|
14
|
-
|
|
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":"
|
|
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
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
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
|
-
|
|
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 ?? []);
|