@stratusagent/gateway 0.2.5
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/LICENSE +21 -0
- package/README.md +27 -0
- package/dist/index.d.ts +94 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +682 -0
- package/dist/index.js.map +1 -0
- package/dist/tsconfig.test.tsbuildinfo +1 -0
- package/launchd/com.stratuslabs.stratusd.plist +44 -0
- package/package.json +51 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Stratus Labs
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# @stratusagent/gateway
|
|
2
|
+
|
|
3
|
+
`stratusd` — the always-on Stratus Agent process. Everything above the kernel presumes a process that outlives a terminal command; this is that process.
|
|
4
|
+
|
|
5
|
+
One gateway owns:
|
|
6
|
+
|
|
7
|
+
- **Durable sessions** — `SqliteSessionStore` on `node:sqlite` (Node 22.13+, no native deps). The whole session round-trips as one JSON body, provider replay state included, so a conversation resumed after a daemon restart replays exactly. Session ids are caller-chosen and stable (channels derive them from conversations), which is what makes any inbound message resumable.
|
|
8
|
+
- **A per-provider runner pool** — each agent's soul pins its own provider/model; config re-resolves on every dispatch and runners are pooled by resolved configuration, so two agents never share a billing path or credentials by accident.
|
|
9
|
+
- **Dispatcher-backed delegation** — `agent.delegate` routes the target through the same per-provider dispatch as a direct message; a delegated specialist runs on *their* provider, never the delegator's.
|
|
10
|
+
- **An activity watchdog** — progress-based, not wall-clock: any event from the session resets it, and an idle turn is aborted cleanly (the abort cancels the underlying provider request and kills tool subprocesses).
|
|
11
|
+
- **Single-flight per session** — a second message to a busy session queues behind the in-flight turn; different sessions run concurrently.
|
|
12
|
+
- **Live-refresh** — souls are re-read on each dispatch, so an edited persona or allowlist reaches existing conversations on their next turn. Sessions pin an agent *id* and never cross identities.
|
|
13
|
+
|
|
14
|
+
```ts
|
|
15
|
+
import { createGateway } from '@stratusagent/gateway';
|
|
16
|
+
|
|
17
|
+
const gateway = createGateway();
|
|
18
|
+
await gateway.start();
|
|
19
|
+
const session = await gateway.dispatch({
|
|
20
|
+
sessionId: 'slack:ava:T1:C1:171234.5678', // stable → resumable
|
|
21
|
+
agentId: 'ava',
|
|
22
|
+
userMessage: 'morning!',
|
|
23
|
+
});
|
|
24
|
+
await gateway.stop(); // drains in-flight turns first
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Run it in the foreground with `stratus serve`. A launchd template for macOS lives in `launchd/com.stratuslabs.stratusd.plist`.
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { EventBus, type AgentDefinition, type ApprovalPolicy, type JsonObject, type Session, type SessionStore } from '@stratusagent/core';
|
|
2
|
+
import { type RuntimeSelection, type StateEnvironment } from '@stratusagent/state';
|
|
3
|
+
/**
|
|
4
|
+
* Durable session storage on node:sqlite (unflagged on Node 22.13+). The
|
|
5
|
+
* whole session — messages, status, and metadata, including provider replay
|
|
6
|
+
* state like the Anthropic raw-turn cache — round-trips as one JSON body,
|
|
7
|
+
* so a conversation resumed after a daemon restart replays exactly.
|
|
8
|
+
*/
|
|
9
|
+
export interface SqliteSessionStoreOptions {
|
|
10
|
+
/**
|
|
11
|
+
* The database's parent directory is dedicated Stratus state (e.g. the
|
|
12
|
+
* default ~/.stratus): tighten it to owner-only even when it already
|
|
13
|
+
* exists, since mkdir's mode only applies to directories it creates and
|
|
14
|
+
* an upgrade over a looser install must not stay world-readable. Leave
|
|
15
|
+
* false for caller-supplied paths — a shared parent like /tmp or a
|
|
16
|
+
* project directory must never be chmodded implicitly.
|
|
17
|
+
*/
|
|
18
|
+
ownedDirectory?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare class SqliteSessionStore implements SessionStore {
|
|
21
|
+
private readonly db;
|
|
22
|
+
constructor(filePath: string, options?: SqliteSessionStoreOptions);
|
|
23
|
+
create(input: Omit<Session, 'createdAt' | 'updatedAt'>): Promise<Session>;
|
|
24
|
+
get(id: string): Promise<Session | undefined>;
|
|
25
|
+
save(session: Session): Promise<void>;
|
|
26
|
+
/** Newest-first session listing for one agent (or all agents). */
|
|
27
|
+
list(agentId?: string): Array<Pick<Session, 'id' | 'status' | 'createdAt' | 'updatedAt'> & {
|
|
28
|
+
agentId: string;
|
|
29
|
+
}>;
|
|
30
|
+
close(): void;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* A channel adapter as the gateway sees it: started after the roster
|
|
34
|
+
* loads, stopped before the store drains. Structurally identical to
|
|
35
|
+
* @stratusagent/channels' ChannelAdapter — kept structural here so the
|
|
36
|
+
* gateway does not depend on the channels package.
|
|
37
|
+
*/
|
|
38
|
+
export interface GatewayChannelAdapter {
|
|
39
|
+
name: string;
|
|
40
|
+
start(gateway: Gateway): Promise<void>;
|
|
41
|
+
stop(): Promise<void>;
|
|
42
|
+
}
|
|
43
|
+
export interface GatewayOptions {
|
|
44
|
+
env?: StateEnvironment;
|
|
45
|
+
/** Gateway-wide provider/model overrides applied beneath per-soul pins. */
|
|
46
|
+
selection?: RuntimeSelection;
|
|
47
|
+
/** Channel adapters to run (Slack, …). Started on start(), stopped on stop(). */
|
|
48
|
+
channels?: GatewayChannelAdapter[];
|
|
49
|
+
approvals?: ApprovalPolicy;
|
|
50
|
+
maxTurns?: number;
|
|
51
|
+
/**
|
|
52
|
+
* The activity watchdog: abort a turn when no event for its session has
|
|
53
|
+
* arrived for this long. Progress-based, not wall-clock — any delta, tool
|
|
54
|
+
* event, or response resets it. 0 disables. Default 120s.
|
|
55
|
+
*/
|
|
56
|
+
idleTimeoutMs?: number;
|
|
57
|
+
/** Session database path. Default ~/.stratus/sessions.db. */
|
|
58
|
+
sessionDbPath?: string;
|
|
59
|
+
log?: (line: string) => void;
|
|
60
|
+
warn?: (line: string) => void;
|
|
61
|
+
}
|
|
62
|
+
export interface DispatchInput {
|
|
63
|
+
/**
|
|
64
|
+
* Stable session id chosen by the caller — channels derive it from the
|
|
65
|
+
* conversation (e.g. a Slack thread), so any later message with the same
|
|
66
|
+
* id resumes the conversation, across daemon restarts included.
|
|
67
|
+
*/
|
|
68
|
+
sessionId: string;
|
|
69
|
+
/** Roster agent id. Defaults to the gateway's default agent. */
|
|
70
|
+
agentId?: string;
|
|
71
|
+
userMessage: string;
|
|
72
|
+
metadata?: JsonObject;
|
|
73
|
+
signal?: AbortSignal;
|
|
74
|
+
}
|
|
75
|
+
export interface Gateway {
|
|
76
|
+
start(): Promise<void>;
|
|
77
|
+
stop(): Promise<void>;
|
|
78
|
+
/** The one entrypoint: resolve the agent, load-or-create the session, run a turn. */
|
|
79
|
+
dispatch(input: DispatchInput): Promise<Session>;
|
|
80
|
+
/** Live events from every runner, one stream for all consumers. */
|
|
81
|
+
readonly bus: EventBus;
|
|
82
|
+
/** The store shared by every runner (durable across restarts). */
|
|
83
|
+
readonly store: SqliteSessionStore;
|
|
84
|
+
/** The current roster, default agent included. */
|
|
85
|
+
agents(): AgentDefinition[];
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* The always-on Stratus process. One gateway holds the roster, the durable
|
|
89
|
+
* session store, the shared event bus, and a pool of runners keyed by
|
|
90
|
+
* resolved provider configuration — each agent runs on its own provider,
|
|
91
|
+
* model, and credentials, delegation included.
|
|
92
|
+
*/
|
|
93
|
+
export declare const createGateway: (options?: GatewayOptions) => Gateway;
|
|
94
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,QAAQ,EAGR,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,YAAY,EAElB,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EAqBL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AAK7B;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,qBAAa,kBAAmB,YAAW,YAAY;IACrD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAe;gBAEtB,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,yBAA8B;IAuD/D,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IASzE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAO7C,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3C,kEAAkE;IAClE,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAmB/G,KAAK,IAAI,IAAI;CAGd;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,iFAAiF;IACjF,QAAQ,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACnC,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,qFAAqF;IACrF,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjD,mEAAmE;IACnE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,kDAAkD;IAClD,MAAM,IAAI,eAAe,EAAE,CAAC;CAC7B;AAUD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,UAAS,cAAmB,KAAG,OA+nB5D,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,682 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { chmodSync, mkdirSync } from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { DatabaseSync } from 'node:sqlite';
|
|
5
|
+
import { AgentRegistry, AgentRunner, EventBus, RunAbortedError, ToolRegistry, } from '@stratusagent/core';
|
|
6
|
+
import { createDelegateTool, createRememberTool, } from '@stratusagent/agents';
|
|
7
|
+
import { createLocalCommandExecutor } from '@stratusagent/executor-local';
|
|
8
|
+
import { createDemoTool, createFileMemoryStore, createRuntimeProvider, DEFAULT_STRATUS_AGENT, loadRosterSouls, FALLBACK_ACTIVE_METADATA_KEY, loadSoulFile, memoryFilePath, migrateLegacyMemory, ConfigFileError, loadConfigFile, readNonEmptyString, resolveConfigLocation, resolveConfiguredSoul, resolveRuntimeConfig, stratusHomePath, withLegacyDefaultMemories, } from '@stratusagent/state';
|
|
9
|
+
const SESSIONS_DB_FILENAME = 'sessions.db';
|
|
10
|
+
const DEFAULT_IDLE_TIMEOUT_MS = 120_000;
|
|
11
|
+
export class SqliteSessionStore {
|
|
12
|
+
db;
|
|
13
|
+
constructor(filePath, options = {}) {
|
|
14
|
+
// Sessions hold complete conversations (prompts, replies, tool output,
|
|
15
|
+
// provider replay state) — owner-only, like the credentials file. The
|
|
16
|
+
// file chmods below cover databases created earlier under a looser
|
|
17
|
+
// umask too; directories the store creates are born 0700.
|
|
18
|
+
const dir = path.dirname(filePath);
|
|
19
|
+
mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
20
|
+
if (options.ownedDirectory) {
|
|
21
|
+
chmodSync(dir, 0o700);
|
|
22
|
+
}
|
|
23
|
+
this.db = new DatabaseSync(filePath);
|
|
24
|
+
// The database file is tightened FIRST: SQLite derives sidecar
|
|
25
|
+
// permissions from the main file's mode, so everything created later
|
|
26
|
+
// inherits owner-only.
|
|
27
|
+
try {
|
|
28
|
+
chmodSync(filePath, 0o600);
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
// A database that cannot be tightened must not be used: conversation
|
|
32
|
+
// bodies would stay readable by other local users for the daemon's
|
|
33
|
+
// whole lifetime, silently.
|
|
34
|
+
if (error.code !== 'ENOENT') {
|
|
35
|
+
throw error;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
// WAL, not the default DELETE journal: DELETE mode recreates a
|
|
39
|
+
// rollback journal on EVERY write, which a one-time chmod could never
|
|
40
|
+
// cover in a traversable caller-supplied directory. WAL keeps one
|
|
41
|
+
// persistent sidecar pair per connection — forced into existence here
|
|
42
|
+
// (the user_version pragma is a real page-one write) so the loop
|
|
43
|
+
// below covers them for the connection's whole lifetime.
|
|
44
|
+
this.db.exec('PRAGMA journal_mode = WAL');
|
|
45
|
+
this.db.exec(`
|
|
46
|
+
CREATE TABLE IF NOT EXISTS sessions (
|
|
47
|
+
id TEXT PRIMARY KEY,
|
|
48
|
+
agent_id TEXT NOT NULL,
|
|
49
|
+
status TEXT NOT NULL,
|
|
50
|
+
body TEXT NOT NULL,
|
|
51
|
+
created_at TEXT NOT NULL,
|
|
52
|
+
updated_at TEXT NOT NULL
|
|
53
|
+
)
|
|
54
|
+
`);
|
|
55
|
+
this.db.exec('PRAGMA user_version = 0');
|
|
56
|
+
for (const sensitive of [filePath, `${filePath}-wal`, `${filePath}-shm`, `${filePath}-journal`]) {
|
|
57
|
+
try {
|
|
58
|
+
chmodSync(sensitive, 0o600);
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
// A sidecar that does not exist has nothing to tighten; anything
|
|
62
|
+
// else means session data stays readable — refuse to run over it.
|
|
63
|
+
if (error.code !== 'ENOENT') {
|
|
64
|
+
throw error;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
async create(input) {
|
|
70
|
+
const now = new Date().toISOString();
|
|
71
|
+
const session = { ...input, createdAt: now, updatedAt: now };
|
|
72
|
+
this.db
|
|
73
|
+
.prepare('INSERT OR REPLACE INTO sessions (id, agent_id, status, body, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?)')
|
|
74
|
+
.run(session.id, session.agent.id, session.status, JSON.stringify(session), session.createdAt, session.updatedAt);
|
|
75
|
+
return session;
|
|
76
|
+
}
|
|
77
|
+
async get(id) {
|
|
78
|
+
const row = this.db.prepare('SELECT body FROM sessions WHERE id = ?').get(id);
|
|
79
|
+
return row ? JSON.parse(row.body) : undefined;
|
|
80
|
+
}
|
|
81
|
+
async save(session) {
|
|
82
|
+
const updated = { ...session, updatedAt: new Date().toISOString() };
|
|
83
|
+
this.db
|
|
84
|
+
.prepare('INSERT OR REPLACE INTO sessions (id, agent_id, status, body, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?)')
|
|
85
|
+
.run(updated.id, updated.agent.id, updated.status, JSON.stringify(updated), updated.createdAt, updated.updatedAt);
|
|
86
|
+
}
|
|
87
|
+
/** Newest-first session listing for one agent (or all agents). */
|
|
88
|
+
list(agentId) {
|
|
89
|
+
const rows = (agentId
|
|
90
|
+
? this.db.prepare('SELECT id, agent_id, status, created_at, updated_at FROM sessions WHERE agent_id = ? ORDER BY updated_at DESC').all(agentId)
|
|
91
|
+
: this.db.prepare('SELECT id, agent_id, status, created_at, updated_at FROM sessions ORDER BY updated_at DESC').all());
|
|
92
|
+
return rows.map((row) => ({
|
|
93
|
+
id: row.id,
|
|
94
|
+
agentId: row.agent_id,
|
|
95
|
+
status: row.status,
|
|
96
|
+
createdAt: row.created_at,
|
|
97
|
+
updatedAt: row.updated_at,
|
|
98
|
+
}));
|
|
99
|
+
}
|
|
100
|
+
close() {
|
|
101
|
+
this.db.close();
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* The always-on Stratus process. One gateway holds the roster, the durable
|
|
106
|
+
* session store, the shared event bus, and a pool of runners keyed by
|
|
107
|
+
* resolved provider configuration — each agent runs on its own provider,
|
|
108
|
+
* model, and credentials, delegation included.
|
|
109
|
+
*/
|
|
110
|
+
export const createGateway = (options = {}) => {
|
|
111
|
+
const env = options.env ?? {};
|
|
112
|
+
const log = options.log ?? (() => { });
|
|
113
|
+
const warn = options.warn ?? (() => { });
|
|
114
|
+
const idleTimeoutMs = options.idleTimeoutMs ?? DEFAULT_IDLE_TIMEOUT_MS;
|
|
115
|
+
const bus = new EventBus({
|
|
116
|
+
onError: (error) => warn(`event handler failed: ${error instanceof Error ? error.message : String(error)}`),
|
|
117
|
+
});
|
|
118
|
+
// The default database lives in the gateway-owned ~/.stratus, which is
|
|
119
|
+
// tightened to owner-only; a caller-supplied path may sit in a shared
|
|
120
|
+
// directory that must not be chmodded from under other processes.
|
|
121
|
+
const store = options.sessionDbPath
|
|
122
|
+
? new SqliteSessionStore(options.sessionDbPath)
|
|
123
|
+
: new SqliteSessionStore(path.join(stratusHomePath(env), SESSIONS_DB_FILENAME), { ownedDirectory: true });
|
|
124
|
+
const memory = withLegacyDefaultMemories(createFileMemoryStore(memoryFilePath(env)));
|
|
125
|
+
const registry = new AgentRegistry();
|
|
126
|
+
const sources = new Map();
|
|
127
|
+
// ---- roster -------------------------------------------------------------
|
|
128
|
+
const registerSource = (source) => {
|
|
129
|
+
registry.register(source.definition);
|
|
130
|
+
sources.set(source.definition.id, source);
|
|
131
|
+
};
|
|
132
|
+
/**
|
|
133
|
+
* The agent an agentId-less dispatch routes to: the configured default
|
|
134
|
+
* soul when one is set (what `stratus setup` writes to config.json),
|
|
135
|
+
* the built-in Stratus definition otherwise. Re-resolved per call so an
|
|
136
|
+
* edited default soul reaches conversations without a restart — the
|
|
137
|
+
* runtime config already re-reads it, and the identity (persona, tool
|
|
138
|
+
* allowlist, memory id) must follow along, not stay pinned to the
|
|
139
|
+
* built-in definition.
|
|
140
|
+
*/
|
|
141
|
+
let lastDefaultAgentId;
|
|
142
|
+
// The last successfully loaded config snapshot, serving dispatches while
|
|
143
|
+
// the file on disk is temporarily broken (an operator mid-edit).
|
|
144
|
+
let lastGoodConfigSnapshot;
|
|
145
|
+
const defaultAgentId = async () => {
|
|
146
|
+
// Identity only — never full runtime resolution: credential checks do
|
|
147
|
+
// not belong here, or a daemon default provider without installed keys
|
|
148
|
+
// would throw while the soul pins a provider that has them, taking
|
|
149
|
+
// loadRoster (and the whole gateway) down with it. Provider resolution
|
|
150
|
+
// happens at dispatch, where pin demotion applies.
|
|
151
|
+
let resolved;
|
|
152
|
+
try {
|
|
153
|
+
resolved = await resolveConfiguredSoul({ ...options.selection }, env);
|
|
154
|
+
}
|
|
155
|
+
catch (error) {
|
|
156
|
+
warn(`could not load the configured default soul: ${error instanceof Error ? error.message : String(error)}`);
|
|
157
|
+
// A transiently unreadable default keeps routing to the last known
|
|
158
|
+
// default agent (whose source serves from cache) rather than
|
|
159
|
+
// silently switching identities to the built-in.
|
|
160
|
+
return lastDefaultAgentId ?? DEFAULT_STRATUS_AGENT.id;
|
|
161
|
+
}
|
|
162
|
+
if (!resolved) {
|
|
163
|
+
// The operator removed the default soul on purpose: the built-in is
|
|
164
|
+
// now the cached answer too, so a later transient read failure
|
|
165
|
+
// cannot resurrect the retired soul's identity.
|
|
166
|
+
lastDefaultAgentId = DEFAULT_STRATUS_AGENT.id;
|
|
167
|
+
return DEFAULT_STRATUS_AGENT.id;
|
|
168
|
+
}
|
|
169
|
+
const id = resolved.soul.agent.id;
|
|
170
|
+
// The normal setup layout has the default soul in ~/.stratus/agents
|
|
171
|
+
// too: keep the roster registration — its soulPath drives per-dispatch
|
|
172
|
+
// refresh. A config-only soul registers with the path it resolved
|
|
173
|
+
// from, so it refreshes (and keeps its pins current) exactly like a
|
|
174
|
+
// roster soul, resumed sessions included. A repointed config (same
|
|
175
|
+
// agent id, different file) replaces the source, or moves and
|
|
176
|
+
// replacements would silently keep refreshing the old file.
|
|
177
|
+
const existing = sources.get(id);
|
|
178
|
+
const pathChanged = Boolean(existing?.soulPath && existing.soulPath !== resolved.path);
|
|
179
|
+
if (!existing?.soulPath || pathChanged) {
|
|
180
|
+
registerSource({
|
|
181
|
+
definition: resolved.soul.agent,
|
|
182
|
+
soul: resolved.soul,
|
|
183
|
+
soulPath: resolved.path,
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
lastDefaultAgentId = id;
|
|
187
|
+
return id;
|
|
188
|
+
};
|
|
189
|
+
const loadRoster = async () => {
|
|
190
|
+
// The built-in id is reserved BEFORE ordinary roster entries load: a
|
|
191
|
+
// roster file that happens to declare id "stratus" must not hijack
|
|
192
|
+
// the documented built-in fallback for agentId-less dispatches — the
|
|
193
|
+
// duplicate guard below skips it with a warning. Only the explicitly
|
|
194
|
+
// configured default soul may take the id over (defaultAgentId
|
|
195
|
+
// replaces a pathless source).
|
|
196
|
+
registerSource({ definition: { ...DEFAULT_STRATUS_AGENT } });
|
|
197
|
+
const entries = await loadRosterSouls(env, warn);
|
|
198
|
+
for (const entry of entries) {
|
|
199
|
+
if (sources.has(entry.soul.agent.id)) {
|
|
200
|
+
const existing = sources.get(entry.soul.agent.id);
|
|
201
|
+
warn(`duplicate agent id ${entry.soul.agent.id} (${existing?.soulPath ?? 'built-in'} vs ${entry.path}); keeping the first`);
|
|
202
|
+
continue;
|
|
203
|
+
}
|
|
204
|
+
registerSource({ definition: entry.soul.agent, soulPath: entry.path, soul: entry.soul });
|
|
205
|
+
}
|
|
206
|
+
// The configured default soul is part of the roster too — it is what
|
|
207
|
+
// an agentId-less dispatch answers as.
|
|
208
|
+
await defaultAgentId();
|
|
209
|
+
};
|
|
210
|
+
/**
|
|
211
|
+
* A session pins its agent id, never a snapshot of the agent: the soul
|
|
212
|
+
* file is re-read on every dispatch, so an edited persona (or tool
|
|
213
|
+
* allowlist) reaches existing conversations on their next turn.
|
|
214
|
+
*/
|
|
215
|
+
const refreshAgent = async (agentId) => {
|
|
216
|
+
const source = sources.get(agentId);
|
|
217
|
+
if (!source) {
|
|
218
|
+
throw new Error(`Agent not found: ${agentId}`);
|
|
219
|
+
}
|
|
220
|
+
if (source.soulPath) {
|
|
221
|
+
let soul;
|
|
222
|
+
try {
|
|
223
|
+
soul = await loadSoulFile(source.soulPath);
|
|
224
|
+
}
|
|
225
|
+
catch (error) {
|
|
226
|
+
warn(`could not refresh ${source.soulPath}: ${error instanceof Error ? error.message : String(error)}; keeping the loaded definition`);
|
|
227
|
+
// Serve from cache WITHOUT the failing path: the dispatch resolves
|
|
228
|
+
// from the cached soul snapshot, and the registered source keeps
|
|
229
|
+
// its path for the next refresh attempt.
|
|
230
|
+
return {
|
|
231
|
+
definition: source.definition,
|
|
232
|
+
...(source.soul ? { soul: source.soul } : {}),
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
if (soul.agent.id !== agentId) {
|
|
236
|
+
// The file now belongs to a different agent. Serving this agent
|
|
237
|
+
// anyway would resolve provider/model pins from that other
|
|
238
|
+
// agent's soul — another identity's billing path — so the
|
|
239
|
+
// dispatch is refused rather than run on ambiguous config.
|
|
240
|
+
throw new Error(`Soul ${source.soulPath} now declares agent ${soul.agent.id}, not ${agentId} — refusing the dispatch so ${agentId}'s sessions cannot run on another agent's provider pins. Restore the soul's identity, or address the agent by its new id.`);
|
|
241
|
+
}
|
|
242
|
+
const refreshed = { definition: soul.agent, soulPath: source.soulPath, soul };
|
|
243
|
+
registerSource(refreshed);
|
|
244
|
+
return refreshed;
|
|
245
|
+
}
|
|
246
|
+
return source;
|
|
247
|
+
};
|
|
248
|
+
// ---- runner pool --------------------------------------------------------
|
|
249
|
+
const tools = new ToolRegistry();
|
|
250
|
+
tools.register(createDemoTool());
|
|
251
|
+
tools.register(createRememberTool(memory));
|
|
252
|
+
// Delegation is dispatcher-backed, not runner-capturing: the target agent
|
|
253
|
+
// runs through the same per-provider routing as a direct dispatch, so a
|
|
254
|
+
// delegated specialist uses their own provider and credentials.
|
|
255
|
+
tools.register(createDelegateTool({
|
|
256
|
+
registry,
|
|
257
|
+
dispatch: (input) => dispatchInternal({
|
|
258
|
+
sessionId: input.sessionId,
|
|
259
|
+
agentId: input.agent.id,
|
|
260
|
+
userMessage: input.userMessage,
|
|
261
|
+
metadata: input.metadata,
|
|
262
|
+
// A cancelled parent turn cancels its delegated runs too.
|
|
263
|
+
...(input.signal ? { signal: input.signal } : {}),
|
|
264
|
+
}),
|
|
265
|
+
}));
|
|
266
|
+
const runners = new Map();
|
|
267
|
+
// Every provider-construction input participates in the key — model,
|
|
268
|
+
// endpoint, credentials, system prompt, fallback config. A rotated
|
|
269
|
+
// credential therefore resolves to a NEW runner on the next dispatch
|
|
270
|
+
// instead of silently reusing a provider built with the old secret.
|
|
271
|
+
// (Hashed so raw secrets never sit in a map key; the soul is excluded
|
|
272
|
+
// because provider construction ignores it.)
|
|
273
|
+
const runnerKeyFor = (config) => {
|
|
274
|
+
const { soul: _soul, soulPath: _soulPath, fetch: _fetch, ...providerInputs } = config;
|
|
275
|
+
return createHash('sha256').update(JSON.stringify(providerInputs)).digest('hex');
|
|
276
|
+
};
|
|
277
|
+
const runnerFor = (config) => {
|
|
278
|
+
const key = runnerKeyFor(config);
|
|
279
|
+
const existing = runners.get(key);
|
|
280
|
+
if (existing) {
|
|
281
|
+
return existing;
|
|
282
|
+
}
|
|
283
|
+
// The Claude Code runtime executes kernel tools by calling back into
|
|
284
|
+
// the runner built just below — late-bound because the runner needs
|
|
285
|
+
// the provider first.
|
|
286
|
+
let hostedRunner;
|
|
287
|
+
const provider = createRuntimeProvider(config, (error) => warn(`default model failed (${error instanceof Error ? error.message : String(error)}); using the fallback model`), async (session, call, context) => {
|
|
288
|
+
if (!hostedRunner) {
|
|
289
|
+
throw new Error('The Stratus runtime is not ready to execute tools yet.');
|
|
290
|
+
}
|
|
291
|
+
return hostedRunner.executeHostedToolCall(session, call, context);
|
|
292
|
+
}, options.maxTurns,
|
|
293
|
+
// The sticky-fallback switch is durable the moment it happens, not
|
|
294
|
+
// when the turn's next save lands — a daemon killed mid-fallback
|
|
295
|
+
// must not retry the primary on restart.
|
|
296
|
+
(session) => store.save(session));
|
|
297
|
+
const runner = new AgentRunner({
|
|
298
|
+
provider,
|
|
299
|
+
tools,
|
|
300
|
+
executor: createLocalCommandExecutor(),
|
|
301
|
+
...(options.approvals ? { approvals: options.approvals } : {}),
|
|
302
|
+
store,
|
|
303
|
+
bus,
|
|
304
|
+
agents: registry,
|
|
305
|
+
memory,
|
|
306
|
+
streaming: true,
|
|
307
|
+
...(options.maxTurns !== undefined ? { maxTurns: options.maxTurns } : {}),
|
|
308
|
+
});
|
|
309
|
+
hostedRunner = runner;
|
|
310
|
+
runners.set(key, runner);
|
|
311
|
+
return runner;
|
|
312
|
+
};
|
|
313
|
+
// ---- watchdog -----------------------------------------------------------
|
|
314
|
+
/**
|
|
315
|
+
* True when this configuration's provider actually emits deltas: the
|
|
316
|
+
* Anthropic API path streams; the Claude Code runtime, OpenAI-compatible
|
|
317
|
+
* adapters, and the demo provider resolve in one piece. An activity
|
|
318
|
+
* watchdog is only honest where activity signals exist — for
|
|
319
|
+
* non-streaming providers the idle timer would be a wall-clock timeout
|
|
320
|
+
* that kills slow-but-healthy turns, so it stays off for them (their
|
|
321
|
+
* tool phases are covered by executor timeouts regardless).
|
|
322
|
+
*/
|
|
323
|
+
const fallbackStreamsDeltas = (fallback) => fallback.provider === 'anthropic' && Boolean(fallback.apiKey);
|
|
324
|
+
const streamsDeltas = (config) => config.provider === 'anthropic' && Boolean(config.apiKey);
|
|
325
|
+
/**
|
|
326
|
+
* Progress-based abort, armed only while the turn is actually awaiting a
|
|
327
|
+
* streaming provider — the one phase where silence means a stall. Tool
|
|
328
|
+
* executions and approval waits emit no deltas (executor timeouts cover
|
|
329
|
+
* them), so the timer suspends at each provider.response and re-arms once
|
|
330
|
+
* every tool call from that response has settled and the loop heads back
|
|
331
|
+
* to the provider. A reset delta marks the mid-turn, session-sticky
|
|
332
|
+
* switch to the fallback provider, and the timer follows the active
|
|
333
|
+
* provider through it: switching to a non-streaming fallback suspends it
|
|
334
|
+
* for the rest of the turn (silence is healthy there), while a streaming
|
|
335
|
+
* fallback taking over from a non-streaming primary arms it for the
|
|
336
|
+
* first time.
|
|
337
|
+
*/
|
|
338
|
+
const withWatchdog = async (sessionId, external, idleEnabled, fallbackStreams, run) => {
|
|
339
|
+
const effectiveIdleMs = idleEnabled || fallbackStreams ? idleTimeoutMs : 0;
|
|
340
|
+
if (effectiveIdleMs <= 0 && !external) {
|
|
341
|
+
return run(new AbortController().signal);
|
|
342
|
+
}
|
|
343
|
+
const controller = new AbortController();
|
|
344
|
+
let timedOut = false;
|
|
345
|
+
const onExternalAbort = () => controller.abort();
|
|
346
|
+
if (external?.aborted) {
|
|
347
|
+
controller.abort();
|
|
348
|
+
}
|
|
349
|
+
else {
|
|
350
|
+
external?.addEventListener('abort', onExternalAbort, { once: true });
|
|
351
|
+
}
|
|
352
|
+
let timer;
|
|
353
|
+
// Whether the provider currently serving this turn streams deltas —
|
|
354
|
+
// the primary until a reset delta announces the sticky fallback switch.
|
|
355
|
+
let streamingActive = idleEnabled;
|
|
356
|
+
let pendingTools = 0;
|
|
357
|
+
// Set at a text-only provider.response: the turn is wrapping up
|
|
358
|
+
// (saves, completion events); nothing left for the timer to guard.
|
|
359
|
+
let turnSettling = false;
|
|
360
|
+
const suspendTimer = () => {
|
|
361
|
+
if (timer) {
|
|
362
|
+
clearTimeout(timer);
|
|
363
|
+
timer = undefined;
|
|
364
|
+
}
|
|
365
|
+
};
|
|
366
|
+
const armTimer = () => {
|
|
367
|
+
if (effectiveIdleMs <= 0) {
|
|
368
|
+
return;
|
|
369
|
+
}
|
|
370
|
+
suspendTimer();
|
|
371
|
+
// Deliberately not unref'd: while a provider await is in flight, this
|
|
372
|
+
// timer is what guarantees the process can always make progress on it.
|
|
373
|
+
timer = setTimeout(() => {
|
|
374
|
+
timedOut = true;
|
|
375
|
+
warn(`watchdog: no activity on session ${sessionId} for ${effectiveIdleMs}ms; aborting the turn`);
|
|
376
|
+
controller.abort();
|
|
377
|
+
}, effectiveIdleMs);
|
|
378
|
+
};
|
|
379
|
+
// Two subscriptions bracket every event's fan-out. The PREPENDED
|
|
380
|
+
// observer runs before any external consumer: it updates phase state
|
|
381
|
+
// and stops the clock — while the remaining (possibly slow, throttled)
|
|
382
|
+
// subscribers process this event, the provider is not being awaited,
|
|
383
|
+
// so elapsed time is consumer time, not provider silence. The APPENDED
|
|
384
|
+
// marker runs last: control is about to return to the runner and its
|
|
385
|
+
// provider await, so the timer arms only when a streaming provider is
|
|
386
|
+
// actually the thing being waited on (never during tool phases,
|
|
387
|
+
// post-switch silent fallbacks, or turn wrap-up).
|
|
388
|
+
const unsubscribeObserver = bus.subscribe((event) => {
|
|
389
|
+
if (!('sessionId' in event) || event.sessionId !== sessionId) {
|
|
390
|
+
return;
|
|
391
|
+
}
|
|
392
|
+
switch (event.type) {
|
|
393
|
+
case 'provider.delta':
|
|
394
|
+
// A reset marks the mid-turn, session-sticky fallback switch:
|
|
395
|
+
// the timer follows whether the now-active provider streams.
|
|
396
|
+
if (event.delta.type === 'reset') {
|
|
397
|
+
streamingActive = fallbackStreams;
|
|
398
|
+
}
|
|
399
|
+
break;
|
|
400
|
+
case 'provider.response':
|
|
401
|
+
// The provider finished; the loop enters its tool phase
|
|
402
|
+
// (approval waits included) — or, with no tool calls, the turn
|
|
403
|
+
// is over. The response says exactly how many tool calls must
|
|
404
|
+
// settle before the loop returns to the provider.
|
|
405
|
+
pendingTools = event.parts.filter((part) => part.type !== 'text').length;
|
|
406
|
+
if (pendingTools === 0) {
|
|
407
|
+
turnSettling = true;
|
|
408
|
+
}
|
|
409
|
+
break;
|
|
410
|
+
case 'tool.completed':
|
|
411
|
+
case 'tool.denied':
|
|
412
|
+
pendingTools = Math.max(0, pendingTools - 1);
|
|
413
|
+
break;
|
|
414
|
+
default:
|
|
415
|
+
break;
|
|
416
|
+
}
|
|
417
|
+
suspendTimer();
|
|
418
|
+
}, { prepend: true });
|
|
419
|
+
const unsubscribeDrain = bus.subscribe((event) => {
|
|
420
|
+
if (!('sessionId' in event) || event.sessionId !== sessionId) {
|
|
421
|
+
return;
|
|
422
|
+
}
|
|
423
|
+
if (streamingActive && pendingTools === 0 && !turnSettling) {
|
|
424
|
+
armTimer();
|
|
425
|
+
}
|
|
426
|
+
});
|
|
427
|
+
if (streamingActive) {
|
|
428
|
+
armTimer();
|
|
429
|
+
}
|
|
430
|
+
try {
|
|
431
|
+
return await run(controller.signal);
|
|
432
|
+
}
|
|
433
|
+
catch (error) {
|
|
434
|
+
if (timedOut && error instanceof RunAbortedError) {
|
|
435
|
+
throw new RunAbortedError(`Run aborted: no activity for ${effectiveIdleMs}ms`);
|
|
436
|
+
}
|
|
437
|
+
throw error;
|
|
438
|
+
}
|
|
439
|
+
finally {
|
|
440
|
+
suspendTimer();
|
|
441
|
+
unsubscribeObserver();
|
|
442
|
+
unsubscribeDrain();
|
|
443
|
+
external?.removeEventListener('abort', onExternalAbort);
|
|
444
|
+
}
|
|
445
|
+
};
|
|
446
|
+
// ---- dispatch -----------------------------------------------------------
|
|
447
|
+
// Single-flight per session: a second message to a busy session queues
|
|
448
|
+
// behind the in-flight turn instead of interleaving with it. Sessions
|
|
449
|
+
// are independent — different conversations run concurrently.
|
|
450
|
+
const sessionChains = new Map();
|
|
451
|
+
const inflight = new Set();
|
|
452
|
+
let stopping = false;
|
|
453
|
+
const dispatchInternal = async (input) => {
|
|
454
|
+
// A dispatch whose signal fired while it queued behind another turn
|
|
455
|
+
// must not touch durable state: without this check, the runner would
|
|
456
|
+
// load the session, append the cancelled user message, and save it as
|
|
457
|
+
// failed — polluting future model history with input never processed.
|
|
458
|
+
if (input.signal?.aborted) {
|
|
459
|
+
throw new RunAbortedError();
|
|
460
|
+
}
|
|
461
|
+
// A session pins its agent: when the caller names none, an existing
|
|
462
|
+
// conversation keeps the agent it was created with even if the
|
|
463
|
+
// configured default soul has changed since — only a brand-new session
|
|
464
|
+
// takes the current default. (Loaded here, before the watchdog, also
|
|
465
|
+
// because whether this turn streams depends on durable session state.)
|
|
466
|
+
const existing = await store.get(input.sessionId);
|
|
467
|
+
const agentId = input.agentId ?? existing?.agent.id ?? await defaultAgentId();
|
|
468
|
+
const source = await refreshAgent(agentId);
|
|
469
|
+
const agent = source.definition;
|
|
470
|
+
// Config re-resolves per dispatch, so a changed model, credential, or
|
|
471
|
+
// soul pin applies without a restart. The pool dedupes runners by the
|
|
472
|
+
// resolved configuration. The gateway-wide selection and the daemon's
|
|
473
|
+
// environment are defaults, not overrides: resolveRuntimeConfig gives
|
|
474
|
+
// both higher precedence than the soul (they are explicit flags and
|
|
475
|
+
// env vars on the CLI), so any default the soul pins over is dropped
|
|
476
|
+
// here — an agent pinned to a provider keeps it whatever the gateway
|
|
477
|
+
// was started with, and a default model never rides along to a
|
|
478
|
+
// different provider than it was chosen for.
|
|
479
|
+
const selection = { ...options.selection };
|
|
480
|
+
let resolveEnv = env;
|
|
481
|
+
// One config read per dispatch, through a last-known-good cache: a
|
|
482
|
+
// config.json an operator saved mid-edit must neither fail dispatches
|
|
483
|
+
// (a daemon keeps serving) nor silently change what it configured —
|
|
484
|
+
// discarding a broken config wholesale would flip a config-provided
|
|
485
|
+
// provider back to the demo default, durably recording canned replies
|
|
486
|
+
// in a real conversation. With no known-good snapshot to fall back
|
|
487
|
+
// on, failing is the honest outcome. Credential and provider errors
|
|
488
|
+
// are never masked — only the file itself degrades.
|
|
489
|
+
let configSnapshot;
|
|
490
|
+
try {
|
|
491
|
+
const location = await resolveConfigLocation(options.selection?.configPath ? { configPath: options.selection.configPath } : {}, env);
|
|
492
|
+
configSnapshot = location
|
|
493
|
+
? { config: await loadConfigFile(location.path), trusted: location.trusted, path: location.path }
|
|
494
|
+
: { config: {}, trusted: true };
|
|
495
|
+
lastGoodConfigSnapshot = configSnapshot;
|
|
496
|
+
}
|
|
497
|
+
catch (error) {
|
|
498
|
+
if (!(error instanceof ConfigFileError) || !lastGoodConfigSnapshot) {
|
|
499
|
+
throw error;
|
|
500
|
+
}
|
|
501
|
+
warn(`${error.message}; using the last known-good config`);
|
|
502
|
+
configSnapshot = lastGoodConfigSnapshot;
|
|
503
|
+
}
|
|
504
|
+
selection.presetConfig = configSnapshot;
|
|
505
|
+
const pins = source.soul;
|
|
506
|
+
if (pins) {
|
|
507
|
+
// One soul read per dispatch: resolution uses the exact snapshot
|
|
508
|
+
// refreshAgent just loaded and identity-checked. Handing the path
|
|
509
|
+
// to resolveRuntimeConfig instead would read the file a second
|
|
510
|
+
// time, racing a concurrent replacement — this turn could keep one
|
|
511
|
+
// agent's definition while adopting another's provider pins.
|
|
512
|
+
selection.presetSoul = pins;
|
|
513
|
+
if (pins.provider || pins.model) {
|
|
514
|
+
const processEnv = { ...(env.processEnv ?? process.env) };
|
|
515
|
+
// The daemon-wide default can come from the selection, the
|
|
516
|
+
// environment, or the config file. A config with no provider key
|
|
517
|
+
// predates the anthropic option and is openai-specific (the
|
|
518
|
+
// resolver treats it that way), so a real file without the key
|
|
519
|
+
// still names openai as the default.
|
|
520
|
+
// Env values normalize exactly as the resolver normalizes them:
|
|
521
|
+
// an empty or whitespace-padded STRATUS_PROVIDER is no default at
|
|
522
|
+
// all, not a mismatching one.
|
|
523
|
+
const defaultProvider = options.selection?.provider
|
|
524
|
+
?? readNonEmptyString(processEnv.STRATUS_PROVIDER)
|
|
525
|
+
?? readNonEmptyString(processEnv.STRATUSCLAW_PROVIDER)
|
|
526
|
+
?? configSnapshot.config.provider
|
|
527
|
+
?? (configSnapshot.path !== undefined ? 'openai' : undefined);
|
|
528
|
+
if (pins.provider) {
|
|
529
|
+
delete selection.provider;
|
|
530
|
+
delete processEnv.STRATUS_PROVIDER;
|
|
531
|
+
delete processEnv.STRATUSCLAW_PROVIDER;
|
|
532
|
+
if (defaultProvider !== undefined && defaultProvider !== 'demo' && pins.provider !== defaultProvider) {
|
|
533
|
+
// The default model, endpoint, and generic credentials were all
|
|
534
|
+
// chosen for the default provider — none may ride along to the
|
|
535
|
+
// soul's: a base URL would point the pinned provider at the
|
|
536
|
+
// wrong service, and a generic API key would be sent to it.
|
|
537
|
+
// With NO default selected anywhere — or the credential-less
|
|
538
|
+
// demo provider as the default — there is nothing those
|
|
539
|
+
// values could have been chosen for except whatever provider
|
|
540
|
+
// the soul selects — exactly the resolver's own reading of a
|
|
541
|
+
// generic credential — so they stay.
|
|
542
|
+
delete selection.model;
|
|
543
|
+
delete processEnv.STRATUS_MODEL;
|
|
544
|
+
delete processEnv.STRATUSCLAW_MODEL;
|
|
545
|
+
delete selection.baseUrl;
|
|
546
|
+
delete processEnv.STRATUS_BASE_URL;
|
|
547
|
+
delete processEnv.STRATUSCLAW_BASE_URL;
|
|
548
|
+
delete processEnv.STRATUS_API_KEY;
|
|
549
|
+
delete processEnv.STRATUSCLAW_API_KEY;
|
|
550
|
+
delete processEnv.STRATUS_API_KEY_ENV;
|
|
551
|
+
delete processEnv.STRATUSCLAW_API_KEY_ENV;
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
if (pins.model) {
|
|
555
|
+
delete selection.model;
|
|
556
|
+
delete processEnv.STRATUS_MODEL;
|
|
557
|
+
delete processEnv.STRATUSCLAW_MODEL;
|
|
558
|
+
}
|
|
559
|
+
resolveEnv = { ...env, processEnv };
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
else {
|
|
563
|
+
// A soul-less agent (the built-in default) resolves with no soul at
|
|
564
|
+
// all: the config file's default soul belongs to another identity —
|
|
565
|
+
// and when the default route degrades to the built-in, it is exactly
|
|
566
|
+
// because that file is currently unusable.
|
|
567
|
+
selection.presetSoul = null;
|
|
568
|
+
}
|
|
569
|
+
// The preset snapshot means resolution reads no config file — every
|
|
570
|
+
// failure from here is a credential or provider problem and surfaces.
|
|
571
|
+
const config = await resolveRuntimeConfig(selection, resolveEnv);
|
|
572
|
+
const runner = runnerFor(config);
|
|
573
|
+
const metadata = {
|
|
574
|
+
...(config.provider === 'demo'
|
|
575
|
+
? { provider: 'demo' }
|
|
576
|
+
: { provider: config.provider, model: config.model }),
|
|
577
|
+
...input.metadata,
|
|
578
|
+
};
|
|
579
|
+
if (existing && existing.agent.id !== agent.id) {
|
|
580
|
+
throw new Error(`Session ${input.sessionId} belongs to agent ${existing.agent.id}, not ${agent.id} — sessions never cross agent identities.`);
|
|
581
|
+
}
|
|
582
|
+
const switchedToFallback = existing?.metadata?.[FALLBACK_ACTIVE_METADATA_KEY] === true;
|
|
583
|
+
const fallbackStreams = config.provider !== 'demo' && config.fallback
|
|
584
|
+
? fallbackStreamsDeltas(config.fallback)
|
|
585
|
+
: false;
|
|
586
|
+
const effectiveStreams = switchedToFallback && config.provider !== 'demo' && config.fallback
|
|
587
|
+
? fallbackStreamsDeltas(config.fallback)
|
|
588
|
+
: streamsDeltas(config);
|
|
589
|
+
return withWatchdog(input.sessionId, input.signal, effectiveStreams, fallbackStreams, async (signal) => {
|
|
590
|
+
// The preflight above (agent refresh, config resolution, session
|
|
591
|
+
// load) awaited filesystem work; the entry check has long passed.
|
|
592
|
+
// Recheck before the runner touches durable state, or a dispatch
|
|
593
|
+
// cancelled mid-preflight would still persist its user message.
|
|
594
|
+
if (signal.aborted) {
|
|
595
|
+
throw new RunAbortedError();
|
|
596
|
+
}
|
|
597
|
+
if (existing) {
|
|
598
|
+
// Refresh the stored definition before resuming, so the turn runs
|
|
599
|
+
// with the current instructions, tools, and credentials.
|
|
600
|
+
existing.agent = agent;
|
|
601
|
+
await store.save(existing);
|
|
602
|
+
return runner.resume({ sessionId: input.sessionId, userMessage: input.userMessage, signal });
|
|
603
|
+
}
|
|
604
|
+
return runner.run({
|
|
605
|
+
sessionId: input.sessionId,
|
|
606
|
+
agent,
|
|
607
|
+
userMessage: input.userMessage,
|
|
608
|
+
metadata,
|
|
609
|
+
signal,
|
|
610
|
+
});
|
|
611
|
+
});
|
|
612
|
+
};
|
|
613
|
+
const dispatch = async (input) => {
|
|
614
|
+
if (stopping) {
|
|
615
|
+
throw new Error('The gateway is stopping and no longer accepts new work.');
|
|
616
|
+
}
|
|
617
|
+
const previous = sessionChains.get(input.sessionId) ?? Promise.resolve();
|
|
618
|
+
const turn = previous.then(() => dispatchInternal(input), () => dispatchInternal(input));
|
|
619
|
+
const settled = turn.catch(() => { });
|
|
620
|
+
sessionChains.set(input.sessionId, settled);
|
|
621
|
+
inflight.add(settled);
|
|
622
|
+
void settled.finally(() => {
|
|
623
|
+
inflight.delete(settled);
|
|
624
|
+
if (sessionChains.get(input.sessionId) === settled) {
|
|
625
|
+
sessionChains.delete(input.sessionId);
|
|
626
|
+
}
|
|
627
|
+
});
|
|
628
|
+
return turn;
|
|
629
|
+
};
|
|
630
|
+
const startedChannels = [];
|
|
631
|
+
const gateway = {
|
|
632
|
+
bus,
|
|
633
|
+
store,
|
|
634
|
+
async start() {
|
|
635
|
+
await migrateLegacyMemory(env);
|
|
636
|
+
await loadRoster();
|
|
637
|
+
const named = registry.list().map((agent) => agent.name).join(', ');
|
|
638
|
+
log(`stratusd ready — ${registry.list().length} agent(s): ${named}`);
|
|
639
|
+
// Channels come up after the roster so their first inbound message
|
|
640
|
+
// already has agents to dispatch to. One failing adapter must not
|
|
641
|
+
// keep the rest (or the gateway) down.
|
|
642
|
+
for (const adapter of options.channels ?? []) {
|
|
643
|
+
try {
|
|
644
|
+
await adapter.start(gateway);
|
|
645
|
+
startedChannels.push(adapter);
|
|
646
|
+
}
|
|
647
|
+
catch (error) {
|
|
648
|
+
warn(`channel ${adapter.name} failed to start: ${error instanceof Error ? error.message : String(error)}`);
|
|
649
|
+
// A start() that rejected may still hold sockets or listeners it
|
|
650
|
+
// acquired before failing; it never reaches startedChannels, so
|
|
651
|
+
// this is its only cleanup.
|
|
652
|
+
try {
|
|
653
|
+
await adapter.stop();
|
|
654
|
+
}
|
|
655
|
+
catch (stopError) {
|
|
656
|
+
warn(`channel ${adapter.name} cleanup after failed start also failed: ${stopError instanceof Error ? stopError.message : String(stopError)}`);
|
|
657
|
+
}
|
|
658
|
+
}
|
|
659
|
+
}
|
|
660
|
+
},
|
|
661
|
+
// Drain: channels stop taking messages, in-flight turns finish, new
|
|
662
|
+
// dispatches are refused, then the database closes. SIGTERM handling
|
|
663
|
+
// in `stratus serve` calls this.
|
|
664
|
+
async stop() {
|
|
665
|
+
// Refuse new work first; then let channels finish rendering their
|
|
666
|
+
// in-flight turns (already-started dispatches keep running), drain,
|
|
667
|
+
// and close.
|
|
668
|
+
stopping = true;
|
|
669
|
+
await Promise.allSettled(startedChannels.map((adapter) => adapter.stop()));
|
|
670
|
+
startedChannels.length = 0;
|
|
671
|
+
await Promise.allSettled([...inflight]);
|
|
672
|
+
store.close();
|
|
673
|
+
log('stratusd stopped');
|
|
674
|
+
},
|
|
675
|
+
dispatch,
|
|
676
|
+
agents() {
|
|
677
|
+
return registry.list();
|
|
678
|
+
},
|
|
679
|
+
};
|
|
680
|
+
return gateway;
|
|
681
|
+
};
|
|
682
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"fileNames":["../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.full.d.ts","../../core/dist/index.d.ts","../../agents/dist/index.d.ts","../../executor-local/dist/index.d.ts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/builtin-types.d.mts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/utility.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/web-globals/crypto.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@24.12.2/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/client-stats.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/h2c-client.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/snapshot-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@7.16.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/types.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/headers.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/shim-types.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/core/streaming.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/core/api.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/core/middleware.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/request-options.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/utils/log.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/shared.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/core/error.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/credentials/types.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/core/credentials.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/parse.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/core/api-promise.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/core/pagination.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/uploads.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/to-file.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/core/uploads.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/agents/versions.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/agents/index.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/deployments.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/dreams.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/middleware.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/error.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/decoders/line.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/messages/batches.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/messages/index.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/messages.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/MessageStream.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/parser.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/index.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/beta-parser.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/tools/CompactionControl.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/tools/BetaToolRunner.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/internal/utils/backoff.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/environments/poller.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/tools/agent-toolset/skills.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/tools/agent-toolset/node.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/environments/worker.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/environments/work.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/environments/environments.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/environments/index.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/files.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memories.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-versions.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/memory-stores.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/memory-stores/index.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/models.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/sessions/resources.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/threads.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/events.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/sessions/threads/index.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/sessions/index.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/skills/index.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/tunnels/certificates.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/tunnels/tunnels.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/tunnels/index.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/user-profiles.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/vaults/credentials.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/vaults/vaults.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/vaults/index.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/webhooks.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/index.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/tools/BetaRunnableTool.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/tools/SessionToolRunner.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/sessions/events.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/sessions/sessions.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/agents/agents.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/deployment-runs.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/completions.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/models.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/index.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/client.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/core/resource.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/lib/tools/ToolError.d.mts","../../../node_modules/.pnpm/@anthropic-ai+sdk@0.117.1_zod@4.4.3/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.mts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/json-schema.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/standard-schema.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/registries.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/to-json-schema.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/util.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/versions.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/schemas.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/checks.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/errors.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/core.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/parse.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/regexes.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ar.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/az.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/be.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/bg.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ca.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/cs.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/da.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/de.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/el.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/en.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/eo.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/es.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/fa.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/fi.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/fr.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/fr-CA.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/he.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/hr.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/hu.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/hy.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/id.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/is.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/it.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ja.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ka.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/kh.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/km.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ko.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/lt.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/mk.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ms.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/nl.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/no.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ota.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ps.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/pl.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/pt.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ro.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ru.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/sl.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/sv.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ta.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/th.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/tr.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ua.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/uk.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ur.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/uz.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/vi.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/zh-CN.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/zh-TW.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/yo.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/index.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/doc.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/api.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/json-schema-processors.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/json-schema-generator.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/index.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/errors.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/parse.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/schemas.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/checks.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/compat.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/from-json-schema.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/iso.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/coerce.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/external.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/index.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/index.d.cts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.30.0_zod@4.4.3/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/types.d.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.30.0_zod@4.4.3/node_modules/@modelcontextprotocol/sdk/dist/esm/types.d.ts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/helpers/typeAliases.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/helpers/util.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/ZodError.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/locales/en.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/errors.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/helpers/parseUtil.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/helpers/enumUtil.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/helpers/errorUtil.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/helpers/partialUtil.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/standard-schema.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/types.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/external.d.cts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/index.d.cts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.30.0_zod@4.4.3/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.d.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.30.0_zod@4.4.3/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/transport.d.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.30.0_zod@4.4.3/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/types.d.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.30.0_zod@4.4.3/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.d.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.30.0_zod@4.4.3/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/responseMessage.d.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.30.0_zod@4.4.3/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.d.ts","../../../node_modules/.pnpm/json-schema-typed@8.0.2/node_modules/json-schema-typed/draft_2020_12.d.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.30.0_zod@4.4.3/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/types.d.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.30.0_zod@4.4.3/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.d.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.30.0_zod@4.4.3/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.d.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.30.0_zod@4.4.3/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/uriTemplate.d.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.30.0_zod@4.4.3/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/mcp-server.d.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.30.0_zod@4.4.3/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.d.ts","../../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/index.d.cts","../../../node_modules/.pnpm/@anthropic-ai+claude-agent-sdk@0.3.233_@anthropic-ai+sdk@0.117.1_zod@4.4.3__@modelconte_3f8b5d5291621bf089b340b7d0b70678/node_modules/@anthropic-ai/claude-agent-sdk/sdk.d.ts","../../provider-claude-code/dist/index.d.ts","../../state/dist/index.d.ts","../src/index.ts"],"fileIdsList":[[75,88,93,105,106,120,212,262,343,345,371,372],[69,75,88,105,106,177,178,181,182,183,184,186,187,188,190,191,194,207,254,255,256,257],[75,88,105,106,177,189,258],[75,88,105,106,177],[75,88,105,106],[75,88,105,106,185],[69,75,88,105,106,181,183,184,258],[75,88,105,106,183,189,190,258],[75,88,105,106,258],[75,88,105,106,179,258],[75,88,105,106,192,193],[75,88,105,106,186],[75,88,105,106,182,186,190,191,194,199,208,258],[75,88,105,106,201],[75,88,105,106,183,191,258],[69,75,88,105,106,177,178,180,182],[75,88,105,106,123],[69,75,88,105,106],[75,88,105,106,176],[69,75,88,105,106,183,258],[75,88,105,106,183,258],[75,88,105,106,183,200,210,258,262],[75,88,105,106,183,200,205,208,258],[75,88,105,106,258,262],[75,88,105,106,214,215,220,258],[75,88,105,106,214,218,248,258],[75,88,105,106,182,183,254,262],[75,88,105,106,207,258],[75,88,105,106,247,250],[75,88,105,106,183,209,211,213,247,248],[75,88,105,106,212],[75,88,105,106,214,248,250,258],[75,88,105,106,247],[75,88,105,106,257],[75,88,105,106,246],[75,88,105,106,183,190,191,195,251,254,259],[75,88,105,106,195,252],[75,88,105,106,183,191,252,254,259],[75,88,105,106,197,198,221,223,226,229,236,239,241,243,245,251,252,253,259,262],[75,88,105,106,183,190,191,252,254,259],[75,88,105,106,183,190,191,250,251,252,253,254,259],[75,88,105,106,183,190,191,254,259],[75,88,105,106,183,190,191,220,254,259],[75,88,105,106,220,221],[75,88,105,106,183,190,191,216,219,254,259],[75,88,105,106,183,190,191,194,254,259],[75,88,105,106,196,197,198,222,223,227,228,229,234,237,240,241,244,245,253,254],[75,88,105,106,224,225,226],[75,88,105,106,183,190,191,224,225,254,259],[75,88,105,106,183,190,191,224,254,259],[75,88,105,106,183,190,191,202,207,254,259,262],[75,88,105,106,260,262],[75,88,105,106,180,183,190,207,210,211,214,254,259,260,261,262],[75,88,105,106,180,183,190,191,249,251,254,259],[75,88,105,106,230,233,250,251],[75,88,105,106,183,190,191,251,254,259],[75,88,105,106,183,190,191,230,231,250,252,254,259],[75,88,105,106,180,183,190,191,231,250,251,254,259],[75,88,105,106,231,232],[75,88,105,106,183,190,191,232,250,251,252,254,259],[75,88,105,106,235,236],[75,88,105,106,183,190,191,194,235,254,259],[75,88,105,106,238,239],[75,88,105,106,183,190,191,238,254,259],[75,88,105,106,242,243],[75,88,105,106,183,190,191,242,254,259],[75,88,105,106,259],[75,88,105,106,180,183,190,207,254,255,259],[75,88,105,106,185,207,254,255,256],[75,88,105,106,204],[75,88,105,106,183,185,190,191,202,207,259],[75,88,105,106,203,207],[75,88,105,106,180,183,190,203,206,207,208,259],[75,88,105,106,186,217,248,258],[75,88,105,106,218,258],[75,88,105,106,345,359,361,364],[75,88,105,106,345,359,362,371],[75,88,105,106,345,359,363,364,368],[75,88,105,106,345],[75,88,105,106,345,359,364,366,367],[75,88,105,106,345,359,360,362,364,368,369,370],[75,88,105,106,332,358],[75,88,105,106,344,345,359,360,362,363],[75,88,105,106,343,344],[75,88,105,106,365],[75,85,86,88,105,106],[75,87,88,105,106],[88,105,106],[75,88,93,105,106,123],[75,88,89,94,99,105,106,108,120,131],[75,88,89,90,99,105,106,108],[75,88,91,105,106,132],[75,88,92,93,100,105,106,109],[75,88,93,105,106,120,128],[75,88,94,96,99,105,106,108],[75,87,88,95,105,106],[75,88,96,97,105,106],[75,88,98,99,105,106],[75,87,88,99,105,106],[75,88,99,100,101,105,106,120,131],[75,88,99,100,101,105,106,115,120,123],[75,88,96,99,102,105,106,108,120,131,176],[75,88,99,100,102,103,105,106,108,120,128,131],[75,88,102,104,105,106,120,128,131],[73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137],[75,88,99,105,106],[75,88,105,106,107,131],[75,88,96,99,105,106,108,120],[75,88,105,106,109],[75,88,105,106,110],[75,87,88,105,106,111],[75,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137],[75,88,105,106,113],[75,88,105,106,114],[75,88,99,105,106,115,116],[75,88,105,106,115,117,132,134],[75,88,100,105,106],[75,88,99,105,106,120,121,123],[75,88,105,106,122,123],[75,88,105,106,120,121],[75,88,105,106,124],[75,85,88,105,106,120,125,131],[75,88,99,105,106,126,127],[75,88,105,106,126,127],[75,88,93,105,106,108,120,128],[75,88,105,106,129],[75,88,105,106,108,130],[75,88,102,105,106,114,131],[75,88,93,105,106,132],[75,88,105,106,120,133],[75,88,105,106,107,134],[75,88,105,106,135],[75,88,93,105,106],[75,88,105,106,136],[75,88,99,101,105,106,111,120,123,131,133,134,136,176],[75,88,105,106,120,137],[75,88,105,106,131,142,145,148,149],[75,88,105,106,120,131,145],[75,88,105,106,131,145,149],[75,88,105,106,120],[75,88,105,106,139],[75,88,105,106,143],[75,88,105,106,131,141,142,145],[75,88,105,106,108,128],[75,88,105,106,138],[75,88,105,106,138,139],[75,88,105,106,108,131,141,145],[70,71,72,75,88,99,105,106,120,131,140,144],[75,88,105,106,145,153,161],[71,75,88,105,106,143],[75,88,105,106,145,170,171],[71,75,88,105,106,123,131,138,140,145],[75,88,105,106,145],[75,88,105,106,131,141,145],[70,75,88,105,106],[75,88,105,106,139,140,141,143,144,145,146,147,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175],[75,88,96,105,106,145,163,166],[75,88,105,106,145,153,154,155],[75,88,105,106,143,145,154,156],[75,88,105,106,144],[71,75,88,105,106,139,145],[75,88,105,106,145,149,154,156],[75,88,105,106,149],[75,88,105,106,131,143,145,148],[71,75,88,105,106,141,145,153],[75,88,105,106,145,163],[75,88,105,106,156],[75,88,105,106,123,136,138,139,145,170],[75,88,105,106,341],[75,88,105,106,346,347,358],[75,88,105,106,348,349],[75,88,105,106,346,347,348,350,351,356],[75,88,105,106,347,348],[75,88,105,106,356],[75,88,105,106,357],[75,88,105,106,348],[75,88,105,106,346,347,348,351,352,353,354,355],[75,88,105,106,332],[75,88,105,106,332,335],[75,88,105,106,267,327,330,332,333,334,335,336,337,338,339,340],[75,88,105,106,263,265,335],[75,88,105,106,332,333],[75,88,105,106,264,332,334],[75,88,105,106,265,267,269,270,271,272],[75,88,105,106,267,269,271,272],[75,88,105,106,267,269,271],[75,88,105,106,264,267,269,270,272],[75,88,105,106,263,265,266,267,268,269,270,271,272,273,274,327,328,329,330,331],[75,88,105,106,263,265,266,269],[75,88,105,106,265,266,269],[75,88,105,106,269,272],[75,88,105,106,263,264,266,267,268,270,271,272],[75,88,105,106,263,264,265,269,332],[75,88,105,106,269,270,271,272],[75,88,105,106,342],[75,88,105,106,271],[75,88,105,106,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326],[66,75,88,105,106],[66,75,88,89,105,106],[66,67,68,75,88,93,100,105,106,110,119,375],[66,75,88,105,106,372,373],[66,67,68,75,88,105,106,374]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"3cbad9a1ba4453443026ed38e4b8be018abb26565fa7c944376463ad9df07c41","impliedFormat":1},{"version":"af84cd066599425f9cc191b4833f69a7b72526d6e87234de7f33a70693ac9e8e","impliedFormat":99},{"version":"f1839f22f152402769c8b08a0c1b906cf096b62433c1646a1772f344ef900b16","impliedFormat":99},{"version":"599af23cd8b28f67bc3fabee336589adc4e22aec32c245bd74fa46544195ffb1","impliedFormat":99},{"version":"86d4ff8ba66b5ea1df375fe6092d2b167682ccd5dd0d9b003a7d30d95a0cda32","impliedFormat":99},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"487b694c3de27ddf4ad107d4007ad304d29effccf9800c8ae23c2093638d906a","impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"378281aa35786c27d5811af7e6bcaa492eebd0c7013d48137c35bbc69a2b9751","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"1b2dd1cbeb0cc6ae20795958ba5950395ebb2849b7c8326853dd15530c77ab0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"387a023d363f755eb63450a66c28b14cdd7bc30a104565e2dbf0a8988bb4a56c","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"f724236417941ea77ec8d38c6b7021f5fb7f8521c7f8c1538e87661f2c6a0774","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d97fb21da858fb18b8ae72c314e9743fd52f73ebe2764e12af1db32fc03f853f","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ea15fd99b2e34cb25fe8346c955000bb70c8b423ae4377a972ef46bfb37f595","impliedFormat":1},{"version":"7cf69dd5502c41644c9e5106210b5da7144800670cbe861f66726fa209e231c4","impliedFormat":1},{"version":"72c1f5e0a28e473026074817561d1bc9647909cf253c8d56c41d1df8d95b85f7","impliedFormat":1},{"version":"f9b4137a0d285bd77dba2e6e895530112264310ae47e07bf311feae428fb8b61","affectsGlobalScope":true,"impliedFormat":1},{"version":"c06b2652ffeb89afd0f1c52c165ced77032f9cd09bc481153fbd6b5504c69494","impliedFormat":1},{"version":"51aecd2df90a3cffea1eb4696b33b2d78594ea2aa2138e6b9471ec4841c6c2ee","impliedFormat":1},{"version":"9d8f9e63e29a3396285620908e7f14d874d066caea747dc4b2c378f0599166b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"612422d5ba6b4a5c4537f423e9199645468ad80a689801da63ab7edb43f7b835","impliedFormat":1},{"version":"db9ada976f9e52e13f7ae8b9a320f4b67b87685938c5879187d8864b2fbe97f3","impliedFormat":1},{"version":"9f39e70a354d0fba29ac3cdf6eca00b7f9e96f64b2b2780c432e8ea27f133743","impliedFormat":1},{"version":"0dace96cc0f7bc6d0ee2044921bdf19fe42d16284dbcc8ae200800d1c9579335","impliedFormat":1},{"version":"a2e2bbde231b65c53c764c12313897ffdfb6c49183dd31823ee2405f2f7b5378","impliedFormat":1},{"version":"ad1cc0ed328f3f708771272021be61ab146b32ecf2b78f3224959ff1e2cd2a5c","impliedFormat":1},{"version":"c64e1888baaa3253ca4405b455e4bf44f76357868a1bd0a52998ade9a092ad78","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc8c6f5322961b56d9906601b20798725df60baeab45ec014fba9f795d5596fd","impliedFormat":1},{"version":"0904660ae854e6d41f6ff25356db1d654436c6305b0f0aa89d1532df0253486e","impliedFormat":1},{"version":"060d305fe4494d8cb2b99d620928d369d1ee55c1645f5e729a2aca07d0f108cb","impliedFormat":1},{"version":"230bdc111d7578276e4a3bb9d075d85c78c6b68f428c3a9935e2eaa10f4ae1f5","impliedFormat":1},{"version":"0c50296ee73dae94efc3f0da4936b1146ca6ce2217acfabb44c19c9a33fa30e5","impliedFormat":1},{"version":"bbf42f98a5819f4f06e18c8b669a994afe9a17fe520ae3454a195e6eabf7700d","impliedFormat":1},{"version":"0e5974dfff7a97181c7c376545f126b20acf2f1341db7d3fccea4977bf3ce19c","impliedFormat":1},{"version":"c7f977ea78a1b060a30554c1c4ec0e2269c6e305a349ca2ada14931ac27ecc0b","affectsGlobalScope":true,"impliedFormat":1},{"version":"3806cdd6b48ba01a9198134e62a384ec217a98f316d4baef74dd46d62c947a63","impliedFormat":1},{"version":"ff65b8a8bd380c6d129becc35de02f7c29ad7ce03300331ca91311fb4044d1a9","impliedFormat":1},{"version":"04bf1aa481d1adfb16d93d76e44ce71c51c8ef68039d849926551199489637f6","impliedFormat":1},{"version":"2c9adcc85574b002c9a6311ff2141055769e0071856ec979d92ff989042b1f1b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b8bf3fe89ec8baa335f6370b9fa36308e1bc7a72e2eb2dad1e94f31e27fa28b5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a58a15da4c5ba3df60c910a043281256fa52d36a0fcdef9b9100c646282e88dd","impliedFormat":1},{"version":"b36beffbf8acdc3ebc58c8bb4b75574b31a2169869c70fc03f82895b93950a12","impliedFormat":1},{"version":"de263f0089aefbfd73c89562fb7254a7468b1f33b61839aafc3f035d60766cb4","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"8c81fd4a110490c43d7c578e8c6f69b3af01717189196899a6a44f93daa57a3a","impliedFormat":1},{"version":"5fb39858b2459864b139950a09adae4f38dad87c25bf572ce414f10e4bd7baab","impliedFormat":1},{"version":"35390d6fa94bdb432c5d0bcb6547bdd11406c2692a6b90b9e47be2105ea19bd6","impliedFormat":1},{"version":"3910dab597c40e173bf0e0d419d3ce9682c54ebf6ae84849f9b829b1451a17ec","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"486c074a5c0f2254345c0d1c9540380f5463999e42d7e1a159305ea823d3c4b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"c119835edf36415081dfd9ed15fc0cd37aaa28d232be029ad073f15f3d88c323","impliedFormat":1},{"version":"8e7c3bed5f19ade8f911677ddc83052e2283e25b0a8654cd89db9079d4b323c7","impliedFormat":1},{"version":"9705cd157ffbb91c5cab48bdd2de5a437a372e63f870f8a8472e72ff634d47c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ae86f30d5d10e4f75ce8dcb6e1bd3a12ecec3d071a21e8f462c5c85c678efb41","impliedFormat":1},{"version":"ccf3afaeebbeee4ca9092101e99fd6abd681116b6e5ec23e381bbb1e1f32262c","impliedFormat":1},{"version":"e03460fe72b259f6d25ad029f085e4bedc3f90477da4401d8fbc1efa9793230e","impliedFormat":1},{"version":"4286a3a6619514fca656089aee160bb6f2e77f4dd53dc5a96b26a0b4fc778055","impliedFormat":1},{"version":"ab7818a9d57a9297b90e456fc68b77f84d74395a9210a3cfa9d87db33aff8b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb08062718a5470cd864c1fae0eb5b3a3adc5bcd05dcf87608d6f60b65eca3f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"3a815b7d1aebc0646b91548eab2fc19dada09ff255d04c71ced00bbd3058c8eb","impliedFormat":1},{"version":"255d948f87f24ffd57bcb2fdf95792fd418a2e1f712a98cf2cce88744d75085c","impliedFormat":1},{"version":"0d5b085f36e6dc55bc6332ecb9c733be3a534958c238fb8d8d18d4a2b6f2a15a","impliedFormat":1},{"version":"836b36913830645ac3b28fe33731aac3fdb3524ee8adbb4cdab9a5c189f41943","affectsGlobalScope":true,"impliedFormat":1},{"version":"bfd3b3c21a56104693183942e221c1896ee23bcb8f8d91ab0b941f7b32985411","impliedFormat":1},{"version":"d7e9ab1b0996639047c61c1e62f85c620e4382206b3abb430d9a21fb7bc23c77","impliedFormat":1},{"version":"3a80bc85f38526ca3b08007ee80712e7bb0601df178b23fbf0bf87036fce40ce","impliedFormat":1},{"version":"ccf4552357ce3c159ef75f0f0114e80401702228f1898bdc9402214c9499e8c0","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"2931540c47ee0ff8a62860e61782eb17b155615db61e36986e54645ec67f67c2","impliedFormat":1},{"version":"ccab02f3920fc75c01174c47fcf67882a11daf16baf9e81701d0a94636e94556","impliedFormat":1},{"version":"f6faf5f74e4c4cc309a6c6a6c4da02dbb840be5d3e92905a23dcd7b2b0bd1986","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"33e981bf6376e939f99bd7f89abec757c64897d33c005036b9a10d9587d80187","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"b41767d372275c154c7ea6c9d5449d9a741b8ce080f640155cc88ba1763e35b3","impliedFormat":1},{"version":"3bacf516d686d08682751a3bd2519ea3b8041a164bfb4f1d35728993e70a2426","impliedFormat":1},{"version":"7fb266686238369442bd1719bc0d7edd0199da4fb8540354e1ff7f16669b4323","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"54c3e2371e3d016469ad959697fd257e5621e16296fa67082c2575d0bf8eced0","impliedFormat":1},{"version":"beb8233b2c220cfa0feea31fbe9218d89fa02faa81ef744be8dce5acb89bb1fd","impliedFormat":1},{"version":"c183b931b68ad184bc8e8372bf663f3d33304772fb482f29fb91b3c391031f3e","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"48cc3ec153b50985fb95153258a710782b25975b10dd4ac8a4f3920632d10790","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"e1528ca65ac90f6fa0e4a247eb656b4263c470bb22d9033e466463e13395e599","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"866078923a56d026e39243b4392e282c1c63159723996fa89243140e1388a98d","impliedFormat":1},{"version":"be054fd0cb53bed79b77e24b92599eeb59f8260c01886e245de21d982805a998","impliedFormat":99},{"version":"308f0ee6052871f2140582db23d6701be434541dfc167bf1dcede3f29b0c6ca6","impliedFormat":99},{"version":"e22273698b7aad4352f0eb3c981d510b5cf6b17fde2eeaa5c018bb065d15558f","impliedFormat":99},{"version":"5c2965f6d6f5c8bf3e9811ee79bed0b8d9440af92d8928aef66b3311d358aa69","impliedFormat":99},{"version":"99e418d7f365f54c4a8cfea2a6a564dfe85fe7e8007e3a2cbd138fdaf16636e3","impliedFormat":99},{"version":"5d3956df2cd378111447f67b136b9558d8fdb8820b24770297b79f5ebd451396","impliedFormat":99},{"version":"7ab603385bbf933eea25e5c2daf3c292dcfc758028184235919e8f90511cbb05","impliedFormat":99},{"version":"029f48368b4c88bbf75aafc50b0d91765e56e5a8e84fc782af52ec4dcf21d3e5","impliedFormat":99},{"version":"a11fbd8ffbee6e5a7fe4c7c23e6a391be615de2e710a6946d7d1f947a85a1374","impliedFormat":99},{"version":"5d8532b0b989761efc008d9556d090ec350cabcd29f02f826ed5b291ff711723","impliedFormat":99},{"version":"61ee4c6499ae5a299bee8fbbf9337c9b0c9a71eef266090573de900c79034c23","impliedFormat":99},{"version":"b8abd62e2f2c3a185526b1b03ee546991858fbd1c0015a8fec8d8dfa39f1c75b","impliedFormat":99},{"version":"e760f7860d08e9d42b6ecd7dd341602fbc0c13d60eb30beaf1153f1c7c44d66d","impliedFormat":99},{"version":"fb04e1ca667399e7302c033656cc285e6c1cff9c29f264cf229dd25e3962a762","impliedFormat":99},{"version":"ea3849ce29f479ea675182b5c1878e4abbc0a353b8d9c1a7aab55929dec1be0f","impliedFormat":99},{"version":"c0cc44b0ad2fd65c933d187c4faad6157efbed33c3c21023802aa6a89d9b9d13","impliedFormat":99},{"version":"ddaf5d3ddc45282b19fb0fecec91c87fc9b4d1f45c2ee611677345c81383c5c5","impliedFormat":99},{"version":"5668033966c8247576fc316629df131d6175d24ccf22940324c19c159671e1c1","impliedFormat":99},{"version":"031f1805f87171e8a9125cd99105bea4a869018ab2356c2e29dca7c86925510c","impliedFormat":99},{"version":"72b5198ed9debd8dac21e95a99d6581bd091f0a20fd23ac96f392c8f72d44e6d","impliedFormat":99},{"version":"a0ca7ca5bd58ca4b64705e1508ce83f7ccc2069abf48994aecf1ba417dbd49d7","impliedFormat":99},{"version":"bcd8fc70e412ced51d20b538b261114d80491c13cae434e3fb32463f7e71c6b7","impliedFormat":99},{"version":"5cf7fb50fc37f38d3b5693c31bb9ec0c37e6ed293f0d1ca5884ec99e05f47a5c","impliedFormat":99},{"version":"2eaf0dcaaa03f1cce8c4069c98d198b4730d6e842d393031328aefd1ed7becb1","impliedFormat":99},{"version":"cd8a4297d0ab56dc571dadd2845e558c9d979fe1e120a0dec537935bc8a36dd2","impliedFormat":99},{"version":"079a12cb0e0c42655d77da5185e882b4cc94bd5c6c2131171a9289fc1f4287fc","impliedFormat":99},{"version":"87ef84d22d146ca323014d0414c60ac1ef3f78e09345452b87b64411c507de8a","impliedFormat":99},{"version":"2f0943aa57561273499628c2277cd47f34261b49feb42a3a534974e88cbe683c","impliedFormat":99},{"version":"167edfac7664bec77aa2efb2ce9d515c41b5cc4269091a946b3fa6ec4e7e8738","impliedFormat":99},{"version":"c3f1acbd39f587a7539d435d6c78ce8647b3bfdc5435df153a70cb2656b52b80","impliedFormat":99},{"version":"559a1ad8f8e653322aa24484b8a558b17b2721831ac39298d21c92171d99ff76","impliedFormat":99},{"version":"218997a627f0efc4b8be5e6bc0b58e0c9edf250baa3674b661d3f7e6a7ef21e8","impliedFormat":99},{"version":"27deca04c21fb0b2be73578e5ace8cf2ea518fa00e4150fb8127c89275871234","impliedFormat":99},{"version":"49af73d71b88a99b1a211ec02bacd321c21397062d253c605bb8d140082eb7b0","impliedFormat":99},{"version":"a50de7f1a7eadab7732d80dcf9c8a0c0d7d00e33315425316757006b5bec6e46","impliedFormat":99},{"version":"7a81f15892b1c8d0cbfb35605038ce5c6d0cf93542946aa0b8c415dbefdea1cd","impliedFormat":99},{"version":"22ef1a1604bed6e226888a2414676ef477a7ad5d6ed907a62d6e40c831797366","impliedFormat":99},{"version":"db42363b5a3fb410e14de3a436e199c97e234c2c083a1bc9ecd722e755c4ded1","impliedFormat":99},{"version":"9978eed15f298a012e8aa5386a27734ced8d9648fc0f134fe010f73f2932b811","impliedFormat":99},{"version":"29588500a3bfd77c8870a012842587c16afd24e097f0d0a6f9602c4700e414ac","impliedFormat":99},{"version":"e14ad2180b4715efdee46904eac5c27f391b64833bb05bf9147da423b7e33f8c","impliedFormat":99},{"version":"0659f97717f7e640aacae6454eab77e9c3679fe61e08aea3f0e699a13ae370e9","impliedFormat":99},{"version":"f14fe88932606f5d502ba04f8d623be0fbcdd4f1471975981cd02d6072524c8b","impliedFormat":99},{"version":"2ffb90b6a66506d7e75235f2eeb32d7827e0a696af5fa3674ac6f658c64a16e6","impliedFormat":99},{"version":"269ede94746c1c32233133d8586411b2b99963899635eda04de2ef0de066390c","impliedFormat":99},{"version":"159a16863dbbc7a9190970e6edbce78ae3e44cc5f21c5b13a484f4e8dfa7af45","impliedFormat":99},{"version":"bc05fb9d657d30e61d50d690615f379b0d0415b8f29e69196e1dc6bfc664dc57","impliedFormat":99},{"version":"090f70f0a20f477496f7fdf3eb1ee23fbf896c3ca8107ba92739674b253b45ce","impliedFormat":99},{"version":"f63e0743e2ac9f7eb4d3b8bc110834465f164eb9e75e4f531046e4ff9822f3a4","impliedFormat":99},{"version":"0372d6d6a41ae89f9aa86eef998b44bc0ba035d9d09c9226e0a150ef4578fc3d","impliedFormat":99},{"version":"3bc3d81dbfb842bcf15454aacbe37cfeac57f1d15e829812ad02a05cc42be873","impliedFormat":99},{"version":"12f4d26142308256e829722216c94c372a8ffd976af6dc55ef417051bb39ad88","impliedFormat":99},{"version":"462c8467dd2dea3c8da5beea9d46270309c69da62460b0b8480151393a3cba28","impliedFormat":99},{"version":"b3af5d182c9ef267d58cf43f3e51ab73986862436790a4dbf076b5994758d53f","impliedFormat":99},{"version":"0ac3d3e2b13e21cabb84f027592d8333bcf168f1d6e8ab2ba27cb19f9f4ae448","impliedFormat":99},{"version":"57ee3047763fc7faec5fe2b60d8c07811283427bf95f7f19d39069d3bee057da","impliedFormat":99},{"version":"ba2ff1167c2232fa9c2613ecd41ce62e4aee5de488c1812f5bf87d651775c7a3","impliedFormat":99},{"version":"3d807b2e5a8948ee7088eac713c43fa6d04c3dc3562f42f103fcbe9ae4ea4d09","impliedFormat":99},{"version":"1a76fd5416afc692820790bf184d0b4dab791ee3d88c2d60eef0dd98525cd88b","impliedFormat":99},{"version":"3899a178882fb1019a0978a7c55a0e4addb246d5d1fad0647e6ee5a2d7b16f4f","impliedFormat":99},{"version":"f313aa15548aa3ce444f5f3bef7adde5721a386bce043b75bf488633ccddf224","impliedFormat":99},{"version":"bdff0017c9f7856c960047ca46d4ae3d8be21885aa913bc6111d05551926a415","impliedFormat":99},{"version":"2585e28eff6dbaba5cb62345f5b92be0a4dc7d671b4c0eb2fc1a5a9a5447c364","impliedFormat":99},{"version":"08846413af8eb4fed941fb71bf94b274cfdefc27c28d522ad62cc9f03205a8c0","impliedFormat":99},{"version":"de39961de9b674077a7599ad47d9d7395254a1f5cb2b7102a069c4eec3a090dc","impliedFormat":99},{"version":"2b28b56f0b60866431c2b4880fb1124ad4a83e77da812ba28c96a52379a1e4b9","impliedFormat":99},{"version":"c1d885f95fc55384dc4d45e2aab0f2bb109334af4e3b1051cf504580aeb1c0e2","impliedFormat":99},{"version":"1ad73836116f16aca1bb2749052364532aa66bdcdc20e11f4586c3bb523b38ac","impliedFormat":99},{"version":"05a6aaabf262b5ff0e6650b011f8802a102ecfa60c44ba80ce56dec7f4731717","impliedFormat":99},{"version":"a1e777019354163d004efe79e6dff7c65661b276dd41764dca7dd24d61a02e3c","impliedFormat":99},{"version":"f687f35c2206a319dc7d8f0b751e182638c912838ff54034fb782beae50f7cac","impliedFormat":99},{"version":"257b26c31031a324ec200a6e385286fb436d0220880d17d2458713098e7fc1fa","impliedFormat":99},{"version":"3705caf7e2c3132d112e8cd472bf5afa41781309577645bf9edfe647c48f80f0","impliedFormat":99},{"version":"2cf51de921eaefab8320f90c5eee3f5b1e678dacf625d3fb56706cdcc8b2336e","impliedFormat":99},{"version":"6ca4d01eaa2a5da552176e40ec97ddfcbfc66e0106296082f03581fcb5a6c32c","impliedFormat":99},{"version":"25a7315171d0a7643222612ebef2ed753672da4fb3f69fe5ddab663634b58862","impliedFormat":99},{"version":"a36a6403e7a4964ee4ebb22065764c18a86abbc98efbeaa2e8a73a8416dfd5cb","impliedFormat":99},{"version":"f7d47a37455101da855bfdccc273558aec08005414834e449953a1f8ab60d1f9","impliedFormat":99},{"version":"cf7df96b23fcf0f82f49279d6bc8c2730e3f6d580b6c90f125c194b930b5ef47","impliedFormat":99},{"version":"94b576c860480aac3eafdf904cd81755f5c9b16c3e0ef3253953a8f4fd8cecce","impliedFormat":99},{"version":"7f8369ab8f16c27641d42908d9a761ea1e7c1d537e8e71e787dd47493b8f976d","impliedFormat":99},{"version":"62f62205a3c182b6e2bdc21dec0c9edb1a951462d649e59ff2a10785ff603218","impliedFormat":99},{"version":"d76df1670eeb97afbab6c87b8cd31bbd09dbf9026ff0ca533b5d7d3fc0291f79","impliedFormat":99},{"version":"7af2c30fb626ae625d430d16d931862e42e8778e568763941f64cddbe5aae7b5","impliedFormat":99},{"version":"9fd7d60e314f01c950ba31932c150dcec5db2c82de3c7fe0d0d24ee8b54f1fca","impliedFormat":99},{"version":"584eaf5d38e940d5e1ac6a37eaed8d92be6f961df8d3c5a5e6ef4dd3c43a1aa2","impliedFormat":99},{"version":"c1a2e05eb6d7ca8d7e4a7f4c93ccf0c2857e842a64c98eaee4d85841ee9855e6","impliedFormat":1},{"version":"835fb2909ce458740fb4a49fc61709896c6864f5ce3db7f0a88f06c720d74d02","impliedFormat":1},{"version":"6e5857f38aa297a859cab4ec891408659218a5a2610cd317b6dcbef9979459cc","impliedFormat":1},{"version":"ead8e39c2e11891f286b06ae2aa71f208b1802661fcdb2425cffa4f494a68854","impliedFormat":1},{"version":"40ba6c32eb732a09e4446ade5cb6ad0c147f186f9c9dc6878b90b4418ad9f6ea","impliedFormat":1},{"version":"fdd814741843f85c98281522c58f5a646590ba9019fad2efaa95987655e0611b","impliedFormat":1},{"version":"c78aff4fb58b28b8f642d5095fc7eeb79f00e652a67caa19693af1adabb833c9","impliedFormat":1},{"version":"f80a08ced8818dc99359c0acd5b3f12762e1ce53758007759b0d4e503cbf4a5e","impliedFormat":1},{"version":"37935fa7564bcc6e0bc845b766a24391098d26f7c8245d6e8ab37bc016816e94","impliedFormat":1},{"version":"68add36d9632bc096d7245d24d6b0b8ad5f125183016102a3dad4c9c2438ccb0","impliedFormat":1},{"version":"3a819c2928ee06bbcc84e2797fd3558ae2ebb7e0ed8d87f71732fb2e2acc87b4","impliedFormat":1},{"version":"0f8a263f4c8595c8a07de52e3f3927640c44386c1aa2984de9eae50d75e613b2","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"346fffde7c32da87c2196eb7494422449dc2ca82d3b4e6bf55be1d1a33ffc2b0","impliedFormat":1},{"version":"add0ce7b77ba5b308492fa68f77f24d1ed1d9148534bdf05ac17c30763fc1a79","impliedFormat":1},{"version":"8b5875e4958528042103fdd775e106a7f76bafc29709f0690df9a7d2241d52a7","impliedFormat":1},{"version":"2f67911e4bf4e0717dc2ded248ce2d5e4398d945ee13889a6852c1233ea41508","impliedFormat":1},{"version":"d8430c275b0f59417ea8e173cfb888a4477b430ec35b595bf734f3ec7a7d729f","impliedFormat":1},{"version":"69364df1c776372d7df1fb46a6cb3a6bf7f55e700f533a104e3f9d70a32bec18","impliedFormat":1},{"version":"6042774c61ece4ba77b3bf375f15942eb054675b7957882a00c22c0e4fe5865c","impliedFormat":1},{"version":"5a3bd57ed7a9d9afef74c75f77fce79ba3c786401af9810cdf45907c4e93f30e","impliedFormat":1},{"version":"aef26cf95593c8ace1c62c4724f9afac77bdfa756fb8a00613cd152117cb2f43","impliedFormat":1},{"version":"30db853bb2e60170ba11e39ab48bacecb32d06d4def89eedf17e58ebab762a65","impliedFormat":1},{"version":"e27451b24234dfed45f6cf22112a04955183a99c42a2691fb4936d63cfe42761","impliedFormat":1},{"version":"2316301dd223d31962d917999acf8e543e0119c5d24ec984c9f22cb23247160c","impliedFormat":1},{"version":"58d65a2803c3b6629b0e18c8bf1bc883a686fcf0333230dd0151ab6e85b74307","impliedFormat":1},{"version":"e818471014c77c103330aee11f00a7a00b37b35500b53ea6f337aefacd6174c9","impliedFormat":1},{"version":"268fd6d9f2e807a39a6c5aa654b00f949feb63d3faa7dd0f9bba7dde9172159c","impliedFormat":1},{"version":"d8bc0c5487582c6d887c32c92d8b4ffb23310146fcb1d82adf4b15c77f57c4ac","impliedFormat":1},{"version":"8cb31102790372bebfd78dd56d6752913b0f3e2cefbeb08375acd9f5ba737155","impliedFormat":1},{"version":"f17ed72d1b1882ab6dc66d45e699f757d15bba0807af2fc9c3ec98fe367611c1","impliedFormat":99},{"version":"b1067ccb56b38af060dc3299ea7c4c6362cad4f07d0d454325a74808204fc801","impliedFormat":99},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"36eb5babc665b890786550d4a8cb20ef7105673a6d5551fbdd7012877bb26942","impliedFormat":1},{"version":"fec412ded391a7239ef58f455278154b62939370309c1fed322293d98c8796a6","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"93c3e73824ad57f98fd23b39335dbdae2db0bd98199b0dc0b9ccc60bf3c5134a","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"0648a8c200b5544e30677f7f7059b1e384d6cab716c82659716457e3f317ebae","impliedFormat":99},{"version":"7bb43a0f0180ad87b0a944ef95be8615d4c1d621a93ae503a8fcdee2027243ef","impliedFormat":99},{"version":"ba678532514244768286bdfdc82b33f072d5de4e9d281a75bcccdba9970788d7","impliedFormat":99},{"version":"0b79f95a79497386c50f38bafbbf59154619e51d7bbe5acf61cd376d3c9d77b9","impliedFormat":99},{"version":"5993793a23b298afd20c2e1cd2bf8468cc7e9415d314d0771e93dd8b2e389d28","impliedFormat":99},{"version":"05267740a5cff4399995b08326a2e250f229e9926f453162192b9b96b853a12b","impliedFormat":99},{"version":"104fae9b53b5eaa040d9ce626e1bf0b3e6e27d269a899a98a4a28358cdcbc155","impliedFormat":99},{"version":"50a6aa665f3a2e769a4d683f9f74cd15164d0947fb957d8016331b170ab8b643","impliedFormat":99},{"version":"6b83491ca98ce7dc82ec0c54f1456705c9ea08f5a39fa8cea17134b28e2a73d7","impliedFormat":99},{"version":"33aa2f336bb0bc598652ddd1ad3095ef7a14e4dbed9cf829fa9357e989fff31a","impliedFormat":99},{"version":"d691e546590145171d00d78b341bd3ca4844c96eb34f870be84058a1cab585c3","impliedFormat":99},{"version":"c9d12ca3f67129b3ed2b81bf54537c970673cedd05ba28fbeba70c1e8aff684b","impliedFormat":99},{"version":"6f0b69f7afb2ff04a4b73fae6b43476c14349a438881c7a8c3d34cbad2c2bf3b","impliedFormat":99},{"version":"29f823cbe0166e10e7176a94afe609a24b9e5af3858628c541ff8ce1727023cd","impliedFormat":1},{"version":"65ec4f17eb95dc6fa85d964249d4d27e31a150e4bfbaf94c531090862b7a1fd7","impliedFormat":99},{"version":"725c8900fa22c5891e3bb1c9e5b34a547437427a4695bc3317446b2c9eba2943","impliedFormat":99},{"version":"251c6efa610a4ea6016cf89c5ebac94d6951db359f6e3f1b585fba2e6b8b378d","impliedFormat":99},{"version":"9c9669cb0c04e8b7e11575f776f531b0f39c2d6f798067ba10c6f0c7450a1f83","impliedFormat":99}],"root":[376],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"exactOptionalPropertyTypes":true,"module":199,"noUncheckedIndexedAccess":true,"outDir":"./","rootDir":"..","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9},"referencedMap":[[373,1],[258,2],[190,3],[181,4],[188,5],[186,6],[182,7],[191,8],[259,9],[180,10],[194,11],[200,12],[209,13],[69,5],[202,14],[201,5],[178,5],[189,15],[183,16],[179,17],[193,18],[177,19],[192,20],[215,5],[184,21],[211,22],[206,23],[210,24],[187,12],[216,25],[219,26],[199,27],[208,28],[248,29],[214,30],[213,31],[249,32],[261,33],[212,34],[247,35],[252,36],[196,37],[195,38],[254,39],[253,40],[197,41],[198,42],[221,43],[222,44],[220,45],[223,46],[246,47],[227,48],[224,42],[226,49],[225,50],[260,51],[228,52],[262,53],[229,42],[250,54],[234,55],[230,56],[251,57],[232,58],[233,59],[231,60],[237,61],[236,62],[235,46],[238,42],[240,63],[239,64],[241,42],[242,42],[244,65],[243,66],[245,67],[255,68],[257,69],[205,70],[203,71],[204,72],[207,73],[256,42],[185,5],[218,74],[217,75],[362,76],[370,77],[367,78],[361,79],[344,5],[368,80],[371,81],[359,82],[364,83],[363,79],[360,79],[369,5],[345,84],[366,85],[85,86],[86,86],[87,87],[75,88],[88,89],[89,90],[90,91],[73,5],[91,92],[92,93],[93,94],[94,95],[95,96],[96,97],[97,97],[98,98],[99,99],[100,100],[101,101],[76,5],[74,5],[102,102],[103,103],[104,104],[138,105],[105,106],[106,5],[107,107],[108,108],[109,109],[110,110],[111,111],[112,112],[113,113],[114,114],[115,115],[116,115],[117,116],[118,5],[119,117],[120,118],[122,119],[121,120],[123,17],[124,121],[125,122],[126,123],[127,124],[128,125],[129,126],[130,127],[131,128],[132,129],[133,130],[134,131],[135,132],[77,5],[78,133],[79,5],[80,5],[81,19],[82,134],[83,5],[84,17],[136,135],[137,136],[365,5],[63,5],[64,5],[12,5],[10,5],[11,5],[16,5],[15,5],[2,5],[17,5],[18,5],[19,5],[20,5],[21,5],[22,5],[23,5],[24,5],[3,5],[25,5],[26,5],[4,5],[27,5],[31,5],[28,5],[29,5],[30,5],[32,5],[33,5],[34,5],[5,5],[35,5],[36,5],[37,5],[38,5],[6,5],[42,5],[39,5],[40,5],[41,5],[43,5],[7,5],[44,5],[49,5],[50,5],[45,5],[46,5],[47,5],[48,5],[8,5],[54,5],[51,5],[52,5],[53,5],[55,5],[9,5],[56,5],[65,5],[57,5],[58,5],[60,5],[59,5],[1,5],[61,5],[62,5],[14,5],[13,5],[153,137],[165,138],[151,139],[166,140],[175,141],[142,142],[143,143],[141,144],[174,145],[169,146],[173,147],[145,148],[162,149],[144,150],[172,151],[139,152],[140,146],[146,153],[147,5],[152,154],[150,153],[71,155],[176,156],[167,157],[156,158],[155,153],[157,159],[160,160],[154,161],[158,162],[170,145],[148,163],[149,164],[161,165],[72,140],[164,166],[163,153],[159,167],[168,5],[70,5],[171,168],[372,169],[348,170],[350,171],[357,172],[352,5],[353,5],[351,173],[354,174],[346,5],[347,5],[358,175],[349,176],[355,5],[356,177],[336,178],[340,179],[337,179],[333,178],[341,180],[338,181],[342,169],[339,179],[334,182],[335,183],[329,184],[270,185],[272,186],[328,5],[271,187],[332,188],[331,189],[330,190],[263,5],[273,185],[274,5],[265,191],[269,192],[264,5],[266,193],[267,194],[268,5],[343,195],[275,196],[276,196],[277,196],[278,196],[279,196],[280,196],[281,196],[282,196],[283,196],[284,196],[285,196],[286,196],[287,196],[288,196],[290,196],[289,196],[291,196],[292,196],[293,196],[294,196],[295,196],[327,197],[296,196],[297,196],[298,196],[299,196],[300,196],[301,196],[302,196],[303,196],[304,196],[305,196],[306,196],[307,196],[308,196],[310,196],[309,196],[311,196],[312,196],[313,196],[314,196],[315,196],[316,196],[317,196],[318,196],[319,196],[320,196],[321,196],[322,196],[323,196],[326,196],[324,196],[325,196],[67,198],[66,5],[68,199],[376,200],[374,201],[375,202]],"affectedFilesPendingEmit":[[376,51]],"emitSignatures":[376],"version":"5.9.3"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<!--
|
|
4
|
+
launchd template for stratusd. launchd does NOT expand ~, so every path
|
|
5
|
+
below must be absolute. Install per user:
|
|
6
|
+
|
|
7
|
+
1. Replace __NODE__ with `which node` (must be Node 22.13+),
|
|
8
|
+
__STRATUS__ with `which stratus` (or the absolute path to
|
|
9
|
+
packages/cli/dist/bin.js in a checkout), and __HOME__ with your
|
|
10
|
+
home directory (`echo $HOME`).
|
|
11
|
+
2. mkdir -p "$HOME/Library/Logs/stratusd"
|
|
12
|
+
3. Copy to ~/Library/LaunchAgents/com.stratuslabs.stratusd.plist
|
|
13
|
+
4. launchctl load ~/Library/LaunchAgents/com.stratuslabs.stratusd.plist
|
|
14
|
+
|
|
15
|
+
One-liner for steps 1–3 from the repo root:
|
|
16
|
+
|
|
17
|
+
mkdir -p "$HOME/Library/Logs/stratusd" && \
|
|
18
|
+
sed -e "s|__NODE__|$(which node)|" -e "s|__STRATUS__|$(which stratus)|" \
|
|
19
|
+
-e "s|__HOME__|$HOME|" \
|
|
20
|
+
packages/gateway/launchd/com.stratuslabs.stratusd.plist \
|
|
21
|
+
> "$HOME/Library/LaunchAgents/com.stratuslabs.stratusd.plist"
|
|
22
|
+
|
|
23
|
+
State stays in ~/.stratus as usual.
|
|
24
|
+
-->
|
|
25
|
+
<plist version="1.0">
|
|
26
|
+
<dict>
|
|
27
|
+
<key>Label</key>
|
|
28
|
+
<string>com.stratuslabs.stratusd</string>
|
|
29
|
+
<key>ProgramArguments</key>
|
|
30
|
+
<array>
|
|
31
|
+
<string>__NODE__</string>
|
|
32
|
+
<string>__STRATUS__</string>
|
|
33
|
+
<string>serve</string>
|
|
34
|
+
</array>
|
|
35
|
+
<key>RunAtLoad</key>
|
|
36
|
+
<true/>
|
|
37
|
+
<key>KeepAlive</key>
|
|
38
|
+
<true/>
|
|
39
|
+
<key>StandardOutPath</key>
|
|
40
|
+
<string>__HOME__/Library/Logs/stratusd/stratusd.log</string>
|
|
41
|
+
<key>StandardErrorPath</key>
|
|
42
|
+
<string>__HOME__/Library/Logs/stratusd/stratusd.err.log</string>
|
|
43
|
+
</dict>
|
|
44
|
+
</plist>
|
package/package.json
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@stratusagent/gateway",
|
|
3
|
+
"version": "0.2.5",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"import": "./dist/index.js"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"files": [
|
|
14
|
+
"dist",
|
|
15
|
+
"launchd"
|
|
16
|
+
],
|
|
17
|
+
"engines": {
|
|
18
|
+
"node": ">=22.13"
|
|
19
|
+
},
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"@stratusagent/agents": "0.2.5",
|
|
22
|
+
"@stratusagent/core": "0.2.5",
|
|
23
|
+
"@stratusagent/executor-local": "0.2.5",
|
|
24
|
+
"@stratusagent/state": "0.2.5"
|
|
25
|
+
},
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"typescript": "^5.9.3"
|
|
28
|
+
},
|
|
29
|
+
"license": "MIT",
|
|
30
|
+
"repository": {
|
|
31
|
+
"type": "git",
|
|
32
|
+
"url": "git+https://github.com/stratuslabs/agent.git",
|
|
33
|
+
"directory": "packages/gateway"
|
|
34
|
+
},
|
|
35
|
+
"description": "stratusd — the always-on Stratus Agent gateway: durable SQLite sessions, a per-provider runner pool, dispatcher-backed delegation, and an activity watchdog",
|
|
36
|
+
"keywords": [
|
|
37
|
+
"stratus",
|
|
38
|
+
"agent",
|
|
39
|
+
"ai",
|
|
40
|
+
"llm",
|
|
41
|
+
"daemon"
|
|
42
|
+
],
|
|
43
|
+
"publishConfig": {
|
|
44
|
+
"access": "public"
|
|
45
|
+
},
|
|
46
|
+
"scripts": {
|
|
47
|
+
"build": "tsc -b",
|
|
48
|
+
"typecheck": "tsc --noEmit --project tsconfig.test.json",
|
|
49
|
+
"test": "node --test --experimental-strip-types"
|
|
50
|
+
}
|
|
51
|
+
}
|