@phronesis-io/openclaw-eigenflux 0.0.4 → 0.0.6
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 +15 -161
- package/dist/agent-prompt-templates.d.ts +14 -12
- package/dist/agent-prompt-templates.d.ts.map +1 -1
- package/dist/agent-prompt-templates.js +27 -35
- package/dist/agent-prompt-templates.js.map +1 -1
- package/dist/cli-executor.d.ts +32 -0
- package/dist/cli-executor.d.ts.map +1 -0
- package/dist/cli-executor.js +75 -0
- package/dist/cli-executor.js.map +1 -0
- package/dist/config.d.ts +41 -126
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +94 -229
- package/dist/config.js.map +1 -1
- package/dist/credentials-loader.d.ts +6 -5
- package/dist/credentials-loader.d.ts.map +1 -1
- package/dist/credentials-loader.js +17 -21
- package/dist/credentials-loader.js.map +1 -1
- package/dist/index.d.ts +3 -73
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +212 -277
- package/dist/index.js.map +1 -1
- package/dist/notification-route-resolver.d.ts +24 -2
- package/dist/notification-route-resolver.d.ts.map +1 -1
- package/dist/notification-route-resolver.js +257 -43
- package/dist/notification-route-resolver.js.map +1 -1
- package/dist/notifier.d.ts +9 -17
- package/dist/notifier.d.ts.map +1 -1
- package/dist/notifier.js +133 -66
- package/dist/notifier.js.map +1 -1
- package/dist/polling-client.d.ts +31 -19
- package/dist/polling-client.d.ts.map +1 -1
- package/dist/polling-client.js +102 -127
- package/dist/polling-client.js.map +1 -1
- package/dist/reply-target.d.ts +8 -0
- package/dist/reply-target.d.ts.map +1 -0
- package/dist/reply-target.js +104 -0
- package/dist/reply-target.js.map +1 -0
- package/dist/session-route-memory.d.ts +12 -3
- package/dist/session-route-memory.d.ts.map +1 -1
- package/dist/session-route-memory.js +83 -80
- package/dist/session-route-memory.js.map +1 -1
- package/dist/stream-client.d.ts +48 -0
- package/dist/stream-client.d.ts.map +1 -0
- package/dist/stream-client.js +168 -0
- package/dist/stream-client.js.map +1 -0
- package/openclaw.plugin.json +5 -75
- package/package.json +6 -8
- package/skills/ef-broadcast/SKILL.md +84 -0
- package/skills/ef-broadcast/references/feed.md +127 -0
- package/skills/ef-broadcast/references/publish.md +119 -0
- package/skills/ef-communication/SKILL.md +95 -0
- package/skills/ef-communication/references/message.md +132 -0
- package/skills/ef-communication/references/relations.md +215 -0
- package/skills/ef-communication/references/stream.md +66 -0
- package/skills/ef-profile/SKILL.md +138 -0
- package/skills/ef-profile/references/auth.md +103 -0
- package/skills/ef-profile/references/config.md +54 -0
- package/skills/ef-profile/references/onboarding.md +172 -0
- package/skills/ef-profile/references/server-management.md +67 -0
- package/dist/gateway-rpc-client.d.ts +0 -26
- package/dist/gateway-rpc-client.d.ts.map +0 -1
- package/dist/gateway-rpc-client.js +0 -288
- package/dist/gateway-rpc-client.js.map +0 -1
- package/dist/pm-polling-client.d.ts +0 -52
- package/dist/pm-polling-client.d.ts.map +0 -1
- package/dist/pm-polling-client.js +0 -182
- package/dist/pm-polling-client.js.map +0 -1
package/dist/notifier.js
CHANGED
|
@@ -2,23 +2,55 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EigenFluxNotifier = void 0;
|
|
4
4
|
const node_crypto_1 = require("node:crypto");
|
|
5
|
-
const gateway_rpc_client_1 = require("./gateway-rpc-client");
|
|
6
5
|
const notification_route_resolver_1 = require("./notification-route-resolver");
|
|
7
6
|
const session_route_memory_1 = require("./session-route-memory");
|
|
8
7
|
const COMMAND_TIMEOUT_MS = 15000;
|
|
8
|
+
// deliver: true runs the full agent loop (LLM + reply + channel send), which can
|
|
9
|
+
// take well over a minute on long feed payloads. 3 minutes gives agents plenty
|
|
10
|
+
// of room to complete while still bounding a genuinely stuck run.
|
|
11
|
+
const SUBAGENT_WAIT_TIMEOUT_MS = 180000;
|
|
9
12
|
const HEARTBEAT_REASON = 'plugin:eigenflux';
|
|
10
13
|
class EigenFluxNotifier {
|
|
11
|
-
constructor(api, logger, config
|
|
14
|
+
constructor(api, logger, config) {
|
|
12
15
|
this.api = api;
|
|
13
16
|
this.logger = logger;
|
|
14
17
|
this.config = config;
|
|
15
|
-
this.createGatewayRpcClient = createGatewayRpcClient;
|
|
16
18
|
}
|
|
17
19
|
async deliver(message) {
|
|
18
|
-
const
|
|
20
|
+
const initial = await this.resolveRoute();
|
|
21
|
+
this.logger.info(`Delivery route resolved: source=${initial.source}, ${formatRouteForLog(initial.route)}, message_preview=${previewMessage(message)}`);
|
|
22
|
+
const firstAttempt = await this.attemptDelivery(message, initial.route);
|
|
23
|
+
if (firstAttempt.result.ok) {
|
|
24
|
+
await this.rememberRouteIfChanged(firstAttempt.finalRoute, initial.source);
|
|
25
|
+
this.logDispatch(firstAttempt.result);
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
// If every transport failed with a remembered route, it may be stale.
|
|
29
|
+
// Re-resolve fresh (skipping remembered), then retry the transport chain once.
|
|
30
|
+
if (initial.source === 'remembered') {
|
|
31
|
+
this.logger.warn(`All transports failed with remembered route; re-resolving without remembered config.`);
|
|
32
|
+
const fallback = await this.resolveRoute({ ignoreRemembered: true });
|
|
33
|
+
if (fallback.route.sessionKey !== initial.route.sessionKey ||
|
|
34
|
+
fallback.route.replyTo !== initial.route.replyTo ||
|
|
35
|
+
fallback.route.replyChannel !== initial.route.replyChannel) {
|
|
36
|
+
this.logger.info(`Retrying delivery with fresh route: source=${fallback.source}, ${formatRouteForLog(fallback.route)}`);
|
|
37
|
+
const retry = await this.attemptDelivery(message, fallback.route);
|
|
38
|
+
if (retry.result.ok) {
|
|
39
|
+
await this.rememberRouteIfChanged(retry.finalRoute, fallback.source);
|
|
40
|
+
this.logDispatch(retry.result);
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
this.logger.error(`Failed to deliver notification after fresh re-resolve: ${retry.errors.join(' | ')}`);
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
this.logger.warn('Fresh re-resolve produced the same route; skipping retry.');
|
|
47
|
+
}
|
|
48
|
+
this.logger.error(`Failed to deliver notification: ${firstAttempt.errors.join(' | ')}`);
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
async attemptDelivery(message, route) {
|
|
19
52
|
const attempts = [
|
|
20
53
|
() => this.tryNotifyViaRuntimeSubagent(message, route),
|
|
21
|
-
() => this.tryNotifyViaGatewayRpcAgent(message, route),
|
|
22
54
|
() => this.tryNotifyViaRuntimeCommandAgent(message, route),
|
|
23
55
|
() => this.tryNotifyViaRuntimeHeartbeat(message, route),
|
|
24
56
|
() => this.tryNotifyViaRuntimeCommandHeartbeat(message),
|
|
@@ -27,31 +59,23 @@ class EigenFluxNotifier {
|
|
|
27
59
|
for (const attempt of attempts) {
|
|
28
60
|
const result = await attempt();
|
|
29
61
|
if (result.ok) {
|
|
30
|
-
|
|
62
|
+
const finalRoute = {
|
|
31
63
|
sessionKey: result.sessionKey ?? route.sessionKey,
|
|
32
64
|
agentId: route.agentId,
|
|
33
65
|
replyChannel: route.replyChannel,
|
|
34
66
|
replyTo: route.replyTo,
|
|
35
67
|
replyAccountId: route.replyAccountId,
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
return true;
|
|
68
|
+
};
|
|
69
|
+
return { result, finalRoute, errors };
|
|
39
70
|
}
|
|
71
|
+
this.logger.warn(`Notification attempt failed: mode=${result.mode}, ${formatRouteForLog(route)}, error=${result.error}`);
|
|
40
72
|
errors.push(`${result.mode}: ${result.error}`);
|
|
41
73
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
const result = await this.tryNotifyViaRuntimeSubagent(message, route);
|
|
48
|
-
if (!result.ok) {
|
|
49
|
-
this.logger.warn(`runtime.subagent test dispatch failed: ${result.error}`);
|
|
50
|
-
return false;
|
|
51
|
-
}
|
|
52
|
-
this.rememberRoute(route);
|
|
53
|
-
this.logDispatch(result);
|
|
54
|
-
return true;
|
|
74
|
+
return {
|
|
75
|
+
result: { ok: false, mode: 'all', error: errors.join(' | ') },
|
|
76
|
+
finalRoute: route,
|
|
77
|
+
errors,
|
|
78
|
+
};
|
|
55
79
|
}
|
|
56
80
|
async tryNotifyViaRuntimeSubagent(message, route) {
|
|
57
81
|
const runtimeSubagent = this.api.runtime?.subagent;
|
|
@@ -63,17 +87,36 @@ class EigenFluxNotifier {
|
|
|
63
87
|
};
|
|
64
88
|
}
|
|
65
89
|
try {
|
|
66
|
-
|
|
90
|
+
this.logger.info(`Attempting runtime.subagent delivery: ${formatRouteForLog(route)}, deliver=true`);
|
|
91
|
+
const { runId } = await runtimeSubagent.run({
|
|
67
92
|
sessionKey: route.sessionKey,
|
|
68
93
|
message,
|
|
69
94
|
deliver: true,
|
|
70
95
|
idempotencyKey: (0, node_crypto_1.randomUUID)(),
|
|
71
96
|
});
|
|
97
|
+
// run() only enqueues; wait long enough for the full agent loop (LLM +
|
|
98
|
+
// reply + channel send) to complete so we can surface real errors. A
|
|
99
|
+
// waitForRun timeout here means "still running" — treat it as success
|
|
100
|
+
// and let the subagent finish asynchronously, since retrying via CLI
|
|
101
|
+
// would re-run the same agent loop and cause duplicate deliveries.
|
|
102
|
+
if (typeof runtimeSubagent.waitForRun === 'function') {
|
|
103
|
+
const waited = await runtimeSubagent.waitForRun({
|
|
104
|
+
runId,
|
|
105
|
+
timeoutMs: SUBAGENT_WAIT_TIMEOUT_MS,
|
|
106
|
+
});
|
|
107
|
+
if (waited.status === 'error') {
|
|
108
|
+
return {
|
|
109
|
+
ok: false,
|
|
110
|
+
mode: 'runtime.subagent',
|
|
111
|
+
error: `subagent run error${waited.error ? `: ${waited.error}` : ''}`,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
}
|
|
72
115
|
return {
|
|
73
116
|
ok: true,
|
|
74
117
|
mode: 'runtime.subagent',
|
|
75
118
|
sessionKey: route.sessionKey,
|
|
76
|
-
runId
|
|
119
|
+
runId,
|
|
77
120
|
};
|
|
78
121
|
}
|
|
79
122
|
catch (error) {
|
|
@@ -84,28 +127,6 @@ class EigenFluxNotifier {
|
|
|
84
127
|
};
|
|
85
128
|
}
|
|
86
129
|
}
|
|
87
|
-
async tryNotifyViaGatewayRpcAgent(message, route) {
|
|
88
|
-
try {
|
|
89
|
-
const client = this.createGatewayRpcClient({
|
|
90
|
-
...this.config,
|
|
91
|
-
...route,
|
|
92
|
-
}, this.logger);
|
|
93
|
-
const result = await client.sendAgentMessage(message);
|
|
94
|
-
return {
|
|
95
|
-
ok: true,
|
|
96
|
-
mode: 'gateway.rpc.agent',
|
|
97
|
-
sessionKey: result.sessionKey,
|
|
98
|
-
runId: result.runId,
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
catch (error) {
|
|
102
|
-
return {
|
|
103
|
-
ok: false,
|
|
104
|
-
mode: 'gateway.rpc.agent',
|
|
105
|
-
error: formatError(error),
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
130
|
async tryNotifyViaRuntimeCommandAgent(message, route) {
|
|
110
131
|
return this.runRuntimeCommand('runtime.command.agent', this.buildAgentCliArgs(message, route), route);
|
|
111
132
|
}
|
|
@@ -121,11 +142,11 @@ class EigenFluxNotifier {
|
|
|
121
142
|
};
|
|
122
143
|
}
|
|
123
144
|
try {
|
|
145
|
+
const deliveryContext = this.resolveHeartbeatDeliveryContext(route);
|
|
146
|
+
this.logger.info(`Attempting runtime.system.heartbeat delivery: ${formatRouteForLog(route)}, delivery_context=${formatDeliveryContextForLog(deliveryContext)}`);
|
|
124
147
|
const enqueued = runtimeSystem.enqueueSystemEvent(message, {
|
|
125
148
|
sessionKey: route.sessionKey,
|
|
126
|
-
...(
|
|
127
|
-
? { deliveryContext: this.resolveHeartbeatDeliveryContext(route) }
|
|
128
|
-
: {}),
|
|
149
|
+
...(deliveryContext ? { deliveryContext } : {}),
|
|
129
150
|
});
|
|
130
151
|
runtimeSystem.requestHeartbeatNow({
|
|
131
152
|
reason: HEARTBEAT_REASON,
|
|
@@ -149,7 +170,8 @@ class EigenFluxNotifier {
|
|
|
149
170
|
}
|
|
150
171
|
}
|
|
151
172
|
async tryNotifyViaRuntimeCommandHeartbeat(message) {
|
|
152
|
-
|
|
173
|
+
const { route } = await this.resolveRoute();
|
|
174
|
+
return this.runRuntimeCommand('runtime.command.heartbeat', this.buildHeartbeatCliArgs(message), route);
|
|
153
175
|
}
|
|
154
176
|
async runRuntimeCommand(mode, argv, route) {
|
|
155
177
|
const runtimeCommand = this.api.runtime?.system?.runCommandWithTimeout;
|
|
@@ -161,6 +183,7 @@ class EigenFluxNotifier {
|
|
|
161
183
|
};
|
|
162
184
|
}
|
|
163
185
|
try {
|
|
186
|
+
this.logger.info(`Attempting ${mode} delivery: ${formatRouteForLog(route)}, argv=${formatCommandArgsForLog(argv)}`);
|
|
164
187
|
const result = await runtimeCommand(argv, { timeoutMs: COMMAND_TIMEOUT_MS });
|
|
165
188
|
if (result.code === 0) {
|
|
166
189
|
return {
|
|
@@ -172,7 +195,7 @@ class EigenFluxNotifier {
|
|
|
172
195
|
return {
|
|
173
196
|
ok: false,
|
|
174
197
|
mode,
|
|
175
|
-
error: formatCommandFailure(result)
|
|
198
|
+
error: `${formatCommandFailure(result)} (argv=${formatCommandArgsForLog(argv)})`,
|
|
176
199
|
};
|
|
177
200
|
}
|
|
178
201
|
catch (error) {
|
|
@@ -225,14 +248,25 @@ class EigenFluxNotifier {
|
|
|
225
248
|
...(route.replyAccountId ? { accountId: route.replyAccountId } : {}),
|
|
226
249
|
};
|
|
227
250
|
}
|
|
228
|
-
resolveRoute() {
|
|
229
|
-
return (0, notification_route_resolver_1.resolveNotificationRoute)(this.config, this.logger);
|
|
251
|
+
async resolveRoute(options = {}) {
|
|
252
|
+
return (0, notification_route_resolver_1.resolveNotificationRoute)(this.config, this.logger, options);
|
|
230
253
|
}
|
|
231
|
-
|
|
254
|
+
/**
|
|
255
|
+
* Persist the successful route to the eigenflux CLI config unless it came from
|
|
256
|
+
* the remembered config already (no-op when unchanged).
|
|
257
|
+
*/
|
|
258
|
+
async rememberRouteIfChanged(route, source) {
|
|
232
259
|
if (!route.sessionKey || !route.agentId) {
|
|
233
260
|
return;
|
|
234
261
|
}
|
|
235
|
-
|
|
262
|
+
if (isInternalSessionKey(route.sessionKey)) {
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
265
|
+
if (source === 'remembered') {
|
|
266
|
+
this.logger.debug(`Skipping remembered-route write; route came from config (session_key=${route.sessionKey})`);
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
await (0, session_route_memory_1.writeStoredNotificationRoute)(this.config.eigenfluxBin, this.config.serverName, route, this.logger);
|
|
236
270
|
}
|
|
237
271
|
logDispatch(result) {
|
|
238
272
|
const details = [
|
|
@@ -247,17 +281,13 @@ class EigenFluxNotifier {
|
|
|
247
281
|
}
|
|
248
282
|
}
|
|
249
283
|
exports.EigenFluxNotifier = EigenFluxNotifier;
|
|
250
|
-
function
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
replyTo: config.replyTo,
|
|
258
|
-
replyAccountId: config.replyAccountId,
|
|
259
|
-
logger,
|
|
260
|
-
});
|
|
284
|
+
function isInternalSessionKey(sessionKey) {
|
|
285
|
+
const trimmed = sessionKey.trim();
|
|
286
|
+
if (!trimmed || trimmed === 'main') {
|
|
287
|
+
return true;
|
|
288
|
+
}
|
|
289
|
+
const parts = trimmed.split(':').filter((part) => part.length > 0);
|
|
290
|
+
return parts[0]?.toLowerCase() === 'agent' && parts[2]?.toLowerCase() === 'main';
|
|
261
291
|
}
|
|
262
292
|
function formatCommandFailure(result) {
|
|
263
293
|
return (result.stderr?.trim() ||
|
|
@@ -270,4 +300,41 @@ function formatError(error) {
|
|
|
270
300
|
}
|
|
271
301
|
return String(error);
|
|
272
302
|
}
|
|
303
|
+
function formatRouteForLog(route) {
|
|
304
|
+
return [
|
|
305
|
+
`session_key=${route.sessionKey}`,
|
|
306
|
+
`agent_id=${route.agentId}`,
|
|
307
|
+
`channel=${route.replyChannel ?? 'n/a'}`,
|
|
308
|
+
`to=${route.replyTo ?? 'n/a'}`,
|
|
309
|
+
`account=${route.replyAccountId ?? 'n/a'}`,
|
|
310
|
+
].join(', ');
|
|
311
|
+
}
|
|
312
|
+
function formatDeliveryContextForLog(deliveryContext) {
|
|
313
|
+
if (!deliveryContext) {
|
|
314
|
+
return 'none';
|
|
315
|
+
}
|
|
316
|
+
return [
|
|
317
|
+
`channel=${deliveryContext.channel ?? 'n/a'}`,
|
|
318
|
+
`to=${deliveryContext.to ?? 'n/a'}`,
|
|
319
|
+
`account=${deliveryContext.accountId ?? 'n/a'}`,
|
|
320
|
+
].join(', ');
|
|
321
|
+
}
|
|
322
|
+
function previewMessage(message, maxLength = 120) {
|
|
323
|
+
const singleLine = message.replace(/\s+/gu, ' ').trim();
|
|
324
|
+
if (singleLine.length <= maxLength) {
|
|
325
|
+
return JSON.stringify(singleLine);
|
|
326
|
+
}
|
|
327
|
+
return JSON.stringify(`${singleLine.slice(0, maxLength - 3)}...`);
|
|
328
|
+
}
|
|
329
|
+
function formatCommandArgsForLog(argv) {
|
|
330
|
+
const sanitized = [...argv];
|
|
331
|
+
for (let index = 0; index < sanitized.length; index += 1) {
|
|
332
|
+
if (sanitized[index] === '--message' || sanitized[index] === '--text') {
|
|
333
|
+
if (typeof sanitized[index + 1] === 'string') {
|
|
334
|
+
sanitized[index + 1] = `<len:${sanitized[index + 1].length}>`;
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
return JSON.stringify(sanitized);
|
|
339
|
+
}
|
|
273
340
|
//# sourceMappingURL=notifier.js.map
|
package/dist/notifier.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifier.js","sourceRoot":"","sources":["../src/notifier.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"notifier.js","sourceRoot":"","sources":["../src/notifier.ts"],"names":[],"mappings":"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"}
|
package/dist/polling-client.d.ts
CHANGED
|
@@ -1,8 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Polling client for EigenFlux feed updates
|
|
2
|
+
* Polling client for EigenFlux feed updates.
|
|
3
|
+
* Uses the eigenflux CLI (`eigenflux feed poll`) instead of direct HTTP calls.
|
|
3
4
|
*/
|
|
4
|
-
import { AuthState } from './credentials-loader';
|
|
5
5
|
import { Logger } from './logger';
|
|
6
|
+
export declare const POLL_INTERVAL_CONFIG_KEY = "feed_poll_interval";
|
|
7
|
+
export declare const DEFAULT_POLL_INTERVAL_SEC = 600;
|
|
8
|
+
export declare const MIN_POLL_INTERVAL_SEC = 10;
|
|
9
|
+
export declare const MAX_POLL_INTERVAL_SEC: number;
|
|
10
|
+
/**
|
|
11
|
+
* Reads the feed poll interval (in seconds) from the eigenflux CLI config
|
|
12
|
+
* (`eigenflux config get --key feed_poll_interval`). Values are stored as
|
|
13
|
+
* decimal-string seconds per the config KV conventions. Falls back to 600
|
|
14
|
+
* (10 minutes) when the key is unset, the value is invalid, out of the
|
|
15
|
+
* supported range [10s, 86400s], or the CLI call fails.
|
|
16
|
+
*/
|
|
17
|
+
export declare function readPollIntervalSec(eigenfluxBin: string, serverName: string, logger: Logger): Promise<number>;
|
|
6
18
|
export interface FeedItem {
|
|
7
19
|
item_id: string;
|
|
8
20
|
summary?: string;
|
|
@@ -20,29 +32,31 @@ export interface FeedNotification {
|
|
|
20
32
|
content: string;
|
|
21
33
|
created_at: number;
|
|
22
34
|
}
|
|
35
|
+
export interface FeedResponseData {
|
|
36
|
+
items: FeedItem[];
|
|
37
|
+
has_more: boolean;
|
|
38
|
+
notifications: FeedNotification[];
|
|
39
|
+
}
|
|
23
40
|
export interface FeedResponse {
|
|
24
41
|
code: number;
|
|
25
42
|
msg: string;
|
|
26
|
-
data:
|
|
27
|
-
items: FeedItem[];
|
|
28
|
-
has_more: boolean;
|
|
29
|
-
notifications: FeedNotification[];
|
|
30
|
-
};
|
|
43
|
+
data: FeedResponseData;
|
|
31
44
|
}
|
|
32
45
|
export interface PollingClientConfig {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
46
|
+
serverName: string;
|
|
47
|
+
eigenfluxBin: string;
|
|
48
|
+
/**
|
|
49
|
+
* Resolves the seconds to wait before the next poll. Invoked after every
|
|
50
|
+
* poll completes so the interval can be changed at runtime via the
|
|
51
|
+
* eigenflux CLI config (`pollInterval` key).
|
|
52
|
+
*/
|
|
53
|
+
resolvePollIntervalSec: () => Promise<number>;
|
|
36
54
|
logger: Logger;
|
|
37
55
|
onFeedPolled: (payload: FeedResponse) => Promise<void>;
|
|
38
56
|
onAuthRequired: (event: AuthRequiredEvent) => Promise<void>;
|
|
39
57
|
}
|
|
40
58
|
export interface AuthRequiredEvent {
|
|
41
|
-
reason: '
|
|
42
|
-
credentialsPath: string;
|
|
43
|
-
source?: 'file';
|
|
44
|
-
expiresAt?: number;
|
|
45
|
-
statusCode?: number;
|
|
59
|
+
reason: 'auth_required';
|
|
46
60
|
}
|
|
47
61
|
export type PollResult = {
|
|
48
62
|
kind: 'success';
|
|
@@ -60,15 +74,13 @@ export interface PollOnceOptions {
|
|
|
60
74
|
}
|
|
61
75
|
export declare class EigenFluxPollingClient {
|
|
62
76
|
private config;
|
|
63
|
-
private
|
|
77
|
+
private timeoutId;
|
|
64
78
|
private isRunning;
|
|
65
79
|
private activePoll;
|
|
66
80
|
constructor(config: PollingClientConfig);
|
|
67
81
|
start(): Promise<void>;
|
|
68
82
|
stop(): void;
|
|
83
|
+
private scheduleNext;
|
|
69
84
|
pollOnce(options?: PollOnceOptions): Promise<PollResult>;
|
|
70
|
-
private formatError;
|
|
71
|
-
private appendErrorSegment;
|
|
72
|
-
private errorMetadata;
|
|
73
85
|
}
|
|
74
86
|
//# sourceMappingURL=polling-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polling-client.d.ts","sourceRoot":"","sources":["../src/polling-client.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"polling-client.d.ts","sourceRoot":"","sources":["../src/polling-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAC7D,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAC7C,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC,eAAO,MAAM,qBAAqB,QAAe,CAAC;AAElD;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CAqCjB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,gBAAgB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,gBAAgB,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,sBAAsB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,cAAc,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,MAAM,MAAM,UAAU,GAClB;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,YAAY,CAAC;CACvB,GACD;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,SAAS,EAAE,iBAAiB,CAAC;CAC9B,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEN,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAoC;gBAE1C,MAAM,EAAE,mBAAmB;IAIjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB5B,IAAI,IAAI,IAAI;YAcE,YAAY;IAoCpB,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,UAAU,CAAC;CAsEnE"}
|