@aiassesstech/fleet-bus 0.1.9 → 0.2.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.
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @aiassesstech/fleet-bus — Per-Agent Circuit Breaker
3
+ *
4
+ * Prevents cascading failures by tracking per-agent delivery success/failure.
5
+ * When an agent's failure count exceeds the threshold, the circuit opens and
6
+ * rejects further sends for a cooldown period, then transitions to half-open
7
+ * to probe recovery.
8
+ *
9
+ * States:
10
+ * closed → Normal operation. Failures increment counter.
11
+ * open → Agent unreachable. All sends rejected immediately.
12
+ * half_open → Probing recovery. Limited attempts allowed.
13
+ */
14
+ import type { CircuitBreakerState, FleetAgentId } from './types.js';
15
+ export interface CircuitBreakerConfig {
16
+ failureThreshold: number;
17
+ resetTimeoutMs: number;
18
+ halfOpenMaxAttempts: number;
19
+ }
20
+ export declare class CircuitBreaker {
21
+ private readonly config;
22
+ private readonly breakers;
23
+ constructor(config?: Partial<CircuitBreakerConfig>);
24
+ private getOrCreate;
25
+ /**
26
+ * Check if a send to this agent is allowed.
27
+ * Transitions open → half_open when the cooldown has elapsed.
28
+ */
29
+ canSend(agentId: FleetAgentId): boolean;
30
+ /** Record a successful delivery. Resets the breaker to closed. */
31
+ recordSuccess(agentId: FleetAgentId): void;
32
+ /** Record a failed delivery. May trip the breaker to open. */
33
+ recordFailure(agentId: FleetAgentId): void;
34
+ getState(agentId: FleetAgentId): CircuitBreakerState;
35
+ getAllStates(): Record<string, CircuitBreakerState>;
36
+ reset(agentId: FleetAgentId): void;
37
+ resetAll(): void;
38
+ }
39
+ //# sourceMappingURL=circuit-breaker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circuit-breaker.d.ts","sourceRoot":"","sources":["../src/circuit-breaker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,mBAAmB,EAEnB,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAQD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgD;gBAE7D,MAAM,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC;IAIlD,OAAO,CAAC,WAAW;IAcnB;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAkBvC,kEAAkE;IAClE,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAS1C,8DAA8D;IAC9D,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAoB1C,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,mBAAmB;IAIpD,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAQnD,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAIlC,QAAQ,IAAI,IAAI;CAGjB"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * @aiassesstech/fleet-bus — Per-Agent Circuit Breaker
3
+ *
4
+ * Prevents cascading failures by tracking per-agent delivery success/failure.
5
+ * When an agent's failure count exceeds the threshold, the circuit opens and
6
+ * rejects further sends for a cooldown period, then transitions to half-open
7
+ * to probe recovery.
8
+ *
9
+ * States:
10
+ * closed → Normal operation. Failures increment counter.
11
+ * open → Agent unreachable. All sends rejected immediately.
12
+ * half_open → Probing recovery. Limited attempts allowed.
13
+ */
14
+ const DEFAULT_CONFIG = {
15
+ failureThreshold: 5,
16
+ resetTimeoutMs: 60_000,
17
+ halfOpenMaxAttempts: 2,
18
+ };
19
+ export class CircuitBreaker {
20
+ config;
21
+ breakers = new Map();
22
+ constructor(config) {
23
+ this.config = { ...DEFAULT_CONFIG, ...config };
24
+ }
25
+ getOrCreate(agentId) {
26
+ let state = this.breakers.get(agentId);
27
+ if (!state) {
28
+ state = {
29
+ state: 'closed',
30
+ failureCount: 0,
31
+ successCount: 0,
32
+ halfOpenAttempts: 0,
33
+ };
34
+ this.breakers.set(agentId, state);
35
+ }
36
+ return state;
37
+ }
38
+ /**
39
+ * Check if a send to this agent is allowed.
40
+ * Transitions open → half_open when the cooldown has elapsed.
41
+ */
42
+ canSend(agentId) {
43
+ const cb = this.getOrCreate(agentId);
44
+ if (cb.state === 'closed')
45
+ return true;
46
+ if (cb.state === 'open') {
47
+ if (cb.openedAt && Date.now() - new Date(cb.openedAt).getTime() >= this.config.resetTimeoutMs) {
48
+ cb.state = 'half_open';
49
+ cb.halfOpenAttempts = 0;
50
+ return true;
51
+ }
52
+ return false;
53
+ }
54
+ // half_open: allow limited probes
55
+ return cb.halfOpenAttempts < this.config.halfOpenMaxAttempts;
56
+ }
57
+ /** Record a successful delivery. Resets the breaker to closed. */
58
+ recordSuccess(agentId) {
59
+ const cb = this.getOrCreate(agentId);
60
+ cb.failureCount = 0;
61
+ cb.successCount++;
62
+ cb.state = 'closed';
63
+ cb.halfOpenAttempts = 0;
64
+ cb.openedAt = undefined;
65
+ }
66
+ /** Record a failed delivery. May trip the breaker to open. */
67
+ recordFailure(agentId) {
68
+ const cb = this.getOrCreate(agentId);
69
+ cb.failureCount++;
70
+ cb.lastFailureAt = new Date().toISOString();
71
+ if (cb.state === 'half_open') {
72
+ cb.halfOpenAttempts++;
73
+ if (cb.halfOpenAttempts >= this.config.halfOpenMaxAttempts) {
74
+ cb.state = 'open';
75
+ cb.openedAt = new Date().toISOString();
76
+ }
77
+ return;
78
+ }
79
+ if (cb.failureCount >= this.config.failureThreshold) {
80
+ cb.state = 'open';
81
+ cb.openedAt = new Date().toISOString();
82
+ }
83
+ }
84
+ getState(agentId) {
85
+ return { ...this.getOrCreate(agentId) };
86
+ }
87
+ getAllStates() {
88
+ const result = {};
89
+ for (const [id, state] of this.breakers) {
90
+ result[id] = { ...state };
91
+ }
92
+ return result;
93
+ }
94
+ reset(agentId) {
95
+ this.breakers.delete(agentId);
96
+ }
97
+ resetAll() {
98
+ this.breakers.clear();
99
+ }
100
+ }
101
+ //# sourceMappingURL=circuit-breaker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circuit-breaker.js","sourceRoot":"","sources":["../src/circuit-breaker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * @aiassesstech/fleet-bus — Delivery Queue with Retry & Dead Letter
3
+ *
4
+ * Provides at-least-once delivery guarantees for fleet messages.
5
+ *
6
+ * Flow:
7
+ * 1. enqueue() → message persisted to outbound queue as 'pending'
8
+ * 2. processQueue() → attempts delivery via transportSend
9
+ * 3. On success → status = 'delivered', removed from queue
10
+ * 4. On failure → exponential backoff, retry up to maxRetries
11
+ * 5. On exhaustion → moved to dead letter queue for inspection
12
+ *
13
+ * The queue is in-memory for Phase 2 (JSONL persistence planned for Phase 3).
14
+ * Circuit breaker integration prevents hammering unresponsive agents.
15
+ */
16
+ import type { FleetBus } from './bus.js';
17
+ import type { DeliveryConfig, DeliveryStats, FleetMessage, QueuedMessage, TransportConfig } from './types.js';
18
+ import { CircuitBreaker } from './circuit-breaker.js';
19
+ export declare class DeliveryQueue {
20
+ private readonly config;
21
+ private readonly circuitBreaker;
22
+ private readonly queue;
23
+ private readonly deadLetter;
24
+ private processingTimer;
25
+ private readonly logPrefix;
26
+ private totalRetries;
27
+ constructor(config?: Partial<DeliveryConfig>, logPrefix?: string);
28
+ /**
29
+ * Add a message to the outbound queue for guaranteed delivery.
30
+ * Returns the queued entry for tracking.
31
+ */
32
+ enqueue(message: FleetMessage): QueuedMessage;
33
+ /**
34
+ * Process all pending/retryable messages in the queue.
35
+ * Called by the delivery loop or manually.
36
+ */
37
+ processQueue(bus: FleetBus, transport: TransportConfig): Promise<{
38
+ delivered: number;
39
+ failed: number;
40
+ retried: number;
41
+ circuitOpen: number;
42
+ }>;
43
+ /** Returns true if the message was dead-lettered, false if queued for retry. */
44
+ private handleFailure;
45
+ private moveToDlq;
46
+ /**
47
+ * Start the automatic processing loop.
48
+ * Runs every `intervalMs` (default 5s).
49
+ */
50
+ startProcessingLoop(bus: FleetBus, transport: TransportConfig, intervalMs?: number): void;
51
+ stopProcessingLoop(): void;
52
+ getStats(): DeliveryStats;
53
+ getDeadLetterMessages(): QueuedMessage[];
54
+ /** Retry a specific dead-lettered message by moving it back to the queue. */
55
+ retryDeadLetter(messageId: string): boolean;
56
+ /** Retry all dead-lettered messages. */
57
+ retryAllDeadLetters(): number;
58
+ /** Purge all dead-lettered messages. */
59
+ purgeDeadLetters(): number;
60
+ getQueueSize(): number;
61
+ getCircuitBreaker(): CircuitBreaker;
62
+ destroy(): void;
63
+ }
64
+ //# sourceMappingURL=delivery-queue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery-queue.d.ts","sourceRoot":"","sources":["../src/delivery-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EAEb,YAAY,EAEZ,aAAa,EAEb,eAAe,EAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAA6B,MAAM,sBAAsB,CAAC;AAUjF,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyC;IAC/D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyC;IACpE,OAAO,CAAC,eAAe,CAA8C;IACrE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,YAAY,CAAK;gBAEb,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM;IAgBhE;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,aAAa;IAW7C;;;OAGG;IACG,YAAY,CAChB,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,eAAe,GACzB,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAkEvF,gFAAgF;IAChF,OAAO,CAAC,aAAa;IAiCrB,OAAO,CAAC,SAAS;IAoBjB;;;OAGG;IACH,mBAAmB,CACjB,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,eAAe,EAC1B,UAAU,SAAQ,GACjB,IAAI;IAoBP,kBAAkB,IAAI,IAAI;IAO1B,QAAQ,IAAI,aAAa;IAoBzB,qBAAqB,IAAI,aAAa,EAAE;IAIxC,6EAA6E;IAC7E,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAa3C,wCAAwC;IACxC,mBAAmB,IAAI,MAAM;IAQ7B,wCAAwC;IACxC,gBAAgB,IAAI,MAAM;IAM1B,YAAY,IAAI,MAAM;IAItB,iBAAiB,IAAI,cAAc;IAInC,OAAO,IAAI,IAAI;CAMhB"}
@@ -0,0 +1,249 @@
1
+ /**
2
+ * @aiassesstech/fleet-bus — Delivery Queue with Retry & Dead Letter
3
+ *
4
+ * Provides at-least-once delivery guarantees for fleet messages.
5
+ *
6
+ * Flow:
7
+ * 1. enqueue() → message persisted to outbound queue as 'pending'
8
+ * 2. processQueue() → attempts delivery via transportSend
9
+ * 3. On success → status = 'delivered', removed from queue
10
+ * 4. On failure → exponential backoff, retry up to maxRetries
11
+ * 5. On exhaustion → moved to dead letter queue for inspection
12
+ *
13
+ * The queue is in-memory for Phase 2 (JSONL persistence planned for Phase 3).
14
+ * Circuit breaker integration prevents hammering unresponsive agents.
15
+ */
16
+ import { transportSend } from './transport.js';
17
+ import { CircuitBreaker } from './circuit-breaker.js';
18
+ const DEFAULT_DELIVERY_CONFIG = {
19
+ maxRetries: 3,
20
+ baseDelayMs: 1_000,
21
+ maxDelayMs: 30_000,
22
+ backoffMultiplier: 2,
23
+ dlqMaxSize: 100,
24
+ };
25
+ export class DeliveryQueue {
26
+ config;
27
+ circuitBreaker;
28
+ queue = new Map();
29
+ deadLetter = new Map();
30
+ processingTimer = null;
31
+ logPrefix;
32
+ totalRetries = 0;
33
+ constructor(config, logPrefix) {
34
+ this.config = { ...DEFAULT_DELIVERY_CONFIG, ...config };
35
+ this.logPrefix = logPrefix ?? '[fleet-bus:delivery]';
36
+ const cbConfig = this.config.circuitBreaker
37
+ ? {
38
+ failureThreshold: this.config.circuitBreaker.failureThreshold,
39
+ resetTimeoutMs: this.config.circuitBreaker.resetTimeoutMs,
40
+ halfOpenMaxAttempts: this.config.circuitBreaker.halfOpenMaxAttempts,
41
+ }
42
+ : undefined;
43
+ this.circuitBreaker = new CircuitBreaker(cbConfig);
44
+ }
45
+ /**
46
+ * Add a message to the outbound queue for guaranteed delivery.
47
+ * Returns the queued entry for tracking.
48
+ */
49
+ enqueue(message) {
50
+ const entry = {
51
+ message,
52
+ status: 'pending',
53
+ attempts: 0,
54
+ firstAttemptAt: new Date().toISOString(),
55
+ };
56
+ this.queue.set(message.id, entry);
57
+ return entry;
58
+ }
59
+ /**
60
+ * Process all pending/retryable messages in the queue.
61
+ * Called by the delivery loop or manually.
62
+ */
63
+ async processQueue(bus, transport) {
64
+ let delivered = 0;
65
+ let failed = 0;
66
+ let retried = 0;
67
+ let circuitOpen = 0;
68
+ const now = Date.now();
69
+ const entries = Array.from(this.queue.values()).filter((e) => e.status === 'pending' || e.status === 'in_flight');
70
+ for (const entry of entries) {
71
+ if (entry.nextRetryAt && new Date(entry.nextRetryAt).getTime() > now) {
72
+ continue;
73
+ }
74
+ const targetAgent = entry.message.to;
75
+ if (targetAgent !== 'broadcast' && !this.circuitBreaker.canSend(targetAgent)) {
76
+ circuitOpen++;
77
+ continue;
78
+ }
79
+ entry.status = 'in_flight';
80
+ entry.lastAttemptAt = new Date().toISOString();
81
+ entry.attempts++;
82
+ try {
83
+ const result = await transportSend(entry.message, transport);
84
+ if (result.status === 'ok' || result.status === 'accepted') {
85
+ entry.status = 'delivered';
86
+ entry.deliveredAt = new Date().toISOString();
87
+ this.queue.delete(entry.message.id);
88
+ if (targetAgent !== 'broadcast') {
89
+ this.circuitBreaker.recordSuccess(targetAgent);
90
+ }
91
+ bus.audit('message_sent', 'delivered', {
92
+ message: entry.message,
93
+ durationMs: Date.now() - new Date(entry.lastAttemptAt).getTime(),
94
+ details: `delivered on attempt ${entry.attempts}${entry.attempts > 1 ? ` (${entry.attempts - 1} retries)` : ''}`,
95
+ });
96
+ delivered++;
97
+ }
98
+ else {
99
+ const deadLettered = this.handleFailure(entry, result, bus);
100
+ if (deadLettered)
101
+ failed++;
102
+ else
103
+ retried++;
104
+ }
105
+ }
106
+ catch (err) {
107
+ const errorMsg = err instanceof Error ? err.message : String(err);
108
+ const fakeResult = {
109
+ runId: '',
110
+ status: 'error',
111
+ error: errorMsg,
112
+ };
113
+ const deadLettered = this.handleFailure(entry, fakeResult, bus);
114
+ if (deadLettered)
115
+ failed++;
116
+ else
117
+ retried++;
118
+ }
119
+ }
120
+ return { delivered, failed, retried, circuitOpen };
121
+ }
122
+ /** Returns true if the message was dead-lettered, false if queued for retry. */
123
+ handleFailure(entry, result, bus) {
124
+ const targetAgent = entry.message.to;
125
+ entry.lastError = result.error ?? `status=${result.status}`;
126
+ if (targetAgent !== 'broadcast') {
127
+ this.circuitBreaker.recordFailure(targetAgent);
128
+ }
129
+ if (entry.attempts >= this.config.maxRetries) {
130
+ this.moveToDlq(entry, bus);
131
+ return true;
132
+ }
133
+ const delay = Math.min(this.config.baseDelayMs * Math.pow(this.config.backoffMultiplier, entry.attempts - 1), this.config.maxDelayMs);
134
+ entry.status = 'pending';
135
+ entry.nextRetryAt = new Date(Date.now() + delay).toISOString();
136
+ this.totalRetries++;
137
+ bus.audit('message_sent', 'queued', {
138
+ message: entry.message,
139
+ details: `retry ${entry.attempts}/${this.config.maxRetries}, next in ${delay}ms: ${entry.lastError}`,
140
+ });
141
+ return false;
142
+ }
143
+ moveToDlq(entry, bus) {
144
+ entry.status = 'dead_letter';
145
+ this.queue.delete(entry.message.id);
146
+ this.deadLetter.set(entry.message.id, entry);
147
+ if (this.deadLetter.size > this.config.dlqMaxSize) {
148
+ const oldest = this.deadLetter.keys().next().value;
149
+ if (oldest)
150
+ this.deadLetter.delete(oldest);
151
+ }
152
+ bus.audit('message_sent', 'error', {
153
+ message: entry.message,
154
+ details: `dead-lettered after ${entry.attempts} attempts: ${entry.lastError}`,
155
+ });
156
+ console.warn(`${this.logPrefix} Message ${entry.message.id} dead-lettered after ${entry.attempts} attempts → ${entry.message.to}:${entry.message.method}`);
157
+ }
158
+ /**
159
+ * Start the automatic processing loop.
160
+ * Runs every `intervalMs` (default 5s).
161
+ */
162
+ startProcessingLoop(bus, transport, intervalMs = 5_000) {
163
+ if (this.processingTimer)
164
+ return;
165
+ const tick = async () => {
166
+ if (this.queue.size === 0) {
167
+ this.processingTimer = setTimeout(tick, intervalMs);
168
+ return;
169
+ }
170
+ try {
171
+ await this.processQueue(bus, transport);
172
+ }
173
+ catch (err) {
174
+ console.warn(`${this.logPrefix} Processing loop error:`, err);
175
+ }
176
+ this.processingTimer = setTimeout(tick, intervalMs);
177
+ };
178
+ this.processingTimer = setTimeout(tick, intervalMs);
179
+ }
180
+ stopProcessingLoop() {
181
+ if (this.processingTimer) {
182
+ clearTimeout(this.processingTimer);
183
+ this.processingTimer = null;
184
+ }
185
+ }
186
+ getStats() {
187
+ let queued = 0;
188
+ let inFlight = 0;
189
+ let delivered = 0;
190
+ for (const entry of this.queue.values()) {
191
+ if (entry.status === 'pending')
192
+ queued++;
193
+ else if (entry.status === 'in_flight')
194
+ inFlight++;
195
+ }
196
+ return {
197
+ queued,
198
+ inFlight,
199
+ delivered,
200
+ deadLettered: this.deadLetter.size,
201
+ totalRetries: this.totalRetries,
202
+ circuitBreakers: this.circuitBreaker.getAllStates(),
203
+ };
204
+ }
205
+ getDeadLetterMessages() {
206
+ return Array.from(this.deadLetter.values());
207
+ }
208
+ /** Retry a specific dead-lettered message by moving it back to the queue. */
209
+ retryDeadLetter(messageId) {
210
+ const entry = this.deadLetter.get(messageId);
211
+ if (!entry)
212
+ return false;
213
+ entry.status = 'pending';
214
+ entry.attempts = 0;
215
+ entry.nextRetryAt = undefined;
216
+ entry.lastError = undefined;
217
+ this.deadLetter.delete(messageId);
218
+ this.queue.set(messageId, entry);
219
+ return true;
220
+ }
221
+ /** Retry all dead-lettered messages. */
222
+ retryAllDeadLetters() {
223
+ let count = 0;
224
+ for (const id of Array.from(this.deadLetter.keys())) {
225
+ if (this.retryDeadLetter(id))
226
+ count++;
227
+ }
228
+ return count;
229
+ }
230
+ /** Purge all dead-lettered messages. */
231
+ purgeDeadLetters() {
232
+ const count = this.deadLetter.size;
233
+ this.deadLetter.clear();
234
+ return count;
235
+ }
236
+ getQueueSize() {
237
+ return this.queue.size;
238
+ }
239
+ getCircuitBreaker() {
240
+ return this.circuitBreaker;
241
+ }
242
+ destroy() {
243
+ this.stopProcessingLoop();
244
+ this.queue.clear();
245
+ this.deadLetter.clear();
246
+ this.circuitBreaker.resetAll();
247
+ }
248
+ }
249
+ //# sourceMappingURL=delivery-queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery-queue.js","sourceRoot":"","sources":["../src/delivery-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAW/C,OAAO,EAAE,cAAc,EAA6B,MAAM,sBAAsB,CAAC;AAEjF,MAAM,uBAAuB,GAAmB;IAC9C,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,MAAM;IAClB,iBAAiB,EAAE,CAAC;IACpB,UAAU,EAAE,GAAG;CAChB,CAAC;AAEF,MAAM,OAAO,aAAa;IACP,MAAM,CAAiB;IACvB,cAAc,CAAiB;IAC/B,KAAK,GAA+B,IAAI,GAAG,EAAE,CAAC;IAC9C,UAAU,GAA+B,IAAI,GAAG,EAAE,CAAC;IAC5D,eAAe,GAAyC,IAAI,CAAC;IACpD,SAAS,CAAS;IAC3B,YAAY,GAAG,CAAC,CAAC;IAEzB,YAAY,MAAgC,EAAE,SAAkB;QAC9D,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,uBAAuB,EAAE,GAAG,MAAM,EAAE,CAAC;QACxD,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,sBAAsB,CAAC;QAErD,MAAM,QAAQ,GACZ,IAAI,CAAC,MAAM,CAAC,cAAc;YACxB,CAAC,CAAC;gBACE,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,gBAAgB;gBAC7D,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,cAAc;gBACzD,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,mBAAmB;aACpE;YACH,CAAC,CAAC,SAAS,CAAC;QAEhB,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,OAAqB;QAC3B,MAAM,KAAK,GAAkB;YAC3B,OAAO;YACP,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,CAAC;YACX,cAAc,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACzC,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAChB,GAAa,EACb,SAA0B;QAE1B,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CACpD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,CAC1D,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,WAAW,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC;gBACrE,SAAS;YACX,CAAC;YAED,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,IAAI,WAAW,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,WAA2B,CAAC,EAAE,CAAC;gBAC7F,WAAW,EAAE,CAAC;gBACd,SAAS;YACX,CAAC;YAED,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;YAC3B,KAAK,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC/C,KAAK,CAAC,QAAQ,EAAE,CAAC;YAEjB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAE7D,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;oBAC3D,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;oBAC3B,KAAK,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBAC7C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBAEpC,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;wBAChC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,WAA2B,CAAC,CAAC;oBACjE,CAAC;oBAED,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,WAAW,EAAE;wBACrC,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,aAAc,CAAC,CAAC,OAAO,EAAE;wBACjE,OAAO,EAAE,wBAAwB,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,QAAQ,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;qBACjH,CAAC,CAAC;oBAEH,SAAS,EAAE,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACN,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;oBAC5D,IAAI,YAAY;wBAAE,MAAM,EAAE,CAAC;;wBACtB,OAAO,EAAE,CAAC;gBACjB,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,QAAQ,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAClE,MAAM,UAAU,GAAuB;oBACrC,KAAK,EAAE,EAAE;oBACT,MAAM,EAAE,OAAO;oBACf,KAAK,EAAE,QAAQ;iBAChB,CAAC;gBACF,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;gBAChE,IAAI,YAAY;oBAAE,MAAM,EAAE,CAAC;;oBACtB,OAAO,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IACrD,CAAC;IAED,gFAAgF;IACxE,aAAa,CACnB,KAAoB,EACpB,MAA0B,EAC1B,GAAa;QAEb,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,IAAI,UAAU,MAAM,CAAC,MAAM,EAAE,CAAC;QAE5D,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;YAChC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,WAA2B,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC7C,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,EACrF,IAAI,CAAC,MAAM,CAAC,UAAU,CACvB,CAAC;QACF,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;QACzB,KAAK,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/D,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,EAAE;YAClC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,SAAS,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,aAAa,KAAK,OAAO,KAAK,CAAC,SAAS,EAAE;SACrG,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,SAAS,CAAC,KAAoB,EAAE,GAAa;QACnD,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAE7C,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YACnD,IAAI,MAAM;gBAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QAED,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE;YACjC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,uBAAuB,KAAK,CAAC,QAAQ,cAAc,KAAK,CAAC,SAAS,EAAE;SAC9E,CAAC,CAAC;QAEH,OAAO,CAAC,IAAI,CACV,GAAG,IAAI,CAAC,SAAS,YAAY,KAAK,CAAC,OAAO,CAAC,EAAE,wBAAwB,KAAK,CAAC,QAAQ,eAAe,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAC7I,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,mBAAmB,CACjB,GAAa,EACb,SAA0B,EAC1B,UAAU,GAAG,KAAK;QAElB,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO;QAEjC,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;YACrC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBACpD,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,yBAAyB,EAAE,GAAG,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACtD,CAAC,CAAC;QAEF,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACtD,CAAC;IAED,kBAAkB;QAChB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,QAAQ;QACN,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACxC,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;gBAAE,MAAM,EAAE,CAAC;iBACpC,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW;gBAAE,QAAQ,EAAE,CAAC;QACpD,CAAC;QAED,OAAO;YACL,MAAM;YACN,QAAQ;YACR,SAAS;YACT,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI;YAClC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;SACpD,CAAC;IACJ,CAAC;IAED,qBAAqB;QACnB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,6EAA6E;IAC7E,eAAe,CAAC,SAAiB;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAEzB,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;QACzB,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;QACnB,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC;QAC9B,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wCAAwC;IACxC,mBAAmB;QACjB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACpD,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;gBAAE,KAAK,EAAE,CAAC;QACxC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wCAAwC;IACxC,gBAAgB;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -26,13 +26,16 @@ export { createFleetMessage, serializeForTransport, deserializeFromTransport, is
26
26
  export { fleetSend } from './send.js';
