summaryrefslogtreecommitdiffhomepage
path: root/packages/message-queue/src/service.ts
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-26 22:03:19 +0900
committerAdam Malczewski <[email protected]>2026-06-26 22:23:39 +0900
commit727c98c9dae516a2070eb950410314380a20c974 (patch)
tree52aa1022c54f11770be7e4e2a324f0a8b8b8deec /packages/message-queue/src/service.ts
parente59dc11f63b1df51142259bb2c406af8c9c8c2bb (diff)
downloaddispatch-727c98c9dae516a2070eb950410314380a20c974.tar.gz
dispatch-727c98c9dae516a2070eb950410314380a20c974.zip
style: switch from tabs to 2-space indentation
Diffstat (limited to 'packages/message-queue/src/service.ts')
-rw-r--r--packages/message-queue/src/service.ts94
1 files changed, 47 insertions, 47 deletions
diff --git a/packages/message-queue/src/service.ts b/packages/message-queue/src/service.ts
index 91d0fc5..97e270d 100644
--- a/packages/message-queue/src/service.ts
+++ b/packages/message-queue/src/service.ts
@@ -18,17 +18,17 @@ import { drain as drainQueue, enqueue as enqueueMessage, getQueue as readQueue }
* `host.getService(messageQueueHandle)`.
*/
export interface MessageQueueService {
- /** Append a message; return the CURRENT queue snapshot (post-append). */
- enqueue(conversationId: string, text: string): QueuedMessage[];
- /** Current queue snapshot (empty array if none / unknown conversation). */
- getQueue(conversationId: string): QueuedMessage[];
- /**
- * Drain: return all queued messages, CLEAR the queue, and push a surface
- * update (empty). Returns the raw `QueuedMessage[]` (NOT a ChatMessage —
- * the caller combines + builds the ChatMessage). Empty array if the queue
- * was empty (and then NO surface update is pushed — no change).
- */
- drain(conversationId: string): QueuedMessage[];
+ /** Append a message; return the CURRENT queue snapshot (post-append). */
+ enqueue(conversationId: string, text: string): QueuedMessage[];
+ /** Current queue snapshot (empty array if none / unknown conversation). */
+ getQueue(conversationId: string): QueuedMessage[];
+ /**
+ * Drain: return all queued messages, CLEAR the queue, and push a surface
+ * update (empty). Returns the raw `QueuedMessage[]` (NOT a ChatMessage —
+ * the caller combines + builds the ChatMessage). Empty array if the queue
+ * was empty (and then NO surface update is pushed — no change).
+ */
+ drain(conversationId: string): QueuedMessage[];
}
/**
@@ -36,19 +36,19 @@ export interface MessageQueueService {
* session-orchestrator imports to reach the queue — no string-keyed lookup.
*/
export const messageQueueHandle: ServiceHandle<MessageQueueService> =
- defineService<MessageQueueService>("message-queue");
+ defineService<MessageQueueService>("message-queue");
/** Deps for the service shell — the pure core's deps plus the surface notifier. */
export interface MessageQueueDeps extends QueueDeps {
- /**
- * Notify the surface-registry that the queue changed, so the transport
- * re-fetches + pushes a full new SurfaceUpdate. Called ONLY on a real
- * change (enqueue → grew; drain-non-empty → emptied); a no-op drain of an
- * already-empty queue does NOT notify (no change → no surface push).
- */
- readonly notify: () => void;
- /** Injected host logger (optional in tests). Logs counts/lengths at debug, never bodies. */
- readonly logger?: Logger;
+ /**
+ * Notify the surface-registry that the queue changed, so the transport
+ * re-fetches + pushes a full new SurfaceUpdate. Called ONLY on a real
+ * change (enqueue → grew; drain-non-empty → emptied); a no-op drain of an
+ * already-empty queue does NOT notify (no change → no surface push).
+ */
+ readonly notify: () => void;
+ /** Injected host logger (optional in tests). Logs counts/lengths at debug, never bodies. */
+ readonly logger?: Logger;
}
/**
@@ -58,31 +58,31 @@ export interface MessageQueueDeps extends QueueDeps {
* in this closure, reachable only through the returned service.
*/
export function createMessageQueueService(deps: MessageQueueDeps): MessageQueueService {
- const state: MessageQueueState = new Map();
+ const state: MessageQueueState = new Map();
- return {
- enqueue(conversationId, text) {
- const snapshot = enqueueMessage(state, conversationId, text, deps);
- deps.logger?.debug("message-queue: enqueued", {
- conversationId,
- queueLen: snapshot.length,
- textLen: text.length,
- });
- deps.notify();
- return snapshot;
- },
- getQueue(conversationId) {
- return readQueue(state, conversationId);
- },
- drain(conversationId) {
- const drained = drainQueue(state, conversationId);
- if (drained.length === 0) return drained;
- deps.logger?.debug("message-queue: drained", {
- conversationId,
- count: drained.length,
- });
- deps.notify();
- return drained;
- },
- };
+ return {
+ enqueue(conversationId, text) {
+ const snapshot = enqueueMessage(state, conversationId, text, deps);
+ deps.logger?.debug("message-queue: enqueued", {
+ conversationId,
+ queueLen: snapshot.length,
+ textLen: text.length,
+ });
+ deps.notify();
+ return snapshot;
+ },
+ getQueue(conversationId) {
+ return readQueue(state, conversationId);
+ },
+ drain(conversationId) {
+ const drained = drainQueue(state, conversationId);
+ if (drained.length === 0) return drained;
+ deps.logger?.debug("message-queue: drained", {
+ conversationId,
+ count: drained.length,
+ });
+ deps.notify();
+ return drained;
+ },
+ };
}