@mjczone/realtime-agui-client 0.2.1 → 0.3.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/dist/agent.d.ts +6 -3
- package/dist/agent.js +20 -11
- package/dist/agent.js.map +1 -1
- package/package.json +3 -3
package/dist/agent.d.ts
CHANGED
|
@@ -14,9 +14,11 @@ export interface RunRef {
|
|
|
14
14
|
}
|
|
15
15
|
export interface CentrifugoAgentConfig extends AgentConfig {
|
|
16
16
|
client: RealtimeClient;
|
|
17
|
-
/** The agent service's run endpoint. It takes RunAgentInput and returns 202 with a RunRef. */
|
|
18
|
-
runUrl
|
|
19
|
-
/**
|
|
17
|
+
/** The agent service's run endpoint. It takes RunAgentInput and returns 202 with a RunRef. Not needed with startRun. */
|
|
18
|
+
runUrl?: string;
|
|
19
|
+
/** Starts a run in place of the POST to runUrl, for an app with its own URL, body or response. An error it throws reaches the caller unchanged. */
|
|
20
|
+
startRun?: (input: RunAgentInput, signal: AbortSignal) => Promise<RunRef>;
|
|
21
|
+
/** Extra headers for the POST to runUrl and for cancel requests, such as auth. */
|
|
20
22
|
headers?: () => Record<string, string> | Promise<Record<string, string>>;
|
|
21
23
|
/** Cancel endpoint for a run. When set, abortRun() POSTs to it. */
|
|
22
24
|
cancelUrl?: (run: RunRef) => string;
|
|
@@ -39,6 +41,7 @@ export declare class CentrifugoAgent extends AbstractAgent {
|
|
|
39
41
|
/** Reattach to a specific run, such as one from a notice.run_started message. Then call connectAgent(). */
|
|
40
42
|
attach(run: RunRef): this;
|
|
41
43
|
run(input: RunAgentInput): Observable<BaseEvent>;
|
|
44
|
+
private post;
|
|
42
45
|
protected connect(): Observable<BaseEvent>;
|
|
43
46
|
abortRun(): void;
|
|
44
47
|
private stream;
|
package/dist/agent.js
CHANGED
|
@@ -43,15 +43,9 @@ export class CentrifugoAgent extends AbstractAgent {
|
|
|
43
43
|
const abort = new AbortController();
|
|
44
44
|
let inner;
|
|
45
45
|
(async () => {
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
body: JSON.stringify(input),
|
|
50
|
-
signal: abort.signal,
|
|
51
|
-
});
|
|
52
|
-
if (!res.ok)
|
|
53
|
-
throw new Error(`Run request failed: HTTP ${res.status}`);
|
|
54
|
-
const run = (await res.json());
|
|
46
|
+
const run = this.config.startRun
|
|
47
|
+
? await this.config.startRun(input, abort.signal)
|
|
48
|
+
: await this.post(input, abort.signal);
|
|
55
49
|
if (abort.signal.aborted)
|
|
56
50
|
return;
|
|
57
51
|
inner = this.stream(run).subscribe(subscriber);
|
|
@@ -65,6 +59,19 @@ export class CentrifugoAgent extends AbstractAgent {
|
|
|
65
59
|
};
|
|
66
60
|
});
|
|
67
61
|
}
|
|
62
|
+
async post(input, signal) {
|
|
63
|
+
if (!this.config.runUrl)
|
|
64
|
+
throw new Error('CentrifugoAgent needs runUrl or startRun to start a run');
|
|
65
|
+
const res = await (this.config.fetch ?? fetch)(this.config.runUrl, {
|
|
66
|
+
method: 'POST',
|
|
67
|
+
headers: { 'Content-Type': 'application/json', ...(await this.config.headers?.()) },
|
|
68
|
+
body: JSON.stringify(input),
|
|
69
|
+
signal,
|
|
70
|
+
});
|
|
71
|
+
if (!res.ok)
|
|
72
|
+
throw new Error(`Run request failed: HTTP ${res.status}`);
|
|
73
|
+
return (await res.json());
|
|
74
|
+
}
|
|
68
75
|
connect() {
|
|
69
76
|
const run = this.attachTarget ?? this.storedRun;
|
|
70
77
|
this.attachTarget = null;
|
|
@@ -133,8 +140,10 @@ export class CentrifugoAgent extends AbstractAgent {
|
|
|
133
140
|
}
|
|
134
141
|
save(run) {
|
|
135
142
|
try {
|
|
136
|
-
if (run)
|
|
137
|
-
|
|
143
|
+
if (run) {
|
|
144
|
+
const { runId, threadId, channel, offset, epoch } = run;
|
|
145
|
+
this.storage?.setItem(this.storageKey(), JSON.stringify({ runId, threadId, channel, offset, epoch }));
|
|
146
|
+
}
|
|
138
147
|
else
|
|
139
148
|
this.storage?.removeItem(this.storageKey());
|
|
140
149
|
}
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAwD,MAAM,eAAe,CAAC;AAC/G,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mjczone/realtime-agui-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "AG-UI agent whose transport is a realtime backbone subscription",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
],
|
|
22
22
|
"sideEffects": false,
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@mjczone/realtime-client": "0.
|
|
25
|
-
"@mjczone/realtime-contract": "0.
|
|
24
|
+
"@mjczone/realtime-client": "0.3.0",
|
|
25
|
+
"@mjczone/realtime-contract": "0.3.0"
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|
|
28
28
|
"@ag-ui/client": "^1.0.2",
|