27
27
  export { fleetReceive } from './receive.js';
28
28
  export { resolveCallGateway, wrapCallGateway, createTransport } from './gateway-client.js';
29
+ export { CircuitBreaker } from './circuit-breaker.js';
30
+ export { DeliveryQueue } from './delivery-queue.js';
29
31
  export { createJessieFleetTools, createGrilloFleetTools, createNoahFleetTools, createNoleFleetTools, createMarkFleetTools, } from './fleet-tools.js';
30
32
  export type { FleetToolDefinition } from './fleet-tools.js';
31
33
  export type { MemoryWriterLike } from './audit-memory.js';
32
34
  export type { ChainState, AuditWriterConfig } from './audit.js';
33
35
  export type { FleetSendOptions } from './send.js';
34
36
  export type { FleetReceiveOptions } from './receive.js';
35
- export type { FleetMessage, FleetMethod, FleetAgentId, FleetBusConfig, FleetEvent, AgentCard, AgentRole, AgentSkill, AgentStatus, AuthLevel, CommunicationMode, RoutingConstraint, RoutingRule, RoutingDecision, AuditEvent, AuditEventType, OpenClawPluginApi, AssessmentRequestParams, AssessmentResultParams, AssessmentFailedParams, VetoIssueParams, VetoResponseParams, TaskAssignParams, TaskStatusParams, TaskCompleteParams, DriftAlertParams, DriftReportParams, HealthAlertParams, HealthStatusParams, HealthIncidentParams, FleetPingParams, FleetPongParams, FleetBroadcastParams, ProposalSubmitParams, ProposalDecisionParams, GatewayCallOptions, GatewayAgentResult, CallGatewayFn, SendResult, FleetMessageHandler, TransportConfig, } from './types.js';
37
+ export type { CircuitBreakerConfig } from './circuit-breaker.js';
38
+ export type { FleetMessage, FleetMethod, FleetAgentId, FleetBusConfig, FleetEvent, AgentCard, AgentRole, AgentSkill, AgentStatus, AuthLevel, CommunicationMode, RoutingConstraint, RoutingRule, RoutingDecision, AuditEvent, AuditEventType, OpenClawPluginApi, AssessmentRequestParams, AssessmentResultParams, AssessmentFailedParams, VetoIssueParams, VetoResponseParams, TaskAssignParams, TaskStatusParams, TaskCompleteParams, DriftAlertParams, DriftReportParams, HealthAlertParams, HealthStatusParams, HealthIncidentParams, FleetPingParams, FleetPongParams, FleetBroadcastParams, ProposalSubmitParams, ProposalDecisionParams, GatewayCallOptions, GatewayAgentResult, CallGatewayFn, SendResult, FleetMessageHandler, TransportConfig, DeliveryConfig, QueuedMessage, QueuedMessageStatus, CircuitBreakerState, CircuitState, DeliveryStats, } from './types.js';
36
39
  export { FLEET_AGENT_IDS } from './types.js';
