@cleocode/core 2026.6.0 → 2026.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/conduit/http-transport.d.ts +7 -13
- package/dist/conduit/http-transport.d.ts.map +1 -1
- package/dist/conduit/http-transport.js +12 -59
- package/dist/conduit/http-transport.js.map +1 -1
- package/dist/docs/export-document.js +40526 -281
- package/dist/docs/export-document.js.map +6 -1
- package/dist/llm/plugin-facade.js +43394 -348
- package/dist/llm/plugin-facade.js.map +6 -1
- package/dist/memory/redaction.js +66 -59
- package/dist/memory/redaction.js.map +6 -1
- package/dist/sessions/briefing.d.ts.map +1 -1
- package/dist/sessions/briefing.js +18 -4
- package/dist/sessions/briefing.js.map +1 -1
- package/dist/shutdown.d.ts +14 -4
- package/dist/shutdown.d.ts.map +1 -1
- package/dist/shutdown.js +21 -6
- package/dist/shutdown.js.map +1 -1
- package/package.json +14 -14
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* HttpTransport — HTTP polling transport
|
|
2
|
+
* HttpTransport — HTTP polling transport against the SignalDock API.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* to callers — they see a single transport that always works if either
|
|
7
|
-
* endpoint is up.
|
|
4
|
+
* Connects to the configured API base URL (api.signaldock.io) and exposes
|
|
5
|
+
* push/poll/ack over HTTP.
|
|
8
6
|
*
|
|
9
7
|
* @see docs/specs/SIGNALDOCK-UNIFIED-AGENT-REGISTRY.md Section 4.4
|
|
10
8
|
* @task T177
|
|
11
9
|
*/
|
|
12
10
|
import type { ConduitMessage, Transport, TransportConnectConfig } from '@cleocode/contracts';
|
|
13
|
-
/** HTTP transport
|
|
11
|
+
/** HTTP polling transport for the SignalDock messaging API. */
|
|
14
12
|
export declare class HttpTransport implements Transport {
|
|
15
13
|
readonly name = "http";
|
|
16
14
|
private state;
|
|
17
|
-
/** Connect to the SignalDock API
|
|
15
|
+
/** Connect to the SignalDock API. */
|
|
18
16
|
connect(config: TransportConnectConfig): Promise<void>;
|
|
19
17
|
/** Disconnect and clear connection state. */
|
|
20
18
|
disconnect(): Promise<void>;
|
|
@@ -32,12 +30,8 @@ export declare class HttpTransport implements Transport {
|
|
|
32
30
|
}): Promise<ConduitMessage[]>;
|
|
33
31
|
/** Acknowledge messages by ID so they are not returned by future polls. */
|
|
34
32
|
ack(messageIds: string[]): Promise<void>;
|
|
35
|
-
/**
|
|
36
|
-
|
|
37
|
-
* If it fails and a fallback exists, retries on the other URL
|
|
38
|
-
* and swaps activeUrl for subsequent calls.
|
|
39
|
-
*/
|
|
40
|
-
private fetchWithFallback;
|
|
33
|
+
/** Fetch against the configured API base URL with a 10s timeout. */
|
|
34
|
+
private fetch;
|
|
41
35
|
private headers;
|
|
42
36
|
private ensureConnected;
|
|
43
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-transport.d.ts","sourceRoot":"","sources":["../../src/conduit/http-transport.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"http-transport.d.ts","sourceRoot":"","sources":["../../src/conduit/http-transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAU7F,+DAA+D;AAC/D,qBAAa,aAAc,YAAW,SAAS;IAC7C,QAAQ,CAAC,IAAI,UAAU;IACvB,OAAO,CAAC,KAAK,CAAmC;IAEhD,qCAAqC;IAC/B,OAAO,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAS5D,6CAA6C;IACvC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,2EAA2E;IACrE,IAAI,CACR,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GACtD,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAmCjC,+EAA+E;IACzE,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAqCnF,2EAA2E;IACrE,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9C,oEAAoE;YACtD,KAAK;IAMnB,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,eAAe;CAKxB"}
|
|
@@ -1,41 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* HttpTransport — HTTP polling transport
|
|
2
|
+
* HttpTransport — HTTP polling transport against the SignalDock API.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* to callers — they see a single transport that always works if either
|
|
7
|
-
* endpoint is up.
|
|
4
|
+
* Connects to the configured API base URL (api.signaldock.io) and exposes
|
|
5
|
+
* push/poll/ack over HTTP.
|
|
8
6
|
*
|
|
9
7
|
* @see docs/specs/SIGNALDOCK-UNIFIED-AGENT-REGISTRY.md Section 4.4
|
|
10
8
|
* @task T177
|
|
11
9
|
*/
|
|
12
|
-
/** HTTP transport
|
|
10
|
+
/** HTTP polling transport for the SignalDock messaging API. */
|
|
13
11
|
export class HttpTransport {
|
|
14
12
|
name = 'http';
|
|
15
13
|
state = null;
|
|
16
|
-
/** Connect to the SignalDock API
|
|
14
|
+
/** Connect to the SignalDock API. */
|
|
17
15
|
async connect(config) {
|
|
18
|
-
const primaryUrl = config.apiBaseUrl;
|
|
19
|
-
const fallbackUrl = config.apiBaseUrlFallback ?? null;
|
|
20
|
-
// Only probe health when there's a fallback to choose between
|
|
21
|
-
let activeUrl = primaryUrl;
|
|
22
|
-
if (fallbackUrl) {
|
|
23
|
-
const [primaryResult, fallbackResult] = await Promise.allSettled([
|
|
24
|
-
fetch(`${primaryUrl}/health`, { method: 'GET', signal: AbortSignal.timeout(5000) }),
|
|
25
|
-
fetch(`${fallbackUrl}/health`, { method: 'GET', signal: AbortSignal.timeout(5000) }),
|
|
26
|
-
]);
|
|
27
|
-
const primaryOk = primaryResult.status === 'fulfilled' && primaryResult.value.ok;
|
|
28
|
-
const fallbackOk = fallbackResult.status === 'fulfilled' && fallbackResult.value.ok;
|
|
29
|
-
if (!primaryOk && fallbackOk) {
|
|
30
|
-
activeUrl = fallbackUrl;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
16
|
this.state = {
|
|
34
17
|
agentId: config.agentId,
|
|
35
18
|
apiKey: config.apiKey,
|
|
36
|
-
|
|
37
|
-
fallbackUrl,
|
|
38
|
-
activeUrl,
|
|
19
|
+
apiBaseUrl: config.apiBaseUrl,
|
|
39
20
|
connected: true,
|
|
40
21
|
};
|
|
41
22
|
}
|
|
@@ -58,7 +39,7 @@ export class HttpTransport {
|
|
|
58
39
|
path = '/messages';
|
|
59
40
|
body['toAgentId'] = to;
|
|
60
41
|
}
|
|
61
|
-
const response = await this.
|
|
42
|
+
const response = await this.fetch(path, {
|
|
62
43
|
method: 'POST',
|
|
63
44
|
headers: this.headers(),
|
|
64
45
|
body: JSON.stringify(body),
|
|
@@ -81,7 +62,7 @@ export class HttpTransport {
|
|
|
81
62
|
params.set('limit', String(options.limit));
|
|
82
63
|
if (options?.since)
|
|
83
64
|
params.set('since', options.since);
|
|
84
|
-
const response = await this.
|
|
65
|
+
const response = await this.fetch(`/messages/peek?${params}`, {
|
|
85
66
|
method: 'GET',
|
|
86
67
|
headers: this.headers(),
|
|
87
68
|
});
|
|
@@ -99,45 +80,17 @@ export class HttpTransport {
|
|
|
99
80
|
/** Acknowledge messages by ID so they are not returned by future polls. */
|
|
100
81
|
async ack(messageIds) {
|
|
101
82
|
this.ensureConnected();
|
|
102
|
-
await this.
|
|
83
|
+
await this.fetch('/messages/ack', {
|
|
103
84
|
method: 'POST',
|
|
104
85
|
headers: this.headers(),
|
|
105
86
|
body: JSON.stringify({ messageIds }),
|
|
106
87
|
});
|
|
107
88
|
}
|
|
108
|
-
/**
|
|
109
|
-
|
|
110
|
-
* If it fails and a fallback exists, retries on the other URL
|
|
111
|
-
* and swaps activeUrl for subsequent calls.
|
|
112
|
-
*/
|
|
113
|
-
async fetchWithFallback(path, init) {
|
|
89
|
+
/** Fetch against the configured API base URL with a 10s timeout. */
|
|
90
|
+
async fetch(path, init) {
|
|
114
91
|
const timeout = AbortSignal.timeout(10000);
|
|
115
92
|
const signal = init.signal ? AbortSignal.any([init.signal, timeout]) : timeout;
|
|
116
|
-
|
|
117
|
-
try {
|
|
118
|
-
return await fetch(url, { ...init, signal });
|
|
119
|
-
}
|
|
120
|
-
catch (primaryErr) {
|
|
121
|
-
const otherUrl = this.state.activeUrl === this.state.primaryUrl
|
|
122
|
-
? this.state.fallbackUrl
|
|
123
|
-
: this.state.primaryUrl;
|
|
124
|
-
if (!otherUrl)
|
|
125
|
-
throw primaryErr;
|
|
126
|
-
try {
|
|
127
|
-
const fallbackSignal = init.signal
|
|
128
|
-
? AbortSignal.any([init.signal, AbortSignal.timeout(10000)])
|
|
129
|
-
: AbortSignal.timeout(10000);
|
|
130
|
-
const fallbackResponse = await fetch(`${otherUrl}${path}`, {
|
|
131
|
-
...init,
|
|
132
|
-
signal: fallbackSignal,
|
|
133
|
-
});
|
|
134
|
-
this.state.activeUrl = otherUrl;
|
|
135
|
-
return fallbackResponse;
|
|
136
|
-
}
|
|
137
|
-
catch {
|
|
138
|
-
throw primaryErr;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
93
|
+
return fetch(`${this.state.apiBaseUrl}${path}`, { ...init, signal });
|
|
141
94
|
}
|
|
142
95
|
headers() {
|
|
143
96
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-transport.js","sourceRoot":"","sources":["../../src/conduit/http-transport.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"http-transport.js","sourceRoot":"","sources":["../../src/conduit/http-transport.ts"],"names":[],"mappings":"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"}
|