@stratusagent/gateway 0.12.1 → 0.12.2

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/index.d.ts CHANGED
@@ -304,12 +304,23 @@ export interface GatewaySkill {
304
304
  }
305
305
  /** What a turn cut short by an announced restart records as its failure. */
306
306
  export declare const RESTARTING_TURN_ERROR = "Run aborted: stratusd is restarting";
307
+ /** The error a turn still running when a stop's drain window closes is aborted with. */
308
+ export declare const STOPPING_TURN_ERROR = "Run aborted: stratusd is stopping";
307
309
  /**
308
310
  * How long an announced restart lets in-flight turns finish before aborting
309
- * them. Matches the systemd unit's `TimeoutStopSec`, so the two windows an
310
- * operator can hit agree.
311
+ * them. The same as a stop's window (`DEFAULT_STOP_DRAIN_TIMEOUT_MS`), so the
312
+ * two windows an operator can hit agree.
311
313
  */
312
314
  export declare const DEFAULT_RESTART_DRAIN_TIMEOUT_MS = 30000;
315
+ /**
316
+ * How long a stop lets in-flight turns finish before aborting them. The
317
+ * daemon's documented drain ("up to 30 seconds"), and shorter than the
318
+ * service units' stop timeouts, so the abort happens in this process
319
+ * rather than as the manager's SIGKILL. That matters beyond the turn's
320
+ * record: a shell command runs in its own process group, which launchd's
321
+ * kill of the job does not reach, so only the turn's abort stops it.
322
+ */
323
+ export declare const DEFAULT_STOP_DRAIN_TIMEOUT_MS = 30000;
313
324
  export interface RestartRequest {
314
325
  /** Why, for the log — "plugin stratus-plugin-github enabled". */
315
326
  reason?: string;
@@ -549,6 +560,8 @@ export interface GatewayOptions {
549
560
  onPromoted?: () => Promise<void>;
550
561
  /** The drain window a `restart()` uses when the request names none. Default 30s. */
551
562
  restartDrainTimeoutMs?: number;
563
+ /** The drain window a `stop()` uses. Default 30s; see `DEFAULT_STOP_DRAIN_TIMEOUT_MS`. */
564
+ stopDrainTimeoutMs?: number;
552
565
  log?: (line: string) => void;
553
566
  warn?: (line: string) => void;
554
567
  }
@@ -635,6 +648,25 @@ export interface DispatchInput {
635
648
  * rendering it.
636
649
  */
637
650
  onRepeat?: (repeat: 'live' | 'finished') => void;
651
+ /**
652
+ * Opts this dispatch into merged turns. A message that arrives while the
653
+ * session's turn is running is not given a turn of its own: every
654
+ * opted-in, addressed dispatch queued by the time that turn ends is
655
+ * answered by ONE next turn, its messages joined in arrival order in one
656
+ * user message (`Message.absorbedKeys` keeps each one's key, so a repeat
657
+ * is that turn). No delay is added; the batch is whatever queued.
658
+ *
659
+ * The first queued dispatch leads: its `turnId` stamps the merged turn's
660
+ * events, and it resolves as any dispatch does. Each later one is
661
+ * absorbed — called here, before it resolves (or rejects) with the same
662
+ * outcome — and, like a `live` repeat, posts nothing of its own: the
663
+ * leader's caller renders the answer. A caller that cannot withdraw what
664
+ * it put up leaves this unset and keeps one turn per dispatch.
665
+ *
666
+ * The merged turn runs at the least trusted sender in it. A turn nobody
667
+ * asked for (`addressed: false`) is never merged.
668
+ */
669
+ onAbsorbed?: () => void;
638
670
  }
639
671
  export interface ObserveInput {
640
672
  sessionId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -9,7 +9,7 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
9
9
  import { createHash, randomBytes, randomUUID } from 'node:crypto';
10
10
  import { mkdir, readFile, rename, rm, writeFile } from 'node:fs/promises';
11
11
  import path from 'node:path';
12
- import { filePathsOf, isUnaddressedTurn, workItemState, lastResponseIsAnswer, MAX_IDEMPOTENCY_KEY_LENGTH, recordTurnFailure, completeAnsweredTurn, abortErrorFor, AgentRegistry, AgentRunner, ChannelRegistry, ContributionRegistry, createRoutedMemoryStore, EventBus, RunAbortedError, SkillRegistry, ToolRegistry, createSkillReadTool, missingSkillRequirements, describeToolAllowlistFinding, unmatchedToolAllowlist, CONTEXT_FLOOR_METADATA_KEY, PENDING_APPROVAL_METADATA_KEY, SESSION_TAINTED_BY_METADATA_KEY, SESSION_TRUST_METADATA_KEY, latestTurnReply, readPendingApproval, conversationContextFrom, CONVERSATION_METADATA_KEY, STRATUS_SKILL_ID, matchesToolAllowlist, } from '@stratusagent/core';
12
+ import { filePathsOf, isUnaddressedTurn, carriesKey, leastTrusted, senderTrustOf, SENDER_TRUST_METADATA_KEY, workItemState, lastResponseIsAnswer, MAX_IDEMPOTENCY_KEY_LENGTH, recordTurnFailure, completeAnsweredTurn, abortErrorFor, AgentRegistry, AgentRunner, ChannelRegistry, ContributionRegistry, createRoutedMemoryStore, EventBus, RunAbortedError, SkillRegistry, ToolRegistry, createSkillReadTool, missingSkillRequirements, describeToolAllowlistFinding, unmatchedToolAllowlist, CONTEXT_FLOOR_METADATA_KEY, PENDING_APPROVAL_METADATA_KEY, SESSION_TAINTED_BY_METADATA_KEY, SESSION_TRUST_METADATA_KEY, latestTurnReply, readPendingApproval, conversationContextFrom, CONVERSATION_METADATA_KEY, STRATUS_SKILL_ID, imagesWithinReplayBudget, matchesToolAllowlist, } from '@stratusagent/core';
13
13
  import { CREDENTIAL_REQUEST_TOOL_NAME, createCredentialRequestTool, createDelegateTool, createForgetTool, createPinTool, createMessageSendTool, createMessageReadTool, createRecallTool, createRememberTool, createScheduleTools, DELEGATED_BY_METADATA_KEY, DELEGATION_DEPTH_METADATA_KEY, delegatingSessionIdOf, isDelegatedSession, outstandingDelegationFor, ROOT_SESSION_ID_METADATA_KEY, SCHEDULE_ID_METADATA_KEY, SCHEDULED_TURN_METADATA_KEY, withoutDelegation, loadStratusSkill, STRATUS_SKILL_PATH, } from '@stratusagent/agents';
14
14
  import { createSchedulerRuntime, isScheduleSessionId, SqliteScheduleStore, SCHEDULE_SESSION_ID_PREFIX, } from "./schedules.js";
15
15
  import { ShardedSessionStore } from "./sessions.js";
@@ -44,12 +44,23 @@ const MAX_TIMER_DELAY_MS = 2_147_483_647;
44
44
  export { applySoulPins } from '@stratusagent/state';
45
45
  /** What a turn cut short by an announced restart records as its failure. */
46
46
  export const RESTARTING_TURN_ERROR = 'Run aborted: stratusd is restarting';
47
+ /** The error a turn still running when a stop's drain window closes is aborted with. */
48
+ export const STOPPING_TURN_ERROR = 'Run aborted: stratusd is stopping';
47
49
  /**
48
50
  * How long an announced restart lets in-flight turns finish before aborting
49
- * them. Matches the systemd unit's `TimeoutStopSec`, so the two windows an
50
- * operator can hit agree.
51
+ * them. The same as a stop's window (`DEFAULT_STOP_DRAIN_TIMEOUT_MS`), so the
52
+ * two windows an operator can hit agree.
51
53
  */
52
54
  export const DEFAULT_RESTART_DRAIN_TIMEOUT_MS = 30_000;
55
+ /**
56
+ * How long a stop lets in-flight turns finish before aborting them. The
57
+ * daemon's documented drain ("up to 30 seconds"), and shorter than the
58
+ * service units' stop timeouts, so the abort happens in this process
59
+ * rather than as the manager's SIGKILL. That matters beyond the turn's
60
+ * record: a shell command runs in its own process group, which launchd's
61
+ * kill of the job does not reach, so only the turn's abort stops it.
62
+ */
63
+ export const DEFAULT_STOP_DRAIN_TIMEOUT_MS = 30_000;
53
64
  /** What a paused daemon says when nobody gave it a sentence of its own. */
54
65
  export const DEFAULT_PAUSED_MESSAGE = "I'm paused right now and not taking new work. Please try again later.";
55
66
  /** What a held gateway answers a dispatch with, before it is promoted. */
@@ -148,6 +159,38 @@ export class RestartUnsupportedError extends Error {
148
159
  this.name = 'RestartUnsupportedError';
149
160
  }
150
161
  }
162
+ /**
163
+ * The most text one merged user message may hold (card 423). The runner's
164
+ * overflow recovery can drop earlier transcript but never part of the
165
+ * newest message, so a batch must not grow that message past what one
166
+ * message could be on its own: this is Slack's own message-length limit.
167
+ * A single message longer than this still runs, alone, as it would have
168
+ * without merging.
169
+ */
170
+ const MERGED_TEXT_BUDGET_CHARS = 40_000;
171
+ /** Separator between merged messages; counted against the text budget. */
172
+ const MERGED_SEPARATOR = '\n\n';
173
+ /**
174
+ * Whether `images` all fit the replay budget together. A merged turn's
175
+ * images are one message's, and the runner empties whatever falls outside
176
+ * the budget before the provider sees it, so a batch that would overflow
177
+ * must not take the message that overflows it (card 423).
178
+ */
179
+ const fitsReplayBudget = (images) => images.length === 0 || imagesWithinReplayBudget([{ id: '', createdAt: '', role: 'user', content: '', images: [...images] }]).size === images.length;
180
+ /** A signal that aborts once every one of `signals` has. */
181
+ const allAborted = (signals) => {
182
+ const controller = new AbortController();
183
+ const check = () => {
184
+ if (!controller.signal.aborted && signals.every((signal) => signal.aborted)) {
185
+ controller.abort(signals[signals.length - 1]?.reason);
186
+ }
187
+ };
188
+ for (const signal of signals) {
189
+ signal.addEventListener('abort', check, { once: true });
190
+ }
191
+ check();
192
+ return controller.signal;
193
+ };
151
194
  /**
152
195
  * Recorded on a turn the previous process was still running when it died.
153
196
  *
@@ -1562,8 +1605,8 @@ export const createGateway = (options = {}) => {
1562
1605
  // announced restart must be able to cut short at the window.
1563
1606
  const idle = new AbortController();
1564
1607
  turnControllers.add(idle);
1565
- if (abortingTurns) {
1566
- idle.abort(new RunAbortedError(RESTARTING_TURN_ERROR));
1608
+ if (abortingWith !== undefined) {
1609
+ idle.abort(new RunAbortedError(abortingWith));
1567
1610
  }
1568
1611
  try {
1569
1612
  return await run(idle.signal);
@@ -1574,8 +1617,8 @@ export const createGateway = (options = {}) => {
1574
1617
  }
1575
1618
  const controller = new AbortController();
1576
1619
  turnControllers.add(controller);
1577
- if (abortingTurns) {
1578
- controller.abort(new RunAbortedError(RESTARTING_TURN_ERROR));
1620
+ if (abortingWith !== undefined) {
1621
+ controller.abort(new RunAbortedError(abortingWith));
1579
1622
  }
1580
1623
  // The external reason travels: a caller that aborted with its own
1581
1624
  // `RunAbortedError` gets it recorded on the session, like the watchdog's.
@@ -1773,14 +1816,15 @@ export const createGateway = (options = {}) => {
1773
1816
  */
1774
1817
  const turnControllers = new Set();
1775
1818
  /**
1776
- * Set once a restart's window has closed and the turns in it were
1777
- * aborted. A turn that starts after that — one queued behind the
1778
- * aborted turn on the same session, accepted before the announcement —
1779
- * is aborted the moment it gets its controller, with the same reason,
1780
- * rather than running unseen until the shutdown closes the store under
1781
- * it and leaves it recorded as nothing at all.
1819
+ * Set once a restart's or a stop's window has closed and the turns in it
1820
+ * were aborted, to the reason they were aborted with. A turn that starts
1821
+ * after that — one queued behind the aborted turn on the same session,
1822
+ * accepted before the announcement — is aborted the moment it gets its
1823
+ * controller, with the same reason, rather than running unseen until the
1824
+ * shutdown closes the store under it and leaves it recorded as nothing
1825
+ * at all.
1782
1826
  */
1783
- let abortingTurns = false;
1827
+ let abortingWith;
1784
1828
  /**
1785
1829
  * Set once `start()` has finished. A restart before that would stop the
1786
1830
  * channels started so far and close the stores while the rest of
@@ -1819,6 +1863,13 @@ export const createGateway = (options = {}) => {
1819
1863
  // then the entry is a claim that may yet be refused. `addressed` is false
1820
1864
  // for a turn nobody asked for, which `holdsMessage` does not count.
1821
1865
  const liveWorkItems = new Map();
1866
+ /**
1867
+ * The merged turn still taking messages, per session (card 423): led by
1868
+ * the first opted-in dispatch that queued behind a running turn, closed
1869
+ * the moment that dispatch reaches the head of the chain. See
1870
+ * `DispatchInput.onAbsorbed`.
1871
+ */
1872
+ const openBatches = new Map();
1822
1873
  /** The start-up snapshot `recoverParkedTurns` judges orphans from, for a repeat that gets there first. */
1823
1874
  let orphanedAtStart = new Set();
1824
1875
  /**
@@ -1918,7 +1969,7 @@ export const createGateway = (options = {}) => {
1918
1969
  ? runsOnHarness(fallback)
1919
1970
  : runsOnHarness(config) || (fallback !== undefined && runsOnHarness(fallback));
1920
1971
  };
1921
- const dispatchInternal = async (input) => {
1972
+ const dispatchInternal = async (input, absorbedKeys = []) => {
1922
1973
  // Re-read on every turn, not once at start: a newer build that stamps
1923
1974
  // the home while this daemon is serving has formats this build does not
1924
1975
  // understand, and a daemon that kept writing into them would be the
@@ -2028,6 +2079,7 @@ export const createGateway = (options = {}) => {
2028
2079
  ...(input.images !== undefined ? { images: input.images } : {}),
2029
2080
  ...(input.addressed !== undefined ? { addressed: input.addressed } : {}),
2030
2081
  ...(input.idempotencyKey !== undefined ? { idempotencyKey: input.idempotencyKey } : {}),
2082
+ ...(absorbedKeys.length > 0 ? { absorbedKeys: [...absorbedKeys] } : {}),
2031
2083
  ...(hostedLoop ? { hostedLoop } : {}),
2032
2084
  ...(input.metadata ? { metadata: input.metadata } : {}),
2033
2085
  runtime: runtimeContextFor(source, config, switchedToFallback, input.metadata),
@@ -2041,6 +2093,7 @@ export const createGateway = (options = {}) => {
2041
2093
  ...(input.images !== undefined ? { images: input.images } : {}),
2042
2094
  ...(input.addressed !== undefined ? { addressed: input.addressed } : {}),
2043
2095
  ...(input.idempotencyKey !== undefined ? { idempotencyKey: input.idempotencyKey } : {}),
2096
+ ...(absorbedKeys.length > 0 ? { absorbedKeys: [...absorbedKeys] } : {}),
2044
2097
  ...(hostedLoop ? { hostedLoop } : {}),
2045
2098
  ...(input.earlier !== undefined && input.earlier.length > 0 ? { earlier: input.earlier } : {}),
2046
2099
  metadata,
@@ -2200,8 +2253,8 @@ export const createGateway = (options = {}) => {
2200
2253
  // reports undrained for a turn it could have finished cleanly.
2201
2254
  const controller = new AbortController();
2202
2255
  turnControllers.add(controller);
2203
- if (abortingTurns) {
2204
- controller.abort(new RunAbortedError(RESTARTING_TURN_ERROR));
2256
+ if (abortingWith !== undefined) {
2257
+ controller.abort(new RunAbortedError(abortingWith));
2205
2258
  }
2206
2259
  try {
2207
2260
  await runner.recoverPendingApproval(sessionId, {
@@ -2684,6 +2737,55 @@ export const createGateway = (options = {}) => {
2684
2737
  };
2685
2738
  return attach();
2686
2739
  }
2740
+ // Merged turns (card 423): an opted-in message behind a running turn
2741
+ // joins the batch already waiting, if there is one for the same agent.
2742
+ const mergeable = input.onAbsorbed !== undefined && input.addressed !== false;
2743
+ const open = openBatches.get(input.sessionId);
2744
+ if (mergeable &&
2745
+ open !== undefined &&
2746
+ open.agentId === input.agentId &&
2747
+ fitsReplayBudget([...open.images, ...(input.images ?? [])]) &&
2748
+ open.chars + MERGED_SEPARATOR.length + input.userMessage.length <= MERGED_TEXT_BUDGET_CHARS) {
2749
+ open.images.push(...(input.images ?? []));
2750
+ open.chars += MERGED_SEPARATOR.length + input.userMessage.length;
2751
+ waitingDispatches.set(input.sessionId, (waitingDispatches.get(input.sessionId) ?? 0) + 1);
2752
+ const joined = new Promise((resolve, reject) => {
2753
+ open.absorbed.push({ input, resolve, reject });
2754
+ });
2755
+ if (idempotencyKey !== undefined) {
2756
+ // Provisional, like a queued dispatch's: a redelivery while it waits
2757
+ // attaches here; the merged turn confirms it once it owns the key.
2758
+ const items = liveWorkItems.get(input.sessionId) ?? new Map();
2759
+ if (!items.has(idempotencyKey)) {
2760
+ items.set(idempotencyKey, { turn: joined, agentId: input.agentId, confirmed: false, addressed: true });
2761
+ liveWorkItems.set(input.sessionId, items);
2762
+ }
2763
+ void joined.catch(() => { }).finally(() => {
2764
+ const current = liveWorkItems.get(input.sessionId);
2765
+ if (current?.get(idempotencyKey)?.turn === joined) {
2766
+ current.delete(idempotencyKey);
2767
+ if (current.size === 0) {
2768
+ liveWorkItems.delete(input.sessionId);
2769
+ }
2770
+ }
2771
+ });
2772
+ }
2773
+ return joined;
2774
+ }
2775
+ // It cannot join (or its images or text would overflow the batch's
2776
+ // budget), so the open batch takes no more: a message arriving
2777
+ // after this one must not be answered ahead of it.
2778
+ if (open !== undefined) {
2779
+ openBatches.delete(input.sessionId);
2780
+ }
2781
+ // Otherwise it leads a new batch, if it is waiting behind a turn at all:
2782
+ // a message to an idle session runs at once, alone.
2783
+ const batch = mergeable && sessionChains.has(input.sessionId)
2784
+ ? { agentId: input.agentId, absorbed: [], images: [...(input.images ?? [])], chars: input.userMessage.length }
2785
+ : undefined;
2786
+ if (batch !== undefined) {
2787
+ openBatches.set(input.sessionId, batch);
2788
+ }
2687
2789
  // Reads `turn` only once it is assigned: the registration below runs
2688
2790
  // after it, and the chain's work runs in a later tick (`.then`).
2689
2791
  const claimLiveItem = (key, confirmed) => {
@@ -2691,16 +2793,149 @@ export const createGateway = (options = {}) => {
2691
2793
  items.set(key, { turn, agentId: input.agentId, confirmed, addressed: input.addressed !== false });
2692
2794
  liveWorkItems.set(input.sessionId, items);
2693
2795
  };
2796
+ /**
2797
+ * This dispatch's turn with the messages it absorbed (card 423). Each
2798
+ * part is judged on its own first, as it would have been alone: one
2799
+ * cancelled while it waited is refused, one that repeats a turn the
2800
+ * session already holds is that turn. What is left runs as one turn.
2801
+ */
2802
+ const runMerged = async (absorbed) => {
2803
+ const parts = [{ input }, ...absorbed.map((joiner) => ({ input: joiner.input, joiner }))];
2804
+ let leader;
2805
+ const settle = (part, outcome) => {
2806
+ if (part.joiner === undefined) {
2807
+ // Settled the moment it is known, not when the chain moves on: a
2808
+ // leader cancelled or repeated while it waited must leave its
2809
+ // caller's queue before the turn it handed over starts rendering.
2810
+ leader = outcome;
2811
+ settleLeader(outcome);
2812
+ }
2813
+ else if ('session' in outcome) {
2814
+ part.joiner.resolve(outcome.session);
2815
+ }
2816
+ else {
2817
+ part.joiner.reject(outcome.error);
2818
+ }
2819
+ };
2820
+ const runnable = [];
2821
+ for (const part of parts) {
2822
+ const own = part.input;
2823
+ if (own.signal?.aborted) {
2824
+ settle(part, { error: abortErrorFor(own.signal) });
2825
+ continue;
2826
+ }
2827
+ if (own.idempotencyKey !== undefined) {
2828
+ try {
2829
+ const repeated = await settleRepeat(input.sessionId, own.idempotencyKey, own.agentId, own.turnId, own.onRepeat);
2830
+ if (repeated !== undefined) {
2831
+ settle(part, { session: repeated });
2832
+ continue;
2833
+ }
2834
+ }
2835
+ catch (error) {
2836
+ settle(part, { error });
2837
+ continue;
2838
+ }
2839
+ }
2840
+ runnable.push(part);
2841
+ }
2842
+ const head = runnable[0];
2843
+ if (head === undefined) {
2844
+ return finish(leader);
2845
+ }
2846
+ // Every runnable key now belongs to this turn.
2847
+ const keys = runnable.flatMap((part) => (part.input.idempotencyKey !== undefined ? [part.input.idempotencyKey] : []));
2848
+ const items = liveWorkItems.get(input.sessionId);
2849
+ for (const key of keys) {
2850
+ const item = items?.get(key);
2851
+ if (item !== undefined) {
2852
+ item.confirmed = true;
2853
+ }
2854
+ }
2855
+ // The turn runs at the least trusted sender in it: everyone's words
2856
+ // are in its one message.
2857
+ const labelled = runnable.some((part) => part.input.metadata !== undefined && SENDER_TRUST_METADATA_KEY in part.input.metadata);
2858
+ const lowest = leastTrusted(...runnable.map((part) => senderTrustOf(part.input.metadata)));
2859
+ const newest = runnable[runnable.length - 1].input;
2860
+ const metadata = labelled ? { ...newest.metadata, [SENDER_TRUST_METADATA_KEY]: lowest } : newest.metadata;
2861
+ const images = runnable.flatMap((part) => part.input.images ?? []);
2862
+ const signals = runnable.map((part) => part.input.signal);
2863
+ // Cancelled only when every caller in it is: one caller giving up
2864
+ // must not take the others' answer with it.
2865
+ const signal = signals.every((candidate) => candidate !== undefined)
2866
+ ? allAborted(signals)
2867
+ : undefined;
2868
+ const [primaryKey, ...absorbedKeys] = keys;
2869
+ const merged = {
2870
+ sessionId: input.sessionId,
2871
+ ...(head.input.agentId !== undefined ? { agentId: head.input.agentId } : {}),
2872
+ userMessage: runnable.map((part) => part.input.userMessage).join(MERGED_SEPARATOR),
2873
+ ...(images.length > 0 ? { images } : {}),
2874
+ ...(head.input.earlier !== undefined ? { earlier: head.input.earlier } : {}),
2875
+ ...(metadata !== undefined ? { metadata } : {}),
2876
+ ...(signal !== undefined ? { signal } : {}),
2877
+ ...(head.input.turnId !== undefined ? { turnId: head.input.turnId } : {}),
2878
+ ...(primaryKey !== undefined ? { idempotencyKey: primaryKey } : {}),
2879
+ };
2880
+ await settleOrphanedItem(input.sessionId);
2881
+ let outcome;
2882
+ if (merged.turnId !== undefined) {
2883
+ activeTurns.set(input.sessionId, merged.turnId);
2884
+ }
2885
+ try {
2886
+ outcome = { session: await dispatchInternal(merged, absorbedKeys) };
2887
+ }
2888
+ catch (error) {
2889
+ outcome = { error };
2890
+ }
2891
+ finally {
2892
+ if (merged.turnId !== undefined) {
2893
+ activeTurns.delete(input.sessionId);
2894
+ }
2895
+ }
2896
+ for (const part of runnable) {
2897
+ if (part !== head) {
2898
+ part.input.onAbsorbed?.();
2899
+ }
2900
+ settle(part, outcome);
2901
+ }
2902
+ return finish(leader);
2903
+ };
2904
+ const finish = (outcome) => {
2905
+ if (outcome === undefined) {
2906
+ throw new Error('A merged turn settled without an outcome for its leader.');
2907
+ }
2908
+ if ('error' in outcome) {
2909
+ throw outcome.error;
2910
+ }
2911
+ return outcome.session;
2912
+ };
2913
+ // What this caller is handed. It follows the chain's work, except that a
2914
+ // batch leader settles it early (`settle` in `runMerged`).
2915
+ let settleLeader = () => { };
2916
+ const turn = new Promise((resolve, reject) => {
2917
+ settleLeader = (outcome) => ('error' in outcome ? reject(outcome.error) : resolve(outcome.session));
2918
+ });
2694
2919
  waitingDispatches.set(input.sessionId, (waitingDispatches.get(input.sessionId) ?? 0) + 1);
2695
- const turn = onSessionChain(input.sessionId, async () => {
2696
- // No longer waiting once it reaches the head of the chain.
2697
- const left = (waitingDispatches.get(input.sessionId) ?? 1) - 1;
2920
+ const chained = onSessionChain(input.sessionId, async () => {
2921
+ // The batch closes here: anything arriving from now on waits behind
2922
+ // this turn and leads the next one.
2923
+ if (batch !== undefined && openBatches.get(input.sessionId) === batch) {
2924
+ openBatches.delete(input.sessionId);
2925
+ }
2926
+ const absorbed = batch?.absorbed ?? [];
2927
+ // No longer waiting once it reaches the head of the chain — nor is
2928
+ // anything it absorbed.
2929
+ const left = (waitingDispatches.get(input.sessionId) ?? 1) - 1 - absorbed.length;
2698
2930
  if (left > 0) {
2699
2931
  waitingDispatches.set(input.sessionId, left);
2700
2932
  }
2701
2933
  else {
2702
2934
  waitingDispatches.delete(input.sessionId);
2703
2935
  }
2936
+ if (absorbed.length > 0) {
2937
+ return runMerged(absorbed);
2938
+ }
2704
2939
  // Before `activeTurns` is touched: a repeat that runs nothing must
2705
2940
  // not claim the session's turn id, even for the instant it takes.
2706
2941
  const repeated = idempotencyKey !== undefined ? await settleRepeat(input.sessionId, idempotencyKey, input.agentId, turnId, input.onRepeat) : undefined;
@@ -2730,6 +2965,8 @@ export const createGateway = (options = {}) => {
2730
2965
  activeTurns.delete(input.sessionId);
2731
2966
  }
2732
2967
  });
2968
+ // A second settle (a leader already settled early) is a no-op.
2969
+ chained.then((session) => settleLeader({ session }), (error) => settleLeader({ error }));
2733
2970
  if (idempotencyKey !== undefined) {
2734
2971
  // A repeat that queued instead of attaching — it named another agent,
2735
2972
  // and is about to be refused — must not displace the turn it repeats.
@@ -2765,6 +3002,10 @@ export const createGateway = (options = {}) => {
2765
3002
  if (reserved !== undefined) {
2766
3003
  throw new Error(`Session metadata key "${reserved}" is reserved for the daemon's own records and cannot be supplied by an observe. Reserved keys: ${RESERVED_SESSION_METADATA_KEYS.join(', ')}.`);
2767
3004
  }
3005
+ // Heard after the batch waiting on this session opened, so anything
3006
+ // said after it must not be answered ahead of it: the batch takes no
3007
+ // more, and a later message leads the next one (card 423).
3008
+ openBatches.delete(input.sessionId);
2768
3009
  return onSessionChain(input.sessionId, async () => {
2769
3010
  assertStateCompatible(env);
2770
3011
  const existing = await store.get(input.sessionId);
@@ -3167,11 +3408,14 @@ export const createGateway = (options = {}) => {
3167
3408
  * The one shutdown sequence — for a stop, for a restart, and for a
3168
3409
  * start() that failed, whose caller never reaches stop().
3169
3410
  *
3170
- * `abortAfterMs` is the difference: a stop waits for every in-flight
3171
- * turn however long it takes (the service manager's own timeout is the
3172
- * bound there), while a restart waits that long and then aborts what is
3173
- * still running, so the daemon can come back instead of waiting on one
3174
- * stuck turn. Resolves with whether everything finished — after an abort,
3411
+ * `abortAfterMs` is how long in-flight turns get before what is still
3412
+ * running is aborted, with `kind` as the reason: a restart so the daemon
3413
+ * can come back instead of waiting on one stuck turn, a stop so the
3414
+ * abort happens here and not as the service manager's SIGKILL, which
3415
+ * would leave the turn unrecorded and its shell commands' process groups
3416
+ * running after the daemon. Undefined waits however long it takes: only
3417
+ * a start() that failed, whose turns are the few a channel accepted in
3418
+ * the moment before. Resolves with whether everything finished — after an abort,
3175
3419
  * a turn that still ignores its signal for a second window is shut down
3176
3420
  * around, and the host is told so it can exit rather than start a new
3177
3421
  * daemon beside it. Every wait after the window opens is bounded by it,
@@ -3179,7 +3423,7 @@ export const createGateway = (options = {}) => {
3179
3423
  * the turn drain gave up on, and an unbounded wait there would hold the
3180
3424
  * restart forever on exactly the turn the window exists for.
3181
3425
  */
3182
- const shutdown = async (abortAfterMs) => {
3426
+ const shutdown = async (abortAfterMs, kind = 'restart') => {
3183
3427
  // Refuse new work first; then let channels finish rendering their
3184
3428
  // in-flight turns (already-started dispatches keep running), drain,
3185
3429
  // and close.
@@ -3225,6 +3469,14 @@ export const createGateway = (options = {}) => {
3225
3469
  startedChannels.length = 0;
3226
3470
  await Promise.allSettled([...inflight]);
3227
3471
  })();
3472
+ // One deadline for the whole bounded shutdown: the drain window, then
3473
+ // one more window that everything after it shares (the aborted turns'
3474
+ // record, the scheduler's drain, the plugins' dispose). A service
3475
+ // manager's stop timeout is sized for exactly that (see the CLI's
3476
+ // SERVICE_STOP_TIMEOUT_SECONDS); a window per phase would add up past
3477
+ // it and land its SIGKILL mid-cleanup.
3478
+ const deadline = abortAfterMs === undefined ? undefined : Date.now() + 2 * abortAfterMs;
3479
+ const remaining = () => deadline === undefined || abortAfterMs === undefined ? 0 : Math.min(abortAfterMs, Math.max(0, deadline - Date.now()));
3228
3480
  let drained = true;
3229
3481
  if (abortAfterMs === undefined) {
3230
3482
  await drain;
@@ -3233,19 +3485,19 @@ export const createGateway = (options = {}) => {
3233
3485
  drained = channelsReleased;
3234
3486
  }
3235
3487
  else {
3236
- warn(`restart: ${inflight.size} turn(s) still running after ${abortAfterMs}ms; aborting them`);
3488
+ warn(`${kind}: ${inflight.size} turn(s) still running after ${abortAfterMs}ms; aborting them`);
3237
3489
  // The watchdog's own mechanism: the runner fails each session with
3238
3490
  // the reason on the signal, saves it, and emits session.failed —
3239
3491
  // so the next daemon finds a finished turn, not an abandoned one.
3240
3492
  // Before the loop, so a turn queued behind one aborted here, which
3241
3493
  // starts as soon as that one settles, is aborted the same way.
3242
- abortingTurns = true;
3494
+ abortingWith = kind === 'stop' ? STOPPING_TURN_ERROR : RESTARTING_TURN_ERROR;
3243
3495
  for (const controller of turnControllers) {
3244
- controller.abort(new RunAbortedError(RESTARTING_TURN_ERROR));
3496
+ controller.abort(new RunAbortedError(abortingWith));
3245
3497
  }
3246
- drained = await settlesWithin(drain, abortAfterMs);
3498
+ drained = await settlesWithin(drain, remaining());
3247
3499
  if (!drained) {
3248
- warn(`restart: ${inflight.size} turn(s) did not stop after being aborted; shutting down around them`);
3500
+ warn(`${kind}: ${inflight.size} turn(s) did not stop after being aborted; shutting down around them`);
3249
3501
  }
3250
3502
  drained = drained && channelsReleased;
3251
3503
  }
@@ -3258,8 +3510,8 @@ export const createGateway = (options = {}) => {
3258
3510
  if (drained || abortAfterMs === undefined) {
3259
3511
  await schedulerDrain;
3260
3512
  }
3261
- else if (!(await settlesWithin(schedulerDrain, abortAfterMs))) {
3262
- warn('restart: a scheduled firing did not stop after being aborted; shutting down around it');
3513
+ else if (!(await settlesWithin(schedulerDrain, remaining()))) {
3514
+ warn(`${kind}: a scheduled firing did not stop after being aborted; shutting down around it`);
3263
3515
  }
3264
3516
  // After the turns that might still be using them. A plugin holding a
3265
3517
  // browser is the reason this exists, and closing it out from under a
@@ -3269,16 +3521,17 @@ export const createGateway = (options = {}) => {
3269
3521
  // coming back, and a plugin still holding on is one more thing the
3270
3522
  // host should not start a new daemon beside.
3271
3523
  const disposal = disposePlugins();
3524
+ const disposalWindow = remaining();
3272
3525
  if (abortAfterMs === undefined) {
3273
3526
  await disposal;
3274
3527
  }
3275
- else if (await settlesWithin(disposal, abortAfterMs)) {
3528
+ else if (await settlesWithin(disposal, disposalWindow)) {
3276
3529
  // A dispose that rejected has already been named; what it may still
3277
3530
  // hold is the same problem as one that never answered.
3278
3531
  drained = drained && await disposal;
3279
3532
  }
3280
3533
  else {
3281
- warn(`restart: a plugin did not release what it holds within ${abortAfterMs}ms; shutting down around it`);
3534
+ warn(`${kind}: a plugin did not release what it holds within ${disposalWindow}ms; shutting down around it`);
3282
3535
  drained = false;
3283
3536
  }
3284
3537
  closeStores();
@@ -3325,14 +3578,25 @@ export const createGateway = (options = {}) => {
3325
3578
  }
3326
3579
  serving = true;
3327
3580
  },
3328
- // Drain: channels stop taking messages, in-flight turns finish, new
3329
- // dispatches are refused, then the database closes. SIGTERM handling
3330
- // in `stratus serve` calls this. Idempotent: a restart stops the
3331
- // gateway itself before handing the process to the host, whose own
3332
- // shutdown path then calls this again and must find nothing to do —
3333
- // and a start() that failed has already run the same sequence.
3581
+ // Drain: channels stop taking messages, in-flight turns get the stop
3582
+ // window to finish and are aborted after it, new dispatches are
3583
+ // refused, then the database closes. SIGTERM handling in `stratus
3584
+ // serve` calls this. Idempotent: a restart stops the gateway itself
3585
+ // before handing the process to the host, whose own shutdown path then
3586
+ // calls this again and must find nothing to do — and a start() that
3587
+ // failed has already run the same sequence.
3334
3588
  stop() {
3335
- stopped ??= shutdown(undefined).then(() => undefined);
3589
+ if (stopped === undefined) {
3590
+ const requested = options.stopDrainTimeoutMs ?? DEFAULT_STOP_DRAIN_TIMEOUT_MS;
3591
+ // A stop cannot refuse to happen over its own setting, so a window
3592
+ // that would misfire (negative, NaN, or past Node's timer limit,
3593
+ // where setTimeout fires at once) falls back rather than throwing.
3594
+ const usable = Number.isFinite(requested) && requested >= 0 && requested <= MAX_TIMER_DELAY_MS;
3595
+ if (!usable) {
3596
+ warn(`stop drain window ${String(requested)}ms is not usable; using ${DEFAULT_STOP_DRAIN_TIMEOUT_MS}ms`);
3597
+ }
3598
+ stopped = shutdown(usable ? requested : DEFAULT_STOP_DRAIN_TIMEOUT_MS, 'stop').then(() => undefined);
3599
+ }
3336
3600
  return stopped;
3337
3601
  },
3338
3602
  dispatch,
@@ -3352,7 +3616,7 @@ export const createGateway = (options = {}) => {
3352
3616
  const transcript = workItemState(session, idempotencyKey) !== undefined ? session : await archivedRepeat(session, idempotencyKey);
3353
3617
  // Accepted as addressed: a turn nobody asked for (`addressed: false`,
3354
3618
  // stored overheard) was this agent hearing the message, not taking it.
3355
- const keyed = transcript?.messages.findLast((message) => message.role === 'user' && message.idempotencyKey === idempotencyKey);
3619
+ const keyed = transcript?.messages.findLast((message) => carriesKey(message, idempotencyKey));
3356
3620
  return keyed !== undefined && keyed.overheard !== true;
3357
3621
  },
3358
3622
  async sessionRouting(sessionId) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stratusagent/gateway",
3
- "version": "0.12.1",
3
+ "version": "0.12.2",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -18,16 +18,16 @@
18
18
  "node": ">=22.13 <23 || >=23.4"
19
19
  },
20
20
  "dependencies": {
21
- "@stratusagent/agents": "0.12.1",
22
- "@stratusagent/core": "0.12.1",
23
- "@stratusagent/executor-local": "0.12.1",
24
- "@stratusagent/plugins": "0.12.1",
25
- "@stratusagent/state": "0.12.1"
21
+ "@stratusagent/agents": "0.12.2",
22
+ "@stratusagent/executor-local": "0.12.2",
23
+ "@stratusagent/plugins": "0.12.2",
24
+ "@stratusagent/state": "0.12.2",
25
+ "@stratusagent/core": "0.12.2"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@types/node": "^24.6.0",
29
29
  "typescript": "^5.9.3",
30
- "@stratusagent/permissions": "0.12.1"
30
+ "@stratusagent/permissions": "0.12.2"
31
31
  },
32
32
  "license": "MIT",
33
33
  "repository": {