37
40
  export { GRILLO_CARD, JESSIE_CARD, NOAH_CARD, NOLE_CARD, MIGHTY_MARK_CARD, SAM_CARD, } from './fleet-cards.js';
38
41
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACpH,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACzJ,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAChE,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,YAAY,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,cAAc,EACd,UAAU,EACV,SAAS,EACT,SAAS,EACT,UAAU,EACV,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,QAAQ,GACT,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACpH,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACzJ,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAChE,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,YAAY,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,cAAc,EACd,UAAU,EACV,SAAS,EACT,SAAS,EACT,UAAU,EACV,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,QAAQ,GACT,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -26,6 +26,8 @@ export { createFleetMessage, serializeForTransport, deserializeFromTransport, is
26
26
  export { fleetSend } from './send.js';
27
27
  export { fleetReceive } from './receive.js';
28
28
  export { resolveCallGateway, wrapCallGateway, createTransport } from './gateway-client.js';
29
+ export { CircuitBreaker } from './circuit-breaker.js';
30
+ export { DeliveryQueue } from './delivery-queue.js';
29
31
  export { createJessieFleetTools, createGrilloFleetTools, createNoahFleetTools, createNoleFleetTools, createMarkFleetTools, } from './fleet-tools.js';
30
32
  export { FLEET_AGENT_IDS } from './types.js';
31
33
  export { GRILLO_CARD, JESSIE_CARD, NOAH_CARD, NOLE_CARD, MIGHTY_MARK_CARD, SAM_CARD, } from './fleet-cards.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACpH,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACzJ,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAoD1B,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,QAAQ,GACT,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACpH,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACzJ,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AA4D1B,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,QAAQ,GACT,MAAM,kBAAkB,CAAC"}
package/dist/send.d.ts CHANGED
@@ -14,6 +14,7 @@
14
14
  * });
