@stratusagent/gateway 0.9.2 → 0.11.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.
- package/dist/index.d.ts +155 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +599 -86
- package/dist/index.js.map +1 -1
- package/dist/lock.d.ts +50 -0
- package/dist/lock.d.ts.map +1 -0
- package/dist/lock.js +128 -0
- package/dist/lock.js.map +1 -0
- package/dist/schedules.d.ts +13 -0
- package/dist/schedules.d.ts.map +1 -1
- package/dist/schedules.js +18 -2
- package/dist/schedules.js.map +1 -1
- package/package.json +7 -7
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { EventBus, type AgentDefinition, type ApprovalAnswer, type ApprovalPolicy, type JsonObject, type Session, type SessionStatus, type SessionStore, type ToolRisk } from '@stratusagent/core';
|
|
2
2
|
import { type ParsedSoul, type ScheduleRecord } from '@stratusagent/agents';
|
|
3
3
|
import { type SchedulerLimits } from './schedules.ts';
|
|
4
|
-
export {
|
|
4
|
+
export { claimHome, homeLockPath, HomeClaimedError, type HomeClaim, } from './lock.ts';
|
|
5
|
+
export { SqliteScheduleStore, createSchedulerRuntime, isScheduleSessionId, SCHEDULE_SESSION_ID_PREFIX, type ScheduleStoreLike, type SchedulerLimits, type SchedulerRuntime, type SchedulerRuntimeOptions, } from './schedules.ts';
|
|
5
6
|
import { type OptionalModuleHost } from '@stratusagent/plugins';
|
|
6
7
|
import { type PluginsConfig, type RuntimeSelection, type StateEnvironment } from '@stratusagent/state';
|
|
7
8
|
/**
|
|
@@ -102,6 +103,21 @@ export interface GatewayChannelAdapter {
|
|
|
102
103
|
name: string;
|
|
103
104
|
start(gateway: Gateway): Promise<void>;
|
|
104
105
|
stop(): Promise<void>;
|
|
106
|
+
/**
|
|
107
|
+
* Whether the gateway may serve without this channel.
|
|
108
|
+
*
|
|
109
|
+
* A channel whose `start()` rejects is logged and skipped, which is right
|
|
110
|
+
* for a Slack app whose tokens went stale: the rest of the fleet stays
|
|
111
|
+
* up. A required channel fails `start()` instead — after stopping the
|
|
112
|
+
* channels that did come up, and before the scheduler starts or any
|
|
113
|
+
* sweep re-asks an approval, so a daemon refused this way has done no
|
|
114
|
+
* work. The control API is the case: a second `stratus serve` on the
|
|
115
|
+
* same home lost the port to the first, logged it, and went on serving
|
|
116
|
+
* with no channel at all — and the next scheduled firing ran in it,
|
|
117
|
+
* where nobody could approve or hear anything. A host that omits this
|
|
118
|
+
* gets the skip.
|
|
119
|
+
*/
|
|
120
|
+
required?: boolean;
|
|
105
121
|
/**
|
|
106
122
|
* The addressable outbound seam, mirroring
|
|
107
123
|
* `@stratusagent/channels`' `ChannelAdapter.resolveOutbound` structurally
|
|
@@ -129,6 +145,8 @@ export interface SessionRouting {
|
|
|
129
145
|
agentId: string;
|
|
130
146
|
/** The metadata the dispatching surface attached to the session. */
|
|
131
147
|
metadata: JsonObject;
|
|
148
|
+
/** The latest turn's text (`latestTurnReply`), when it produced any — see `@stratusagent/channels`. */
|
|
149
|
+
reply?: string;
|
|
132
150
|
}
|
|
133
151
|
/**
|
|
134
152
|
* What the gateway hands a policy that needs a human somewhere else: one
|
|
@@ -164,6 +182,17 @@ export interface GatewayApprovalRequest {
|
|
|
164
182
|
input: JsonObject;
|
|
165
183
|
};
|
|
166
184
|
risk: ToolRisk;
|
|
185
|
+
/**
|
|
186
|
+
* The site this call would act on, for a tool judged by one
|
|
187
|
+
* (`Tool.originFor`). Passed straight through to whatever renders the
|
|
188
|
+
* request, because the call's arguments do not say where a click lands.
|
|
189
|
+
*/
|
|
190
|
+
origin?: string;
|
|
191
|
+
/**
|
|
192
|
+
* True when answering `always` runs this call once and remembers
|
|
193
|
+
* nothing, so a renderer can stop offering one. Passed straight through.
|
|
194
|
+
*/
|
|
195
|
+
oneShot?: boolean;
|
|
167
196
|
/**
|
|
168
197
|
* When this call first parked, if a restart is re-asking it. The wait is
|
|
169
198
|
* measured from here, so a request keeps the window it started with
|
|
@@ -195,6 +224,10 @@ export interface PendingApproval {
|
|
|
195
224
|
input: JsonObject;
|
|
196
225
|
};
|
|
197
226
|
risk: ToolRisk;
|
|
227
|
+
/** The site it would act on, for a tool judged by one. */
|
|
228
|
+
origin?: string;
|
|
229
|
+
/** True when `always` on this call remembers nothing — see the event. */
|
|
230
|
+
oneShot?: boolean;
|
|
198
231
|
/** When this call parked, ISO-8601. */
|
|
199
232
|
parkedAt: string;
|
|
200
233
|
/**
|
|
@@ -246,6 +279,50 @@ export interface GatewaySkill {
|
|
|
246
279
|
/** Where the SKILL.md lives. */
|
|
247
280
|
path?: string;
|
|
248
281
|
}
|
|
282
|
+
/** What a turn cut short by an announced restart records as its failure. */
|
|
283
|
+
export declare const RESTARTING_TURN_ERROR = "Run aborted: stratusd is restarting";
|
|
284
|
+
/**
|
|
285
|
+
* How long an announced restart lets in-flight turns finish before aborting
|
|
286
|
+
* them. Matches the systemd unit's `TimeoutStopSec`, so the two windows an
|
|
287
|
+
* operator can hit agree.
|
|
288
|
+
*/
|
|
289
|
+
export declare const DEFAULT_RESTART_DRAIN_TIMEOUT_MS = 30000;
|
|
290
|
+
export interface RestartRequest {
|
|
291
|
+
/** Why, for the log — "plugin stratus-plugin-github enabled". */
|
|
292
|
+
reason?: string;
|
|
293
|
+
/** Overrides the gateway's drain window for this restart. */
|
|
294
|
+
drainTimeoutMs?: number;
|
|
295
|
+
}
|
|
296
|
+
/** What `restart()` announced: the terms the drain is running under. */
|
|
297
|
+
export interface RestartStatus {
|
|
298
|
+
reason?: string;
|
|
299
|
+
drainTimeoutMs: number;
|
|
300
|
+
/** Turns that were running when the restart was announced. */
|
|
301
|
+
inflight: number;
|
|
302
|
+
}
|
|
303
|
+
/** What the host is handed once the daemon has stopped for a restart. */
|
|
304
|
+
export interface RestartOutcome {
|
|
305
|
+
reason?: string;
|
|
306
|
+
/**
|
|
307
|
+
* Whether everything let go — every turn finished inside the window or
|
|
308
|
+
* after being aborted at it, every channel stopped, and every plugin
|
|
309
|
+
* released what it held. False means a turn ignored its abort for a
|
|
310
|
+
* whole second window, or a channel's stop or a plugin's dispose never
|
|
311
|
+
* settled or rejected, and the gateway shut down around it; a host
|
|
312
|
+
* should exit the process rather than start a new daemon beside a turn
|
|
313
|
+
* still writing, a channel still connected, or a plugin still holding a
|
|
314
|
+
* browser or a socket.
|
|
315
|
+
*/
|
|
316
|
+
drained: boolean;
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* `restart()` on a gateway whose host gave it no way back. Exported so the
|
|
320
|
+
* control API can answer it as "not supported here" rather than as a
|
|
321
|
+
* failure of the daemon.
|
|
322
|
+
*/
|
|
323
|
+
export declare class RestartUnsupportedError extends Error {
|
|
324
|
+
constructor();
|
|
325
|
+
}
|
|
249
326
|
/** A plugin this daemon was asked to load, and what came of it. */
|
|
250
327
|
export interface GatewayPluginStatus {
|
|
251
328
|
package: string;
|
|
@@ -309,6 +386,16 @@ export interface GatewayOptions {
|
|
|
309
386
|
* to the CLI.
|
|
310
387
|
*/
|
|
311
388
|
pluginHost?: OptionalModuleHost;
|
|
389
|
+
/**
|
|
390
|
+
* How this daemon comes back after `restart()`: called once the gateway
|
|
391
|
+
* has stopped, by the host that owns the process — `stratus serve`
|
|
392
|
+
* starts a fresh daemon and supervises it. The gateway can drain and
|
|
393
|
+
* stop; only its host can start a process. A host that omits this gives
|
|
394
|
+
* up `restart()`, which then throws `RestartUnsupportedError`.
|
|
395
|
+
*/
|
|
396
|
+
onRestart?: (outcome: RestartOutcome) => void | Promise<void>;
|
|
397
|
+
/** The drain window a `restart()` uses when the request names none. Default 30s. */
|
|
398
|
+
restartDrainTimeoutMs?: number;
|
|
312
399
|
log?: (line: string) => void;
|
|
313
400
|
warn?: (line: string) => void;
|
|
314
401
|
}
|
|
@@ -353,6 +440,38 @@ export interface Gateway {
|
|
|
353
440
|
* created by another surface, or one whose soul was deleted.
|
|
354
441
|
*/
|
|
355
442
|
reloadRoster(): Promise<AgentDefinition[]>;
|
|
443
|
+
/**
|
|
444
|
+
* Re-read `~/.stratus/skills/` and serve what is there now, without a
|
|
445
|
+
* restart — the shape `reloadRoster()` established: idempotent,
|
|
446
|
+
* serialized against itself and the roster reload, and a failure that
|
|
447
|
+
* leaves the previous set serving. Plugin-contributed skills are rebuilt
|
|
448
|
+
* from the plugins already loaded (never re-imported), in the same order
|
|
449
|
+
* they loaded, so operator precedence and contested aliases come out as
|
|
450
|
+
* a restart would produce them.
|
|
451
|
+
*
|
|
452
|
+
* A skill that would not load — a malformed `SKILL.md`, a directory whose
|
|
453
|
+
* name is not an id — rejects with the file named and changes nothing:
|
|
454
|
+
* half a catalog is worse than a stale one.
|
|
455
|
+
*
|
|
456
|
+
* Loaded is not enabled: a reloaded skill still reaches only the agents
|
|
457
|
+
* whose souls list it.
|
|
458
|
+
*/
|
|
459
|
+
reloadSkills(): Promise<GatewaySkill[]>;
|
|
460
|
+
/**
|
|
461
|
+
* Announce a restart: refuse new turns now, let running ones finish
|
|
462
|
+
* inside the drain window, abort what is still running at the end of
|
|
463
|
+
* it, stop, and hand the process back to the host through `onRestart`.
|
|
464
|
+
* Returns at once with the terms; the drain runs behind it. Idempotent —
|
|
465
|
+
* a second call while one is underway reports the same announcement.
|
|
466
|
+
*
|
|
467
|
+
* What comes back is what a stop-and-start brings back: durable sessions,
|
|
468
|
+
* schedules, and channels; a call parked on a human is denied as
|
|
469
|
+
* cancelled, exactly as a stop denies it. The refusal comes first, which
|
|
470
|
+
* makes the drain's known gap smaller — a turn finishing after the
|
|
471
|
+
* snapshot can still start work the snapshot never saw — but does not
|
|
472
|
+
* close it.
|
|
473
|
+
*/
|
|
474
|
+
restart(request?: RestartRequest): RestartStatus;
|
|
356
475
|
/**
|
|
357
476
|
* The turn currently running on a session, if the caller that started it
|
|
358
477
|
* named one. Single-flight per session is what makes this exact: at most
|
|
@@ -453,6 +572,41 @@ export interface Gateway {
|
|
|
453
572
|
* its own guess at the wording.
|
|
454
573
|
*/
|
|
455
574
|
export declare const ABANDONED_TURN_ERROR = "stratusd stopped while this turn was still running; it was not resumed. Send the message again.";
|
|
575
|
+
/**
|
|
576
|
+
* Recorded on a delegated sub-session that was parked on a human when the
|
|
577
|
+
* previous process died.
|
|
578
|
+
*
|
|
579
|
+
* Its parent — the turn whose `agent.delegate` call was awaiting the reply
|
|
580
|
+
* — was running, so the restart fails it as abandoned (above). Recovering
|
|
581
|
+
* the child anyway would re-ask a person to approve a call whose result no
|
|
582
|
+
* turn will ever read, and then run it: a command executed, tokens spent,
|
|
583
|
+
* and a reply delivered to nobody. Distinguishable from the parent's error
|
|
584
|
+
* because the remedy differs — there is no message to send again here;
|
|
585
|
+
* the parent's is the one to repeat.
|
|
586
|
+
*/
|
|
587
|
+
/**
|
|
588
|
+
* Session metadata keys the daemon writes for itself, which no external
|
|
589
|
+
* dispatch may supply.
|
|
590
|
+
*
|
|
591
|
+
* Metadata is one bag: the keys a channel attaches to say where a turn is
|
|
592
|
+
* happening sit beside the ones the kernel, the scheduler, the fallback
|
|
593
|
+
* wrapper, and `agent.delegate` write to remember what a session *is* —
|
|
594
|
+
* and the control API forwards a caller's `metadata` into a new session as
|
|
595
|
+
* given. A caller who can write `delegatedBy` can have the restart sweep
|
|
596
|
+
* fail its own parked turn as an orphan; one who can write `fallbackActive`
|
|
597
|
+
* bills its conversation to the fallback model from the first turn. The
|
|
598
|
+
* scheduler already refused to trust its own keys for exactly this reason
|
|
599
|
+
* (see `activeFirings`); the durable ones cannot be re-derived in memory,
|
|
600
|
+
* so they are refused at the door instead.
|
|
601
|
+
*/
|
|
602
|
+
export declare const RESERVED_SESSION_METADATA_KEYS: readonly string[];
|
|
603
|
+
/**
|
|
604
|
+
* The first reserved key `metadata` carries, or undefined when it carries
|
|
605
|
+
* none. Exported so the control API can refuse the request where the
|
|
606
|
+
* caller can see it, with the same rule the gateway applies at dispatch.
|
|
607
|
+
*/
|
|
608
|
+
export declare const reservedSessionMetadataKey: (metadata: JsonObject | undefined) => string | undefined;
|
|
609
|
+
export declare const ORPHANED_DELEGATION_ERROR = "stratusd stopped while the turn that delegated this one was still running; the delegation was not resumed. Send the original message again.";
|
|
456
610
|
/**
|
|
457
611
|
* The always-on Stratus process. One gateway holds the roster, the durable
|
|
458
612
|
* session store, the shared event bus, and a pool of runners keyed by
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|