15
15
  */
16
16
  import type { FleetBus } from './bus.js';
17
+ import type { DeliveryQueue } from './delivery-queue.js';
17
18
  import type { FleetAgentId, FleetMethod, SendResult, TransportConfig } from './types.js';
18
19
  export interface FleetSendOptions<T = unknown> {
19
20
  to: FleetAgentId | 'broadcast';
@@ -22,6 +23,8 @@ export interface FleetSendOptions<T = unknown> {
22
23
  correlationId?: string;
23
24
  timeoutMs?: number;
24
25
  fireAndForget?: boolean;
26
+ /** Opt-in: route through delivery queue for retry + DLQ guarantees. */
27
+ deliveryQueue?: DeliveryQueue;
25
28
  }
26
29
  /**
27
30
  * Send a typed fleet message with routing enforcement and audit.
@@ -1 +1 @@
1
- {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../src/send.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,KAAK,EACV,YAAY,EAEZ,WAAW,EACX,UAAU,EACV,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,OAAO;IAC3C,EAAE,EAAE,YAAY,GAAG,WAAW,CAAC;IAC/B,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC;IACV,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAAC,CAAC,GAAG,OAAO,EACzC,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAC3B,OAAO,CAAC,UAAU,CAAC,CAqIrB"}
1
+ {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../src/send.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EACV,YAAY,EAEZ,WAAW,EACX,UAAU,EACV,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,OAAO;IAC3C,EAAE,EAAE,YAAY,GAAG,WAAW,CAAC;IAC/B,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC;IACV,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uEAAuE;IACvE,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAAC,CAAC,GAAG,OAAO,EACzC,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAC3B,OAAO,CAAC,UAAU,CAAC,CAkKrB"}
package/dist/send.js CHANGED
@@ -88,6 +88,32 @@ export async function fleetSend(bus, transport, options) {
88
88
  return result;
89
89
  }
90
90
  }
91
+ if (options.deliveryQueue) {
92
+ const cb = options.deliveryQueue.getCircuitBreaker();
93
+ if (options.to !== 'broadcast' && !cb.canSend(options.to)) {
94
+ bus.audit('message_rejected', 'rejected', {
95
+ message,
96
+ routingDecision: `circuit_open: ${options.to}`,
97
+ });
98
+ return {
99
+ success: false,
100
+ status: 'error',
101
+ error: `Circuit breaker open for agent "${options.to}" — too many recent failures`,
102
+ durationMs: Date.now() - startMs,
103
+ };
104
+ }
105
+ const queued = options.deliveryQueue.enqueue(message);
106
+ bus.audit('message_sent', 'queued', {
107
+ message,
108
+ details: 'enqueued for guaranteed delivery',
109
+ });
110
+ return {
111
+ success: true,
112
+ status: 'accepted',
113
+ auditEventId: queued.message.id,
114
+ durationMs: Date.now() - startMs,
115
+ };
116
+ }
91
117
  try {
92
118
  const transportConfig = {
93
119
  ...transport,
package/dist/send.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"send.js","sourceRoot":"","sources":["../src/send.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"send.js","sourceRoot":"","sources":["../src/send.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -286,4 +286,44 @@ export interface TransportConfig {
286
286
  };
287
287
  };
288
288
  }
289
+ export interface DeliveryConfig {
290
+ maxRetries: number;
291
+ baseDelayMs: number;
292
+ maxDelayMs: number;
293
+ backoffMultiplier: number;
294
+ dlqMaxSize: number;
295
+ circuitBreaker?: {
296
+ failureThreshold: number;
297
+ resetTimeoutMs: number;
298
+ halfOpenMaxAttempts: number;
299
+ };
300
+ }
301
+ export type QueuedMessageStatus = 'pending' | 'in_flight' | 'delivered' | 'dead_letter';
302
+ export interface QueuedMessage {
303
+ message: FleetMessage;
304
+ status: QueuedMessageStatus;
305
+ attempts: number;
306
+ firstAttemptAt: string;
307
+ lastAttemptAt?: string;
308
+ nextRetryAt?: string;
309
+ lastError?: string;
310
+ deliveredAt?: string;
311
+ }
312
+ export type CircuitState = 'closed' | 'open' | 'half_open';
313
+ export interface CircuitBreakerState {
314
+ state: CircuitState;
315
+ failureCount: number;
316
+ successCount: number;
317
+ lastFailureAt?: string;
318
+ openedAt?: string;
319
+ halfOpenAttempts: number;
320
+ }
321
+ export interface DeliveryStats {
322
+ queued: number;
323
+ inFlight: number;
324
+ delivered: number;
325
+ deadLettered: number;
326
+ totalRetries: number;
327
+ circuitBreakers: Record<string, CircuitBreakerState>;
328
+ }
289
329
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aiassesstech/fleet-bus",
3
- "version": "0.1.9",
3
+ "version": "0.2.0",
4
4
  "description": "Fleet communication infrastructure for AI Assess Tech governance agents — typed messaging, routing rules, audit trail, Agent Cards.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",