From 5575f0a36e154999bd368686d5c12efc52940879 Mon Sep 17 00:00:00 2001 From: AlkaidSTART <2595006848@qq.com> Date: Wed, 5 Aug 2026 20:53:25 +0800 Subject: [PATCH 1/7] =?UTF-8?q?feat:=20=E5=9F=BA=E4=BA=8E=20SQLite=20?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=BC=9A=E8=AF=9D=E5=8E=86=E5=8F=B2=E5=AD=98?= =?UTF-8?q?=E5=82=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/session-sqlite/package.json | 15 + packages/session-sqlite/src/index.ts | 28 + packages/session-sqlite/src/schema.ts | 175 ++++ packages/session-sqlite/src/store.ts | 939 +++++++++++++++++++ packages/session-sqlite/src/types.ts | 237 +++++ packages/session-sqlite/tsconfig.json | 10 + packages/session-sqlite/tsconfig.tsbuildinfo | 1 + tests/session-sqlite.spec.ts | 137 +++ 8 files changed, 1542 insertions(+) create mode 100644 packages/session-sqlite/package.json create mode 100644 packages/session-sqlite/src/index.ts create mode 100644 packages/session-sqlite/src/schema.ts create mode 100644 packages/session-sqlite/src/store.ts create mode 100644 packages/session-sqlite/src/types.ts create mode 100644 packages/session-sqlite/tsconfig.json create mode 100644 packages/session-sqlite/tsconfig.tsbuildinfo create mode 100644 tests/session-sqlite.spec.ts diff --git a/packages/session-sqlite/package.json b/packages/session-sqlite/package.json new file mode 100644 index 0000000..aff03c2 --- /dev/null +++ b/packages/session-sqlite/package.json @@ -0,0 +1,15 @@ +{ + "name": "session-sqlite", + "version": "0.1.0", + "private": true, + "type": "module", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "scripts": { + "build": "tsc -p tsconfig.json", + "typecheck": "tsc -p tsconfig.json --noEmit" + }, + "engines": { + "node": ">=22.5.0" + } +} diff --git a/packages/session-sqlite/src/index.ts b/packages/session-sqlite/src/index.ts new file mode 100644 index 0000000..7966fd4 --- /dev/null +++ b/packages/session-sqlite/src/index.ts @@ -0,0 +1,28 @@ +// 会话 SQLite 存储的公开入口。 +export { SCHEMA_SQL } from './schema'; +export { + DEFAULT_BRANCH, + DEFAULT_DB_PATH, + DEFAULT_LANE, + SessionStore, + type GetEntriesOptions, + type LeaseAcquireResult, + type ListSessionsOptions, + type SessionStoreConfig, +} from './store'; +export type { + BranchEntry, + BranchTip, + CreateSessionInput, + Entry, + EntryInput, + Fact, + Lane, + LaneMoveInput, + Lease, + LeafNode, + Record as SessionRecord, + RecordInput, + Session, + SessionStats, +} from './types'; diff --git a/packages/session-sqlite/src/schema.ts b/packages/session-sqlite/src/schema.ts new file mode 100644 index 0000000..fc073a2 --- /dev/null +++ b/packages/session-sqlite/src/schema.ts @@ -0,0 +1,175 @@ +// SQLite 会话历史存储的完整建表语句。 +// 注释统一使用中文,方便后续维护。 +export const SCHEMA_SQL = ` +-- ============================================================ +-- 会话主表:记录一次会话的基本信息和元数据 +-- ============================================================ +CREATE TABLE IF NOT EXISTS sessions ( + id TEXT PRIMARY KEY, -- 会话唯一 ID + created_at TEXT NOT NULL, -- 创建时间(ISO 8601 字符串) + cwd TEXT NOT NULL, -- 会话启动时的工作目录 + parent_session_id TEXT NULL, -- 父会话 ID,用于子会话/分支 + metadata TEXT NULL -- 会话元数据,JSON 字符串 +) WITHOUT ROWID; + +-- 按创建时间倒序查询会话 +CREATE INDEX IF NOT EXISTS idx_sessions_created_at ON sessions(created_at DESC); +-- 按工作目录查询会话 +CREATE INDEX IF NOT EXISTS idx_sessions_cwd ON sessions(cwd); +-- 按父会话查询子会话 +CREATE INDEX IF NOT EXISTS idx_sessions_parent ON sessions(parent_session_id); + +-- ============================================================ +-- 会话条目表:按顺序保存会话历史中的每条记录 +-- ============================================================ +CREATE TABLE IF NOT EXISTS entries ( + session_id TEXT NOT NULL, -- 所属会话 ID + seq INTEGER NOT NULL, -- 会话内递增序号 + id TEXT NOT NULL, -- 条目唯一 ID + parent_id TEXT NULL, -- 父条目 ID,用于表达回复/分支关系 + type TEXT NOT NULL, -- 条目类型,例如 user/assistant/tool + timestamp TEXT NOT NULL, -- 条目时间戳(ISO 8601 字符串) + payload TEXT NOT NULL, -- 条目内容,JSON 字符串 + PRIMARY KEY (session_id, id), + UNIQUE (session_id, seq) +); + +-- 按会话内序号查询条目 +CREATE INDEX IF NOT EXISTS idx_entries_session_seq ON entries(session_id, seq); +-- 按父条目查询子条目 +CREATE INDEX IF NOT EXISTS idx_entries_session_parent ON entries(session_id, parent_id); +-- 按类型和序号查询条目 +CREATE INDEX IF NOT EXISTS idx_entries_session_type_seq ON entries(session_id, type, seq); + +-- ============================================================ +-- 会话序号表:为每个会话维护全局递增序号 +-- ============================================================ +CREATE TABLE IF NOT EXISTS session_sequences ( + session_id TEXT PRIMARY KEY, + next_seq INTEGER NOT NULL +) WITHOUT ROWID; + +-- ============================================================ +-- 会话统计表:记录消息数、缓存 token、总 token 和成本 +-- ============================================================ +CREATE TABLE IF NOT EXISTS session_stats ( + session_id TEXT PRIMARY KEY, + message_count INTEGER NOT NULL, + cached_tokens REAL NOT NULL, + uncached_tokens REAL NOT NULL, + total_tokens REAL NOT NULL, + cost_total REAL NOT NULL +) WITHOUT ROWID; + +-- ============================================================ +-- 分支条目缓存表:entries 中的 parent 链接是权威数据, +-- 这张表只用于加速分支扫描。 +-- ============================================================ +CREATE TABLE IF NOT EXISTS branch_entries ( + session_id TEXT NOT NULL, -- 所属会话 ID + branch_id TEXT NOT NULL, -- 分支 ID + entry_id TEXT NOT NULL, -- 条目 ID + entry_seq INTEGER NOT NULL, -- 条目在会话内的序号 + entry_type TEXT NULL, -- 条目类型缓存 + custom_type TEXT NULL, -- 自定义类型缓存 + PRIMARY KEY (session_id, branch_id, entry_id) +) WITHOUT ROWID; + +-- 按分支和序号扫描分支条目 +CREATE INDEX IF NOT EXISTS idx_branch_entries_session_branch_seq ON branch_entries(session_id, branch_id, entry_seq); +-- 按条目反向查询所属分支 +CREATE INDEX IF NOT EXISTS idx_branch_entries_session_entry ON branch_entries(session_id, entry_id); +-- 按条目类型扫描分支 +CREATE INDEX IF NOT EXISTS idx_branch_entries_session_branch_type_seq ON branch_entries(session_id, branch_id, entry_type, entry_seq); +-- 按自定义类型扫描分支 +CREATE INDEX IF NOT EXISTS idx_branch_entries_session_branch_custom_seq ON branch_entries(session_id, branch_id, custom_type, entry_seq); + +-- ============================================================ +-- 泳道表:每个会话的每个泳道指向当前叶子条目 +-- ============================================================ +CREATE TABLE IF NOT EXISTS lanes ( + session_id TEXT NOT NULL, -- 所属会话 ID + lane TEXT NOT NULL, -- 泳道名称 + leaf_id TEXT NULL, -- 当前叶子条目 ID + PRIMARY KEY (session_id, lane) +) WITHOUT ROWID; + +-- 按叶子条目查询泳道 +CREATE INDEX IF NOT EXISTS idx_lanes_session_leaf ON lanes(session_id, leaf_id); + +-- ============================================================ +-- 记录表:保存运行记录、操作历史等结构化事件 +-- ============================================================ +CREATE TABLE IF NOT EXISTS records ( + session_id TEXT NOT NULL, -- 所属会话 ID + seq INTEGER NOT NULL, -- 会话内递增序号 + id TEXT NOT NULL, -- 记录唯一 ID + lane TEXT NOT NULL, -- 所属泳道 + run_id TEXT NULL, -- 运行 ID + type TEXT NOT NULL, -- 记录类型 + op_kind TEXT NULL, -- 操作类型 + timestamp TEXT NOT NULL, -- 时间戳(ISO 8601 字符串) + payload TEXT NOT NULL, -- 记录内容,JSON 字符串 + PRIMARY KEY (session_id, id), + UNIQUE (session_id, seq) +) WITHOUT ROWID; + +-- 按会话内序号查询记录 +CREATE INDEX IF NOT EXISTS idx_records_session_seq ON records(session_id, seq); +-- 按泳道、类型、序号查询记录 +CREATE INDEX IF NOT EXISTS idx_records_session_lane_type_seq ON records(session_id, lane, type, seq); +-- 按泳道、类型、操作类型、序号查询记录 +CREATE INDEX IF NOT EXISTS idx_records_session_lane_type_op_kind_seq ON records(session_id, lane, type, op_kind, seq); +-- 按运行 ID 查询记录 +CREATE INDEX IF NOT EXISTS idx_records_session_run_id_seq ON records(session_id, run_id, seq); + +-- ============================================================ +-- 泳道移动表:记录泳道叶子位置的变化历史 +-- ============================================================ +CREATE TABLE IF NOT EXISTS lane_moves ( + session_id TEXT NOT NULL, -- 所属会话 ID + seq INTEGER NOT NULL, -- 会话内递增序号 + lane TEXT NOT NULL, -- 泳道名称 + leaf_id TEXT NULL, -- 移动后的叶子条目 ID + PRIMARY KEY (session_id, seq) +) WITHOUT ROWID; + +-- 按泳道和序号查询移动记录 +CREATE INDEX IF NOT EXISTS idx_lane_moves_session_lane_seq ON lane_moves(session_id, lane, seq); + +-- ============================================================ +-- 事实表:保存会话内沉淀的事实/键值信息 +-- ============================================================ +CREATE TABLE IF NOT EXISTS facts ( + session_id TEXT NOT NULL, -- 所属会话 ID + seq INTEGER NOT NULL, -- 会话内递增序号 + kind TEXT NOT NULL, -- 事实类型 + key TEXT NULL, -- 事实键 + value TEXT NULL, -- 事实值 + PRIMARY KEY (session_id, seq) +) WITHOUT ROWID; + +-- 按类型和键查询事实 +CREATE INDEX IF NOT EXISTS idx_facts_session_kind_key_seq ON facts(session_id, kind, key, seq); + +-- ============================================================ +-- 分支指针表:记录每个分支当前的 tip 条目 +-- ============================================================ +CREATE TABLE IF NOT EXISTS branch_tips ( + session_id TEXT NOT NULL, -- 所属会话 ID + tip_id TEXT NOT NULL, -- 当前 tip 条目 ID + branch_id TEXT NOT NULL, -- 分支 ID + PRIMARY KEY (session_id, tip_id), + UNIQUE (session_id, branch_id) +) WITHOUT ROWID; + +-- ============================================================ +-- 会话写租约表:用 fence 防止过期持有者在新持有者接管后继续写入 +-- ============================================================ +CREATE TABLE IF NOT EXISTS leases ( + session_id TEXT PRIMARY KEY, + owner_id TEXT NOT NULL, -- 租约持有者 ID + fence INTEGER NOT NULL, -- 单调递增的栅栏号 + expires_at_ms INTEGER NOT NULL -- 过期时间戳(毫秒) +) WITHOUT ROWID; +`; diff --git a/packages/session-sqlite/src/store.ts b/packages/session-sqlite/src/store.ts new file mode 100644 index 0000000..da3b8f0 --- /dev/null +++ b/packages/session-sqlite/src/store.ts @@ -0,0 +1,939 @@ +import { randomUUID } from 'node:crypto'; +import { mkdirSync } from 'node:fs'; +import { dirname } from 'node:path'; +import { DatabaseSync } from 'node:sqlite'; +import { SCHEMA_SQL } from './schema'; +import type { + BranchEntry, + BranchTip, + CreateSessionInput, + Entry, + EntryInput, + Fact, + Lane, + LaneMoveInput, + Lease, + LeafNode, + Record as SessionRecord, + RecordInput, + Session, + SessionStats, +} from './types'; + +/** 默认数据库文件路径,可用环境变量 SESSION_DB_PATH 覆盖 */ +export const DEFAULT_DB_PATH = '.agent-sessions/sessions.db'; + +/** 默认泳道名称 */ +export const DEFAULT_LANE = 'default'; + +/** 默认分支 ID,主分支统一使用 DEFAULT_BRANCH */ +export const DEFAULT_BRANCH = 'main'; + +/** SQLite 行数据类型,用于辅助解析 */ +type SqlRow = Record; + +/** + * SessionStore 配置。 + */ +export interface SessionStoreConfig { + /** SQLite 数据库文件路径,默认读取 SESSION_DB_PATH,再回退到 .agent-sessions/sessions.db */ + dbPath?: string; + /** 直接传入一个已打开的 DatabaseSync 实例,测试或复用连接时使用 */ + db?: DatabaseSync; +} + +/** + * 会话分页查询选项。 + */ +export interface ListSessionsOptions { + /** 查询条数上限 */ + limit?: number; + /** 跳过的条数 */ + offset?: number; + /** 只查询某个工作目录下的会话 */ + cwd?: string; +} + +/** + * 会话条目查询选项。 + */ +export interface GetEntriesOptions { + /** 查询条数上限,默认取全部 */ + limit?: number; + /** 起始序号,默认从 0 开始 */ + afterSeq?: number; + /** 按条目类型过滤 */ + type?: string; +} + +/** + * 租约获取结果。 + */ +export interface LeaseAcquireResult { + /** 获取成功时为 true,已经被其他持有者占用时为 false */ + acquired: boolean; + /** 当前有效租约信息 */ + lease: Lease | null; + /** 本次写入需要携带的 fence,未获取到时为 null */ + fence: number | null; +} + +/** + * 基于 node:sqlite 的会话历史存储。 + * + * 所有历史数据保存在 SQLite 中,支持条目、泳道、分支、运行记录、 + * 事实、统计和写租约。类方法全部为同步实现。 + */ +export class SessionStore { + /** 内部数据库连接 */ + readonly db: DatabaseSync; + + private readonly ownsDb: boolean; + private readonly statements: { + insertSession: ReturnType; + insertSequence: ReturnType; + insertStats: ReturnType; + insertLane: ReturnType; + getSessionById: ReturnType; + listSessions: ReturnType; + listSessionsByCwd: ReturnType; + replaceSession: ReturnType; + readSequence: ReturnType; + bumpSequence: ReturnType; + insertEntry: ReturnType; + insertBranchEntry: ReturnType; + insertLaneMove: ReturnType; + insertBranchTip: ReturnType; + updateBranchTip: ReturnType; + insertRecord: ReturnType; + updateLane: ReturnType; + getEntryById: ReturnType; + listEntries: ReturnType; + listEntriesType: ReturnType; + listEntriesAfter: ReturnType; + listEntriesTypeAfter: ReturnType; + listRecords: ReturnType; + getLane: ReturnType; + listLanes: ReturnType; + listBranchEntries: ReturnType; + listFacts: ReturnType; + insertFact: ReturnType; + getBranchTip: ReturnType; + listBranchTips: ReturnType; + getStats: ReturnType; + upsertStats: ReturnType; + insertLease: ReturnType; + takeLease: ReturnType; + getLease: ReturnType; + deleteLease: ReturnType; + }; + + constructor(config: SessionStoreConfig = {}) { + if (config.db) { + this.db = config.db; + this.ownsDb = false; + } else { + const dbPath = config.dbPath ?? process.env.SESSION_DB_PATH ?? DEFAULT_DB_PATH; + if (dbPath !== ':memory:') { + // 确保数据库所在目录存在,避免打开失败 + mkdirSync(dirname(dbPath), { recursive: true }); + } + this.db = new DatabaseSync(dbPath, { enableForeignKeyConstraints: true }); + this.ownsDb = true; + } + + this.db.exec(SCHEMA_SQL); + this.statements = this.prepareStatements(); + } + + /** 编译所有 SQL 语句,字段较多,独立成一个方法方便阅读 */ + private prepareStatements() { + const db = this.db; + return { + insertSession: db.prepare(` + INSERT INTO sessions (id, created_at, cwd, parent_session_id, metadata) + VALUES (:id, :createdAt, :cwd, :parentSessionId, :metadata) + `), + insertSequence: db.prepare(` + INSERT INTO session_sequences (session_id, next_seq) + VALUES (:sessionId, 1) + `), + insertStats: db.prepare(` + INSERT INTO session_stats (session_id, message_count, cached_tokens, uncached_tokens, total_tokens, cost_total) + VALUES (:sessionId, 0, 0, 0, 0, 0) + `), + insertLane: db.prepare(` + INSERT INTO lanes (session_id, lane, leaf_id) + VALUES (:sessionId, :lane, NULL) + `), + getSessionById: db.prepare(` + SELECT * FROM sessions WHERE id = :id + `), + listSessions: db.prepare(` + SELECT * FROM sessions ORDER BY created_at DESC LIMIT :limit OFFSET :offset + `), + listSessionsByCwd: db.prepare(` + SELECT * FROM sessions WHERE cwd = :cwd ORDER BY created_at DESC LIMIT :limit OFFSET :offset + `), + replaceSession: db.prepare(` + INSERT INTO sessions (id, created_at, cwd, parent_session_id, metadata) + VALUES (:id, :createdAt, :cwd, :parentSessionId, :metadata) + ON CONFLICT(id) DO UPDATE SET + cwd = excluded.cwd, + parent_session_id = excluded.parent_session_id, + metadata = excluded.metadata + `), + readSequence: db.prepare(` + SELECT next_seq FROM session_sequences WHERE session_id = :sessionId + `), + bumpSequence: db.prepare(` + UPDATE session_sequences SET next_seq = next_seq + 1 WHERE session_id = :sessionId + `), + insertEntry: db.prepare(` + INSERT INTO entries (session_id, seq, id, parent_id, type, timestamp, payload) + VALUES (:sessionId, :seq, :id, :parentId, :type, :timestamp, :payload) + `), + insertBranchEntry: db.prepare(` + INSERT INTO branch_entries (session_id, branch_id, entry_id, entry_seq, entry_type, custom_type) + VALUES (:sessionId, :branchId, :entryId, :entrySeq, :entryType, :customType) + `), + insertLaneMove: db.prepare(` + INSERT INTO lane_moves (session_id, seq, lane, leaf_id) + VALUES (:sessionId, :seq, :lane, :leafId) + `), + insertBranchTip: db.prepare(` + INSERT INTO branch_tips (session_id, tip_id, branch_id) + VALUES (:sessionId, :tipId, :branchId) + `), + updateBranchTip: db.prepare(` + UPDATE branch_tips SET tip_id = :tipId + WHERE session_id = :sessionId AND branch_id = :branchId + `), + insertRecord: db.prepare(` + INSERT INTO records (session_id, seq, id, lane, run_id, type, op_kind, timestamp, payload) + VALUES (:sessionId, :seq, :id, :lane, :runId, :type, :opKind, :timestamp, :payload) + `), + updateLane: db.prepare(` + INSERT INTO lanes (session_id, lane, leaf_id) + VALUES (:sessionId, :lane, :leafId) + ON CONFLICT(session_id, lane) DO UPDATE SET leaf_id = excluded.leaf_id + `), + getEntryById: db.prepare(` + SELECT * FROM entries WHERE session_id = :sessionId AND id = :id + `), + listEntries: db.prepare(` + SELECT * FROM entries WHERE session_id = :sessionId ORDER BY seq ASC LIMIT :limit + `), + listEntriesType: db.prepare(` + SELECT * FROM entries WHERE session_id = :sessionId AND type = :type ORDER BY seq ASC LIMIT :limit + `), + listEntriesAfter: db.prepare(` + SELECT * FROM entries + WHERE session_id = :sessionId AND seq > :afterSeq + ORDER BY seq ASC LIMIT :limit + `), + listEntriesTypeAfter: db.prepare(` + SELECT * FROM entries + WHERE session_id = :sessionId AND type = :type AND seq > :afterSeq + ORDER BY seq ASC LIMIT :limit + `), + listRecords: db.prepare(` + SELECT * FROM records + WHERE session_id = :sessionId + ORDER BY seq ASC LIMIT :limit OFFSET :offset + `), + getLane: db.prepare(` + SELECT * FROM lanes WHERE session_id = :sessionId AND lane = :lane + `), + listLanes: db.prepare(` + SELECT * FROM lanes WHERE session_id = :sessionId ORDER BY lane ASC + `), + listBranchEntries: db.prepare(` + SELECT * FROM branch_entries + WHERE session_id = :sessionId AND branch_id = :branchId + ORDER BY entry_seq ASC + `), + listFacts: db.prepare(` + SELECT * FROM facts + WHERE session_id = :sessionId + ORDER BY seq ASC + `), + insertFact: db.prepare(` + INSERT INTO facts (session_id, seq, kind, key, value) + VALUES (:sessionId, :seq, :kind, :key, :value) + `), + getBranchTip: db.prepare(` + SELECT * FROM branch_tips WHERE session_id = :sessionId AND branch_id = :branchId + `), + listBranchTips: db.prepare(` + SELECT * FROM branch_tips WHERE session_id = :sessionId ORDER BY branch_id ASC + `), + getStats: db.prepare(` + SELECT * FROM session_stats WHERE session_id = :sessionId + `), + upsertStats: db.prepare(` + INSERT INTO session_stats + (session_id, message_count, cached_tokens, uncached_tokens, total_tokens, cost_total) + VALUES (:sessionId, :messageCount, :cachedTokens, :uncachedTokens, :totalTokens, :costTotal) + ON CONFLICT(session_id) DO UPDATE SET + message_count = excluded.message_count, + cached_tokens = excluded.cached_tokens, + uncached_tokens = excluded.uncached_tokens, + total_tokens = excluded.total_tokens, + cost_total = excluded.cost_total + `), + insertLease: db.prepare(` + INSERT INTO leases (session_id, owner_id, fence, expires_at_ms) + VALUES (:sessionId, :ownerId, 1, :expiresAtMs) + `), + takeLease: db.prepare(` + UPDATE leases SET + owner_id = :ownerId, + fence = fence + 1, + expires_at_ms = :expiresAtMs + WHERE session_id = :sessionId + AND (owner_id = :ownerId OR expires_at_ms <= :nowMs) + `), + getLease: db.prepare(` + SELECT * FROM leases WHERE session_id = :sessionId + `), + deleteLease: db.prepare(` + DELETE FROM leases WHERE session_id = :sessionId AND owner_id = :ownerId + `), + }; + } + + /** 关闭数据库连接(仅当连接由本类创建时) */ + close(): void { + if (this.ownsDb && this.db.isOpen) { + this.db.close(); + } + } + + /** + * 在事务中执行回调。回调抛错时自动回滚。 + */ + transaction(fn: () => T): T { + // 如果已经在事务中,使用 savepoint 实现可嵌套,避免子调用再次 BEGIN 报错 + const nested = this.db.isTransaction; + this.db.exec(nested ? 'SAVEPOINT session_store' : 'BEGIN IMMEDIATE'); + try { + const result = fn(); + this.db.exec(nested ? 'RELEASE session_store' : 'COMMIT'); + return result; + } catch (err) { + try { + this.db.exec(nested ? 'ROLLBACK TO session_store' : 'ROLLBACK'); + if (nested) { + this.db.exec('RELEASE session_store'); + } + } catch { + // 回滚失败时保留原始错误 + } + throw err; + } + } + + /** + * 创建新会话,并初始化序号、统计、泳道等基础数据。 + */ + createSession(input: CreateSessionInput): Session { + const id = input.id ?? randomUUID(); + const now = new Date().toISOString(); + const metadata = input.metadata ? JSON.stringify(input.metadata) : null; + + this.transaction(() => { + this.statements.insertSession.run({ + ':id': id, + ':createdAt': now, + ':cwd': input.cwd, + ':parentSessionId': input.parentSessionId ?? null, + ':metadata': metadata, + }); + this.statements.insertSequence.run({ ':sessionId': id }); + this.statements.insertStats.run({ ':sessionId': id }); + this.statements.insertLane.run({ ':sessionId': id, ':lane': DEFAULT_LANE }); + }); + + const session = this.getSession(id); + if (!session) { + throw new Error(`创建会话失败:${id}`); + } + return session; + } + + /** + * 按 ID 读取会话,不存在时返回 null。 + */ + getSession(id: string): Session | null { + const row = this.statements.getSessionById.get({ ':id': id }); + return row ? this.mapSession(row) : null; + } + + /** + * 分页列出会话,可按工作目录过滤。 + */ + listSessions(options: ListSessionsOptions = {}): Session[] { + const limit = options.limit ?? 100; + const offset = options.offset ?? 0; + const rows = options.cwd + ? this.statements.listSessionsByCwd.all({ ':cwd': options.cwd, ':limit': limit, ':offset': offset }) + : this.statements.listSessions.all({ ':limit': limit, ':offset': offset }); + return rows.map((row) => this.mapSession(row)); + } + + /** + * 创建或覆盖一个会话。已存在时更新 cwd、父会话和元数据,不存在时创建。 + */ + replaceSession(input: CreateSessionInput): Session { + const id = input.id ?? randomUUID(); + const now = new Date().toISOString(); + const metadata = input.metadata ? JSON.stringify(input.metadata) : null; + this.statements.replaceSession.run({ + ':id': id, + ':createdAt': now, + ':cwd': input.cwd, + ':parentSessionId': input.parentSessionId ?? null, + ':metadata': metadata, + }); + // 如果这是全新会话,补齐序号、统计和泳道数据 + if (!this.statements.readSequence.get({ ':sessionId': id })) { + this.statements.insertSequence.run({ ':sessionId': id }); + this.statements.insertStats.run({ ':sessionId': id }); + this.statements.insertLane.run({ ':sessionId': id, ':lane': DEFAULT_LANE }); + } + const session = this.getSession(id); + if (!session) { + throw new Error(`覆盖会话失败:${id}`); + } + return session; + } + + /** + * 按 ID 读取单条条目。 + */ + getEntry(sessionId: string, entryId: string): Entry | null { + const row = this.statements.getEntryById.get({ ':sessionId': sessionId, ':id': entryId }); + return row ? this.mapEntry(row) : null; + } + + /** + * 按序号和类型查询会话条目。 + */ + getEntries(sessionId: string, options: GetEntriesOptions = {}): Entry[] { + const limit = options.limit ?? 1000; + const afterSeq = options.afterSeq ?? -1; + const type = options.type; + + let rows: SqlRow[]; + if (type && afterSeq >= 0) { + rows = this.statements.listEntriesTypeAfter.all({ + ':sessionId': sessionId, + ':type': type, + ':afterSeq': afterSeq, + ':limit': limit, + }); + } else if (type) { + rows = this.statements.listEntriesType.all({ + ':sessionId': sessionId, + ':type': type, + ':limit': limit, + }); + } else if (afterSeq >= 0) { + rows = this.statements.listEntriesAfter.all({ + ':sessionId': sessionId, + ':afterSeq': afterSeq, + ':limit': limit, + }); + } else { + rows = this.statements.listEntries.all({ ':sessionId': sessionId, ':limit': limit }); + } + + return rows.map((row) => this.mapEntry(row)); + } + + /** + * 获取整棵会话条目树,按叶子条目和父节点关系组织。 + */ + getEntryTree(sessionId: string): { leaves: LeafNode[]; byId: Map } { + const entries = this.getEntries(sessionId, { limit: 100000 }); + const nodes = new Map(); + const children = new Map(); + + for (const entry of entries) { + const node: LeafNode = { + id: entry.id, + parentId: entry.parentId, + seq: entry.seq, + type: entry.type, + timestamp: entry.timestamp, + payload: entry.payload, + }; + nodes.set(node.id, node); + if (node.parentId) { + const siblings = children.get(node.parentId) ?? []; + siblings.push(node.id); + children.set(node.parentId, siblings); + } + } + + const leaves = [...nodes.values()].filter((node) => !children.has(node.id)); + return { leaves, byId: nodes }; + } + + /** + * 向会话追加一条条目。 + * + * 会同时更新泳道叶子、分支条目缓存和分支指针,并记录一次泳道移动。 + * 默认挂在当前泳道的叶子条目下;如果指定了 parentId,则挂在指定父条目下。 + */ + appendEntry(sessionId: string, input: EntryInput): Entry { + const id = input.id ?? randomUUID(); + const now = new Date().toISOString(); + const timestamp = input.timestamp ?? now; + const lane = input.lane ?? DEFAULT_LANE; + const payload = JSON.stringify(input.payload); + const customType = input.type; + + let result: Entry; + this.transaction(() => { + // 未指定父条目时,默认从当前泳道的叶子继续 + const parentId = input.parentId ?? this.getLane(sessionId, lane)?.leafId ?? null; + + // 推导分支:已有分支的父条目继续原分支,否则以父条目为分支起点 + let branchId = input.branchId; + if (!branchId) { + if (parentId) { + const parentBranch = this.findEntryBranch(sessionId, parentId); + branchId = parentBranch ?? parentId; + } else { + branchId = DEFAULT_BRANCH; + } + } + + const seq = this.nextSeq(sessionId); + this.statements.insertEntry.run({ + ':sessionId': sessionId, + ':seq': seq, + ':id': id, + ':parentId': parentId, + ':type': input.type, + ':timestamp': timestamp, + ':payload': payload, + }); + this.statements.insertBranchEntry.run({ + ':sessionId': sessionId, + ':branchId': branchId, + ':entryId': id, + ':entrySeq': seq, + ':entryType': input.type, + ':customType': customType, + }); + + // 分支指针更新为新条目 + const tip = this.statements.getBranchTip.get({ ':sessionId': sessionId, ':branchId': branchId }); + if (tip) { + this.statements.updateBranchTip.run({ ':sessionId': sessionId, ':branchId': branchId, ':tipId': id }); + } else { + this.statements.insertBranchTip.run({ ':sessionId': sessionId, ':tipId': id, ':branchId': branchId }); + } + + // 泳道叶子前移,并记录移动历史 + this.statements.updateLane.run({ ':sessionId': sessionId, ':lane': lane, ':leafId': id }); + this.statements.insertLaneMove.run({ ':sessionId': sessionId, ':seq': seq, ':lane': lane, ':leafId': id }); + + const entry = this.statements.getEntryById.get({ ':sessionId': sessionId, ':id': id }); + if (!entry) { + throw new Error('追加条目失败'); + } + result = this.mapEntry(entry); + }); + // 上面的事务必然执行成功并赋值 + return result!; + } + + /** + * 追加一条运行记录,记录会与条目共享同一个会话序号。 + */ + appendRecord(sessionId: string, input: RecordInput): SessionRecord { + const id = input.id ?? randomUUID(); + const timestamp = input.timestamp ?? new Date().toISOString(); + let result: SessionRecord; + this.transaction(() => { + const seq = this.nextSeq(sessionId); + this.statements.insertRecord.run({ + ':sessionId': sessionId, + ':seq': seq, + ':id': id, + ':lane': input.lane, + ':runId': input.runId ?? null, + ':type': input.type, + ':opKind': input.opKind ?? null, + ':timestamp': timestamp, + ':payload': JSON.stringify(input.payload), + }); + // 记录移动泳道时同步更新泳道叶子 + this.statements.updateLane.run({ ':sessionId': sessionId, ':lane': input.lane, ':leafId': id }); + this.statements.insertLaneMove.run({ + ':sessionId': sessionId, + ':seq': seq, + ':lane': input.lane, + ':leafId': id, + }); + const row = this.db + .prepare('SELECT * FROM records WHERE session_id = ? AND id = ?') + .get(sessionId, id) as SqlRow; + result = this.mapRecord(row); + }); + return result!; + } + + /** + * 分页查询运行记录。 + */ + getRecords(sessionId: string, options: { limit?: number; offset?: number } = {}): SessionRecord[] { + const rows = this.statements.listRecords.all({ + ':sessionId': sessionId, + ':limit': options.limit ?? 500, + ':offset': options.offset ?? 0, + }); + return rows.map((row) => this.mapRecord(row)); + } + + /** + * 移动指定泳道的叶子位置,并记录移动历史。 + */ + moveLane(sessionId: string, input: LaneMoveInput): Lane { + this.transaction(() => { + const seq = this.nextSeq(sessionId); + this.statements.updateLane.run({ + ':sessionId': sessionId, + ':lane': input.lane, + ':leafId': input.leafId ?? null, + }); + this.statements.insertLaneMove.run({ + ':sessionId': sessionId, + ':seq': seq, + ':lane': input.lane, + ':leafId': input.leafId ?? null, + }); + }); + const lane = this.getLane(sessionId, input.lane); + if (!lane) { + throw new Error(`泳道不存在:${input.lane}`); + } + return lane; + } + + /** + * 读取指定泳道,不存在时返回 null。 + */ + getLane(sessionId: string, lane: string): Lane | null { + const row = this.statements.getLane.get({ ':sessionId': sessionId, ':lane': lane }); + return row ? this.mapLane(row) : null; + } + + /** + * 列出会话内的所有泳道。 + */ + listLanes(sessionId: string): Lane[] { + const rows = this.statements.listLanes.all({ ':sessionId': sessionId }); + return rows.map((row) => this.mapLane(row)); + } + + /** + * 追加一条事实。 + */ + addFact(sessionId: string, input: { kind: string; key?: string | null; value?: string | null }): Fact { + let result: Fact; + this.transaction(() => { + const seq = this.nextSeq(sessionId); + this.statements.insertFact.run({ + ':sessionId': sessionId, + ':seq': seq, + ':kind': input.kind, + ':key': input.key ?? null, + ':value': input.value ?? null, + }); + const row = this.db + .prepare('SELECT * FROM facts WHERE session_id = ? AND seq = ?') + .get(sessionId, seq) as SqlRow; + result = this.mapFact(row); + }); + return result!; + } + + /** + * 列出会话内全部事实。 + */ + listFacts(sessionId: string): Fact[] { + const rows = this.statements.listFacts.all({ ':sessionId': sessionId }); + return rows.map((row) => this.mapFact(row)); + } + + /** + * 设置分支指针。 + */ + setBranchTip(sessionId: string, branchId: string, tipId: string): BranchTip { + const existing = this.statements.getBranchTip.get({ ':sessionId': sessionId, ':branchId': branchId }); + if (existing) { + this.statements.updateBranchTip.run({ ':sessionId': sessionId, ':branchId': branchId, ':tipId': tipId }); + } else { + this.statements.insertBranchTip.run({ ':sessionId': sessionId, ':tipId': tipId, ':branchId': branchId }); + } + const row = this.statements.getBranchTip.get({ ':sessionId': sessionId, ':branchId': branchId }); + return this.mapBranchTip(row!); + } + + /** + * 列出会话内的分支指针。 + */ + listBranchTips(sessionId: string): BranchTip[] { + const rows = this.statements.listBranchTips.all({ ':sessionId': sessionId }); + return rows.map((row) => this.mapBranchTip(row)); + } + + /** + * 读取某个分支下的全部条目缓存。 + */ + getBranchEntries(sessionId: string, branchId: string): BranchEntry[] { + const rows = this.statements.listBranchEntries.all({ ':sessionId': sessionId, ':branchId': branchId }); + return rows.map((row) => this.mapBranchEntry(row)); + } + + /** + * 获取会话统计,未初始化时返回默认零值。 + */ + getStats(sessionId: string): SessionStats { + const row = this.statements.getStats.get({ ':sessionId': sessionId }); + if (row) { + return this.mapStats(row); + } + return { + sessionId, + messageCount: 0, + cachedTokens: 0, + uncachedTokens: 0, + totalTokens: 0, + costTotal: 0, + }; + } + + /** + * 覆盖写入会话统计。 + */ + updateStats(sessionId: string, stats: Omit): SessionStats { + this.statements.upsertStats.run({ + ':sessionId': sessionId, + ':messageCount': stats.messageCount, + ':cachedTokens': stats.cachedTokens, + ':uncachedTokens': stats.uncachedTokens, + ':totalTokens': stats.totalTokens, + ':costTotal': stats.costTotal, + }); + return this.getStats(sessionId); + } + + /** + * 获取会话写租约。 + * + * 若租约已过期或归属当前持有者,则直接续租; + * 若被其他持有者占用且未过期,则返回 acquired=false 且不覆盖 fence。 + */ + acquireLease(sessionId: string, ownerId: string, ttlMs = 60_000): LeaseAcquireResult { + const nowMs = Date.now(); + const expiresAtMs = nowMs + ttlMs; + + const updated = this.statements.takeLease.run({ + ':sessionId': sessionId, + ':ownerId': ownerId, + ':expiresAtMs': expiresAtMs, + ':nowMs': nowMs, + }); + + if (updated.changes > 0) { + const row = this.statements.getLease.get({ ':sessionId': sessionId }); + const lease = this.mapLease(row!); + return { acquired: true, lease, fence: lease.fence }; + } + + try { + this.statements.insertLease.run({ + ':sessionId': sessionId, + ':ownerId': ownerId, + ':expiresAtMs': expiresAtMs, + }); + const row = this.statements.getLease.get({ ':sessionId': sessionId }); + const lease = this.mapLease(row!); + return { acquired: true, lease, fence: lease.fence }; + } catch { + // 并发创建时只剩未过期租约,说明被其他持有者占用 + const row = this.statements.getLease.get({ ':sessionId': sessionId }); + const lease = row ? this.mapLease(row) : null; + return { acquired: false, lease, fence: null }; + } + } + + /** + * 释放由指定持有者拥有的租约。 + */ + releaseLease(sessionId: string, ownerId: string): boolean { + return this.statements.deleteLease.run({ ':sessionId': sessionId, ':ownerId': ownerId }).changes > 0; + } + + /** + * 读取当前租约,不存在时返回 null。 + */ + getLease(sessionId: string): Lease | null { + const row = this.statements.getLease.get({ ':sessionId': sessionId }); + return row ? this.mapLease(row) : null; + } + + /** + * 校验传入的 fence 是否仍为当前有效租约。 + */ + validateFence(sessionId: string, ownerId: string, fence: number): boolean { + const lease = this.getLease(sessionId); + return lease !== null && lease.ownerId === ownerId && lease.fence === fence; + } + + /** 读取并递增会话序号,返回新序号 */ + private nextSeq(sessionId: string): number { + const row = this.statements.readSequence.get({ ':sessionId': sessionId }); + if (!row) { + throw new Error(`会话不存在或未初始化序号:${sessionId}`); + } + const seq = Number(row.next_seq); + this.statements.bumpSequence.run({ ':sessionId': sessionId }); + return seq; + } + + /** 根据父条目推导它所属的分支,找不到时返回 null */ + private findEntryBranch(sessionId: string, entryId: string): string | null { + const row = this.db + .prepare(` + SELECT branch_id FROM branch_entries + WHERE session_id = ? AND entry_id = ? + ORDER BY entry_seq DESC LIMIT 1 + `) + .get(sessionId, entryId) as SqlRow | undefined; + return row ? String(row.branch_id) : null; + } + + /** 把 sessions 行解析为 Session 对象 */ + private mapSession(row: SqlRow): Session { + return { + id: String(row.id), + createdAt: String(row.created_at), + cwd: String(row.cwd), + parentSessionId: row.parent_session_id == null ? null : String(row.parent_session_id), + metadata: this.parseJson(row.metadata) as Record, + }; + } + + /** 把 entries 行解析为 Entry 对象 */ + private mapEntry(row: SqlRow): Entry { + return { + sessionId: String(row.session_id), + seq: Number(row.seq), + id: String(row.id), + parentId: row.parent_id == null ? null : String(row.parent_id), + type: String(row.type), + timestamp: String(row.timestamp), + payload: this.parseJson(row.payload), + }; + } + + /** 把 records 行解析为 Record 对象 */ + private mapRecord(row: SqlRow): SessionRecord { + return { + sessionId: String(row.session_id), + seq: Number(row.seq), + id: String(row.id), + lane: String(row.lane), + runId: row.run_id == null ? null : String(row.run_id), + type: String(row.type), + opKind: row.op_kind == null ? null : String(row.op_kind), + timestamp: String(row.timestamp), + payload: this.parseJson(row.payload), + }; + } + + /** 把 lanes 行解析为 Lane 对象 */ + private mapLane(row: SqlRow): Lane { + return { + sessionId: String(row.session_id), + lane: String(row.lane), + leafId: row.leaf_id == null ? null : String(row.leaf_id), + }; + } + + /** 把 facts 行解析为 Fact 对象 */ + private mapFact(row: SqlRow): Fact { + return { + sessionId: String(row.session_id), + seq: Number(row.seq), + kind: String(row.kind), + key: row.key == null ? null : String(row.key), + value: row.value == null ? null : String(row.value), + }; + } + + /** 把 branch_tips 行解析为 BranchTip 对象 */ + private mapBranchTip(row: SqlRow): BranchTip { + return { + sessionId: String(row.session_id), + tipId: String(row.tip_id), + branchId: String(row.branch_id), + }; + } + + /** 把 branch_entries 行解析为 BranchEntry 对象 */ + private mapBranchEntry(row: SqlRow): BranchEntry { + return { + sessionId: String(row.session_id), + branchId: String(row.branch_id), + entryId: String(row.entry_id), + entrySeq: Number(row.entry_seq), + entryType: row.entry_type == null ? null : String(row.entry_type), + customType: row.custom_type == null ? null : String(row.custom_type), + }; + } + + /** 把 session_stats 行解析为 SessionStats 对象 */ + private mapStats(row: SqlRow): SessionStats { + return { + sessionId: String(row.session_id), + messageCount: Number(row.message_count), + cachedTokens: Number(row.cached_tokens), + uncachedTokens: Number(row.uncached_tokens), + totalTokens: Number(row.total_tokens), + costTotal: Number(row.cost_total), + }; + } + + /** 把 leases 行解析为 Lease 对象 */ + private mapLease(row: SqlRow): Lease { + return { + sessionId: String(row.session_id), + ownerId: String(row.owner_id), + fence: Number(row.fence), + expiresAtMs: Number(row.expires_at_ms), + }; + } + + /** 解析 JSON 字段,解析失败时原样返回字符串 */ + private parseJson(value: unknown): unknown { + if (value == null) { + return null; + } + if (typeof value !== 'string') { + return value; + } + try { + return JSON.parse(value); + } catch { + return value; + } + } +} diff --git a/packages/session-sqlite/src/types.ts b/packages/session-sqlite/src/types.ts new file mode 100644 index 0000000..4d8490f --- /dev/null +++ b/packages/session-sqlite/src/types.ts @@ -0,0 +1,237 @@ +// 会话存储相关的公开类型定义。 +// 这里只描述表结构和主要查询结果对应的 TypeScript 类型。 + +/** 简单的对象类型,避免与全局 Record 工具类型互相干扰 */ +type JsonObject = { [key: string]: unknown }; + +/** + * 会话基本信息。 + */ +export interface Session { + /** 会话唯一 ID */ + id: string; + /** 创建时间,ISO 8601 字符串 */ + createdAt: string; + /** 启动会话时的工作目录 */ + cwd: string; + /** 父会话 ID,可用于子会话或分支场景 */ + parentSessionId: string | null; + /** 会话元数据,保存时会被序列化为 JSON */ + metadata: JsonObject; +} + +/** + * 创建会话时需要的输入。 + */ +export interface CreateSessionInput { + /** 会话启动时的工作目录 */ + cwd: string; + /** 自定义会话 ID,不传则自动生成 */ + id?: string; + /** 父会话 ID */ + parentSessionId?: string | null; + /** 会话元数据 */ + metadata?: JsonObject; +} + +/** + * 会话中的一条条目,例如用户消息、助手回复或工具调用。 + */ +export interface Entry { + /** 所属会话 ID */ + sessionId: string; + /** 会话内递增序号 */ + seq: number; + /** 条目唯一 ID */ + id: string; + /** 父条目 ID,用于表达回复关系和分支 */ + parentId: string | null; + /** 条目类型,例如 user / assistant / tool */ + type: string; + /** 时间戳,ISO 8601 字符串 */ + timestamp: string; + /** 条目内容,保存时序列化为 JSON */ + payload: unknown; +} + +/** + * 追加条目时的输入。 + */ +export interface EntryInput { + /** 条目唯一 ID,不传则自动生成 */ + id?: string; + /** 父条目 ID,不传时默认挂在当前泳道的叶子下 */ + parentId?: string | null; + /** 条目类型 */ + type: string; + /** 条目内容,会被序列化为 JSON 后写入 */ + payload: unknown; + /** 时间戳,不传则使用当前时间 */ + timestamp?: string; + /** 所属分支 ID,不传时从父条目推导 */ + branchId?: string; + /** 所属泳道 */ + lane?: string; +} + +/** + * 泳道叶子位置的信息。 + */ +export interface Lane { + /** 所属会话 ID */ + sessionId: string; + /** 泳道名称 */ + lane: string; + /** 当前叶子条目 ID */ + leafId: string | null; +} + +/** + * 用于批量追加泳道移动记录的输入。 + */ +export interface LaneMoveInput { + /** 泳道名称 */ + lane: string; + /** 移动后的叶子条目 ID */ + leafId?: string | null; +} + +/** + * 运行记录或操作历史条目。 + */ +export interface Record { + /** 所属会话 ID */ + sessionId: string; + /** 会话内递增序号 */ + seq: number; + /** 记录唯一 ID */ + id: string; + /** 所属泳道 */ + lane: string; + /** 运行 ID */ + runId: string | null; + /** 记录类型 */ + type: string; + /** 操作类型 */ + opKind: string | null; + /** 时间戳,ISO 8601 字符串 */ + timestamp: string; + /** 记录内容,保存时序列化为 JSON */ + payload: unknown; +} + +/** + * 追加记录时的输入。 + */ +export interface RecordInput { + /** 记录唯一 ID,不传则自动生成 */ + id?: string; + /** 所属泳道 */ + lane: string; + /** 运行 ID */ + runId?: string | null; + /** 记录类型 */ + type: string; + /** 操作类型 */ + opKind?: string | null; + /** 记录内容 */ + payload: unknown; + /** 时间戳,不传则使用当前时间 */ + timestamp?: string; +} + +/** + * 会话统计信息。 + */ +export interface SessionStats { + /** 所属会话 ID */ + sessionId: string; + /** 当前统计的消息数量 */ + messageCount: number; + /** 缓存 token 数量 */ + cachedTokens: number; + /** 未缓存 token 数量 */ + uncachedTokens: number; + /** token 总数 */ + totalTokens: number; + /** 累计成本 */ + costTotal: number; +} + +/** + * 事实表记录。 + */ +export interface Fact { + /** 所属会话 ID */ + sessionId: string; + /** 会话内递增序号 */ + seq: number; + /** 事实类型 */ + kind: string; + /** 事实键 */ + key: string | null; + /** 事实值 */ + value: string | null; +} + +/** + * 分支指针记录。 + */ +export interface BranchTip { + /** 所属会话 ID */ + sessionId: string; + /** 当前 tip 条目 ID */ + tipId: string; + /** 分支 ID */ + branchId: string; +} + +/** + * 分支条目缓存。 + */ +export interface BranchEntry { + /** 所属会话 ID */ + sessionId: string; + /** 分支 ID */ + branchId: string; + /** 条目 ID */ + entryId: string; + /** 条目序号 */ + entrySeq: number; + /** 条目类型缓存 */ + entryType: string | null; + /** 自定义类型缓存 */ + customType: string | null; +} + +/** + * 会话写租约。 + */ +export interface Lease { + /** 所属会话 ID */ + sessionId: string; + /** 租约持有者 ID */ + ownerId: string; + /** 单调递增的 fence,用于判断写入是否仍被授权 */ + fence: number; + /** 过期时间,毫秒时间戳 */ + expiresAtMs: number; +} + +/** + * 查询泳道树时返回的结构。 + */ +export interface LeafNode { + /** 条目 ID */ + id: string; + /** 父条目 ID */ + parentId: string | null; + /** 条目序号 */ + seq: number; + /** 条目类型 */ + type: string; + /** 时间戳 */ + timestamp: string; + /** 已解析的条目内容 */ + payload: unknown; +} diff --git a/packages/session-sqlite/tsconfig.json b/packages/session-sqlite/tsconfig.json new file mode 100644 index 0000000..ec8e02f --- /dev/null +++ b/packages/session-sqlite/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "rootDir": "src", + "outDir": "dist", + "declaration": true, + "composite": true + }, + "include": ["src"] +} diff --git a/packages/session-sqlite/tsconfig.tsbuildinfo b/packages/session-sqlite/tsconfig.tsbuildinfo new file mode 100644 index 0000000..2e251d1 --- /dev/null +++ b/packages/session-sqlite/tsconfig.tsbuildinfo @@ -0,0 +1 @@ +{"fileNames":["../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.scripthost.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2025.float16.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.full.d.ts","../../node_modules/.pnpm/@types+react@19.2.18/node_modules/@types/react/global.d.ts","../../node_modules/.pnpm/csstype@3.2.3/node_modules/csstype/index.d.ts","../../node_modules/.pnpm/@types+react@19.2.18/node_modules/@types/react/index.d.ts","../../node_modules/.pnpm/@types+react@19.2.18/node_modules/@types/react/jsx-runtime.d.ts","./src/schema.ts","./src/types.ts","./src/store.ts","./src/index.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/globals.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/blob.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/console.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/crypto.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/domexception.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/encoding.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/events.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/utility.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/header.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/readable.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/fetch.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/formdata.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/connector.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/client-stats.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/client.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/errors.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/dispatcher.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/global-origin.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/pool-stats.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/pool.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/handlers.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/balanced-pool.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/round-robin-pool.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/h2c-client.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-call-history.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-client.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-pool.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/snapshot-agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-errors.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/socks5-proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/retry-handler.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/retry-agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/api.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/cache-interceptor.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/interceptors.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/util.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/cookies.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/patch.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/websocket.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/eventsource.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/content-type.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/cache.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/index.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/fetch.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/importmeta.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/messaging.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/navigator.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/performance.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/storage.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/streams.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/timers.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/url.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/assert.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/assert/strict.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/async_hooks.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/buffer.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/child_process.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/cluster.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/console.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/constants.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/crypto.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/dgram.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/dns.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/dns/promises.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/domain.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/events.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/fs.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/fs/promises.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/http.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/http2.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/https.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/inspector.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/inspector.generated.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/inspector/promises.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/module.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/net.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/os.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/path.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/path/posix.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/path/win32.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/perf_hooks.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/process.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/punycode.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/querystring.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/quic.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/readline.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/readline/promises.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/repl.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/sea.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/sqlite.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/stream.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/stream/consumers.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/stream/iter.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/stream/promises.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/stream/web.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/string_decoder.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/test.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/test/reporters.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/timers.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/timers/promises.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/tls.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/trace_events.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/tty.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/url.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/util.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/util/types.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/v8.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/vm.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/wasi.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/worker_threads.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/zlib.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/zlib/iter.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/index.d.ts"],"fileIdsList":[[64,125,126,128,136,140,143,145,146,147,159],[64,127,128,136,140,143,145,146,147,159],[128,136,140,143,145,146,147,159],[64,128,136,140,143,145,146,147,159,168],[64,128,129,134,136,139,140,143,145,146,147,149,159,164,177],[64,128,129,130,136,139,140,143,145,146,147,159],[64,128,136,140,143,145,146,147,159],[64,128,131,136,140,143,145,146,147,159,178],[64,128,132,133,136,140,143,145,146,147,150,159],[64,128,133,136,140,143,145,146,147,159,164,174],[64,128,134,136,139,140,143,145,146,147,149,159],[64,127,128,135,136,140,143,145,146,147,159],[64,128,136,137,140,143,145,146,147,159],[64,128,136,138,139,140,143,145,146,147,159],[64,127,128,136,139,140,143,145,146,147,159],[64,128,136,139,140,141,143,145,146,147,159,164,177],[64,128,136,139,140,141,143,145,146,147,159,164,166,168],[64,115,128,136,139,140,142,143,145,146,147,149,159,164,177],[64,128,136,139,140,142,143,145,146,147,149,159,164,174,177],[64,128,136,140,142,143,144,145,146,147,159,164,174,177],[62,63,64,65,66,67,68,69,70,71,72,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185],[64,128,136,139,140,143,145,146,147,159],[64,128,136,140,143,145,147,159],[64,128,136,140,143,145,146,147,148,159,177],[64,128,136,139,140,143,145,146,147,149,159,164],[64,128,136,140,143,145,146,147,150,159],[64,128,136,140,143,145,146,147,151,159],[64,128,136,139,140,143,145,146,147,154,159],[64,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184],[64,128,136,140,143,145,146,147,156,159],[64,128,136,140,143,145,146,147,157,159],[64,128,133,136,140,143,145,146,147,149,159,168],[64,128,136,139,140,143,145,146,147,159,160],[64,128,136,140,143,145,146,147,159,161,178,181],[64,128,136,139,140,143,145,146,147,159,164,167,168],[64,128,136,140,143,145,146,147,159,165,168],[64,128,136,140,143,145,146,147,159,166],[64,128,136,140,143,145,146,147,159,168,178],[64,128,136,140,143,145,146,147,159,169],[64,125,128,136,140,143,145,146,147,159,164,171,177],[64,128,136,140,143,145,146,147,159,164,170],[64,128,136,139,140,143,145,146,147,159,172,173],[64,128,136,140,143,145,146,147,159,172,173],[64,128,133,136,140,143,145,146,147,149,159,164,174],[64,128,136,140,143,145,146,147,159,175],[64,128,136,140,143,145,146,147,149,159,176],[64,128,136,140,142,143,145,146,147,157,159,177],[64,128,136,140,143,145,146,147,159,178,179],[64,128,133,136,140,143,145,146,147,159,179],[64,128,136,140,143,145,146,147,159,164,180],[64,128,136,140,143,145,146,147,148,159,181],[64,128,136,140,143,145,146,147,159,182],[64,128,131,136,140,143,145,146,147,159],[64,128,133,136,140,143,145,146,147,159],[64,128,136,140,143,145,146,147,159,178],[64,115,128,136,140,143,145,146,147,159],[64,128,136,140,143,145,146,147,159,177],[64,128,136,140,143,145,146,147,159,183],[64,128,136,140,143,145,146,147,154,159],[64,128,136,140,143,145,146,147,159,173],[64,115,128,136,139,140,141,143,145,146,147,154,159,164,168,177,180,181,183],[64,128,136,140,143,145,146,147,159,164,184],[64,128,136,140,143,145,146,147,159,166,185],[54,55,64,128,136,140,143,145,146,147,159],[56,64,128,136,140,143,145,146,147,159],[64,79,82,85,86,128,136,140,143,145,146,147,159,177],[64,82,128,136,140,143,145,146,147,159,164,177],[64,82,86,128,136,140,143,145,146,147,159,177],[64,128,136,140,143,145,146,147,159,164],[64,76,128,136,140,143,145,146,147,159],[64,80,128,136,140,143,145,146,147,159],[64,78,79,82,128,136,140,143,145,146,147,159,177],[64,128,136,140,143,145,146,147,149,159,174],[64,128,136,140,143,145,146,147,159,186],[64,76,128,136,140,143,145,146,147,159,186],[64,78,82,128,136,140,143,145,146,147,149,159,177],[64,73,74,75,77,81,128,136,139,140,143,145,146,147,159,164,177],[64,82,91,99,128,136,140,143,145,146,147,159],[64,74,80,128,136,140,143,145,146,147,159],[64,82,109,110,128,136,140,143,145,146,147,159],[64,74,77,82,128,136,140,143,145,146,147,159,168,177,186],[64,82,128,136,140,143,145,146,147,159],[64,78,82,128,136,140,143,145,146,147,159,177],[64,73,128,136,140,143,145,146,147,159],[64,76,77,78,80,81,82,83,84,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,110,111,112,113,114,128,136,140,143,145,146,147,159],[64,82,102,105,128,136,140,143,145,146,147,159],[64,82,91,92,93,128,136,140,143,145,146,147,159],[64,80,82,92,94,128,136,140,143,145,146,147,159],[64,81,128,136,140,143,145,146,147,159],[64,74,76,82,128,136,140,143,145,146,147,159],[64,82,86,92,94,128,136,140,143,145,146,147,159],[64,86,128,136,140,143,145,146,147,159],[64,80,82,85,128,136,140,143,145,146,147,159,177],[64,74,78,82,91,128,136,140,143,145,146,147,159],[64,82,102,128,136,140,143,145,146,147,159],[64,94,128,136,140,143,145,146,147,159],[64,74,78,82,86,128,136,140,143,145,146,147,159],[64,76,82,109,128,136,140,143,145,146,147,159,168,183,186],[57,58,59,60,64,128,136,140,143,145,146,147,159],[57,64,128,136,140,143,145,146,147,159],[57,58,59,64,128,133,136,140,143,145,146,147,151,159,163]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"2a2de5b9459b3fc44decd9ce6100b72f1b002ef523126c1d3d8b2a4a63d74d78","affectsGlobalScope":true,"impliedFormat":1},{"version":"f13f4b465c99041e912db5c44129a94588e1aafee35a50eab51044833f50b4ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"577cc49be1979782a5a695b46049566d123e2a75382f10bb82f2e5c87e29059a","impliedFormat":1},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"814d5c7384f3ca276e9dc4bcfde5545801a3ea0bfae09916b3336774e662fd1b","impliedFormat":1},{"version":"b838d4c72740eb0afd284bf7575b74c624b105eff2e8c7b4aeead57e7ac320ff","impliedFormat":1},"4d61a6340cbd5d4f4a4ec2fc454d0b266eb1fb8b655537deb6121a6f7232c8a3",{"version":"5ed797667a4ab2c2027605ad16143d9fcc8d1b29e6e0223f12f6d78a579f5ce2","signature":"90ebdc9153affe8d4c58514dec647eea5decb589fcf2aaad6e1386d47722e5ae"},{"version":"56650ba1a26027a8fe602d150581eb6def6aedebafa29826c57380e8055702fb","signature":"f040b2477c105e514aa476576691e8f0365691068e71e33bede4aa4c610ef9c7"},{"version":"e47e63ee8d77c3b982c7e09219e8748e2ebe7b3a5545cc7fad32cb20d00c9123","signature":"8311357bbe8c9217b356e91b45c294e2b2b5b0254ac193a18dce06399b821c2b"},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc2110f7decca6bfb9392e30421cfa1436479e4a6756e8fec6cbc22625d4f881","affectsGlobalScope":true,"impliedFormat":1},{"version":"096116f8fedc1765d5bd6ef360c257b4a9048e5415054b3bf3c41b07f8951b0b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"10ec5e82144dfac6f04fa5d1d6c11763b3e4dbbac6d99101427219ab3e2ae887","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"14e9acf826baba0ef4b5665704084896e7bcc06f65a9ab13af7e93d27d6b7069","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"21adf13435b9b748529c8cedf80f884e5130b9684188120a686cd2b26a2059c7","impliedFormat":1},{"version":"eec76bf6b9346f3f95fa402621b889489e96930e72295b0369022f332e9b4a6a","impliedFormat":1},{"version":"0ecd58f413f9bc3b7d4383eae31b0c8fc576985cd7404d6f99f8c643543ade74","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"9c32412007b5662fd34a8eb04292fb5314ec370d7016d1c2fb8aa193c807fe22","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"6ebe8ebb8659aaa9d1acbf3710d7dae3e923e97610238b9511c25dc39023a166","impliedFormat":1},{"version":"e85d7f8068f6a26710bff0cc8c0fc5e47f71089c3780fbede05857331d2ddec9","impliedFormat":1},{"version":"7befaf0e76b5671be1d47b77fcc65f2b0aad91cc26529df1904f4a7c46d216e9","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":"d33ce35e3f9cfcc1d94eca415bdd3bde94d5b153ffdd33e6c4455c029986c630","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"4dc59f6e1dbf3d5f66660fceabe6c174d3261b37b696ae1854f0dbaf255fc753","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"436d7b4543b340b0f3eef4310d524242e41369b9652aa9c70428767c4dcac455","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"114f493b30f364255290472111b5a4791d5902c308645670cd0401429cbc6930","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a93de4ff8a63bafe62ba86b89af1df0ccb5e40bb85b0c67d6bbcfdcf96bf3d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"d2ae155afe8a01cc0ae612d99117cf8ef16692ba7c4366590156fdec1bcf2d8c","impliedFormat":1},{"version":"3f5e5d9be35913db9fea42a63f3df0b7e3c8703b97670a2125587b4dbbd56d7c","impliedFormat":1},{"version":"c8b8968311ec4e5e97b7b5fb8a65efaba455db9bdcfd7fff7fb15f6e317bfba0","impliedFormat":1},{"version":"57c23df0b5f7a8e26363a3849b0bc7763f6b241207157c8e40089d1df4116f35","affectsGlobalScope":true,"impliedFormat":1},{"version":"3b8bc0c17b54081b0878673989216229e575d67a10874e84566a21025a2461ee","impliedFormat":1},{"version":"5b0db5a58b73498792a29bfebc333438e61906fef75da898b410e24e52229e6f","impliedFormat":1},{"version":"dbe055b2b29a7bab2c1ca8f259436306adb43f469dca7e639a02cd3695d3f621","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"aecbf1d9e6a18dab7d92ef8a89a1444b47e1eb6134cb2bb776a26d55ff58c29a","impliedFormat":1},{"version":"2ea729503db9793f2691162fec3dd1118cab62e96d025f8eeb376d43ec293395","impliedFormat":1},{"version":"9ec87fea42b92894b0f209931a880789d43c3397d09dd99c631ae40a2f7071d1","impliedFormat":1},{"version":"c68e88cdfadfb6c8ba5fc38e58a3a166b0beae77b1f05b7d921150a32a5ffb8d","impliedFormat":1},{"version":"2bc7aa4fba46df0bd495425a7c8201437a7d465f83854fac859df2d67f664df3","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"1fede9296beac11ce8e6b425396a1791f64341f2be85deebb6286faf6e16306e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce697b6a251d9cad53998c7fd3098072df883b525ec45d83530e434dc6d80dc6","impliedFormat":1},{"version":"53ff1acab080a8318445df2c7da35ec47489dc83be40569e39c7c750046e217f","impliedFormat":1},{"version":"0eb5d0cbf09de5d34542b977fd6a933bb2e0817bffe8e1a541b2f1ad1b9af1ff","impliedFormat":1},{"version":"3db996ecdee7aabecc5385976cc07eb66216034a273c07b17d1a85292e9bab0c","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"c32c840c62d8bd7aeb3147aa6754cd2d922b990a6b6634530cb2ebdce5adc8e9","impliedFormat":1},{"version":"5ff4433a2deae4f85ab1377e90a7554ce6b47ae51c69a84ca30a6e22fae85834","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"c1fa52b3d014001e8662fa2669d90ea15373958a288e3b83a3b621733d25292a","affectsGlobalScope":true,"impliedFormat":1},{"version":"cbed824fec91efefc7bbdcb8b43d1a531fdbebd0e2ef19481501ff365a93cb70","impliedFormat":1},{"version":"d0716593b3f2b0451bcf0c24cfa86dec2235c325c89f201934248b7c742715fc","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"2991bca2cc0f0628a278df2a2ccdb8d6cbcb700f3761abbed62bba137d5b1790","impliedFormat":1},{"version":"47d480d0c84b0f6215f1f817e0939b247ebf5217b6784846b96fa6ab710ce99d","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"8413d0641f293aed551c7464615b770d34a02dedede889b9591172287d68e773","impliedFormat":1},{"version":"0ea59f7d3e51440baa64f429253759b106cfcbaf51e474cae606e02265b37cf8","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"1b241e24f3227d078c06aeda6e050187ad59a4e591f4467abed44d92b084e08d","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"7fde0e1be5c8be204ffbf428abfcf01da2eb0f130e1bc3f539eb7275f4fd1f58","impliedFormat":1},{"version":"e284328553df5f425a5d33d36a0c3fa66b46af9d097cad6f4d2e8696dfdeb0f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"f36b3fbe2be150a9ca140da48593f21e6a8172004f92ddc549b43efec39f3e54","impliedFormat":1},{"version":"f1c93e046fb3d9b7f8249629f4b63dc068dd839b824dd0aa39a5e68476dc9420","impliedFormat":1},{"version":"016b29bf4926b80255a108c53a1451717350059da04fcae64d1075f5e93bbb39","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"1c4f139ade4f6ebf45463505f8155173e5d7a5305e50e0aae0a5e712d6ff3b48","impliedFormat":1},{"version":"e16b319e5aca1031168de823c4946ff8e29629c4c8cc0ec0fcfe2a8ab2155043","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"9d3821bc75c59577e52643324cec92fc2145642e8d17cf7ee07a3181f21d985d","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"201db9cf1687fab1adf5282fcba861f382b32303dc4f67c89d59655e78a25461","impliedFormat":1},{"version":"2c3c5c0f54055e87640f5d233716fd889f3034fc7911d603b642369b0dbeb2a7","impliedFormat":1},{"version":"0a20eaf2e4b1e3c1e1f87f7bccb0c936375b23b022baeea750519b7c9bc6ce83","impliedFormat":1},{"version":"b484ec11ba00e3a2235562a41898d55372ccabe607986c6fa4f4aba72093749f","impliedFormat":1},{"version":"a16b91b27bd6b706c687c88cbc8a7d4ee98e5ed6043026d6b84bda923c0aed67","impliedFormat":1},{"version":"1c9e5b1a17b1fc9b3711fb36e0690421261ab2880f15b145155b5b2ba2ab6c2d","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"6eeded8c7e352be6e0efb83f4935ec752513c4d22043b52522b90849a49a3a11","impliedFormat":1},{"version":"6c1ad90050ffbb151cacc68e2d06ea1a26a945659391e32651f5d42b86fd7f2c","impliedFormat":1},{"version":"afa1c49f8e559e413d57343339db857d2a8159435cf9cf7d4deb41718fff1b88","impliedFormat":1},{"version":"6953d7597831d0860c7034cf4f0419687d263b6b98a4b32e37ce6d49615c36e2","impliedFormat":1}],"root":[[58,61]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"jsx":4,"module":99,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"strict":true,"target":7},"referencedMap":[[125,1],[126,1],[127,2],[64,3],[128,4],[129,5],[130,6],[62,7],[131,8],[132,9],[133,10],[134,11],[135,12],[136,13],[137,13],[138,14],[139,15],[140,16],[141,17],[65,7],[63,7],[142,18],[143,19],[144,20],[186,21],[145,22],[146,23],[147,22],[148,24],[149,25],[150,26],[151,27],[152,27],[153,27],[154,28],[155,29],[156,30],[157,31],[158,32],[159,33],[160,33],[161,34],[162,7],[163,7],[164,35],[165,36],[166,37],[167,35],[168,38],[169,39],[170,40],[171,41],[172,42],[173,43],[174,44],[175,45],[176,46],[177,47],[178,48],[179,49],[180,50],[181,51],[182,52],[66,22],[67,7],[68,53],[69,54],[70,7],[71,55],[72,7],[116,56],[117,57],[118,58],[119,58],[120,59],[121,7],[122,4],[123,60],[124,57],[183,61],[184,62],[185,63],[54,7],[56,64],[57,65],[55,7],[51,7],[52,7],[10,7],[8,7],[9,7],[14,7],[13,7],[2,7],[15,7],[16,7],[17,7],[18,7],[19,7],[20,7],[21,7],[22,7],[3,7],[23,7],[24,7],[4,7],[25,7],[29,7],[26,7],[27,7],[28,7],[30,7],[31,7],[32,7],[5,7],[33,7],[34,7],[35,7],[36,7],[6,7],[40,7],[37,7],[38,7],[39,7],[41,7],[7,7],[42,7],[53,7],[47,7],[48,7],[43,7],[44,7],[45,7],[46,7],[49,7],[1,7],[50,7],[12,7],[11,7],[91,66],[104,67],[88,68],[105,69],[114,70],[79,71],[80,72],[78,73],[113,74],[108,75],[112,76],[82,77],[101,78],[81,79],[111,80],[76,81],[77,75],[83,82],[84,7],[90,83],[87,82],[74,84],[115,85],[106,86],[94,87],[93,82],[95,88],[98,89],[92,90],[96,91],[109,74],[85,92],[86,93],[99,94],[75,69],[103,95],[102,82],[89,93],[97,96],[100,97],[107,7],[73,7],[110,98],[61,99],[58,100],[60,101],[59,100]],"affectedFilesPendingEmit":[[61,17],[58,17],[60,17],[59,17]],"emitSignatures":[58,59,60,61],"version":"6.0.3"} \ No newline at end of file diff --git a/tests/session-sqlite.spec.ts b/tests/session-sqlite.spec.ts new file mode 100644 index 0000000..330c2ff --- /dev/null +++ b/tests/session-sqlite.spec.ts @@ -0,0 +1,137 @@ +import { describe, it, expect, afterEach } from 'vitest'; +import { SessionStore, DEFAULT_LANE, DEFAULT_BRANCH } from '../packages/session-sqlite/src/index.ts'; + +describe('SessionStore', () => { + const stores: SessionStore[] = []; + + function createStore() { + const store = new SessionStore({ dbPath: ':memory:' }); + stores.push(store); + return store; + } + + afterEach(() => { + for (const store of stores.splice(0)) { + store.close(); + } + }); + + it('创建会话并初始化基础数据', () => { + const store = createStore(); + const session = store.createSession({ + cwd: '/tmp/project', + id: 's1', + metadata: { source: 'test' }, + }); + + expect(session).toMatchObject({ + id: 's1', + cwd: '/tmp/project', + parentSessionId: null, + metadata: { source: 'test' }, + }); + expect(store.getSession('s1')?.createdAt).toBeTruthy(); + expect(store.listSessions()).toHaveLength(1); + expect(store.getStats('s1')).toMatchObject({ sessionId: 's1', messageCount: 0 }); + expect(store.getLane('s1', DEFAULT_LANE)).toMatchObject({ lane: DEFAULT_LANE, leafId: null }); + }); + + it('追加条目会维护命名空间、泳道和分支指针', () => { + const store = createStore(); + store.createSession({ cwd: '/tmp/project', id: 's2' }); + + const [first, second] = store.transaction(() => [ + store.appendEntry('s2', { + id: 'e1', + type: 'user', + payload: { text: 'hello' }, + }), + store.appendEntry('s2', { + id: 'e2', + parentId: 'e1', + type: 'assistant', + payload: { text: 'world' }, + branchId: 'feature', + }), + ]); + + expect(first.seq).toBe(1); + expect(second.seq).toBe(2); + expect(second.parentId).toBe('e1'); + expect(store.getEntries('s2')).toHaveLength(2); + expect(store.getLane('s2', DEFAULT_LANE)?.leafId).toBe('e2'); + expect(store.listBranchTips('s2').map((tip) => tip.branchId).sort()).toEqual([ + 'feature', + DEFAULT_BRANCH, + ]); + expect(store.getBranchEntries('s2', 'feature').map((item) => item.entryId)).toEqual(['e2']); + }); + + it('查询条目树并按类型过滤', () => { + const store = createStore(); + store.createSession({ cwd: '/tmp/project', id: 's3' }); + store.appendEntry('s3', { id: 'a', type: 'user', payload: 1 }); + store.appendEntry('s3', { id: 'b', parentId: 'a', type: 'tool', payload: 2 }); + store.appendEntry('s3', { id: 'c', parentId: 'b', type: 'assistant', payload: 3 }); + + const tree = store.getEntryTree('s3'); + expect(tree.leaves.map((leaf) => leaf.id)).toEqual(['c']); + expect(tree.byId.size).toBe(3); + + const tools = store.getEntries('s3', { type: 'tool' }); + expect(tools.map((entry) => entry.id)).toEqual(['b']); + }); + + it('追加运行记录、事实和统计', () => { + const store = createStore(); + store.createSession({ cwd: '/tmp/project', id: 's4' }); + + const record = store.appendRecord('s4', { + id: 'r1', + lane: 'run', + runId: 'run-1', + type: 'command', + opKind: 'exec', + payload: { command: 'pnpm test' }, + }); + expect(record).toMatchObject({ + id: 'r1', + lane: 'run', + runId: 'run-1', + type: 'command', + payload: { command: 'pnpm test' }, + }); + expect(store.getRecords('s4')).toHaveLength(1); + + const fact = store.addFact('s4', { kind: 'env', key: 'node', value: '22' }); + expect(fact).toMatchObject({ kind: 'env', key: 'node', value: '22' }); + expect(store.listFacts('s4')).toHaveLength(1); + + const stats = store.updateStats('s4', { + messageCount: 3, + cachedTokens: 10, + uncachedTokens: 20, + totalTokens: 30, + costTotal: 0.5, + }); + expect(stats).toMatchObject({ messageCount: 3, totalTokens: 30, costTotal: 0.5 }); + }); + + it('租约使用 fence 防止旧持有者继续写入', () => { + const store = createStore(); + store.createSession({ cwd: '/tmp/project', id: 's5' }); + + const first = store.acquireLease('s5', 'owner-a', 60_000); + expect(first.acquired).toBe(true); + expect(first.fence).toBe(1); + + const renewed = store.acquireLease('s5', 'owner-a', 60_000); + expect(renewed.acquired).toBe(true); + expect(renewed.fence).toBe(2); + expect(store.validateFence('s5', 'owner-a', first.fence!)).toBe(false); + expect(store.validateFence('s5', 'owner-a', renewed.fence!)).toBe(true); + + expect(store.releaseLease('s5', 'owner-a')).toBe(true); + expect(store.getLease('s5')).toBeNull(); + }); +}); From aa97836a1e184903e0de31af816c0def2a724a70 Mon Sep 17 00:00:00 2001 From: AlkaidSTART <2595006848@qq.com> Date: Wed, 5 Aug 2026 20:58:45 +0800 Subject: [PATCH 2/7] =?UTF-8?q?docs:=20=E8=A1=A5=E5=85=85=20agent=20?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=B8=8E=E4=BB=A3=E7=A0=81=E9=A3=8E=E6=A0=BC?= =?UTF-8?q?=E7=BA=A6=E6=9D=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..3013a1d --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,61 @@ +# Agent 开发与测试约束 + +本文件是 call-code 项目给 AI Agent 的协作约定。开始改动前先读一遍,并遵守下列规则。 + +## 项目概览 + +- 技术栈:TypeScript + React/Ink 终端 CLI,包管理器是 pnpm。 +- 入口:`source/app.tsx` 是 CLI 应用;核心逻辑在 `packages/agent-core`。 +- 会话历史存储:`packages/session-sqlite`,基于 Node 内置 `node:sqlite`。 +- 测试:统一放在根目录 `tests/`,使用 Vitest,命名 `*.spec.ts` 或 `*.test.ts`。 +- 环境变量:模板见 `.env.example`,本地配置放 `.env.local`,禁止提交密钥。 + +## 开发约束 + +1. 保持改动范围最小,只修改与需求直接相关的文件,不做顺手重构。 +2. 优先复用现有模块、函数、类型和模式,不重复造轮子。 +3. 不新增依赖,除非确实必要;能用 Node 内置能力解决的问题优先使用内置能力。 +4. 禁止把密钥、Token、数据库口令等敏感信息写入代码、测试或文档。 +5. 模型名、API 地址等可配置项必须通过环境变量读取,不要硬编码。 +6. 写 SQLite 相关代码时使用 `node:sqlite`,不使用额外的数据库依赖。 +7. 遵循现有命名风格,保持 TypeScript 严格模式可编译。 +8. 注释使用中文,注释要说明“为什么”而不是复述代码。 +9. 生成文件(如 `dist/`、数据库文件、临时文件)不应进入最终改动,除非项目已有提交先例。 +10. 不要回退或覆盖用户已有的未提交改动;与任务无关的文件保持不动。 +11. 禁止输出 `=======`、`----------` 等装饰性横线或符号,代码和文档都不要使用。 +12. 避免明显 AI 风格的写法:空泛套话、机械复述、模板化命名、无意义的装饰字符。 + +## 测试约束 + +1. 测试文件只放在根目录 `tests/` 下,不放进 `packages/`。 +2. 每个功能改动都应补充对应测试,覆盖正常路径和关键边界。 +3. 测试应快速、可重复、不依赖网络;需要数据库时使用 `:memory:` 或临时文件。 +4. 不得在测试中访问真实用户数据、真实 API 或外部服务。 +5. 修改会话存储相关代码时,至少覆盖会话创建、条目追加、泳道/分支、记录、统计和租约。 +6. 修改完成后必须运行完整测试: + ```bash + pnpm test + ``` +7. 提交前必须通过类型检查: + ```bash + pnpm typecheck + pnpm exec tsc -p packages/session-sqlite/tsconfig.json --noEmit + ``` +8. 如测试失败,先修复问题再继续,不允许跳过或注释测试。 + +## 提交流程 + +1. 每次完成一项任务后必须自行执行 `git commit`,无需等待用户要求;提交信息使用中文并采用 Conventional Commits 风格,例如: + - `feat: 增加 XX 功能` + - `fix: 修复 XX 问题` + - `refactor: 重构 XX 逻辑` +2. 只暂存与本次改动相关的文件,不把无关文件(如未跟踪的 `AGENTS.md`、个人配置)带进提交。 +3. 提交前检查 `git status` 和 `git diff`,确认没有遗漏或误改。 +4. 改动完成后如实汇报:改了哪些文件、测试结果、提交号。 + +## 通用工作流 + +- 遇到不确定的实现细节时,先阅读相关文件和已有测试,再决定方案。 +- 搜索代码优先使用 `rg`,避免大范围全文扫描。 +- 改动较大时先给出简短计划,再逐步实现并保持阶段性汇报。 +- 保持仓库干净:不留下调试日志、临时文件或无用注释。 From e44d9ed09a9959990c9d88ab64382a3d6c8590dd Mon Sep 17 00:00:00 2001 From: AlkaidSTART <2595006848@qq.com> Date: Wed, 5 Aug 2026 21:01:15 +0800 Subject: [PATCH 3/7] =?UTF-8?q?refactor:=20=E5=8E=BB=E6=8E=89=20schema.ts?= =?UTF-8?q?=20=E4=B8=AD=E7=9A=84=E8=A3=85=E9=A5=B0=E6=80=A7=E5=88=86?= =?UTF-8?q?=E9=9A=94=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/session-sqlite/src/schema.ts | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/packages/session-sqlite/src/schema.ts b/packages/session-sqlite/src/schema.ts index fc073a2..2895c60 100644 --- a/packages/session-sqlite/src/schema.ts +++ b/packages/session-sqlite/src/schema.ts @@ -1,9 +1,7 @@ // SQLite 会话历史存储的完整建表语句。 // 注释统一使用中文,方便后续维护。 export const SCHEMA_SQL = ` --- ============================================================ -- 会话主表:记录一次会话的基本信息和元数据 --- ============================================================ CREATE TABLE IF NOT EXISTS sessions ( id TEXT PRIMARY KEY, -- 会话唯一 ID created_at TEXT NOT NULL, -- 创建时间(ISO 8601 字符串) @@ -19,9 +17,7 @@ CREATE INDEX IF NOT EXISTS idx_sessions_cwd ON sessions(cwd); -- 按父会话查询子会话 CREATE INDEX IF NOT EXISTS idx_sessions_parent ON sessions(parent_session_id); --- ============================================================ -- 会话条目表:按顺序保存会话历史中的每条记录 --- ============================================================ CREATE TABLE IF NOT EXISTS entries ( session_id TEXT NOT NULL, -- 所属会话 ID seq INTEGER NOT NULL, -- 会话内递增序号 @@ -41,17 +37,13 @@ CREATE INDEX IF NOT EXISTS idx_entries_session_parent ON entries(session_id, par -- 按类型和序号查询条目 CREATE INDEX IF NOT EXISTS idx_entries_session_type_seq ON entries(session_id, type, seq); --- ============================================================ -- 会话序号表:为每个会话维护全局递增序号 --- ============================================================ CREATE TABLE IF NOT EXISTS session_sequences ( session_id TEXT PRIMARY KEY, next_seq INTEGER NOT NULL ) WITHOUT ROWID; --- ============================================================ -- 会话统计表:记录消息数、缓存 token、总 token 和成本 --- ============================================================ CREATE TABLE IF NOT EXISTS session_stats ( session_id TEXT PRIMARY KEY, message_count INTEGER NOT NULL, @@ -61,10 +53,8 @@ CREATE TABLE IF NOT EXISTS session_stats ( cost_total REAL NOT NULL ) WITHOUT ROWID; --- ============================================================ -- 分支条目缓存表:entries 中的 parent 链接是权威数据, -- 这张表只用于加速分支扫描。 --- ============================================================ CREATE TABLE IF NOT EXISTS branch_entries ( session_id TEXT NOT NULL, -- 所属会话 ID branch_id TEXT NOT NULL, -- 分支 ID @@ -84,9 +74,7 @@ CREATE INDEX IF NOT EXISTS idx_branch_entries_session_branch_type_seq ON branch_ -- 按自定义类型扫描分支 CREATE INDEX IF NOT EXISTS idx_branch_entries_session_branch_custom_seq ON branch_entries(session_id, branch_id, custom_type, entry_seq); --- ============================================================ -- 泳道表:每个会话的每个泳道指向当前叶子条目 --- ============================================================ CREATE TABLE IF NOT EXISTS lanes ( session_id TEXT NOT NULL, -- 所属会话 ID lane TEXT NOT NULL, -- 泳道名称 @@ -97,9 +85,7 @@ CREATE TABLE IF NOT EXISTS lanes ( -- 按叶子条目查询泳道 CREATE INDEX IF NOT EXISTS idx_lanes_session_leaf ON lanes(session_id, leaf_id); --- ============================================================ -- 记录表:保存运行记录、操作历史等结构化事件 --- ============================================================ CREATE TABLE IF NOT EXISTS records ( session_id TEXT NOT NULL, -- 所属会话 ID seq INTEGER NOT NULL, -- 会话内递增序号 @@ -123,9 +109,7 @@ CREATE INDEX IF NOT EXISTS idx_records_session_lane_type_op_kind_seq ON records( -- 按运行 ID 查询记录 CREATE INDEX IF NOT EXISTS idx_records_session_run_id_seq ON records(session_id, run_id, seq); --- ============================================================ -- 泳道移动表:记录泳道叶子位置的变化历史 --- ============================================================ CREATE TABLE IF NOT EXISTS lane_moves ( session_id TEXT NOT NULL, -- 所属会话 ID seq INTEGER NOT NULL, -- 会话内递增序号 @@ -137,9 +121,7 @@ CREATE TABLE IF NOT EXISTS lane_moves ( -- 按泳道和序号查询移动记录 CREATE INDEX IF NOT EXISTS idx_lane_moves_session_lane_seq ON lane_moves(session_id, lane, seq); --- ============================================================ -- 事实表:保存会话内沉淀的事实/键值信息 --- ============================================================ CREATE TABLE IF NOT EXISTS facts ( session_id TEXT NOT NULL, -- 所属会话 ID seq INTEGER NOT NULL, -- 会话内递增序号 @@ -152,9 +134,7 @@ CREATE TABLE IF NOT EXISTS facts ( -- 按类型和键查询事实 CREATE INDEX IF NOT EXISTS idx_facts_session_kind_key_seq ON facts(session_id, kind, key, seq); --- ============================================================ -- 分支指针表:记录每个分支当前的 tip 条目 --- ============================================================ CREATE TABLE IF NOT EXISTS branch_tips ( session_id TEXT NOT NULL, -- 所属会话 ID tip_id TEXT NOT NULL, -- 当前 tip 条目 ID @@ -163,9 +143,7 @@ CREATE TABLE IF NOT EXISTS branch_tips ( UNIQUE (session_id, branch_id) ) WITHOUT ROWID; --- ============================================================ -- 会话写租约表:用 fence 防止过期持有者在新持有者接管后继续写入 --- ============================================================ CREATE TABLE IF NOT EXISTS leases ( session_id TEXT PRIMARY KEY, owner_id TEXT NOT NULL, -- 租约持有者 ID From dc33ea1220574c06d1268074815f0b19581558f1 Mon Sep 17 00:00:00 2001 From: AlkaidSTART <2595006848@qq.com> Date: Wed, 5 Aug 2026 21:01:51 +0800 Subject: [PATCH 4/7] Implement feature X to enhance user experience and fix bug Y in module Z --- packages/session-sqlite/tsconfig.tsbuildinfo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/session-sqlite/tsconfig.tsbuildinfo b/packages/session-sqlite/tsconfig.tsbuildinfo index 2e251d1..2f3ddcb 100644 --- a/packages/session-sqlite/tsconfig.tsbuildinfo +++ b/packages/session-sqlite/tsconfig.tsbuildinfo @@ -1 +1 @@ -{"fileNames":["../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.scripthost.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2025.float16.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.full.d.ts","../../node_modules/.pnpm/@types+react@19.2.18/node_modules/@types/react/global.d.ts","../../node_modules/.pnpm/csstype@3.2.3/node_modules/csstype/index.d.ts","../../node_modules/.pnpm/@types+react@19.2.18/node_modules/@types/react/index.d.ts","../../node_modules/.pnpm/@types+react@19.2.18/node_modules/@types/react/jsx-runtime.d.ts","./src/schema.ts","./src/types.ts","./src/store.ts","./src/index.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/globals.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/blob.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/console.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/crypto.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/domexception.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/encoding.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/events.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/utility.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/header.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/readable.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/fetch.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/formdata.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/connector.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/client-stats.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/client.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/errors.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/dispatcher.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/global-origin.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/pool-stats.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/pool.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/handlers.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/balanced-pool.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/round-robin-pool.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/h2c-client.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-call-history.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-client.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-pool.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/snapshot-agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-errors.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/socks5-proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/retry-handler.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/retry-agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/api.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/cache-interceptor.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/interceptors.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/util.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/cookies.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/patch.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/websocket.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/eventsource.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/content-type.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/cache.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/index.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/fetch.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/importmeta.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/messaging.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/navigator.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/performance.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/storage.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/streams.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/timers.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/url.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/assert.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/assert/strict.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/async_hooks.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/buffer.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/child_process.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/cluster.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/console.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/constants.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/crypto.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/dgram.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/dns.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/dns/promises.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/domain.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/events.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/fs.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/fs/promises.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/http.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/http2.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/https.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/inspector.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/inspector.generated.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/inspector/promises.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/module.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/net.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/os.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/path.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/path/posix.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/path/win32.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/perf_hooks.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/process.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/punycode.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/querystring.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/quic.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/readline.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/readline/promises.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/repl.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/sea.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/sqlite.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/stream.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/stream/consumers.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/stream/iter.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/stream/promises.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/stream/web.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/string_decoder.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/test.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/test/reporters.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/timers.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/timers/promises.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/tls.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/trace_events.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/tty.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/url.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/util.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/util/types.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/v8.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/vm.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/wasi.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/worker_threads.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/zlib.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/zlib/iter.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/index.d.ts"],"fileIdsList":[[64,125,126,128,136,140,143,145,146,147,159],[64,127,128,136,140,143,145,146,147,159],[128,136,140,143,145,146,147,159],[64,128,136,140,143,145,146,147,159,168],[64,128,129,134,136,139,140,143,145,146,147,149,159,164,177],[64,128,129,130,136,139,140,143,145,146,147,159],[64,128,136,140,143,145,146,147,159],[64,128,131,136,140,143,145,146,147,159,178],[64,128,132,133,136,140,143,145,146,147,150,159],[64,128,133,136,140,143,145,146,147,159,164,174],[64,128,134,136,139,140,143,145,146,147,149,159],[64,127,128,135,136,140,143,145,146,147,159],[64,128,136,137,140,143,145,146,147,159],[64,128,136,138,139,140,143,145,146,147,159],[64,127,128,136,139,140,143,145,146,147,159],[64,128,136,139,140,141,143,145,146,147,159,164,177],[64,128,136,139,140,141,143,145,146,147,159,164,166,168],[64,115,128,136,139,140,142,143,145,146,147,149,159,164,177],[64,128,136,139,140,142,143,145,146,147,149,159,164,174,177],[64,128,136,140,142,143,144,145,146,147,159,164,174,177],[62,63,64,65,66,67,68,69,70,71,72,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185],[64,128,136,139,140,143,145,146,147,159],[64,128,136,140,143,145,147,159],[64,128,136,140,143,145,146,147,148,159,177],[64,128,136,139,140,143,145,146,147,149,159,164],[64,128,136,140,143,145,146,147,150,159],[64,128,136,140,143,145,146,147,151,159],[64,128,136,139,140,143,145,146,147,154,159],[64,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184],[64,128,136,140,143,145,146,147,156,159],[64,128,136,140,143,145,146,147,157,159],[64,128,133,136,140,143,145,146,147,149,159,168],[64,128,136,139,140,143,145,146,147,159,160],[64,128,136,140,143,145,146,147,159,161,178,181],[64,128,136,139,140,143,145,146,147,159,164,167,168],[64,128,136,140,143,145,146,147,159,165,168],[64,128,136,140,143,145,146,147,159,166],[64,128,136,140,143,145,146,147,159,168,178],[64,128,136,140,143,145,146,147,159,169],[64,125,128,136,140,143,145,146,147,159,164,171,177],[64,128,136,140,143,145,146,147,159,164,170],[64,128,136,139,140,143,145,146,147,159,172,173],[64,128,136,140,143,145,146,147,159,172,173],[64,128,133,136,140,143,145,146,147,149,159,164,174],[64,128,136,140,143,145,146,147,159,175],[64,128,136,140,143,145,146,147,149,159,176],[64,128,136,140,142,143,145,146,147,157,159,177],[64,128,136,140,143,145,146,147,159,178,179],[64,128,133,136,140,143,145,146,147,159,179],[64,128,136,140,143,145,146,147,159,164,180],[64,128,136,140,143,145,146,147,148,159,181],[64,128,136,140,143,145,146,147,159,182],[64,128,131,136,140,143,145,146,147,159],[64,128,133,136,140,143,145,146,147,159],[64,128,136,140,143,145,146,147,159,178],[64,115,128,136,140,143,145,146,147,159],[64,128,136,140,143,145,146,147,159,177],[64,128,136,140,143,145,146,147,159,183],[64,128,136,140,143,145,146,147,154,159],[64,128,136,140,143,145,146,147,159,173],[64,115,128,136,139,140,141,143,145,146,147,154,159,164,168,177,180,181,183],[64,128,136,140,143,145,146,147,159,164,184],[64,128,136,140,143,145,146,147,159,166,185],[54,55,64,128,136,140,143,145,146,147,159],[56,64,128,136,140,143,145,146,147,159],[64,79,82,85,86,128,136,140,143,145,146,147,159,177],[64,82,128,136,140,143,145,146,147,159,164,177],[64,82,86,128,136,140,143,145,146,147,159,177],[64,128,136,140,143,145,146,147,159,164],[64,76,128,136,140,143,145,146,147,159],[64,80,128,136,140,143,145,146,147,159],[64,78,79,82,128,136,140,143,145,146,147,159,177],[64,128,136,140,143,145,146,147,149,159,174],[64,128,136,140,143,145,146,147,159,186],[64,76,128,136,140,143,145,146,147,159,186],[64,78,82,128,136,140,143,145,146,147,149,159,177],[64,73,74,75,77,81,128,136,139,140,143,145,146,147,159,164,177],[64,82,91,99,128,136,140,143,145,146,147,159],[64,74,80,128,136,140,143,145,146,147,159],[64,82,109,110,128,136,140,143,145,146,147,159],[64,74,77,82,128,136,140,143,145,146,147,159,168,177,186],[64,82,128,136,140,143,145,146,147,159],[64,78,82,128,136,140,143,145,146,147,159,177],[64,73,128,136,140,143,145,146,147,159],[64,76,77,78,80,81,82,83,84,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,110,111,112,113,114,128,136,140,143,145,146,147,159],[64,82,102,105,128,136,140,143,145,146,147,159],[64,82,91,92,93,128,136,140,143,145,146,147,159],[64,80,82,92,94,128,136,140,143,145,146,147,159],[64,81,128,136,140,143,145,146,147,159],[64,74,76,82,128,136,140,143,145,146,147,159],[64,82,86,92,94,128,136,140,143,145,146,147,159],[64,86,128,136,140,143,145,146,147,159],[64,80,82,85,128,136,140,143,145,146,147,159,177],[64,74,78,82,91,128,136,140,143,145,146,147,159],[64,82,102,128,136,140,143,145,146,147,159],[64,94,128,136,140,143,145,146,147,159],[64,74,78,82,86,128,136,140,143,145,146,147,159],[64,76,82,109,128,136,140,143,145,146,147,159,168,183,186],[57,58,59,60,64,128,136,140,143,145,146,147,159],[57,64,128,136,140,143,145,146,147,159],[57,58,59,64,128,133,136,140,143,145,146,147,151,159,163]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"2a2de5b9459b3fc44decd9ce6100b72f1b002ef523126c1d3d8b2a4a63d74d78","affectsGlobalScope":true,"impliedFormat":1},{"version":"f13f4b465c99041e912db5c44129a94588e1aafee35a50eab51044833f50b4ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"577cc49be1979782a5a695b46049566d123e2a75382f10bb82f2e5c87e29059a","impliedFormat":1},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"814d5c7384f3ca276e9dc4bcfde5545801a3ea0bfae09916b3336774e662fd1b","impliedFormat":1},{"version":"b838d4c72740eb0afd284bf7575b74c624b105eff2e8c7b4aeead57e7ac320ff","impliedFormat":1},"4d61a6340cbd5d4f4a4ec2fc454d0b266eb1fb8b655537deb6121a6f7232c8a3",{"version":"5ed797667a4ab2c2027605ad16143d9fcc8d1b29e6e0223f12f6d78a579f5ce2","signature":"90ebdc9153affe8d4c58514dec647eea5decb589fcf2aaad6e1386d47722e5ae"},{"version":"56650ba1a26027a8fe602d150581eb6def6aedebafa29826c57380e8055702fb","signature":"f040b2477c105e514aa476576691e8f0365691068e71e33bede4aa4c610ef9c7"},{"version":"e47e63ee8d77c3b982c7e09219e8748e2ebe7b3a5545cc7fad32cb20d00c9123","signature":"8311357bbe8c9217b356e91b45c294e2b2b5b0254ac193a18dce06399b821c2b"},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc2110f7decca6bfb9392e30421cfa1436479e4a6756e8fec6cbc22625d4f881","affectsGlobalScope":true,"impliedFormat":1},{"version":"096116f8fedc1765d5bd6ef360c257b4a9048e5415054b3bf3c41b07f8951b0b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"10ec5e82144dfac6f04fa5d1d6c11763b3e4dbbac6d99101427219ab3e2ae887","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"14e9acf826baba0ef4b5665704084896e7bcc06f65a9ab13af7e93d27d6b7069","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"21adf13435b9b748529c8cedf80f884e5130b9684188120a686cd2b26a2059c7","impliedFormat":1},{"version":"eec76bf6b9346f3f95fa402621b889489e96930e72295b0369022f332e9b4a6a","impliedFormat":1},{"version":"0ecd58f413f9bc3b7d4383eae31b0c8fc576985cd7404d6f99f8c643543ade74","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"9c32412007b5662fd34a8eb04292fb5314ec370d7016d1c2fb8aa193c807fe22","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"6ebe8ebb8659aaa9d1acbf3710d7dae3e923e97610238b9511c25dc39023a166","impliedFormat":1},{"version":"e85d7f8068f6a26710bff0cc8c0fc5e47f71089c3780fbede05857331d2ddec9","impliedFormat":1},{"version":"7befaf0e76b5671be1d47b77fcc65f2b0aad91cc26529df1904f4a7c46d216e9","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":"d33ce35e3f9cfcc1d94eca415bdd3bde94d5b153ffdd33e6c4455c029986c630","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"4dc59f6e1dbf3d5f66660fceabe6c174d3261b37b696ae1854f0dbaf255fc753","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"436d7b4543b340b0f3eef4310d524242e41369b9652aa9c70428767c4dcac455","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"114f493b30f364255290472111b5a4791d5902c308645670cd0401429cbc6930","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a93de4ff8a63bafe62ba86b89af1df0ccb5e40bb85b0c67d6bbcfdcf96bf3d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"d2ae155afe8a01cc0ae612d99117cf8ef16692ba7c4366590156fdec1bcf2d8c","impliedFormat":1},{"version":"3f5e5d9be35913db9fea42a63f3df0b7e3c8703b97670a2125587b4dbbd56d7c","impliedFormat":1},{"version":"c8b8968311ec4e5e97b7b5fb8a65efaba455db9bdcfd7fff7fb15f6e317bfba0","impliedFormat":1},{"version":"57c23df0b5f7a8e26363a3849b0bc7763f6b241207157c8e40089d1df4116f35","affectsGlobalScope":true,"impliedFormat":1},{"version":"3b8bc0c17b54081b0878673989216229e575d67a10874e84566a21025a2461ee","impliedFormat":1},{"version":"5b0db5a58b73498792a29bfebc333438e61906fef75da898b410e24e52229e6f","impliedFormat":1},{"version":"dbe055b2b29a7bab2c1ca8f259436306adb43f469dca7e639a02cd3695d3f621","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"aecbf1d9e6a18dab7d92ef8a89a1444b47e1eb6134cb2bb776a26d55ff58c29a","impliedFormat":1},{"version":"2ea729503db9793f2691162fec3dd1118cab62e96d025f8eeb376d43ec293395","impliedFormat":1},{"version":"9ec87fea42b92894b0f209931a880789d43c3397d09dd99c631ae40a2f7071d1","impliedFormat":1},{"version":"c68e88cdfadfb6c8ba5fc38e58a3a166b0beae77b1f05b7d921150a32a5ffb8d","impliedFormat":1},{"version":"2bc7aa4fba46df0bd495425a7c8201437a7d465f83854fac859df2d67f664df3","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"1fede9296beac11ce8e6b425396a1791f64341f2be85deebb6286faf6e16306e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce697b6a251d9cad53998c7fd3098072df883b525ec45d83530e434dc6d80dc6","impliedFormat":1},{"version":"53ff1acab080a8318445df2c7da35ec47489dc83be40569e39c7c750046e217f","impliedFormat":1},{"version":"0eb5d0cbf09de5d34542b977fd6a933bb2e0817bffe8e1a541b2f1ad1b9af1ff","impliedFormat":1},{"version":"3db996ecdee7aabecc5385976cc07eb66216034a273c07b17d1a85292e9bab0c","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"c32c840c62d8bd7aeb3147aa6754cd2d922b990a6b6634530cb2ebdce5adc8e9","impliedFormat":1},{"version":"5ff4433a2deae4f85ab1377e90a7554ce6b47ae51c69a84ca30a6e22fae85834","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"c1fa52b3d014001e8662fa2669d90ea15373958a288e3b83a3b621733d25292a","affectsGlobalScope":true,"impliedFormat":1},{"version":"cbed824fec91efefc7bbdcb8b43d1a531fdbebd0e2ef19481501ff365a93cb70","impliedFormat":1},{"version":"d0716593b3f2b0451bcf0c24cfa86dec2235c325c89f201934248b7c742715fc","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"2991bca2cc0f0628a278df2a2ccdb8d6cbcb700f3761abbed62bba137d5b1790","impliedFormat":1},{"version":"47d480d0c84b0f6215f1f817e0939b247ebf5217b6784846b96fa6ab710ce99d","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"8413d0641f293aed551c7464615b770d34a02dedede889b9591172287d68e773","impliedFormat":1},{"version":"0ea59f7d3e51440baa64f429253759b106cfcbaf51e474cae606e02265b37cf8","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"1b241e24f3227d078c06aeda6e050187ad59a4e591f4467abed44d92b084e08d","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"7fde0e1be5c8be204ffbf428abfcf01da2eb0f130e1bc3f539eb7275f4fd1f58","impliedFormat":1},{"version":"e284328553df5f425a5d33d36a0c3fa66b46af9d097cad6f4d2e8696dfdeb0f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"f36b3fbe2be150a9ca140da48593f21e6a8172004f92ddc549b43efec39f3e54","impliedFormat":1},{"version":"f1c93e046fb3d9b7f8249629f4b63dc068dd839b824dd0aa39a5e68476dc9420","impliedFormat":1},{"version":"016b29bf4926b80255a108c53a1451717350059da04fcae64d1075f5e93bbb39","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"1c4f139ade4f6ebf45463505f8155173e5d7a5305e50e0aae0a5e712d6ff3b48","impliedFormat":1},{"version":"e16b319e5aca1031168de823c4946ff8e29629c4c8cc0ec0fcfe2a8ab2155043","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"9d3821bc75c59577e52643324cec92fc2145642e8d17cf7ee07a3181f21d985d","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"201db9cf1687fab1adf5282fcba861f382b32303dc4f67c89d59655e78a25461","impliedFormat":1},{"version":"2c3c5c0f54055e87640f5d233716fd889f3034fc7911d603b642369b0dbeb2a7","impliedFormat":1},{"version":"0a20eaf2e4b1e3c1e1f87f7bccb0c936375b23b022baeea750519b7c9bc6ce83","impliedFormat":1},{"version":"b484ec11ba00e3a2235562a41898d55372ccabe607986c6fa4f4aba72093749f","impliedFormat":1},{"version":"a16b91b27bd6b706c687c88cbc8a7d4ee98e5ed6043026d6b84bda923c0aed67","impliedFormat":1},{"version":"1c9e5b1a17b1fc9b3711fb36e0690421261ab2880f15b145155b5b2ba2ab6c2d","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"6eeded8c7e352be6e0efb83f4935ec752513c4d22043b52522b90849a49a3a11","impliedFormat":1},{"version":"6c1ad90050ffbb151cacc68e2d06ea1a26a945659391e32651f5d42b86fd7f2c","impliedFormat":1},{"version":"afa1c49f8e559e413d57343339db857d2a8159435cf9cf7d4deb41718fff1b88","impliedFormat":1},{"version":"6953d7597831d0860c7034cf4f0419687d263b6b98a4b32e37ce6d49615c36e2","impliedFormat":1}],"root":[[58,61]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"jsx":4,"module":99,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"strict":true,"target":7},"referencedMap":[[125,1],[126,1],[127,2],[64,3],[128,4],[129,5],[130,6],[62,7],[131,8],[132,9],[133,10],[134,11],[135,12],[136,13],[137,13],[138,14],[139,15],[140,16],[141,17],[65,7],[63,7],[142,18],[143,19],[144,20],[186,21],[145,22],[146,23],[147,22],[148,24],[149,25],[150,26],[151,27],[152,27],[153,27],[154,28],[155,29],[156,30],[157,31],[158,32],[159,33],[160,33],[161,34],[162,7],[163,7],[164,35],[165,36],[166,37],[167,35],[168,38],[169,39],[170,40],[171,41],[172,42],[173,43],[174,44],[175,45],[176,46],[177,47],[178,48],[179,49],[180,50],[181,51],[182,52],[66,22],[67,7],[68,53],[69,54],[70,7],[71,55],[72,7],[116,56],[117,57],[118,58],[119,58],[120,59],[121,7],[122,4],[123,60],[124,57],[183,61],[184,62],[185,63],[54,7],[56,64],[57,65],[55,7],[51,7],[52,7],[10,7],[8,7],[9,7],[14,7],[13,7],[2,7],[15,7],[16,7],[17,7],[18,7],[19,7],[20,7],[21,7],[22,7],[3,7],[23,7],[24,7],[4,7],[25,7],[29,7],[26,7],[27,7],[28,7],[30,7],[31,7],[32,7],[5,7],[33,7],[34,7],[35,7],[36,7],[6,7],[40,7],[37,7],[38,7],[39,7],[41,7],[7,7],[42,7],[53,7],[47,7],[48,7],[43,7],[44,7],[45,7],[46,7],[49,7],[1,7],[50,7],[12,7],[11,7],[91,66],[104,67],[88,68],[105,69],[114,70],[79,71],[80,72],[78,73],[113,74],[108,75],[112,76],[82,77],[101,78],[81,79],[111,80],[76,81],[77,75],[83,82],[84,7],[90,83],[87,82],[74,84],[115,85],[106,86],[94,87],[93,82],[95,88],[98,89],[92,90],[96,91],[109,74],[85,92],[86,93],[99,94],[75,69],[103,95],[102,82],[89,93],[97,96],[100,97],[107,7],[73,7],[110,98],[61,99],[58,100],[60,101],[59,100]],"affectedFilesPendingEmit":[[61,17],[58,17],[60,17],[59,17]],"emitSignatures":[58,59,60,61],"version":"6.0.3"} \ No newline at end of file +{"fileNames":["../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.scripthost.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2025.float16.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.full.d.ts","../../node_modules/.pnpm/@types+react@19.2.18/node_modules/@types/react/global.d.ts","../../node_modules/.pnpm/csstype@3.2.3/node_modules/csstype/index.d.ts","../../node_modules/.pnpm/@types+react@19.2.18/node_modules/@types/react/index.d.ts","../../node_modules/.pnpm/@types+react@19.2.18/node_modules/@types/react/jsx-runtime.d.ts","./src/schema.ts","./src/types.ts","./src/store.ts","./src/index.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/globals.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/blob.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/console.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/crypto.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/domexception.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/encoding.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/events.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/utility.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/header.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/readable.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/fetch.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/formdata.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/connector.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/client-stats.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/client.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/errors.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/dispatcher.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/global-origin.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/pool-stats.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/pool.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/handlers.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/balanced-pool.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/round-robin-pool.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/h2c-client.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-call-history.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-client.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-pool.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/snapshot-agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-errors.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/socks5-proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/retry-handler.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/retry-agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/api.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/cache-interceptor.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/interceptors.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/util.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/cookies.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/patch.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/websocket.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/eventsource.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/content-type.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/cache.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/index.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/fetch.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/importmeta.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/messaging.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/navigator.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/performance.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/storage.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/streams.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/timers.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/url.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/assert.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/assert/strict.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/async_hooks.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/buffer.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/child_process.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/cluster.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/console.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/constants.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/crypto.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/dgram.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/dns.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/dns/promises.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/domain.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/events.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/fs.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/fs/promises.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/http.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/http2.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/https.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/inspector.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/inspector.generated.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/inspector/promises.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/module.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/net.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/os.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/path.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/path/posix.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/path/win32.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/perf_hooks.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/process.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/punycode.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/querystring.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/quic.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/readline.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/readline/promises.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/repl.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/sea.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/sqlite.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/stream.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/stream/consumers.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/stream/iter.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/stream/promises.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/stream/web.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/string_decoder.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/test.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/test/reporters.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/timers.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/timers/promises.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/tls.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/trace_events.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/tty.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/url.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/util.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/util/types.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/v8.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/vm.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/wasi.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/worker_threads.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/zlib.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/zlib/iter.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/index.d.ts"],"fileIdsList":[[64,125,126,128,136,140,143,145,146,147,159],[64,127,128,136,140,143,145,146,147,159],[128,136,140,143,145,146,147,159],[64,128,136,140,143,145,146,147,159,168],[64,128,129,134,136,139,140,143,145,146,147,149,159,164,177],[64,128,129,130,136,139,140,143,145,146,147,159],[64,128,136,140,143,145,146,147,159],[64,128,131,136,140,143,145,146,147,159,178],[64,128,132,133,136,140,143,145,146,147,150,159],[64,128,133,136,140,143,145,146,147,159,164,174],[64,128,134,136,139,140,143,145,146,147,149,159],[64,127,128,135,136,140,143,145,146,147,159],[64,128,136,137,140,143,145,146,147,159],[64,128,136,138,139,140,143,145,146,147,159],[64,127,128,136,139,140,143,145,146,147,159],[64,128,136,139,140,141,143,145,146,147,159,164,177],[64,128,136,139,140,141,143,145,146,147,159,164,166,168],[64,115,128,136,139,140,142,143,145,146,147,149,159,164,177],[64,128,136,139,140,142,143,145,146,147,149,159,164,174,177],[64,128,136,140,142,143,144,145,146,147,159,164,174,177],[62,63,64,65,66,67,68,69,70,71,72,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185],[64,128,136,139,140,143,145,146,147,159],[64,128,136,140,143,145,147,159],[64,128,136,140,143,145,146,147,148,159,177],[64,128,136,139,140,143,145,146,147,149,159,164],[64,128,136,140,143,145,146,147,150,159],[64,128,136,140,143,145,146,147,151,159],[64,128,136,139,140,143,145,146,147,154,159],[64,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184],[64,128,136,140,143,145,146,147,156,159],[64,128,136,140,143,145,146,147,157,159],[64,128,133,136,140,143,145,146,147,149,159,168],[64,128,136,139,140,143,145,146,147,159,160],[64,128,136,140,143,145,146,147,159,161,178,181],[64,128,136,139,140,143,145,146,147,159,164,167,168],[64,128,136,140,143,145,146,147,159,165,168],[64,128,136,140,143,145,146,147,159,166],[64,128,136,140,143,145,146,147,159,168,178],[64,128,136,140,143,145,146,147,159,169],[64,125,128,136,140,143,145,146,147,159,164,171,177],[64,128,136,140,143,145,146,147,159,164,170],[64,128,136,139,140,143,145,146,147,159,172,173],[64,128,136,140,143,145,146,147,159,172,173],[64,128,133,136,140,143,145,146,147,149,159,164,174],[64,128,136,140,143,145,146,147,159,175],[64,128,136,140,143,145,146,147,149,159,176],[64,128,136,140,142,143,145,146,147,157,159,177],[64,128,136,140,143,145,146,147,159,178,179],[64,128,133,136,140,143,145,146,147,159,179],[64,128,136,140,143,145,146,147,159,164,180],[64,128,136,140,143,145,146,147,148,159,181],[64,128,136,140,143,145,146,147,159,182],[64,128,131,136,140,143,145,146,147,159],[64,128,133,136,140,143,145,146,147,159],[64,128,136,140,143,145,146,147,159,178],[64,115,128,136,140,143,145,146,147,159],[64,128,136,140,143,145,146,147,159,177],[64,128,136,140,143,145,146,147,159,183],[64,128,136,140,143,145,146,147,154,159],[64,128,136,140,143,145,146,147,159,173],[64,115,128,136,139,140,141,143,145,146,147,154,159,164,168,177,180,181,183],[64,128,136,140,143,145,146,147,159,164,184],[64,128,136,140,143,145,146,147,159,166,185],[54,55,64,128,136,140,143,145,146,147,159],[56,64,128,136,140,143,145,146,147,159],[64,79,82,85,86,128,136,140,143,145,146,147,159,177],[64,82,128,136,140,143,145,146,147,159,164,177],[64,82,86,128,136,140,143,145,146,147,159,177],[64,128,136,140,143,145,146,147,159,164],[64,76,128,136,140,143,145,146,147,159],[64,80,128,136,140,143,145,146,147,159],[64,78,79,82,128,136,140,143,145,146,147,159,177],[64,128,136,140,143,145,146,147,149,159,174],[64,128,136,140,143,145,146,147,159,186],[64,76,128,136,140,143,145,146,147,159,186],[64,78,82,128,136,140,143,145,146,147,149,159,177],[64,73,74,75,77,81,128,136,139,140,143,145,146,147,159,164,177],[64,82,91,99,128,136,140,143,145,146,147,159],[64,74,80,128,136,140,143,145,146,147,159],[64,82,109,110,128,136,140,143,145,146,147,159],[64,74,77,82,128,136,140,143,145,146,147,159,168,177,186],[64,82,128,136,140,143,145,146,147,159],[64,78,82,128,136,140,143,145,146,147,159,177],[64,73,128,136,140,143,145,146,147,159],[64,76,77,78,80,81,82,83,84,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,110,111,112,113,114,128,136,140,143,145,146,147,159],[64,82,102,105,128,136,140,143,145,146,147,159],[64,82,91,92,93,128,136,140,143,145,146,147,159],[64,80,82,92,94,128,136,140,143,145,146,147,159],[64,81,128,136,140,143,145,146,147,159],[64,74,76,82,128,136,140,143,145,146,147,159],[64,82,86,92,94,128,136,140,143,145,146,147,159],[64,86,128,136,140,143,145,146,147,159],[64,80,82,85,128,136,140,143,145,146,147,159,177],[64,74,78,82,91,128,136,140,143,145,146,147,159],[64,82,102,128,136,140,143,145,146,147,159],[64,94,128,136,140,143,145,146,147,159],[64,74,78,82,86,128,136,140,143,145,146,147,159],[64,76,82,109,128,136,140,143,145,146,147,159,168,183,186],[57,58,59,60,64,128,136,140,143,145,146,147,159],[57,64,128,136,140,143,145,146,147,159],[57,58,59,64,128,133,136,140,143,145,146,147,151,159,163]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"2a2de5b9459b3fc44decd9ce6100b72f1b002ef523126c1d3d8b2a4a63d74d78","affectsGlobalScope":true,"impliedFormat":1},{"version":"f13f4b465c99041e912db5c44129a94588e1aafee35a50eab51044833f50b4ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"577cc49be1979782a5a695b46049566d123e2a75382f10bb82f2e5c87e29059a","impliedFormat":1},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"814d5c7384f3ca276e9dc4bcfde5545801a3ea0bfae09916b3336774e662fd1b","impliedFormat":1},{"version":"b838d4c72740eb0afd284bf7575b74c624b105eff2e8c7b4aeead57e7ac320ff","impliedFormat":1},{"version":"1c5c349ae92340d44c5f272046c2d5e53e1d0ee3d599887ed28b42a94ace9cb7","signature":"f5a08b5b8678a0529459f6e78285f41c3bb52b1a0736d998a6cb36c5a29dc899"},{"version":"5ed797667a4ab2c2027605ad16143d9fcc8d1b29e6e0223f12f6d78a579f5ce2","signature":"90ebdc9153affe8d4c58514dec647eea5decb589fcf2aaad6e1386d47722e5ae"},{"version":"56650ba1a26027a8fe602d150581eb6def6aedebafa29826c57380e8055702fb","signature":"f040b2477c105e514aa476576691e8f0365691068e71e33bede4aa4c610ef9c7"},{"version":"e47e63ee8d77c3b982c7e09219e8748e2ebe7b3a5545cc7fad32cb20d00c9123","signature":"8311357bbe8c9217b356e91b45c294e2b2b5b0254ac193a18dce06399b821c2b"},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc2110f7decca6bfb9392e30421cfa1436479e4a6756e8fec6cbc22625d4f881","affectsGlobalScope":true,"impliedFormat":1},{"version":"096116f8fedc1765d5bd6ef360c257b4a9048e5415054b3bf3c41b07f8951b0b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"10ec5e82144dfac6f04fa5d1d6c11763b3e4dbbac6d99101427219ab3e2ae887","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"14e9acf826baba0ef4b5665704084896e7bcc06f65a9ab13af7e93d27d6b7069","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"21adf13435b9b748529c8cedf80f884e5130b9684188120a686cd2b26a2059c7","impliedFormat":1},{"version":"eec76bf6b9346f3f95fa402621b889489e96930e72295b0369022f332e9b4a6a","impliedFormat":1},{"version":"0ecd58f413f9bc3b7d4383eae31b0c8fc576985cd7404d6f99f8c643543ade74","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"9c32412007b5662fd34a8eb04292fb5314ec370d7016d1c2fb8aa193c807fe22","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"6ebe8ebb8659aaa9d1acbf3710d7dae3e923e97610238b9511c25dc39023a166","impliedFormat":1},{"version":"e85d7f8068f6a26710bff0cc8c0fc5e47f71089c3780fbede05857331d2ddec9","impliedFormat":1},{"version":"7befaf0e76b5671be1d47b77fcc65f2b0aad91cc26529df1904f4a7c46d216e9","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":"d33ce35e3f9cfcc1d94eca415bdd3bde94d5b153ffdd33e6c4455c029986c630","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"4dc59f6e1dbf3d5f66660fceabe6c174d3261b37b696ae1854f0dbaf255fc753","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"436d7b4543b340b0f3eef4310d524242e41369b9652aa9c70428767c4dcac455","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"114f493b30f364255290472111b5a4791d5902c308645670cd0401429cbc6930","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a93de4ff8a63bafe62ba86b89af1df0ccb5e40bb85b0c67d6bbcfdcf96bf3d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"d2ae155afe8a01cc0ae612d99117cf8ef16692ba7c4366590156fdec1bcf2d8c","impliedFormat":1},{"version":"3f5e5d9be35913db9fea42a63f3df0b7e3c8703b97670a2125587b4dbbd56d7c","impliedFormat":1},{"version":"c8b8968311ec4e5e97b7b5fb8a65efaba455db9bdcfd7fff7fb15f6e317bfba0","impliedFormat":1},{"version":"57c23df0b5f7a8e26363a3849b0bc7763f6b241207157c8e40089d1df4116f35","affectsGlobalScope":true,"impliedFormat":1},{"version":"3b8bc0c17b54081b0878673989216229e575d67a10874e84566a21025a2461ee","impliedFormat":1},{"version":"5b0db5a58b73498792a29bfebc333438e61906fef75da898b410e24e52229e6f","impliedFormat":1},{"version":"dbe055b2b29a7bab2c1ca8f259436306adb43f469dca7e639a02cd3695d3f621","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"aecbf1d9e6a18dab7d92ef8a89a1444b47e1eb6134cb2bb776a26d55ff58c29a","impliedFormat":1},{"version":"2ea729503db9793f2691162fec3dd1118cab62e96d025f8eeb376d43ec293395","impliedFormat":1},{"version":"9ec87fea42b92894b0f209931a880789d43c3397d09dd99c631ae40a2f7071d1","impliedFormat":1},{"version":"c68e88cdfadfb6c8ba5fc38e58a3a166b0beae77b1f05b7d921150a32a5ffb8d","impliedFormat":1},{"version":"2bc7aa4fba46df0bd495425a7c8201437a7d465f83854fac859df2d67f664df3","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"1fede9296beac11ce8e6b425396a1791f64341f2be85deebb6286faf6e16306e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce697b6a251d9cad53998c7fd3098072df883b525ec45d83530e434dc6d80dc6","impliedFormat":1},{"version":"53ff1acab080a8318445df2c7da35ec47489dc83be40569e39c7c750046e217f","impliedFormat":1},{"version":"0eb5d0cbf09de5d34542b977fd6a933bb2e0817bffe8e1a541b2f1ad1b9af1ff","impliedFormat":1},{"version":"3db996ecdee7aabecc5385976cc07eb66216034a273c07b17d1a85292e9bab0c","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"c32c840c62d8bd7aeb3147aa6754cd2d922b990a6b6634530cb2ebdce5adc8e9","impliedFormat":1},{"version":"5ff4433a2deae4f85ab1377e90a7554ce6b47ae51c69a84ca30a6e22fae85834","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"c1fa52b3d014001e8662fa2669d90ea15373958a288e3b83a3b621733d25292a","affectsGlobalScope":true,"impliedFormat":1},{"version":"cbed824fec91efefc7bbdcb8b43d1a531fdbebd0e2ef19481501ff365a93cb70","impliedFormat":1},{"version":"d0716593b3f2b0451bcf0c24cfa86dec2235c325c89f201934248b7c742715fc","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"2991bca2cc0f0628a278df2a2ccdb8d6cbcb700f3761abbed62bba137d5b1790","impliedFormat":1},{"version":"47d480d0c84b0f6215f1f817e0939b247ebf5217b6784846b96fa6ab710ce99d","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"8413d0641f293aed551c7464615b770d34a02dedede889b9591172287d68e773","impliedFormat":1},{"version":"0ea59f7d3e51440baa64f429253759b106cfcbaf51e474cae606e02265b37cf8","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"1b241e24f3227d078c06aeda6e050187ad59a4e591f4467abed44d92b084e08d","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"7fde0e1be5c8be204ffbf428abfcf01da2eb0f130e1bc3f539eb7275f4fd1f58","impliedFormat":1},{"version":"e284328553df5f425a5d33d36a0c3fa66b46af9d097cad6f4d2e8696dfdeb0f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"f36b3fbe2be150a9ca140da48593f21e6a8172004f92ddc549b43efec39f3e54","impliedFormat":1},{"version":"f1c93e046fb3d9b7f8249629f4b63dc068dd839b824dd0aa39a5e68476dc9420","impliedFormat":1},{"version":"016b29bf4926b80255a108c53a1451717350059da04fcae64d1075f5e93bbb39","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"1c4f139ade4f6ebf45463505f8155173e5d7a5305e50e0aae0a5e712d6ff3b48","impliedFormat":1},{"version":"e16b319e5aca1031168de823c4946ff8e29629c4c8cc0ec0fcfe2a8ab2155043","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"9d3821bc75c59577e52643324cec92fc2145642e8d17cf7ee07a3181f21d985d","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"201db9cf1687fab1adf5282fcba861f382b32303dc4f67c89d59655e78a25461","impliedFormat":1},{"version":"2c3c5c0f54055e87640f5d233716fd889f3034fc7911d603b642369b0dbeb2a7","impliedFormat":1},{"version":"0a20eaf2e4b1e3c1e1f87f7bccb0c936375b23b022baeea750519b7c9bc6ce83","impliedFormat":1},{"version":"b484ec11ba00e3a2235562a41898d55372ccabe607986c6fa4f4aba72093749f","impliedFormat":1},{"version":"a16b91b27bd6b706c687c88cbc8a7d4ee98e5ed6043026d6b84bda923c0aed67","impliedFormat":1},{"version":"1c9e5b1a17b1fc9b3711fb36e0690421261ab2880f15b145155b5b2ba2ab6c2d","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"6eeded8c7e352be6e0efb83f4935ec752513c4d22043b52522b90849a49a3a11","impliedFormat":1},{"version":"6c1ad90050ffbb151cacc68e2d06ea1a26a945659391e32651f5d42b86fd7f2c","impliedFormat":1},{"version":"afa1c49f8e559e413d57343339db857d2a8159435cf9cf7d4deb41718fff1b88","impliedFormat":1},{"version":"6953d7597831d0860c7034cf4f0419687d263b6b98a4b32e37ce6d49615c36e2","impliedFormat":1}],"root":[[58,61]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"jsx":4,"module":99,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"strict":true,"target":7},"referencedMap":[[125,1],[126,1],[127,2],[64,3],[128,4],[129,5],[130,6],[62,7],[131,8],[132,9],[133,10],[134,11],[135,12],[136,13],[137,13],[138,14],[139,15],[140,16],[141,17],[65,7],[63,7],[142,18],[143,19],[144,20],[186,21],[145,22],[146,23],[147,22],[148,24],[149,25],[150,26],[151,27],[152,27],[153,27],[154,28],[155,29],[156,30],[157,31],[158,32],[159,33],[160,33],[161,34],[162,7],[163,7],[164,35],[165,36],[166,37],[167,35],[168,38],[169,39],[170,40],[171,41],[172,42],[173,43],[174,44],[175,45],[176,46],[177,47],[178,48],[179,49],[180,50],[181,51],[182,52],[66,22],[67,7],[68,53],[69,54],[70,7],[71,55],[72,7],[116,56],[117,57],[118,58],[119,58],[120,59],[121,7],[122,4],[123,60],[124,57],[183,61],[184,62],[185,63],[54,7],[56,64],[57,65],[55,7],[51,7],[52,7],[10,7],[8,7],[9,7],[14,7],[13,7],[2,7],[15,7],[16,7],[17,7],[18,7],[19,7],[20,7],[21,7],[22,7],[3,7],[23,7],[24,7],[4,7],[25,7],[29,7],[26,7],[27,7],[28,7],[30,7],[31,7],[32,7],[5,7],[33,7],[34,7],[35,7],[36,7],[6,7],[40,7],[37,7],[38,7],[39,7],[41,7],[7,7],[42,7],[53,7],[47,7],[48,7],[43,7],[44,7],[45,7],[46,7],[49,7],[1,7],[50,7],[12,7],[11,7],[91,66],[104,67],[88,68],[105,69],[114,70],[79,71],[80,72],[78,73],[113,74],[108,75],[112,76],[82,77],[101,78],[81,79],[111,80],[76,81],[77,75],[83,82],[84,7],[90,83],[87,82],[74,84],[115,85],[106,86],[94,87],[93,82],[95,88],[98,89],[92,90],[96,91],[109,74],[85,92],[86,93],[99,94],[75,69],[103,95],[102,82],[89,93],[97,96],[100,97],[107,7],[73,7],[110,98],[61,99],[58,100],[60,101],[59,100]],"affectedFilesPendingEmit":[[61,17],[58,17],[60,17],[59,17]],"emitSignatures":[58,59,60,61],"version":"6.0.3"} \ No newline at end of file From 3c24f7260f62f287fe12ccad9622da0ca0c7fbf2 Mon Sep 17 00:00:00 2001 From: AlkaidSTART <2595006848@qq.com> Date: Wed, 5 Aug 2026 21:14:47 +0800 Subject: [PATCH 5/7] =?UTF-8?q?feat:=20=E5=9F=BA=E4=BA=8E=20SQLite=20?= =?UTF-8?q?=E8=A1=A5=E5=85=85=20agent=20=E4=BC=9A=E8=AF=9D=E5=8E=86?= =?UTF-8?q?=E5=8F=B2=E5=AD=98=E5=82=A8=E8=AF=BB=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + packages/agent-core/src/core/agent.ts | 2 +- packages/agent-core/src/core/loop.ts | 47 +++ .../src/session/session-repository.ts | 375 ++++++++++++++++++ source/app.tsx | 25 +- tests/agent-session-runloop.spec.ts | 68 ++++ tests/agent.spec.ts | 1 + tests/session-repository.spec.ts | 91 +++++ 8 files changed, 598 insertions(+), 12 deletions(-) create mode 100644 packages/agent-core/src/session/session-repository.ts create mode 100644 tests/agent-session-runloop.spec.ts create mode 100644 tests/session-repository.spec.ts diff --git a/.gitignore b/.gitignore index 3ae120e..be0c276 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,7 @@ out .remix-serve-node_modules .env/* .agent-memory/ +.agent-sessions/ bundle.* docs/* pnpm-workspace.yaml diff --git a/packages/agent-core/src/core/agent.ts b/packages/agent-core/src/core/agent.ts index e0fb725..392ff2b 100644 --- a/packages/agent-core/src/core/agent.ts +++ b/packages/agent-core/src/core/agent.ts @@ -17,6 +17,6 @@ export const agent = async ( ): Promise => { const task = createTaskState(input, options); writeShortMemory(task, 'user', task.input, ['task-input']); - const res = await runLoop(task, handlers); + const res = await runLoop(task, handlers, { persist: true }); return res || ''; }; diff --git a/packages/agent-core/src/core/loop.ts b/packages/agent-core/src/core/loop.ts index 3155b21..f624690 100644 --- a/packages/agent-core/src/core/loop.ts +++ b/packages/agent-core/src/core/loop.ts @@ -20,14 +20,40 @@ import { writeShortMemory, } from '@agent-core/memory/memory-writer'; import { retrieveMemoryForTask } from '@agent-core/memory/memory-retriever'; +import { + appendTaskEntry, + appendTaskRecord, + ensureTaskSession, + getSharedSessionStoreOrNull, + readTaskHistory, + type SessionStoreLike, +} from '@agent-core/session/session-repository'; const contextBuilder = new ContextBuilder(8000); +export interface RunLoopOptions { + /** 是否将会话历史写入 SQLite */ + persist?: boolean; + /** 自定义 SessionStore,测试时可传入 :memory: 实例 */ + sessionStore?: SessionStoreLike; +} + export const runLoop = async ( task: TaskState, handlers: StreamHandlers = {}, + options: RunLoopOptions = {}, ): Promise => { const history: ContextMessage[] = []; + const store = options.persist === true + ? (options.sessionStore ?? getSharedSessionStoreOrNull()) + : null; + + if (store) { + ensureTaskSession(task, store); + appendTaskEntry(task, { role: 'user', content: task.input, tags: ['task-input'] }, store); + history.push(...readTaskHistory(task, { limit: 100 }, store)); + } + let step = 0; const maxSteps = 10; @@ -67,15 +93,36 @@ export const runLoop = async ( role: 'assistant', content: res, }); + if (store) { + appendTaskEntry(task, { role: 'assistant', content: res, tags: ['model-response'] }, store); + } writeShortMemory(task, 'assistant', res, ['model-response']); const parsed = parseAgentResponse(res); if (parsed && isToolCallAction(parsed)) { + if (store) { + appendTaskRecord(task, { + type: 'tool_call', + opKind: parsed.tool, + payload: parsed, + }, store); + } const execution = await executeToolCall(task.mode, parsed); history.push({ role: 'user', content: execution.content, }); + if (store) { + appendTaskEntry(task, { role: 'tool', content: execution.content, tool: parsed.tool, tags: ['tool-result', parsed.tool] }, store); + appendTaskRecord(task, { + type: 'tool_result', + opKind: parsed.tool, + payload: { + tool: parsed.tool, + content: execution.content, + }, + }, store); + } writeShortMemory(task, 'tool', execution.content, ['tool-result', parsed.tool]); handlers.onTrace?.(execution.trace); continue; diff --git a/packages/agent-core/src/session/session-repository.ts b/packages/agent-core/src/session/session-repository.ts new file mode 100644 index 0000000..af0c6ef --- /dev/null +++ b/packages/agent-core/src/session/session-repository.ts @@ -0,0 +1,375 @@ +import type { TaskState } from '@core/state'; +import type { ContextMessage } from '@agent-core/context/context-types'; + +/** 默认泳道名称,与 session-sqlite store 保持一致 */ +export const DEFAULT_LANE = 'default'; + +/** + * SessionStoreLike 是 agent-core 依赖的最小会话存储接口。 + * 具体实现由 session-sqlite 的 SessionStore 提供,避免 agent-core 反向依赖存储包。 + */ +export interface SessionStoreLike { + close?(): void; + getSession(id: string): SessionLike | null; + createSession(input: { + id?: string; + cwd: string; + parentSessionId?: string | null; + metadata?: Record; + }): SessionLike; + replaceSession(input: { + id?: string; + cwd: string; + parentSessionId?: string | null; + metadata?: Record; + }): SessionLike; + appendEntry( + sessionId: string, + input: { + id?: string; + parentId?: string | null; + type: string; + payload: unknown; + branchId?: string; + lane?: string; + }, + ): EntryLike; + appendRecord( + sessionId: string, + input: { + lane: string; + runId?: string | null; + type: string; + opKind?: string | null; + payload: unknown; + }, + ): RecordLike; + getStats(sessionId: string): SessionStatsLike; + updateStats( + sessionId: string, + stats: Omit, + ): SessionStatsLike; + getEntries( + sessionId: string, + options: { limit?: number }, + ): EntryLike[]; + listSessions(options: { limit?: number }): SessionLike[]; +} + +/** 会话基本信息的最小形状 */ +export interface SessionLike { + id: string; + createdAt: string; + cwd: string; + parentSessionId: string | null; + metadata: Record; +} + +/** 条目信息的最小形状 */ +export interface EntryLike { + sessionId: string; + seq: number; + id: string; + parentId: string | null; + type: string; + timestamp: string; + payload: unknown; +} + +/** 记录信息的最小形状 */ +export interface RecordLike { + sessionId: string; + seq: number; + id: string; + lane: string; + runId: string | null; + type: string; + opKind: string | null; + timestamp: string; + payload: unknown; +} + +/** 会话统计的最小形状 */ +export interface SessionStatsLike { + sessionId: string; + messageCount: number; + cachedTokens: number; + uncachedTokens: number; + totalTokens: number; + costTotal: number; +} + +/** + * 会话条目写入参数。 + */ +export interface TaskEntryInput { + /** 条目唯一 ID,不传则由 SessionStore 生成 */ + id?: string; + /** 父条目 ID,不传时默认挂在当前泳道叶子下 */ + parentId?: string | null; + /** 条目角色,会同时作为 entries.type 保存 */ + role: 'user' | 'assistant' | 'tool' | 'system'; + /** 条目正文 */ + content: string; + /** 工具名,tool 类条目使用 */ + tool?: string | null; + /** 标签,便于后续检索和活动面板展示 */ + tags?: string[]; + /** 分支 ID */ + branchId?: string; + /** 泳道 */ + lane?: string; +} + +/** + * 运行记录写入参数,对应 schema 中的 records 表。 + */ +export interface TaskRecordInput { + lane?: string; + runId?: string | null; + type: string; + opKind?: string | null; + payload: unknown; +} + +/** + * 活动面板需要的历史条目。 + */ +export interface RecentHistoryItem { + id: string; + sessionId: string; + role: 'user' | 'assistant'; + content: string; + timestamp: string; +} + +/** + * 活动面板用于扫描相关页面的最近条目。 + */ +export interface RecentFeedItem { + id: string; + sessionId: string; + role: string; + content: string; + timestamp: string; +} + +let sharedStore: SessionStoreLike | null = null; + +/** 获取进程内共享的 SessionStoreLike。 */ +export const getSharedSessionStore = (): SessionStoreLike => { + if (!sharedStore) { + throw new Error('会话存储未初始化,请先调用 setSharedSessionStore'); + } + return sharedStore; +}; + +/** 获取当前共享存储,未初始化时返回 null。 */ +export const getSharedSessionStoreOrNull = (): SessionStoreLike | null => sharedStore; + +/** 替换共享 SessionStore,测试传入 :memory: 或注入自定义实例时使用。 */ +export const setSharedSessionStore = (store: SessionStoreLike | null): void => { + sharedStore = store; +}; + +/** 关闭并清空共享 SessionStore。 */ +export const closeSharedSessionStore = (): void => { + sharedStore?.close?.(); + sharedStore = null; +}; + +const taskMetadata = (task: TaskState) => ({ + mode: task.mode, + objective: task.objective, + constraints: task.constraints, + createdAt: task.createdAt, +}); + +/** + * 为任务创建对应会话。已存在时更新元数据,避免覆盖已有历史条目。 + */ +export const ensureTaskSession = ( + task: TaskState, + store: SessionStoreLike = getSharedSessionStore(), +): SessionLike => { + const cwd = task.workspace ?? process.cwd(); + const metadata = taskMetadata(task); + + if (store.getSession(task.id)) { + return store.replaceSession({ + id: task.id, + cwd, + metadata, + }); + } + + return store.createSession({ + id: task.id, + cwd, + metadata, + }); +}; + +/** + * 追加一条 agent 对话条目,并同步递增会话消息数统计。 + */ +export const appendTaskEntry = ( + task: TaskState, + input: TaskEntryInput, + store: SessionStoreLike = getSharedSessionStore(), +): EntryLike => { + const entryInput = { + id: input.id, + parentId: input.parentId, + type: input.role, + payload: { + role: input.role, + content: input.content, + tool: input.tool ?? null, + tags: input.tags ?? [], + }, + branchId: input.branchId, + lane: input.lane ?? DEFAULT_LANE, + }; + + const entry = store.appendEntry(task.id, entryInput); + const stats = store.getStats(task.id); + store.updateStats(task.id, { + ...stats, + messageCount: stats.messageCount + 1, + }); + return entry; +}; + +/** + * 追加一条运行记录,对应 schema 中的 records 表。 + */ +export const appendTaskRecord = ( + task: TaskState, + input: TaskRecordInput, + store: SessionStoreLike = getSharedSessionStore(), +): RecordLike => + store.appendRecord(task.id, { + lane: input.lane ?? 'run', + runId: input.runId ?? task.id, + type: input.type, + opKind: input.opKind ?? null, + payload: input.payload, + }); + +const entryToContextMessage = (entry: EntryLike): ContextMessage | null => { + const payload = entry.payload as { content?: unknown; role?: unknown } | null; + if (!payload || typeof payload.content !== 'string') { + return null; + } + + // user 消息由 context-builder 单独放入,避免重复;tool 结果沿用 runLoop 的 user 角色。 + if (entry.type === 'assistant') { + return { role: 'assistant', content: payload.content }; + } + if (entry.type === 'tool') { + return { role: 'user', content: payload.content }; + } + return null; +}; + +/** + * 读取任务会话历史,供 runLoop 恢复上下文使用。 + * 只返回 assistant/tool 条目,user 指令由 buildRuntimeContext 单独拼接。 + */ +export const readTaskHistory = ( + task: TaskState, + options: { limit?: number } = {}, + store: SessionStoreLike = getSharedSessionStore(), +): ContextMessage[] => { + // getEntries 按 seq 升序返回,这里取最近 limit 条,避免只拿到最早的历史。 + const limit = options.limit ?? 1000; + const entries = store.getEntries(task.id, { limit: Math.max(limit, 1000) }); + return entries + .slice(-limit) + .map(entryToContextMessage) + .filter((item): item is ContextMessage => item !== null); +}; + +const entryToRecentHistoryItem = (entry: EntryLike): RecentHistoryItem | null => { + if (entry.type !== 'user' && entry.type !== 'assistant') { + return null; + } + const payload = entry.payload as { content?: unknown } | null; + if (!payload || typeof payload.content !== 'string') { + return null; + } + return { + id: entry.id, + sessionId: entry.sessionId, + role: entry.type, + content: payload.content, + timestamp: entry.timestamp, + }; +}; + +const entryToRecentFeedItem = (entry: EntryLike): RecentFeedItem | null => { + const payload = entry.payload as { content?: unknown } | null; + if (!payload || typeof payload.content !== 'string') { + return null; + } + return { + id: entry.id, + sessionId: entry.sessionId, + role: entry.type, + content: payload.content, + timestamp: entry.timestamp, + }; +}; + +/** + * 读取最近会话中的 user/assistant 条目,按时间倒序。 + */ +export const loadRecentHistory = ( + limit = 8, + store: SessionStoreLike = getSharedSessionStore(), +): RecentHistoryItem[] => { + const sessions = store.listSessions({ limit: 20 }); + const result: RecentHistoryItem[] = []; + + for (const session of sessions) { + const entries = store.getEntries(session.id, { limit: 1000 }); + for (let index = entries.length - 1; index >= 0; index--) { + const item = entryToRecentHistoryItem(entries[index]); + if (item) { + result.push(item); + if (result.length >= limit) { + return result; + } + } + } + } + + return result; +}; + +/** + * 读取最近条目,包含 tool 输出,用于扫描相关页面。 + */ +export const loadRecentFeed = ( + limit = 200, + store: SessionStoreLike = getSharedSessionStore(), +): RecentFeedItem[] => { + const sessions = store.listSessions({ limit: 20 }); + const result: RecentFeedItem[] = []; + + for (const session of sessions) { + const entries = store.getEntries(session.id, { limit: 1000 }); + for (let index = entries.length - 1; index >= 0; index--) { + const item = entryToRecentFeedItem(entries[index]); + if (item) { + result.push(item); + if (result.length >= limit) { + return result; + } + } + } + } + + return result; +}; diff --git a/source/app.tsx b/source/app.tsx index de23550..8e5db70 100644 --- a/source/app.tsx +++ b/source/app.tsx @@ -7,11 +7,19 @@ import TextInput from 'ink-text-input'; import Spinner from 'ink-spinner'; import { get_encoding } from 'tiktoken'; import { memoryStore } from '@agent-core/memory/memory-store'; -import type { ShortMemoryItem } from '@agent-core/memory/memory-schema'; +import { + loadRecentFeed, + loadRecentHistory, + setSharedSessionStore, + type RecentHistoryItem, +} from '@agent-core/session/session-repository'; +import { SessionStore } from '../packages/session-sqlite/src/index'; import { resolveUserPath } from '@tools/pathUtils'; const encoding = get_encoding('cl100k_base'); +setSharedSessionStore(new SessionStore()); + const brandLines = [ ' ______ ___ __ __ ______ ____ ____ ______', ' / ____// | / / / / / ____// __ \\/ __ \\/ ____/', @@ -47,7 +55,7 @@ type ActivityItem = id: string; label: string; content: string; - role: ShortMemoryItem['role']; + role: RecentHistoryItem['role']; } | { type: 'page'; @@ -63,7 +71,7 @@ interface State { status: 'idle' | 'loading' | 'success' | 'error'; currentInput: string; messages: Message[]; - recentHistory: ShortMemoryItem[]; + recentHistory: RecentHistoryItem[]; relatedPages: RelatedPage[]; activitySelection: number; error?: string; @@ -81,7 +89,7 @@ const compactText = (text: string, maxLength = 96): string => { return `${normalized.slice(0, maxLength - 1)}...`; }; -const extractRelatedPages = (items: ShortMemoryItem[]): RelatedPage[] => { +const extractRelatedPages = (items: Array<{ content: string }>): RelatedPage[] => { const pages = new Map(); for (const item of items) { @@ -106,14 +114,9 @@ const extractRelatedPages = (items: ShortMemoryItem[]): RelatedPage[] => { }; const loadActivityPanel = () => { - const shortItems = memoryStore.listShort(); - return { - recentHistory: shortItems - .filter((item) => item.role === 'user' || item.role === 'assistant') - .slice(-8) - .reverse(), - relatedPages: extractRelatedPages(shortItems), + recentHistory: loadRecentHistory(8), + relatedPages: extractRelatedPages(loadRecentFeed(200)), }; }; diff --git a/tests/agent-session-runloop.spec.ts b/tests/agent-session-runloop.spec.ts new file mode 100644 index 0000000..fed2abe --- /dev/null +++ b/tests/agent-session-runloop.spec.ts @@ -0,0 +1,68 @@ +import { beforeEach, afterEach, describe, expect, it, vi } from 'vitest'; + +vi.mock('@core/llm', () => ({ + streamLLM: vi.fn(), +})); + +import { runLoop } from '@core/loop'; +import { streamLLM } from '@core/llm'; +import { createTaskState } from '@core/state'; +import { SessionStore } from '../packages/session-sqlite/src/index'; +import { + closeSharedSessionStore, + setSharedSessionStore, +} from '@agent-core/session/session-repository'; + +describe('runLoop SQLite 持久化', () => { + let store: SessionStore; + + beforeEach(() => { + store = new SessionStore({ dbPath: ':memory:' }); + setSharedSessionStore(store); + }); + + afterEach(() => { + vi.clearAllMocks(); + closeSharedSessionStore(); + }); + + it('开启 persist 后写入 user/assistant/tool 条目和运行记录', async () => { + vi.mocked(streamLLM) + .mockResolvedValueOnce( + JSON.stringify({ + type: 'tool_call', + tool: 'get_environment', + arguments: {}, + message: 'inspect environment', + }), + ) + .mockResolvedValueOnce( + JSON.stringify({ + type: 'final', + tool: null, + arguments: null, + message: 'done', + }), + ); + + const task = createTaskState('task'); + const res = await runLoop(task, {}, { persist: true }); + + expect(res).toBe('done'); + expect(store.getEntries(task.id).map((entry) => entry.type)).toEqual([ + 'user', + 'assistant', + 'tool', + 'assistant', + ]); + expect(store.getRecords(task.id).map((record) => record.type)).toEqual([ + 'tool_call', + 'tool_result', + ]); + expect(store.getStats(task.id).messageCount).toBe(4); + expect(store.getSession(task.id)?.metadata).toMatchObject({ + mode: task.mode, + objective: task.objective, + }); + }); +}); diff --git a/tests/agent.spec.ts b/tests/agent.spec.ts index c5ff2aa..8133123 100644 --- a/tests/agent.spec.ts +++ b/tests/agent.spec.ts @@ -21,6 +21,7 @@ describe('agent', () => { workspace: undefined, }), {}, + { persist: true }, ); expect(res).toBe('handled:task'); }); diff --git a/tests/session-repository.spec.ts b/tests/session-repository.spec.ts new file mode 100644 index 0000000..b530f35 --- /dev/null +++ b/tests/session-repository.spec.ts @@ -0,0 +1,91 @@ +import { beforeEach, afterEach, describe, expect, it } from 'vitest'; +import { SessionStore } from '../packages/session-sqlite/src/index'; +import { createTaskState } from '@core/state'; +import { + appendTaskEntry, + appendTaskRecord, + closeSharedSessionStore, + ensureTaskSession, + loadRecentFeed, + loadRecentHistory, + readTaskHistory, + setSharedSessionStore, +} from '@agent-core/session/session-repository'; + +describe('SessionRepository', () => { + let store: SessionStore; + + beforeEach(() => { + store = new SessionStore({ dbPath: ':memory:' }); + setSharedSessionStore(store); + }); + + afterEach(() => { + closeSharedSessionStore(); + }); + + it('创建任务会话并写入条目、统计和记录', () => { + const task = createTaskState('hello', { workspace: '/tmp/w' }); + + const session = ensureTaskSession(task); + expect(session.cwd).toBe('/tmp/w'); + expect(store.getSession(task.id)).toMatchObject({ id: task.id, cwd: '/tmp/w' }); + + appendTaskEntry(task, { role: 'user', content: 'hi' }); + appendTaskEntry(task, { role: 'assistant', content: 'yo' }); + appendTaskEntry(task, { role: 'tool', content: '{"path":"/tmp/x"}' }); + appendTaskRecord(task, { + type: 'tool_call', + opKind: 'get_environment', + payload: { tool: 'get_environment' }, + }); + + expect(store.getEntries(task.id)).toHaveLength(3); + expect(store.getStats(task.id).messageCount).toBe(3); + expect(store.getRecords(task.id)).toHaveLength(1); + }); + + it('读取历史时排除 user 条目,tool 结果按 user 角色返回', () => { + const task = createTaskState('task'); + ensureTaskSession(task); + appendTaskEntry(task, { role: 'user', content: 'task input' }); + appendTaskEntry(task, { role: 'assistant', content: 'step' }); + appendTaskEntry(task, { role: 'tool', content: 'tool result' }); + + expect(readTaskHistory(task)).toEqual([ + { role: 'assistant', content: 'step' }, + { role: 'user', content: 'tool result' }, + ]); + }); + + it('读取历史时按 limit 返回最近条目', () => { + const task = createTaskState('task'); + ensureTaskSession(task); + appendTaskEntry(task, { role: 'user', content: 'task input' }); + appendTaskEntry(task, { role: 'assistant', content: 'a1' }); + appendTaskEntry(task, { role: 'tool', content: 't1' }); + appendTaskEntry(task, { role: 'assistant', content: 'a2' }); + appendTaskEntry(task, { role: 'tool', content: 't2' }); + + expect(readTaskHistory(task, { limit: 2 })).toEqual([ + { role: 'assistant', content: 'a2' }, + { role: 'user', content: 't2' }, + ]); + }); + + it('活动面板可以读回最近历史和相关页面候选', () => { + const task = createTaskState('task'); + ensureTaskSession(task); + appendTaskEntry(task, { role: 'user', content: 'u1' }); + appendTaskEntry(task, { role: 'assistant', content: 'a1' }); + appendTaskEntry(task, { role: 'tool', content: '{"path":"/tmp/page.tsx"}' }); + + const history = loadRecentHistory(8); + expect(history[0].role).toBe('assistant'); + expect(history.map((item) => item.content)).toEqual(['a1', 'u1']); + + const feed = loadRecentFeed(10); + expect(feed[0].role).toBe('tool'); + expect(feed[0].content).toContain('/tmp/page.tsx'); + }); +}); From 9f8b9001792d681d813cd753b630a3fbfdfd424f Mon Sep 17 00:00:00 2001 From: AlkaidSTART <2595006848@qq.com> Date: Wed, 5 Aug 2026 21:21:35 +0800 Subject: [PATCH 6/7] =?UTF-8?q?refactor:=20=E5=AF=B9=E8=AF=9D=E5=8E=86?= =?UTF-8?q?=E5=8F=B2=E6=94=B9=E7=94=A8=20SQLite=20=E5=AD=98=E5=82=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 - .../agent-core/src/context/runtime-context.ts | 8 --- packages/agent-core/src/core/agent.ts | 2 - packages/agent-core/src/core/loop.ts | 14 +---- .../agent-core/src/memory/memory-retriever.ts | 20 +------ .../agent-core/src/memory/memory-schema.ts | 12 ----- .../agent-core/src/memory/memory-store.ts | 54 ------------------- .../agent-core/src/memory/memory-writer.ts | 34 ------------ source/app.tsx | 1 - 9 files changed, 4 insertions(+), 142 deletions(-) diff --git a/.gitignore b/.gitignore index be0c276..f361c37 100644 --- a/.gitignore +++ b/.gitignore @@ -18,7 +18,6 @@ out .remix-serve-cache .remix-serve-node_modules .env/* -.agent-memory/ .agent-sessions/ bundle.* docs/* diff --git a/packages/agent-core/src/context/runtime-context.ts b/packages/agent-core/src/context/runtime-context.ts index c8d1d91..bb37d17 100644 --- a/packages/agent-core/src/context/runtime-context.ts +++ b/packages/agent-core/src/context/runtime-context.ts @@ -11,7 +11,6 @@ export interface BuildRuntimeContextInput { system: string; history: ContextMessage[]; task: TaskState; - shortMemory?: string; longMemory?: string[]; includeHistorySummary?: boolean; } @@ -38,13 +37,6 @@ export const buildRuntimeContext = ( }); } - if (input.shortMemory) { - messages.push({ - role: 'system', - content: `短期记忆:\n${input.shortMemory}`, - }); - } - if (input.includeHistorySummary) { const summary = summarizeHistory(input.history); if (summary) { diff --git a/packages/agent-core/src/core/agent.ts b/packages/agent-core/src/core/agent.ts index 392ff2b..1bb1e2f 100644 --- a/packages/agent-core/src/core/agent.ts +++ b/packages/agent-core/src/core/agent.ts @@ -1,7 +1,6 @@ import { runLoop } from '@core/loop'; import type { StreamHandlers } from '@core/llm'; import { createTaskState, type AgentMode } from '@core/state'; -import { writeShortMemory } from '@agent-core/memory/memory-writer'; export interface AgentOptions { mode?: AgentMode; @@ -16,7 +15,6 @@ export const agent = async ( options: AgentOptions = {}, ): Promise => { const task = createTaskState(input, options); - writeShortMemory(task, 'user', task.input, ['task-input']); const res = await runLoop(task, handlers, { persist: true }); return res || ''; }; diff --git a/packages/agent-core/src/core/loop.ts b/packages/agent-core/src/core/loop.ts index f624690..6ceaeb0 100644 --- a/packages/agent-core/src/core/loop.ts +++ b/packages/agent-core/src/core/loop.ts @@ -14,11 +14,7 @@ import { } from '@protocol/parser'; import { isToolCallAction } from '@protocol/action'; import { executeToolCall } from '@tools/executor'; -import { - archiveShortMemory, - promoteStableFact, - writeShortMemory, -} from '@agent-core/memory/memory-writer'; +import { promoteStableFact } from '@agent-core/memory/memory-writer'; import { retrieveMemoryForTask } from '@agent-core/memory/memory-retriever'; import { appendTaskEntry, @@ -62,12 +58,11 @@ export const runLoop = async ( try { handlers.onTrace?.(`第 ${step} 轮开始,正在请求模型...`); - const memory = retrieveMemoryForTask(task.input, task.id); + const memory = retrieveMemoryForTask(task.input); const runtimeContext = buildRuntimeContext(contextBuilder, { system: `${systemPrompt}\n${getModePrompt(task.mode)}\n${toolPrompt}`, history, task, - shortMemory: memory.shortSummary, longMemory: memory.longFacts, includeHistorySummary: step > 1, }); @@ -96,7 +91,6 @@ export const runLoop = async ( if (store) { appendTaskEntry(task, { role: 'assistant', content: res, tags: ['model-response'] }, store); } - writeShortMemory(task, 'assistant', res, ['model-response']); const parsed = parseAgentResponse(res); if (parsed && isToolCallAction(parsed)) { @@ -123,24 +117,20 @@ export const runLoop = async ( }, }, store); } - writeShortMemory(task, 'tool', execution.content, ['tool-result', parsed.tool]); handlers.onTrace?.(execution.trace); continue; } if (!shouldContinueLoop(res)) { - archiveShortMemory(task); promoteStableFact(task, 'task-objective', task.objective, history); return extractFinalText(res); } handlers.onTrace?.(`第 ${step} 轮判断任务未完成,准备进入下一轮`); } catch (error) { - archiveShortMemory(task); return `执行出错: ${error instanceof Error ? error.message : String(error)}`; } } - archiveShortMemory(task); return '已超出最大循环次数'; }; diff --git a/packages/agent-core/src/memory/memory-retriever.ts b/packages/agent-core/src/memory/memory-retriever.ts index d8629f7..7f62cff 100644 --- a/packages/agent-core/src/memory/memory-retriever.ts +++ b/packages/agent-core/src/memory/memory-retriever.ts @@ -1,35 +1,19 @@ -import { summarizeHistory } from '@agent-core/context/context-summarizer'; -import type { ContextMessage } from '@agent-core/context/context-types'; import { memoryStore } from '@agent-core/memory/memory-store'; export interface RetrievedMemory { - shortSummary?: string; longFacts: string[]; } const hasAny = (text: string, keywords: string[]): boolean => keywords.some((keyword) => text.includes(keyword)); -export const retrieveMemoryForTask = ( - taskInput: string, - taskId: string, -): RetrievedMemory => { +export const retrieveMemoryForTask = (taskInput: string): RetrievedMemory => { const lowerInput = taskInput.toLowerCase(); const keywords = lowerInput .split(/\s+/) .map((item) => item.trim()) .filter((item) => item.length >= 2); - const shortItems = memoryStore.listShort(taskId); - const shortMessages: ContextMessage[] = shortItems.map((item) => ({ - role: item.role === 'tool' ? 'assistant' : item.role, - content: item.content, - })); - const shortSummary = summarizeHistory(shortMessages, { - maxItems: 6, - maxItemChars: 100, - })?.summary; - const longFacts = memoryStore .listLong() .filter((item) => { @@ -42,5 +26,5 @@ export const retrieveMemoryForTask = ( .slice(-8) .map((item) => `${item.topic}: ${item.content}`); - return { shortSummary, longFacts }; + return { longFacts }; }; diff --git a/packages/agent-core/src/memory/memory-schema.ts b/packages/agent-core/src/memory/memory-schema.ts index 0a0848c..91ae83f 100644 --- a/packages/agent-core/src/memory/memory-schema.ts +++ b/packages/agent-core/src/memory/memory-schema.ts @@ -1,5 +1,3 @@ -export type MemoryKind = 'short' | 'long'; - export interface MemoryBase { id: string; createdAt: string; @@ -7,13 +5,6 @@ export interface MemoryBase { taskId?: string; } -export interface ShortMemoryItem extends MemoryBase { - kind: 'short'; - role: 'user' | 'assistant' | 'system' | 'tool'; - content: string; - tags: string[]; -} - export interface LongMemoryItem extends MemoryBase { kind: 'long'; topic: string; @@ -22,9 +13,6 @@ export interface LongMemoryItem extends MemoryBase { sourceCount: number; } -export type MemoryItem = ShortMemoryItem | LongMemoryItem; - export interface MemorySnapshot { - short: ShortMemoryItem[]; long: LongMemoryItem[]; } diff --git a/packages/agent-core/src/memory/memory-store.ts b/packages/agent-core/src/memory/memory-store.ts index 1d1255c..0d0aaa4 100644 --- a/packages/agent-core/src/memory/memory-store.ts +++ b/packages/agent-core/src/memory/memory-store.ts @@ -2,46 +2,10 @@ import { randomUUID } from 'node:crypto'; import type { LongMemoryItem, MemorySnapshot, - ShortMemoryItem, } from '@agent-core/memory/memory-schema'; -export interface MemoryStoreConfig { - shortLimit: number; -} - -const DEFAULT_CONFIG: MemoryStoreConfig = { - shortLimit: 40, -}; - export class MemoryStore { - private readonly shortMemory: ShortMemoryItem[] = []; private readonly longMemory: LongMemoryItem[] = []; - private readonly shortLimit: number; - - constructor(config: Partial = {}) { - this.shortLimit = config.shortLimit ?? DEFAULT_CONFIG.shortLimit; - } - - addShort( - input: Omit, - ): ShortMemoryItem { - const now = new Date().toISOString(); - const item: ShortMemoryItem = { - id: randomUUID(), - kind: 'short', - createdAt: now, - updatedAt: now, - ...input, - }; - - this.shortMemory.push(item); - const overflow = this.shortMemory.length - this.shortLimit; - if (overflow > 0) { - this.shortMemory.splice(0, overflow); - } - - return item; - } upsertLong( input: Omit, @@ -69,30 +33,12 @@ export class MemoryStore { return item; } - listShort(taskId?: string): ShortMemoryItem[] { - if (!taskId) { - return [...this.shortMemory]; - } - return this.shortMemory.filter((item) => item.taskId === taskId); - } - listLong(): LongMemoryItem[] { return [...this.longMemory]; } - clearShort(taskId?: string) { - if (!taskId) { - this.shortMemory.splice(0, this.shortMemory.length); - return; - } - - const kept = this.shortMemory.filter((item) => item.taskId !== taskId); - this.shortMemory.splice(0, this.shortMemory.length, ...kept); - } - snapshot(): MemorySnapshot { return { - short: this.listShort(), long: this.listLong(), }; } diff --git a/packages/agent-core/src/memory/memory-writer.ts b/packages/agent-core/src/memory/memory-writer.ts index 248eeaf..8909721 100644 --- a/packages/agent-core/src/memory/memory-writer.ts +++ b/packages/agent-core/src/memory/memory-writer.ts @@ -1,5 +1,4 @@ import type { TaskState } from '@core/state'; -import { summarizeHistory } from '@agent-core/context/context-summarizer'; import type { ContextMessage } from '@agent-core/context/context-types'; import { memoryStore } from '@agent-core/memory/memory-store'; @@ -11,39 +10,6 @@ const countStableMentions = (messages: ContextMessage[], text: string): number = return count; }, 0); -export const writeShortMemory = ( - task: TaskState, - role: 'user' | 'assistant' | 'system' | 'tool', - content: string, - tags: string[] = [], -) => { - const trimmed = content.trim(); - if (!trimmed) { - return; - } - - memoryStore.addShort({ - role, - content: trimmed, - tags, - taskId: task.id, - }); -}; - -export const archiveShortMemory = (task: TaskState): string | null => { - const items = memoryStore.listShort(task.id); - const summary = summarizeHistory( - items.map((item) => ({ - role: item.role === 'tool' ? 'assistant' : item.role, - content: item.content, - })), - { maxItems: 10, maxItemChars: 120 }, - )?.summary; - - memoryStore.clearShort(task.id); - return summary ?? null; -}; - export const promoteStableFact = ( task: TaskState, topic: string, diff --git a/source/app.tsx b/source/app.tsx index 8e5db70..0bc43d5 100644 --- a/source/app.tsx +++ b/source/app.tsx @@ -441,7 +441,6 @@ const App = () => { showCommandMessage( [ 'Memory 概览', - `短期记忆: ${snapshot.short.length}`, `长期记忆: ${snapshot.long.length}`, ].join('\n'), ); From 51676ed1d8cbccbf974da890094172e72a3834eb Mon Sep 17 00:00:00 2001 From: AlkaidSTART <2595006848@qq.com> Date: Wed, 5 Aug 2026 21:27:08 +0800 Subject: [PATCH 7/7] =?UTF-8?q?chore:=20=E7=A7=BB=E9=99=A4=20tsbuildinfo?= =?UTF-8?q?=20=E6=9E=84=E5=BB=BA=E7=BC=93=E5=AD=98=E5=B9=B6=E5=BF=BD?= =?UTF-8?q?=E7=95=A5=E7=94=9F=E6=88=90=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + packages/agent-core/tsconfig.tsbuildinfo | 1 - packages/session-sqlite/tsconfig.tsbuildinfo | 1 - 3 files changed, 1 insertion(+), 2 deletions(-) delete mode 100644 packages/agent-core/tsconfig.tsbuildinfo delete mode 100644 packages/session-sqlite/tsconfig.tsbuildinfo diff --git a/.gitignore b/.gitignore index f361c37..90c2bb3 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,7 @@ out .remix-serve-node_modules .env/* .agent-sessions/ +*.tsbuildinfo bundle.* docs/* pnpm-workspace.yaml diff --git a/packages/agent-core/tsconfig.tsbuildinfo b/packages/agent-core/tsconfig.tsbuildinfo deleted file mode 100644 index f5a619f..0000000 --- a/packages/agent-core/tsconfig.tsbuildinfo +++ /dev/null @@ -1 +0,0 @@ -{"fileNames":["../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.scripthost.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2025.float16.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.full.d.ts","./src/cli/index.ts","./src/config/systemprompt.ts","./src/config/toolprompt.ts","../../node_modules/.pnpm/dotenv@17.4.2/node_modules/dotenv/config.d.ts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/internal/builtin-types.d.mts","../../node_modules/.pnpm/node_modules/undici-types/utility.d.ts","../../node_modules/.pnpm/node_modules/undici-types/header.d.ts","../../node_modules/.pnpm/node_modules/undici-types/readable.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/globals.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/blob.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/console.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/crypto.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/domexception.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/encoding.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/events.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/index.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/fetch.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/importmeta.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/messaging.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/navigator.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/performance.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/storage.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/streams.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/timers.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/url.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/assert.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/assert/strict.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/async_hooks.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/buffer.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/child_process.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/cluster.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/console.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/constants.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/crypto.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/dgram.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/dns.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/dns/promises.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/domain.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/events.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/fs.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/fs/promises.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/http.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/http2.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/https.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/inspector.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/inspector.generated.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/inspector/promises.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/module.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/net.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/os.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/path.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/path/posix.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/path/win32.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/perf_hooks.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/process.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/punycode.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/querystring.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/quic.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/readline.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/readline/promises.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/repl.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/sea.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/sqlite.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/stream.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/stream/consumers.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/stream/promises.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/stream/web.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/string_decoder.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/test.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/test/reporters.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/timers.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/timers/promises.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/tls.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/trace_events.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/tty.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/url.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/util.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/util/types.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/v8.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/vm.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/wasi.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/worker_threads.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/zlib.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/index.d.ts","../../node_modules/.pnpm/node_modules/undici-types/fetch.d.ts","../../node_modules/.pnpm/node_modules/undici-types/formdata.d.ts","../../node_modules/.pnpm/node_modules/undici-types/connector.d.ts","../../node_modules/.pnpm/node_modules/undici-types/client-stats.d.ts","../../node_modules/.pnpm/node_modules/undici-types/client.d.ts","../../node_modules/.pnpm/node_modules/undici-types/errors.d.ts","../../node_modules/.pnpm/node_modules/undici-types/dispatcher.d.ts","../../node_modules/.pnpm/node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/.pnpm/node_modules/undici-types/global-origin.d.ts","../../node_modules/.pnpm/node_modules/undici-types/pool-stats.d.ts","../../node_modules/.pnpm/node_modules/undici-types/pool.d.ts","../../node_modules/.pnpm/node_modules/undici-types/handlers.d.ts","../../node_modules/.pnpm/node_modules/undici-types/balanced-pool.d.ts","../../node_modules/.pnpm/node_modules/undici-types/round-robin-pool.d.ts","../../node_modules/.pnpm/node_modules/undici-types/h2c-client.d.ts","../../node_modules/.pnpm/node_modules/undici-types/agent.d.ts","../../node_modules/.pnpm/node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/.pnpm/node_modules/undici-types/mock-call-history.d.ts","../../node_modules/.pnpm/node_modules/undici-types/mock-agent.d.ts","../../node_modules/.pnpm/node_modules/undici-types/mock-client.d.ts","../../node_modules/.pnpm/node_modules/undici-types/mock-pool.d.ts","../../node_modules/.pnpm/node_modules/undici-types/snapshot-agent.d.ts","../../node_modules/.pnpm/node_modules/undici-types/mock-errors.d.ts","../../node_modules/.pnpm/node_modules/undici-types/proxy-agent.d.ts","../../node_modules/.pnpm/node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/.pnpm/node_modules/undici-types/retry-handler.d.ts","../../node_modules/.pnpm/node_modules/undici-types/retry-agent.d.ts","../../node_modules/.pnpm/node_modules/undici-types/api.d.ts","../../node_modules/.pnpm/node_modules/undici-types/cache-interceptor.d.ts","../../node_modules/.pnpm/node_modules/undici-types/interceptors.d.ts","../../node_modules/.pnpm/node_modules/undici-types/util.d.ts","../../node_modules/.pnpm/node_modules/undici-types/cookies.d.ts","../../node_modules/.pnpm/node_modules/undici-types/patch.d.ts","../../node_modules/.pnpm/node_modules/undici-types/websocket.d.ts","../../node_modules/.pnpm/node_modules/undici-types/eventsource.d.ts","../../node_modules/.pnpm/node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/.pnpm/node_modules/undici-types/content-type.d.ts","../../node_modules/.pnpm/node_modules/undici-types/cache.d.ts","../../node_modules/.pnpm/node_modules/undici-types/index.d.ts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/internal/types.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/internal/headers.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/internal/shim-types.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/core/streaming.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/internal/request-options.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/internal/utils/log.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/shared.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/core/error.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/pagination.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/internal/parse.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/core/api-promise.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/core/pagination.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/auth/types.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/internal/uploads.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/internal/to-file.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/core/uploads.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/core/resource.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/completions.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/chat/completions/messages.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/chat/completions/index.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/chat/completions.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/error.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/lib/eventstream.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/lib/abstractchatcompletionrunner.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/lib/chatcompletionstream.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/lib/responsesparser.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/lib/responses/eventtypes.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/lib/responses/responsestream.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/responses/input-items.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/responses/input-tokens.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/responses/responses.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/lib/parser.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/lib/chatcompletionstreamingrunner.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/lib/jsonschema.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/lib/runnablefunction.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/lib/chatcompletionrunner.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/chat/completions/completions.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/chat/chat.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/chat/index.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/audio/speech.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/audio/transcriptions.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/audio/translations.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/audio/audio.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/batches.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/beta/threads/messages.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/beta/threads/runs/steps.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/lib/assistantstream.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/beta/threads/runs/runs.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/beta/threads/threads.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/beta/assistants.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/beta/realtime/sessions.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/beta/realtime/transcription-sessions.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/beta/realtime/realtime.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/beta/chatkit/threads.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/beta/chatkit/sessions.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/beta/chatkit/chatkit.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/beta/beta.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/containers/files/content.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/containers/files/files.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/containers/containers.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/conversations/items.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/conversations/conversations.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/embeddings.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/graders/grader-models.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/evals/runs/output-items.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/evals/runs/runs.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/evals/evals.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/files.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/fine-tuning/methods.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/fine-tuning/alpha/graders.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/fine-tuning/alpha/alpha.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/fine-tuning/checkpoints/permissions.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/fine-tuning/checkpoints/checkpoints.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/fine-tuning/jobs/checkpoints.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/fine-tuning/jobs/jobs.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/fine-tuning/fine-tuning.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/graders/graders.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/images.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/models.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/moderations.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/realtime/calls.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/realtime/client-secrets.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/realtime/realtime.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/skills/content.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/skills/versions/content.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/skills/versions/versions.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/skills/skills.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/uploads/parts.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/uploads/uploads.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/uploads.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/vector-stores/files.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/vector-stores/file-batches.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/vector-stores/vector-stores.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/videos.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/webhooks/webhooks.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/webhooks/index.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/webhooks.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/resources/index.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/client.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/azure.d.mts","../../node_modules/.pnpm/openai@6.34.0/node_modules/openai/index.d.mts","./src/core/llm.ts","./src/tools/listfiles.ts","./src/tools/readfile.ts","./src/tools/runcommand.ts","./src/tools/writefile.ts","./src/tools/index.ts","./src/core/loop.ts","./src/core/agent.ts","./src/core/context.ts","./src/core/test.ts","./src/prompt/context.ts","./src/prompt/error.ts","./src/prompt/plan.ts","./src/prompt/system.ts","./src/prompt/task.ts","./src/prompt/tool.ts","./src/types/agent.ts","./src/utils/json.ts","./src/utils/logger.ts","./src/web/server.ts","./src/web/routes/chat.ts"],"fileIdsList":[[64,83,84,86,94,98,101,103,104,105,117],[64,85,86,94,98,101,103,104,105,117],[86,94,98,101,103,104,105,117],[64,86,94,98,101,103,104,105,117,125],[64,86,87,92,94,97,98,101,103,104,105,107,117,122,134],[64,86,87,88,94,97,98,101,103,104,105,117],[64,86,94,98,101,103,104,105,117],[64,86,89,94,98,101,103,104,105,117,135],[64,86,90,91,94,98,101,103,104,105,108,117],[64,86,91,94,98,101,103,104,105,117,122,131],[64,86,92,94,97,98,101,103,104,105,107,117],[64,85,86,93,94,98,101,103,104,105,117],[64,86,94,95,98,101,103,104,105,117],[64,86,94,96,97,98,101,103,104,105,117],[64,85,86,94,97,98,101,103,104,105,117],[64,86,94,97,98,99,101,103,104,105,117,122,134],[64,86,94,97,98,99,101,103,104,105,117,122,125],[64,86,94,97,98,100,101,103,104,105,107,117,122,134,181],[64,86,94,97,98,100,101,103,104,105,107,117,122,131,134],[64,86,94,98,100,101,102,103,104,105,117,122,131,134],[62,63,64,65,66,67,68,69,70,71,72,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,138,139,140,141],[64,86,94,97,98,101,103,104,105,117],[64,86,94,98,101,103,105,117],[64,86,94,98,101,103,104,105,106,117,134],[64,86,94,97,98,101,103,104,105,107,117,122],[64,86,94,98,101,103,104,105,108,117],[64,86,94,98,101,103,104,105,109,117],[64,86,94,97,98,101,103,104,105,112,117],[64,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,138,139,140,141],[64,86,94,98,101,103,104,105,114,117],[64,86,94,98,101,103,104,105,115,117],[64,86,91,94,98,101,103,104,105,107,117,125],[64,86,94,97,98,101,103,104,105,117,118],[64,86,94,98,101,103,104,105,117,119,135,138],[64,86,94,97,98,101,103,104,105,117,122,124,125],[64,86,94,98,101,103,104,105,117,123,125],[64,86,94,98,101,103,104,105,117,125,135],[64,86,94,98,101,103,104,105,117,126],[64,83,86,94,98,101,103,104,105,117,122,128,134],[64,86,94,98,101,103,104,105,117,122,127],[64,86,94,97,98,101,103,104,105,117,129,130],[64,86,94,98,101,103,104,105,117,129,130],[64,86,91,94,98,101,103,104,105,107,117,122,131],[64,86,94,98,101,103,104,105,117,132],[64,86,94,98,101,103,104,105,107,117,133],[64,86,94,98,100,101,103,104,105,115,117,134],[64,86,94,98,101,103,104,105,117,135,136],[64,86,91,94,98,101,103,104,105,117,136],[64,86,94,98,101,103,104,105,117,122,137],[64,86,94,98,101,103,104,105,106,117,138],[64,86,94,98,101,103,104,105,117,139],[64,86,89,94,98,101,103,104,105,117],[64,86,91,94,98,101,103,104,105,117],[64,86,94,98,101,103,104,105,117,135],[64,86,94,98,101,103,104,105,117,181],[64,86,94,98,101,103,104,105,117,134],[64,86,94,98,101,103,104,105,117,140],[64,86,94,98,101,103,104,105,112,117],[64,86,94,98,101,103,104,105,117,130],[64,86,94,97,98,99,101,103,104,105,112,117,122,125,134,137,138,140,181],[64,86,94,98,101,103,104,105,117,122,141],[64,86,94,98,101,103,104,105,117,134,146,149,152,153],[64,86,94,98,101,103,104,105,117,122,134,149],[64,86,94,98,101,103,104,105,117,134,149,153],[64,86,94,98,101,103,104,105,117,122],[64,86,94,98,101,103,104,105,117,143],[64,86,94,98,101,103,104,105,117,147],[64,86,94,98,101,103,104,105,117,134,145,146,149],[64,86,94,98,101,103,104,105,107,117,131],[64,86,94,98,101,103,104,105,117,142],[64,86,94,98,101,103,104,105,117,142,143],[64,86,94,98,101,103,104,105,107,117,134,145,149],[59,60,61,64,86,94,97,98,101,103,104,105,117,122,134,144,148],[64,86,94,98,101,103,104,105,117,149,158,166],[60,64,86,94,98,101,103,104,105,117,147],[64,86,94,98,101,103,104,105,117,149,175,176],[60,64,86,94,98,101,103,104,105,117,125,134,142,144,149],[64,86,94,98,101,103,104,105,117,149],[64,86,94,98,101,103,104,105,117,134,145,149],[59,64,86,94,98,101,103,104,105,117],[64,86,94,98,101,103,104,105,117,143,144,145,147,148,149,150,151,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,176,177,178,179,180],[64,86,94,98,101,103,104,105,117,149,168,171],[64,86,94,98,101,103,104,105,117,149,158,159,160],[64,86,94,98,101,103,104,105,117,147,149,159,161],[64,86,94,98,101,103,104,105,117,148],[60,64,86,94,98,101,103,104,105,117,143,149],[64,86,94,98,101,103,104,105,117,149,153,159,161],[64,86,94,98,101,103,104,105,117,153],[64,86,94,98,101,103,104,105,117,134,147,149,152],[60,64,86,94,98,101,103,104,105,117,145,149,158],[64,86,94,98,101,103,104,105,117,149,168],[64,86,94,98,101,103,104,105,117,161],[64,86,94,98,101,103,104,105,117,125,140,142,143,149,175],[58,64,86,94,98,101,103,104,105,117,183,186,280],[58,64,86,94,98,101,103,104,105,117,182,183,186,187,189,192,193,194,197,199,212,218,219,224,225,238,241,243,244,248,249,257,258,259,260,261,264,268,270,274,275,276,279],[64,86,94,98,101,103,104,105,117,182,191,280],[64,86,94,98,101,103,104,105,117,188],[64,86,94,98,101,103,104,105,117,186,191,192,280],[64,86,94,98,101,103,104,105,117,280],[64,86,94,98,101,103,104,105,117,184,280],[64,86,94,98,101,103,104,105,117,195,196],[64,86,94,98,101,103,104,105,117,189],[64,86,94,98,101,103,104,105,117,189,192,193,197,280,281],[64,86,94,98,101,103,104,105,117,186,190,280],[58,64,86,94,98,101,103,104,105,117,182,183,185],[58,64,86,94,98,101,103,104,105,117],[58,64,86,94,98,101,103,104,105,117,186,280],[64,86,94,98,101,103,104,105,117,186,280],[64,86,94,98,101,103,104,105,117,186,199,202,204,214,216,217,282],[64,86,94,98,101,103,104,105,117,184,186,204,226,227,229,230,231],[64,86,94,98,101,103,104,105,117,202,205,213,216,282],[64,86,94,98,101,103,104,105,117,184,186,202,205,218,282],[64,86,94,98,101,103,104,105,117,184,202,205,206,213,216,282],[64,86,94,98,101,103,104,105,117,203],[64,86,94,98,101,103,104,105,117,188,202,212],[64,86,94,98,101,103,104,105,117,212],[64,86,94,98,101,103,104,105,117,186,204,207,208,212,282],[64,86,94,98,101,103,104,105,117,202,212,213],[64,86,94,98,101,103,104,105,117,214,215,217],[64,86,94,98,101,103,104,105,117,193],[64,86,94,98,101,103,104,105,117,198,221,222,223],[64,86,94,98,101,103,104,105,117,186,192,198],[64,86,94,98,101,103,104,105,117,185,186,192,197,198,222,224],[64,86,94,98,101,103,104,105,117,186,192,197,198,222,224],[64,86,94,98,101,103,104,105,117,186,188,192,193,198,225],[64,86,94,98,101,103,104,105,117,186,188,192,193,198,226,227,228,229,230],[64,86,94,98,101,103,104,105,117,198,230,231,234,237],[64,86,94,98,101,103,104,105,117,198,235,236],[64,86,94,98,101,103,104,105,117,186,192,198,235],[64,86,94,98,101,103,104,105,117,186,192,193,198,237],[64,86,94,98,101,103,104,105,117,188,198,232,233,234],[64,86,94,98,101,103,104,105,117,186,188,192,193,198,231],[64,86,94,98,101,103,104,105,117,185,186,188,192,193,198,226,227,228,229,230,231],[64,86,94,98,101,103,104,105,117,186,188,192,193,198,227],[64,86,94,98,101,103,104,105,117,185,186,188,192,198,226,228,229,230,231],[64,86,94,98,101,103,104,105,117,188,198,218],[64,86,94,98,101,103,104,105,117,201],[64,86,94,98,101,103,104,105,117,185,186,188,192,193,198,199,200,205,206,213,214,216,217,218],[64,86,94,98,101,103,104,105,117,200,218],[64,86,94,98,101,103,104,105,117,186,193,198,218],[64,86,94,98,101,103,104,105,117,201,219],[64,86,94,98,101,103,104,105,117,185,186,192,198,199,218],[64,86,94,98,101,103,104,105,117,186,192,193,198,212,240],[64,86,94,98,101,103,104,105,117,186,192,193,197,198,239],[64,86,94,98,101,103,104,105,117,186,188,192,198,212,242],[64,86,94,98,101,103,104,105,117,186,192,193,198,212,243],[64,86,94,98,101,103,104,105,117,186,188,192,193,198,212,245,247],[64,86,94,98,101,103,104,105,117,186,192,193,198,247],[64,86,94,98,101,103,104,105,117,186,188,192,193,198,212,218,245,246],[64,86,94,98,101,103,104,105,117,186,192,193,197,198],[64,86,94,98,101,103,104,105,117,198,251],[64,86,94,98,101,103,104,105,117,186,192,198,245],[64,86,94,98,101,103,104,105,117,198,253],[64,86,94,98,101,103,104,105,117,186,192,193,198],[64,86,94,98,101,103,104,105,117,198,250,252,254,256],[64,86,94,98,101,103,104,105,117,186,193,198],[64,86,94,98,101,103,104,105,117,186,188,192,193,198,250,255],[64,86,94,98,101,103,104,105,117,198,245],[64,86,94,98,101,103,104,105,117,188,198,212,245],[64,86,94,98,101,103,104,105,117,185,186,192,197,198,259],[64,86,94,98,101,103,104,105,117,188,199,212,220,224,225,238,241,243,244,248,249,257,258,259,260,261,264,268,270,274,275,278],[64,86,94,98,101,103,104,105,117,186,192,198,212,264],[64,86,94,98,101,103,104,105,117,186,192,198,212,263,264],[64,86,94,98,101,103,104,105,117,188,198,212,262,263,264],[64,86,94,98,101,103,104,105,117,186,193,198,212],[64,86,94,98,101,103,104,105,117,186,188,192,198,212],[64,86,94,98,101,103,104,105,117,185,186,188,192,193,198,207,209,210,211,212],[64,86,94,98,101,103,104,105,117,186,192,193,197,198,265,267],[64,86,94,98,101,103,104,105,117,186,192,193,197,198,266],[64,86,94,98,101,103,104,105,117,186,192,197,198],[64,86,94,98,101,103,104,105,117,186,192,198,249,269],[64,86,94,98,101,103,104,105,117,186,192,193,198,271,272,274],[64,86,94,98,101,103,104,105,117,186,192,193,198,271,274],[64,86,94,98,101,103,104,105,117,186,188,192,193,198,272,273],[64,86,94,98,101,103,104,105,117,277],[64,86,94,98,101,103,104,105,117,276],[64,86,94,98,101,103,104,105,117,183,198],[64,86,94,98,101,103,104,105,117,197],[55,56,64,86,94,98,101,103,104,105,117,127,283,288,289],[57,64,86,94,98,101,103,104,105,117,282],[55,56,64,86,94,98,101,103,104,105,117,283,288],[64,86,94,98,101,103,104,105,117,283],[64,86,94,98,101,103,104,105,117,284,285,286,287]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"2a2de5b9459b3fc44decd9ce6100b72f1b002ef523126c1d3d8b2a4a63d74d78","affectsGlobalScope":true,"impliedFormat":1},{"version":"f13f4b465c99041e912db5c44129a94588e1aafee35a50eab51044833f50b4ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"577cc49be1979782a5a695b46049566d123e2a75382f10bb82f2e5c87e29059a","impliedFormat":1},"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",{"version":"e6f88e0dad9031057916e545d7ad149ba59ccefd99ecf01ab769e4d5575bc59f","signature":"c6ba440fb5f1e7e8d65ffd7840067a9eb67f734115afc3b6681ad9c4d0ff2443"},{"version":"5754ec4ee370938a46b80cb8a225d383b9bcd1309a4a87717108e4f971896a5f","signature":"b4d1462c7200c439fa9002be20d37208f9ff38d5b826e783993ed243033a3004"},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"86d4ff8ba66b5ea1df375fe6092d2b167682ccd5dd0d9b003a7d30d95a0cda32","impliedFormat":99},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc2110f7decca6bfb9392e30421cfa1436479e4a6756e8fec6cbc22625d4f881","affectsGlobalScope":true,"impliedFormat":1},{"version":"096116f8fedc1765d5bd6ef360c257b4a9048e5415054b3bf3c41b07f8951b0b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"c9381908473a1c92cb8c516b184e75f4d226dad95c3a85a5af35f670064d9a2f","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a93de4ff8a63bafe62ba86b89af1df0ccb5e40bb85b0c67d6bbcfdcf96bf3d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"d2ae155afe8a01cc0ae612d99117cf8ef16692ba7c4366590156fdec1bcf2d8c","impliedFormat":1},{"version":"3f5e5d9be35913db9fea42a63f3df0b7e3c8703b97670a2125587b4dbbd56d7c","impliedFormat":1},{"version":"8caeb65fdc3bfe0d13f86f67324fcb2d858ed1c55f1f0cce892eb1acfb9f3239","impliedFormat":1},{"version":"57c23df0b5f7a8e26363a3849b0bc7763f6b241207157c8e40089d1df4116f35","affectsGlobalScope":true,"impliedFormat":1},{"version":"3b8bc0c17b54081b0878673989216229e575d67a10874e84566a21025a2461ee","impliedFormat":1},{"version":"5b0db5a58b73498792a29bfebc333438e61906fef75da898b410e24e52229e6f","impliedFormat":1},{"version":"dbe055b2b29a7bab2c1ca8f259436306adb43f469dca7e639a02cd3695d3f621","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"e3905f6902f0b69e5eefc230daa69fdd4ab707a973ec2d086d65af1b3ea47ef0","impliedFormat":1},{"version":"2ea729503db9793f2691162fec3dd1118cab62e96d025f8eeb376d43ec293395","impliedFormat":1},{"version":"9ec87fea42b92894b0f209931a880789d43c3397d09dd99c631ae40a2f7071d1","impliedFormat":1},{"version":"c68e88cdfadfb6c8ba5fc38e58a3a166b0beae77b1f05b7d921150a32a5ffb8d","impliedFormat":1},{"version":"2bc7aa4fba46df0bd495425a7c8201437a7d465f83854fac859df2d67f664df3","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"07e4e61e946a9c15045539ecd5f5d2d02e7aab6fa82567826857e09cf0f37c2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c4714ccc29149efb8777a1da0b04b8d2258f5d13ddbf4cd3c3d361fb531ac86","impliedFormat":1},{"version":"3ff275f84f89f8a7c0543da838f9da9614201abc4ce74c533029825adfb4433d","impliedFormat":1},{"version":"0eb5d0cbf09de5d34542b977fd6a933bb2e0817bffe8e1a541b2f1ad1b9af1ff","impliedFormat":1},{"version":"f9713757bcdfa4d58b48c0fb249e752c94a3eee8bf4532b906094246ac49ef88","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"c32c840c62d8bd7aeb3147aa6754cd2d922b990a6b6634530cb2ebdce5adc8e9","impliedFormat":1},{"version":"e1c1a0b4d1ead0de9eca52203aeb1f771f21e6238d6fcd15aa56ac2a02f1b7bf","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"6fe28249ac0c7bc19a79aa9264baf00efbd080e868dbe1d3052033ad1c64f206","affectsGlobalScope":true,"impliedFormat":1},{"version":"cbed824fec91efefc7bbdcb8b43d1a531fdbebd0e2ef19481501ff365a93cb70","impliedFormat":1},{"version":"d0716593b3f2b0451bcf0c24cfa86dec2235c325c89f201934248b7c742715fc","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"2991bca2cc0f0628a278df2a2ccdb8d6cbcb700f3761abbed62bba137d5b1790","impliedFormat":1},{"version":"ce8653341224f8b45ff46d2a06f2cacb96f841f768a886c9d8dd8ec0878b11bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"a74edb3bab7394a9dbde529d60632be590def2f5f01024dbd85441587fbfbbe0","impliedFormat":1},{"version":"0ea59f7d3e51440baa64f429253759b106cfcbaf51e474cae606e02265b37cf8","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"00049ccc87f3f37726db03c01ca68fe74fd9c0109b68c29eb9923ebec2c76b13","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"68d3f35108e2608b1f2f28b36d19d7055f31c4465cc5692cbd06c716a9fe7973","impliedFormat":1},{"version":"a6d543044570fbeed13a7f9925a868081cd2b14ef59cdd9da6ae76d41cab03d3","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"f1c93e046fb3d9b7f8249629f4b63dc068dd839b824dd0aa39a5e68476dc9420","impliedFormat":1},{"version":"eab2f3179607acb3d44b2db2a76dd7d621c5039b145dc160a1ee733963f9d2f5","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"6f5383b3df1cdf4ff1aa7fb0850f77042b5786b5e65ec9a9b6be56ebfe4d9036","impliedFormat":1},{"version":"62fc21ed9ccbd83bd1166de277a4b5daaa8d15b5fa614c75610d20f3b73fba87","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"9d3821bc75c59577e52643324cec92fc2145642e8d17cf7ee07a3181f21d985d","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"201db9cf1687fab1adf5282fcba861f382b32303dc4f67c89d59655e78a25461","impliedFormat":1},{"version":"c77fb31bc17fd241d3922a9f88c59e3361cdf76d1328ba9412fc6bf7310b638d","impliedFormat":1},{"version":"0a20eaf2e4b1e3c1e1f87f7bccb0c936375b23b022baeea750519b7c9bc6ce83","impliedFormat":1},{"version":"b484ec11ba00e3a2235562a41898d55372ccabe607986c6fa4f4aba72093749f","impliedFormat":1},{"version":"a16b91b27bd6b706c687c88cbc8a7d4ee98e5ed6043026d6b84bda923c0aed67","impliedFormat":1},{"version":"694b812e0ed11285e8822cf8131e3ce7083a500b3b1d185fff9ed1089677bd0a","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"6eeded8c7e352be6e0efb83f4935ec752513c4d22043b52522b90849a49a3a11","impliedFormat":1},{"version":"6c1ad90050ffbb151cacc68e2d06ea1a26a945659391e32651f5d42b86fd7f2c","impliedFormat":1},{"version":"55cdbeebe76a1fa18bbd7e7bf73350a2173926bd3085bb050cf5a5397025ee4e","impliedFormat":1},{"version":"10ec5e82144dfac6f04fa5d1d6c11763b3e4dbbac6d99101427219ab3e2ae887","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"074de5b2fdead0165a2757e3aaef20f27a6347b1c36adea27d51456795b37682","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"4137ebf04166f3a325f056aa56101adc75e9dceb30404a1844eb8604d89770e2","impliedFormat":1},{"version":"ccab02f3920fc75c01174c47fcf67882a11daf16baf9e81701d0a94636e94556","impliedFormat":1},{"version":"3e11fce78ad8c0e1d1db4ba5f0652285509be3acdd519529bc8fcef85f7dafd9","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"9c32412007b5662fd34a8eb04292fb5314ec370d7016d1c2fb8aa193c807fe22","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"6ebe8ebb8659aaa9d1acbf3710d7dae3e923e97610238b9511c25dc39023a166","impliedFormat":1},{"version":"e85d7f8068f6a26710bff0cc8c0fc5e47f71089c3780fbede05857331d2ddec9","impliedFormat":1},{"version":"7befaf0e76b5671be1d47b77fcc65f2b0aad91cc26529df1904f4a7c46d216e9","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":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"1cc2a09e1a61a5222d4174ab358a9f9de5e906afe79dbf7363d871a7edda3955","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"b64d4d1c5f877f9c666e98e833f0205edb9384acc46e98a1fef344f64d6aba44","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"c9381908473a1c92cb8c516b184e75f4d226dad95c3a85a5af35f670064d9a2f","impliedFormat":1},{"version":"dbab1950ef4bf06f44795b144026a352a7b4a3a68a969bbf32eb55addd0fb95a","impliedFormat":99},{"version":"2b5368217b57528a60433558585186a925d9842fe64c1262adde8eac5cb8de33","impliedFormat":99},{"version":"e22273698b7aad4352f0eb3c981d510b5cf6b17fde2eeaa5c018bb065d15558f","impliedFormat":99},{"version":"0249cc57fb4f04fcc725481b5f273fe4a18d943e108724b216c762aaf311c255","impliedFormat":99},{"version":"e0c6b7c3e925dc19d45c27f88d493b40d3ea97f9363ca2acd33596081c579ed3","impliedFormat":99},{"version":"91c093343733c2c2d40bee28dc793eff3071af0cb53897651f8459ad25ad01da","impliedFormat":99},{"version":"6cc2be65d508f5404dae184fbe1bc5fc6287f2af93195feba921e619721f56a0","impliedFormat":99},{"version":"17c51065e7822de999ed5ff702aead6057c172067e485e8ffe9721bfe5010f0a","impliedFormat":99},{"version":"e1c58879ba7cfcb2a70f4ec69831f48eef47b7a356f15ab9f4fce03942d9f21a","impliedFormat":99},{"version":"f4fc36916b3eac2ea0180532b46283808604e4b6ff11e5031494d05aa6661cc6","impliedFormat":99},{"version":"82e23a5d9f36ccdac5322227cd970a545b8c23179f2035388a1524f82f96d8d0","impliedFormat":99},{"version":"c52e8203e4cc8ddd3ffa75197673942e80e3ff4b3bffa962588363e872cb9922","impliedFormat":99},{"version":"a5f2b5cdf86179d9d6ddfbc3a7e88d5253949a0ac8df3f7085f4a02e843f85a6","impliedFormat":99},{"version":"bfce32506c0d081212ff9d27ec466fa6135a695ba61d5a02738abd2442566231","impliedFormat":99},{"version":"ddaf5d3ddc45282b19fb0fecec91c87fc9b4d1f45c2ee611677345c81383c5c5","impliedFormat":99},{"version":"5668033966c8247576fc316629df131d6175d24ccf22940324c19c159671e1c1","impliedFormat":99},{"version":"493c39c5f9e9c050c10930448fda1be8de10a0d9b34dcd24ff17a1713c282162","impliedFormat":99},{"version":"fab630fcff210cedbe0d01eabae9020ecc96b549aa4ebd831a0bbcd0cdd877a7","impliedFormat":99},{"version":"73e4673f2da8677556210e5a127b2637bf030ab73da222ea2a19979f89d9d40a","impliedFormat":99},{"version":"dbf3d90c21c08217509df631336881a3105740033b0592dcc47036490f95e51c","impliedFormat":99},{"version":"e6ad9376e7d088ce1dc6d3183ba5f0b3fb67ee586aa824cc8519b52f2341307a","impliedFormat":99},{"version":"50cf14b8f0fc2722c11794ca2a06565b1f29e266491da75c745894960ebbce06","impliedFormat":99},{"version":"d62b09cb6f1ceb87ec6c26f3789bc38f8be9fb0ce3126fd0bf89b003d0cba371","impliedFormat":99},{"version":"e9d27f2b7d5171f512053f153cadc303d1b84d00c98e917664ba68eca9b7af6a","impliedFormat":99},{"version":"4899d2cf406cd68748c5d536b736c90339a39f996945126d8a11355eba5f56f3","impliedFormat":99},{"version":"491d5f012b1de793c45e75a930f5cdef1ff0e7875968e743fa6bd5dd7d31cb3b","impliedFormat":99},{"version":"53c86b81daa463deacb0046fee490b6d589438ac71311050b74dcee99afca0f6","impliedFormat":99},{"version":"70587241a4cc2e08ffc30e60c20f3eb38bd5af7e3d99640568ffe2993f933485","impliedFormat":99},{"version":"dd01943d0fe191b3b2020438367709333ff08a69d285e2f715a60711dcf83b61","impliedFormat":99},{"version":"0fd62a655321190c1db6237bd2dce50370712ed9115fcf27c04f81b76740a101","impliedFormat":99},{"version":"9d2d423bcfeccccf647b721242a2deca24dd08b4af50de64261c11210e4dc091","impliedFormat":99},{"version":"b6ff37737d006b86082f2f7176eb0a771001e9dde9152a26ef9ea8fd80e6eba0","impliedFormat":99},{"version":"29c4e9ce50026f15c4e58637d8668ced90f82ce7605ca2fd7b521667caa4a12c","impliedFormat":99},{"version":"8575340c8560a52c3309956add745660ad319dbd67309fa268f5af9b1c7551f5","impliedFormat":99},{"version":"3b56bc74e48ec8704af54db1f6ecfee746297ee344b12e990ba5f406431014c1","impliedFormat":99},{"version":"9e4991da8b398fa3ee9b889b272b4fe3c21e898d873916b89c641c0717caed10","impliedFormat":99},{"version":"581813cd18463afea0b92ec77b94c7df71e29c9d9046da829bb76488497183cf","impliedFormat":99},{"version":"7630b6a1c0ebaec2ef8e8abff850e1d6c551c47d1c345340a8ab95667460fc95","impliedFormat":99},{"version":"597b0a9ef02a28f5b1195305ec9f20a4f9948bd90ec3291d0343d1e5c0b4bd16","impliedFormat":99},{"version":"5fa235daeefc7cabde6e68cc0cdd1b9028a6414cfc7f636d62f1e34b64ca12d8","impliedFormat":99},{"version":"f9bf95954745207c3a305a59f3a8f7e36290c742d006d1ce447a41dc772ba3c3","impliedFormat":99},{"version":"732e1c24c3f5a76e61b075bfee7d2b3e5714d4960f8587b0cf989e7e151dc1ea","impliedFormat":99},{"version":"4cc5c2fb807317de6f88edae5cc2b24b705cdce764bbc1cc23aeec15d91a7a49","impliedFormat":99},{"version":"53cae4e7f0a5716f296870e5eef84af8832d5700b23ff79f349c0d1b4aa40d25","impliedFormat":99},{"version":"775e97f58cc774218eb4e979ff7f73b2fb4d958521df4707ae382b32fce5f55b","impliedFormat":99},{"version":"d93588a85b0b0eef4e6ab906fa37caa21efa1d30647aef292567c078b2e3a0a9","impliedFormat":99},{"version":"4a5d9348012a3e46c03888e71b0d318cda7e7db25869731375f90edad8dcea02","impliedFormat":99},{"version":"61b3add3d48dfc79324531ede7da59203059a62986070f97645a83acd3f20aa0","impliedFormat":99},{"version":"6cd8356a92fd9f1edcbfbd3b891f50228738522e79bfdad16e7fb7cfd4a66932","impliedFormat":99},{"version":"347efb60859c806ef954a67ee7520c9aa33e1881eedd40d236298af775deef50","impliedFormat":99},{"version":"fc391876e409d362cc43a7468226a9eb83440de09873b284bf09fbfb261ec259","impliedFormat":99},{"version":"d06f5012d5ac1bc25c5033f7e916fe42cc0253d6b523b9747809b71676069370","impliedFormat":99},{"version":"5d35840bd540fad886e21ddaf9b078a44c21a827dec9abc08d2d2c1a3ff27d44","impliedFormat":99},{"version":"a02182b20bcb1966fc15eac80506f617b71fdd0e279ccff44b27f2ee366b2823","impliedFormat":99},{"version":"32563899782c456f03cadc7a9508b9b6468dd678404b093bd7557d6c6e143218","impliedFormat":99},{"version":"f613a93e0685802f7f7e248156ae93ff9088d45abeff0b21b656520699b79f06","impliedFormat":99},{"version":"5471b59fcb6ad04c41f6bf57075e88f3094d9d498e51595b4341d8bfcb729bf5","impliedFormat":99},{"version":"4ecb0eb653de7093f2eb589cea5b35fdea6e2bbd62bc3d9fafdc5702850f7714","impliedFormat":99},{"version":"69ed52603ad6430aaffbc9dec25e0d01df733aaa32ab4d57d37987aedc94c349","impliedFormat":99},{"version":"6f8acb191da449d8dbec7a4e9c317bdb6b8af104a60a101950643ea52cfa3c85","impliedFormat":99},{"version":"e3457d3b62587043847ad1860500e5d888cba15eab52408d97604eda034c60ea","impliedFormat":99},{"version":"8bba80ef1e0e9ae8c061728626309824023e85eaafcd8c285a6fa89dc6881573","impliedFormat":99},{"version":"ada6bd808581a783390b1aabc2cc836136a5d214af0d924cc57d9f29b5733ce9","impliedFormat":99},{"version":"283336202f1a6a4e13271dc83b776718cf5d4a4137b28e2d013498e3020f7170","impliedFormat":99},{"version":"54a6a3e98b7ec00fec7bd7e42ad50c16014805576ccbe33bfee04f0aac9965da","impliedFormat":99},{"version":"7c90a7108c4319b0475d5419d52f2a2c9bf499234a2a15d5b8504983e141041b","impliedFormat":99},{"version":"67fc5d1b6877a799de1e3943ed2c3669b72a6ab3b17c7b0b0387bdd6e4c1a01f","impliedFormat":99},{"version":"616853ab33cb388421a5d5188e6e2d4b4e8db3f09474baa6a3665707009fe9cf","impliedFormat":99},{"version":"953ee863def1b11f321dcb17a7a91686aa582e69dd4ec370e9e33fbad2adcfd3","impliedFormat":99},{"version":"392e72d77ae33ee322d5b0b907398f2200f72d36adaca1ca62dfa7e22f744ac3","impliedFormat":99},{"version":"e452b617664fc3d2db96f64ef3addadb8c1ef275eff7946373528b1d6c86a217","impliedFormat":99},{"version":"c6a811837fef3d4ba22e7e4adcb16f12caf30252047b133404d698bf8f0e883a","impliedFormat":99},{"version":"2f722a3a421baf9a7c175d8ae6a3118dfd14c5f36474e03f99e3df5800065030","impliedFormat":99},{"version":"f9511d2a891b0a017ae31674977b053f42ca7221dedd012f6de6f75e7cb9aa3e","impliedFormat":99},{"version":"d8f262b549f3ed95402297d10b84f0f86e3113d6d570b03364d2cfca1f75e5d8","impliedFormat":99},{"version":"f216cb46ebeff3f767183626f70d18242307b2c3aab203841ae1d309277aad6b","impliedFormat":99},{"version":"d6d95f96dd5b374484fd000228288cbcfb80aa47cb74ebd3e19ea94a36e8260a","impliedFormat":99},{"version":"6138274c82c329cda440779d37dc66f5fb92713bfda1c5a8fc95785f64a6315f","impliedFormat":99},{"version":"92fb8aa5d61dca9ab2008d49397a639dbf71c7746da23c02245523cfec4a99ef","impliedFormat":99},{"version":"9e6cd6dc690d6e6c89b17b295cabf8a5a08011ae79a7a56578a429e5ae27b8dc","impliedFormat":99},{"version":"edf5cdeb6808ff038b8b6d83cbc5d2d1da1d3eade25db1db21b6244349a56529","impliedFormat":99},{"version":"c3602ad632c6df7653f19a531d683b50ffa6d1846d28ac5a6112c582e1067988","impliedFormat":99},{"version":"eb346e4ce0c2912e148d88955944bc54eaf28e4dcf88fec2c20e0002346f0588","impliedFormat":99},{"version":"58c5a2a520ae555e0573873a5e6303b0f1a1e70f3b376e5ac9094eaad0623d8a","impliedFormat":99},{"version":"5f8217240c95e3f3007d9968104904616287f30d853bac73874759c1dfad4017","impliedFormat":99},{"version":"7ebc96af203f866e829b528e5cffb32111a1a1ff4662bc60c3b53696e89c67f4","impliedFormat":99},{"version":"9f5ee7c037b58964c1cee63c1849fa11757f693208444be0f2d9f08defe859cd","impliedFormat":99},{"version":"33a4085365aa21a995ea4721ffff814128b126e8e346e5f064d87bfcdd0ff7ce","impliedFormat":99},{"version":"3adf214b4b307152af85b77e441d36ede388dadba2bd9962671bf933738d2a25","impliedFormat":99},{"version":"afad82addd1d9ee6e361606205bbda03e97cb3850f948e53fdbb82f160dc43c7","impliedFormat":99},{"version":"250998ae18ea49b8745d327e7739f56464a4318783129daab90b3299bf6f8a55","impliedFormat":99},{"version":"76b3afd1f2748ff725c277bd4701f442af697c0586e1b491e6a67383a246ffad","impliedFormat":99},{"version":"4df5fc6fc2438b8e3418cb25c8c0e863d1f92e4470297d6a8756394c597af844","impliedFormat":99},{"version":"92b5f0879161f1206e30a0c219dd8f23d736f2a74a4e015885e8e3f3b3c9a3e7","impliedFormat":99},{"version":"374d12016302e312ffccd3d38e6f3df1b412378bff6e6266f3e5844af450859c","impliedFormat":99},{"version":"18d0c2293aa57e33923fc1b10970650c6d6932dbfa711a3ffd67600b3caf924b","impliedFormat":99},{"version":"17758b72f880ed66754e3ff4aeade0b82417ec546b72bf3a326cadf4e56c1915","impliedFormat":99},{"version":"3df2d8d345edf29c4e0f5bb6f1b35b8008c626dc6b5f0f98cdfd5587e13c5a52","impliedFormat":99},{"version":"6452f7fccb7d729fafdd9db0b1b0fb98d772504de2fa302751e7bc4164ee75c0","impliedFormat":99},{"version":"a57f8d7e5531fdaf0e2dbb17103ba14ec6c189e92da17e9e22a73ccc77323581","impliedFormat":99},{"version":"3a8a0433d438dcfebf5589921a8ef2490c54d37f8e4832d9a06a488e6b922bc1","impliedFormat":99},{"version":"ab0775ad296645266623f3aae51f21805484f1732afe4a41b059ab5c227ba5cd","signature":"f1b48ea447b8c0313762621c0994b100ef4bc2a98959d474a6b0d8ffc27be55d"},{"version":"6557c272af6fe6f0311ea710255a7d19eb5213b7782fccf9c537f4b09fc77b4a","signature":"902baf3bb90158c2cf354cc1126250bc0cf7b7e0217e5b6f686f873c7845870f"},{"version":"baccfdc1dfbd356ea3a755ea8b2850691f0c0231a33345a1c085973ee2d6f52f","signature":"d31b5720729020c1e5a0fac8366cc8e6fb1e620830f97c5270e107a2af687624"},{"version":"c5c1f68799fdf74bc0d7e7cf7a224369e3fc84b7ed667adb6e3e9bf9fcdf81fa","signature":"3b1549de3c2d945488f3637105bd37e420ff80bed082ab0e5327af62fa6c4ce4"},{"version":"de5f3d88d188d28e892eff41797da96dfbc9fce7ac0f4fdab0f89855dc0c6e20","signature":"3966d572e6007c822c5567fe204774d50250739d8a5991d7c37d89da5df963c7"},{"version":"11279582115f3046a7a901f28c7041db25311f4a39bded2933230d7d81cc2a93","signature":"76a31822bf07eac317b9b6f4be52580d4b95e74c8af6103c35f49cbc66c13d94"},{"version":"c484784c9725d77973b755298fc5c416092e5881eb712cfcd658d8f4d96c8bce","signature":"dacafe8b6c1bc9cee9edf57b83064e4fb0e799224dd7f1bc3517a0134baa9558"},{"version":"9e034e7ef6b8dde76f18cdd18041f379afe792e6cb3db39633054f025dec216a","signature":"f7eb160ca62e6cd5b84cf90453c906d8e922fd853562172ce9fe8cce91e72fa0"},"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",{"version":"e30ba1e2970457434627a906a11bafe09eef545cf3f362e0bcf7e1971eddd2b2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",{"version":"dae4a82016a6cbe2ff1d10d5f35de2e3867ea463f33f0b9ccbefc79723f50a2d","signature":"a1bada7dd0ee741c48b1887385d5e4e5aafa06937971b5e368a6cce4b1d7627e"},"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",{"version":"ddc8a3ed1e55ca42fecf6a14e5463f8a24975ca58bfb2a55e46e7b10fe948fe4","signature":"6433f43970c0e1ce3d2039a1967bdcab97e95971fc81629c5f9868f3e74a4b71"},"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"],"root":[[54,56],[283,303]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"module":99,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"strict":true,"target":7},"referencedMap":[[83,1],[84,1],[85,2],[64,3],[86,4],[87,5],[88,6],[62,7],[89,8],[90,9],[91,10],[92,11],[93,12],[94,13],[95,13],[96,14],[97,15],[98,16],[99,17],[65,7],[63,7],[100,18],[101,19],[102,20],[142,21],[103,22],[104,23],[105,22],[106,24],[107,25],[108,26],[109,27],[110,27],[111,27],[112,28],[113,29],[114,30],[115,31],[116,32],[117,33],[118,33],[119,34],[120,7],[121,7],[122,35],[123,36],[124,35],[125,37],[126,38],[127,39],[128,40],[129,41],[130,42],[131,43],[132,44],[133,45],[134,46],[135,47],[136,48],[137,49],[138,50],[139,51],[66,22],[67,7],[68,52],[69,53],[70,7],[71,54],[72,7],[74,55],[75,56],[76,57],[77,57],[78,58],[79,7],[80,4],[81,59],[82,56],[140,60],[141,61],[57,7],[158,62],[170,63],[155,64],[171,65],[180,66],[146,67],[147,68],[145,69],[179,70],[174,71],[178,72],[149,73],[167,74],[148,75],[177,76],[143,77],[144,71],[150,78],[151,7],[157,79],[154,78],[60,80],[181,81],[172,82],[161,83],[160,78],[162,84],[165,85],[159,86],[163,87],[175,70],[152,88],[153,89],[166,90],[61,65],[169,91],[168,78],[156,89],[164,92],[173,7],[59,7],[176,93],[194,7],[281,94],[280,95],[192,96],[189,97],[193,98],[198,99],[185,100],[197,101],[203,102],[282,103],[58,7],[183,7],[191,104],[186,105],[184,4],[196,106],[182,55],[195,107],[187,108],[205,109],[228,110],[217,111],[206,112],[214,113],[204,114],[215,7],[213,115],[208,116],[209,117],[207,118],[216,119],[190,120],[224,121],[221,122],[222,123],[223,124],[225,125],[231,126],[238,127],[237,128],[236,129],[235,130],[234,131],[232,122],[233,122],[226,132],[229,133],[227,134],[230,135],[219,136],[202,137],[218,138],[201,139],[200,140],[220,141],[199,142],[241,143],[239,122],[240,144],[243,145],[242,146],[244,122],[248,147],[246,148],[247,149],[249,150],[252,151],[251,152],[254,153],[253,154],[257,155],[255,156],[256,157],[250,158],[245,159],[258,158],[259,160],[279,161],[260,154],[261,122],[262,162],[263,163],[264,164],[210,165],[211,166],[212,167],[188,7],[265,122],[268,168],[266,122],[267,169],[269,170],[270,171],[273,172],[272,173],[274,174],[275,150],[278,175],[277,176],[276,177],[271,178],[51,7],[52,7],[10,7],[8,7],[9,7],[14,7],[13,7],[2,7],[15,7],[16,7],[17,7],[18,7],[19,7],[20,7],[21,7],[22,7],[3,7],[23,7],[24,7],[4,7],[25,7],[29,7],[26,7],[27,7],[28,7],[30,7],[31,7],[32,7],[5,7],[33,7],[34,7],[35,7],[36,7],[6,7],[40,7],[37,7],[38,7],[39,7],[41,7],[7,7],[42,7],[53,7],[47,7],[48,7],[43,7],[44,7],[45,7],[46,7],[49,7],[1,7],[50,7],[12,7],[11,7],[73,81],[54,7],[55,7],[56,7],[290,179],[291,7],[283,180],[289,181],[292,182],[293,7],[294,7],[295,7],[296,7],[297,7],[298,7],[288,183],[284,7],[285,7],[286,7],[287,7],[299,7],[300,7],[301,7],[303,7],[302,7]],"affectedFilesPendingEmit":[[54,17],[55,17],[56,17],[290,17],[291,17],[283,17],[289,17],[292,17],[293,17],[294,17],[295,17],[296,17],[297,17],[298,17],[288,17],[284,17],[285,17],[286,17],[287,17],[299,17],[300,17],[301,17],[303,17],[302,17]],"emitSignatures":[54,55,56,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303],"version":"6.0.3"} \ No newline at end of file diff --git a/packages/session-sqlite/tsconfig.tsbuildinfo b/packages/session-sqlite/tsconfig.tsbuildinfo deleted file mode 100644 index 2f3ddcb..0000000 --- a/packages/session-sqlite/tsconfig.tsbuildinfo +++ /dev/null @@ -1 +0,0 @@ -{"fileNames":["../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.scripthost.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2025.float16.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.full.d.ts","../../node_modules/.pnpm/@types+react@19.2.18/node_modules/@types/react/global.d.ts","../../node_modules/.pnpm/csstype@3.2.3/node_modules/csstype/index.d.ts","../../node_modules/.pnpm/@types+react@19.2.18/node_modules/@types/react/index.d.ts","../../node_modules/.pnpm/@types+react@19.2.18/node_modules/@types/react/jsx-runtime.d.ts","./src/schema.ts","./src/types.ts","./src/store.ts","./src/index.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/globals.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/blob.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/console.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/crypto.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/domexception.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/encoding.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/events.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/utility.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/header.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/readable.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/fetch.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/formdata.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/connector.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/client-stats.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/client.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/errors.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/dispatcher.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/global-origin.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/pool-stats.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/pool.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/handlers.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/balanced-pool.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/round-robin-pool.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/h2c-client.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-call-history.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-client.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-pool.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/snapshot-agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/mock-errors.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/socks5-proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/retry-handler.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/retry-agent.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/api.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/cache-interceptor.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/interceptors.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/util.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/cookies.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/patch.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/websocket.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/eventsource.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/content-type.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/cache.d.ts","../../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/index.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/fetch.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/importmeta.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/messaging.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/navigator.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/performance.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/storage.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/streams.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/timers.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/web-globals/url.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/assert.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/assert/strict.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/async_hooks.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/buffer.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/child_process.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/cluster.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/console.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/constants.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/crypto.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/dgram.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/dns.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/dns/promises.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/domain.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/events.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/fs.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/fs/promises.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/http.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/http2.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/https.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/inspector.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/inspector.generated.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/inspector/promises.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/module.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/net.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/os.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/path.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/path/posix.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/path/win32.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/perf_hooks.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/process.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/punycode.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/querystring.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/quic.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/readline.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/readline/promises.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/repl.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/sea.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/sqlite.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/stream.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/stream/consumers.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/stream/iter.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/stream/promises.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/stream/web.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/string_decoder.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/test.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/test/reporters.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/timers.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/timers/promises.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/tls.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/trace_events.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/tty.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/url.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/util.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/util/types.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/v8.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/vm.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/wasi.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/worker_threads.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/zlib.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/zlib/iter.d.ts","../../node_modules/.pnpm/@types+node@25.9.5/node_modules/@types/node/index.d.ts"],"fileIdsList":[[64,125,126,128,136,140,143,145,146,147,159],[64,127,128,136,140,143,145,146,147,159],[128,136,140,143,145,146,147,159],[64,128,136,140,143,145,146,147,159,168],[64,128,129,134,136,139,140,143,145,146,147,149,159,164,177],[64,128,129,130,136,139,140,143,145,146,147,159],[64,128,136,140,143,145,146,147,159],[64,128,131,136,140,143,145,146,147,159,178],[64,128,132,133,136,140,143,145,146,147,150,159],[64,128,133,136,140,143,145,146,147,159,164,174],[64,128,134,136,139,140,143,145,146,147,149,159],[64,127,128,135,136,140,143,145,146,147,159],[64,128,136,137,140,143,145,146,147,159],[64,128,136,138,139,140,143,145,146,147,159],[64,127,128,136,139,140,143,145,146,147,159],[64,128,136,139,140,141,143,145,146,147,159,164,177],[64,128,136,139,140,141,143,145,146,147,159,164,166,168],[64,115,128,136,139,140,142,143,145,146,147,149,159,164,177],[64,128,136,139,140,142,143,145,146,147,149,159,164,174,177],[64,128,136,140,142,143,144,145,146,147,159,164,174,177],[62,63,64,65,66,67,68,69,70,71,72,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185],[64,128,136,139,140,143,145,146,147,159],[64,128,136,140,143,145,147,159],[64,128,136,140,143,145,146,147,148,159,177],[64,128,136,139,140,143,145,146,147,149,159,164],[64,128,136,140,143,145,146,147,150,159],[64,128,136,140,143,145,146,147,151,159],[64,128,136,139,140,143,145,146,147,154,159],[64,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184],[64,128,136,140,143,145,146,147,156,159],[64,128,136,140,143,145,146,147,157,159],[64,128,133,136,140,143,145,146,147,149,159,168],[64,128,136,139,140,143,145,146,147,159,160],[64,128,136,140,143,145,146,147,159,161,178,181],[64,128,136,139,140,143,145,146,147,159,164,167,168],[64,128,136,140,143,145,146,147,159,165,168],[64,128,136,140,143,145,146,147,159,166],[64,128,136,140,143,145,146,147,159,168,178],[64,128,136,140,143,145,146,147,159,169],[64,125,128,136,140,143,145,146,147,159,164,171,177],[64,128,136,140,143,145,146,147,159,164,170],[64,128,136,139,140,143,145,146,147,159,172,173],[64,128,136,140,143,145,146,147,159,172,173],[64,128,133,136,140,143,145,146,147,149,159,164,174],[64,128,136,140,143,145,146,147,159,175],[64,128,136,140,143,145,146,147,149,159,176],[64,128,136,140,142,143,145,146,147,157,159,177],[64,128,136,140,143,145,146,147,159,178,179],[64,128,133,136,140,143,145,146,147,159,179],[64,128,136,140,143,145,146,147,159,164,180],[64,128,136,140,143,145,146,147,148,159,181],[64,128,136,140,143,145,146,147,159,182],[64,128,131,136,140,143,145,146,147,159],[64,128,133,136,140,143,145,146,147,159],[64,128,136,140,143,145,146,147,159,178],[64,115,128,136,140,143,145,146,147,159],[64,128,136,140,143,145,146,147,159,177],[64,128,136,140,143,145,146,147,159,183],[64,128,136,140,143,145,146,147,154,159],[64,128,136,140,143,145,146,147,159,173],[64,115,128,136,139,140,141,143,145,146,147,154,159,164,168,177,180,181,183],[64,128,136,140,143,145,146,147,159,164,184],[64,128,136,140,143,145,146,147,159,166,185],[54,55,64,128,136,140,143,145,146,147,159],[56,64,128,136,140,143,145,146,147,159],[64,79,82,85,86,128,136,140,143,145,146,147,159,177],[64,82,128,136,140,143,145,146,147,159,164,177],[64,82,86,128,136,140,143,145,146,147,159,177],[64,128,136,140,143,145,146,147,159,164],[64,76,128,136,140,143,145,146,147,159],[64,80,128,136,140,143,145,146,147,159],[64,78,79,82,128,136,140,143,145,146,147,159,177],[64,128,136,140,143,145,146,147,149,159,174],[64,128,136,140,143,145,146,147,159,186],[64,76,128,136,140,143,145,146,147,159,186],[64,78,82,128,136,140,143,145,146,147,149,159,177],[64,73,74,75,77,81,128,136,139,140,143,145,146,147,159,164,177],[64,82,91,99,128,136,140,143,145,146,147,159],[64,74,80,128,136,140,143,145,146,147,159],[64,82,109,110,128,136,140,143,145,146,147,159],[64,74,77,82,128,136,140,143,145,146,147,159,168,177,186],[64,82,128,136,140,143,145,146,147,159],[64,78,82,128,136,140,143,145,146,147,159,177],[64,73,128,136,140,143,145,146,147,159],[64,76,77,78,80,81,82,83,84,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,110,111,112,113,114,128,136,140,143,145,146,147,159],[64,82,102,105,128,136,140,143,145,146,147,159],[64,82,91,92,93,128,136,140,143,145,146,147,159],[64,80,82,92,94,128,136,140,143,145,146,147,159],[64,81,128,136,140,143,145,146,147,159],[64,74,76,82,128,136,140,143,145,146,147,159],[64,82,86,92,94,128,136,140,143,145,146,147,159],[64,86,128,136,140,143,145,146,147,159],[64,80,82,85,128,136,140,143,145,146,147,159,177],[64,74,78,82,91,128,136,140,143,145,146,147,159],[64,82,102,128,136,140,143,145,146,147,159],[64,94,128,136,140,143,145,146,147,159],[64,74,78,82,86,128,136,140,143,145,146,147,159],[64,76,82,109,128,136,140,143,145,146,147,159,168,183,186],[57,58,59,60,64,128,136,140,143,145,146,147,159],[57,64,128,136,140,143,145,146,147,159],[57,58,59,64,128,133,136,140,143,145,146,147,151,159,163]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"2a2de5b9459b3fc44decd9ce6100b72f1b002ef523126c1d3d8b2a4a63d74d78","affectsGlobalScope":true,"impliedFormat":1},{"version":"f13f4b465c99041e912db5c44129a94588e1aafee35a50eab51044833f50b4ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"577cc49be1979782a5a695b46049566d123e2a75382f10bb82f2e5c87e29059a","impliedFormat":1},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"814d5c7384f3ca276e9dc4bcfde5545801a3ea0bfae09916b3336774e662fd1b","impliedFormat":1},{"version":"b838d4c72740eb0afd284bf7575b74c624b105eff2e8c7b4aeead57e7ac320ff","impliedFormat":1},{"version":"1c5c349ae92340d44c5f272046c2d5e53e1d0ee3d599887ed28b42a94ace9cb7","signature":"f5a08b5b8678a0529459f6e78285f41c3bb52b1a0736d998a6cb36c5a29dc899"},{"version":"5ed797667a4ab2c2027605ad16143d9fcc8d1b29e6e0223f12f6d78a579f5ce2","signature":"90ebdc9153affe8d4c58514dec647eea5decb589fcf2aaad6e1386d47722e5ae"},{"version":"56650ba1a26027a8fe602d150581eb6def6aedebafa29826c57380e8055702fb","signature":"f040b2477c105e514aa476576691e8f0365691068e71e33bede4aa4c610ef9c7"},{"version":"e47e63ee8d77c3b982c7e09219e8748e2ebe7b3a5545cc7fad32cb20d00c9123","signature":"8311357bbe8c9217b356e91b45c294e2b2b5b0254ac193a18dce06399b821c2b"},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc2110f7decca6bfb9392e30421cfa1436479e4a6756e8fec6cbc22625d4f881","affectsGlobalScope":true,"impliedFormat":1},{"version":"096116f8fedc1765d5bd6ef360c257b4a9048e5415054b3bf3c41b07f8951b0b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"10ec5e82144dfac6f04fa5d1d6c11763b3e4dbbac6d99101427219ab3e2ae887","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"14e9acf826baba0ef4b5665704084896e7bcc06f65a9ab13af7e93d27d6b7069","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"21adf13435b9b748529c8cedf80f884e5130b9684188120a686cd2b26a2059c7","impliedFormat":1},{"version":"eec76bf6b9346f3f95fa402621b889489e96930e72295b0369022f332e9b4a6a","impliedFormat":1},{"version":"0ecd58f413f9bc3b7d4383eae31b0c8fc576985cd7404d6f99f8c643543ade74","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"9c32412007b5662fd34a8eb04292fb5314ec370d7016d1c2fb8aa193c807fe22","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"6ebe8ebb8659aaa9d1acbf3710d7dae3e923e97610238b9511c25dc39023a166","impliedFormat":1},{"version":"e85d7f8068f6a26710bff0cc8c0fc5e47f71089c3780fbede05857331d2ddec9","impliedFormat":1},{"version":"7befaf0e76b5671be1d47b77fcc65f2b0aad91cc26529df1904f4a7c46d216e9","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":"d33ce35e3f9cfcc1d94eca415bdd3bde94d5b153ffdd33e6c4455c029986c630","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"4dc59f6e1dbf3d5f66660fceabe6c174d3261b37b696ae1854f0dbaf255fc753","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"436d7b4543b340b0f3eef4310d524242e41369b9652aa9c70428767c4dcac455","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"114f493b30f364255290472111b5a4791d5902c308645670cd0401429cbc6930","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a93de4ff8a63bafe62ba86b89af1df0ccb5e40bb85b0c67d6bbcfdcf96bf3d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"d2ae155afe8a01cc0ae612d99117cf8ef16692ba7c4366590156fdec1bcf2d8c","impliedFormat":1},{"version":"3f5e5d9be35913db9fea42a63f3df0b7e3c8703b97670a2125587b4dbbd56d7c","impliedFormat":1},{"version":"c8b8968311ec4e5e97b7b5fb8a65efaba455db9bdcfd7fff7fb15f6e317bfba0","impliedFormat":1},{"version":"57c23df0b5f7a8e26363a3849b0bc7763f6b241207157c8e40089d1df4116f35","affectsGlobalScope":true,"impliedFormat":1},{"version":"3b8bc0c17b54081b0878673989216229e575d67a10874e84566a21025a2461ee","impliedFormat":1},{"version":"5b0db5a58b73498792a29bfebc333438e61906fef75da898b410e24e52229e6f","impliedFormat":1},{"version":"dbe055b2b29a7bab2c1ca8f259436306adb43f469dca7e639a02cd3695d3f621","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"aecbf1d9e6a18dab7d92ef8a89a1444b47e1eb6134cb2bb776a26d55ff58c29a","impliedFormat":1},{"version":"2ea729503db9793f2691162fec3dd1118cab62e96d025f8eeb376d43ec293395","impliedFormat":1},{"version":"9ec87fea42b92894b0f209931a880789d43c3397d09dd99c631ae40a2f7071d1","impliedFormat":1},{"version":"c68e88cdfadfb6c8ba5fc38e58a3a166b0beae77b1f05b7d921150a32a5ffb8d","impliedFormat":1},{"version":"2bc7aa4fba46df0bd495425a7c8201437a7d465f83854fac859df2d67f664df3","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"1fede9296beac11ce8e6b425396a1791f64341f2be85deebb6286faf6e16306e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce697b6a251d9cad53998c7fd3098072df883b525ec45d83530e434dc6d80dc6","impliedFormat":1},{"version":"53ff1acab080a8318445df2c7da35ec47489dc83be40569e39c7c750046e217f","impliedFormat":1},{"version":"0eb5d0cbf09de5d34542b977fd6a933bb2e0817bffe8e1a541b2f1ad1b9af1ff","impliedFormat":1},{"version":"3db996ecdee7aabecc5385976cc07eb66216034a273c07b17d1a85292e9bab0c","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"c32c840c62d8bd7aeb3147aa6754cd2d922b990a6b6634530cb2ebdce5adc8e9","impliedFormat":1},{"version":"5ff4433a2deae4f85ab1377e90a7554ce6b47ae51c69a84ca30a6e22fae85834","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"c1fa52b3d014001e8662fa2669d90ea15373958a288e3b83a3b621733d25292a","affectsGlobalScope":true,"impliedFormat":1},{"version":"cbed824fec91efefc7bbdcb8b43d1a531fdbebd0e2ef19481501ff365a93cb70","impliedFormat":1},{"version":"d0716593b3f2b0451bcf0c24cfa86dec2235c325c89f201934248b7c742715fc","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"2991bca2cc0f0628a278df2a2ccdb8d6cbcb700f3761abbed62bba137d5b1790","impliedFormat":1},{"version":"47d480d0c84b0f6215f1f817e0939b247ebf5217b6784846b96fa6ab710ce99d","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"8413d0641f293aed551c7464615b770d34a02dedede889b9591172287d68e773","impliedFormat":1},{"version":"0ea59f7d3e51440baa64f429253759b106cfcbaf51e474cae606e02265b37cf8","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"1b241e24f3227d078c06aeda6e050187ad59a4e591f4467abed44d92b084e08d","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"7fde0e1be5c8be204ffbf428abfcf01da2eb0f130e1bc3f539eb7275f4fd1f58","impliedFormat":1},{"version":"e284328553df5f425a5d33d36a0c3fa66b46af9d097cad6f4d2e8696dfdeb0f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"f36b3fbe2be150a9ca140da48593f21e6a8172004f92ddc549b43efec39f3e54","impliedFormat":1},{"version":"f1c93e046fb3d9b7f8249629f4b63dc068dd839b824dd0aa39a5e68476dc9420","impliedFormat":1},{"version":"016b29bf4926b80255a108c53a1451717350059da04fcae64d1075f5e93bbb39","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"1c4f139ade4f6ebf45463505f8155173e5d7a5305e50e0aae0a5e712d6ff3b48","impliedFormat":1},{"version":"e16b319e5aca1031168de823c4946ff8e29629c4c8cc0ec0fcfe2a8ab2155043","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"9d3821bc75c59577e52643324cec92fc2145642e8d17cf7ee07a3181f21d985d","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"201db9cf1687fab1adf5282fcba861f382b32303dc4f67c89d59655e78a25461","impliedFormat":1},{"version":"2c3c5c0f54055e87640f5d233716fd889f3034fc7911d603b642369b0dbeb2a7","impliedFormat":1},{"version":"0a20eaf2e4b1e3c1e1f87f7bccb0c936375b23b022baeea750519b7c9bc6ce83","impliedFormat":1},{"version":"b484ec11ba00e3a2235562a41898d55372ccabe607986c6fa4f4aba72093749f","impliedFormat":1},{"version":"a16b91b27bd6b706c687c88cbc8a7d4ee98e5ed6043026d6b84bda923c0aed67","impliedFormat":1},{"version":"1c9e5b1a17b1fc9b3711fb36e0690421261ab2880f15b145155b5b2ba2ab6c2d","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"6eeded8c7e352be6e0efb83f4935ec752513c4d22043b52522b90849a49a3a11","impliedFormat":1},{"version":"6c1ad90050ffbb151cacc68e2d06ea1a26a945659391e32651f5d42b86fd7f2c","impliedFormat":1},{"version":"afa1c49f8e559e413d57343339db857d2a8159435cf9cf7d4deb41718fff1b88","impliedFormat":1},{"version":"6953d7597831d0860c7034cf4f0419687d263b6b98a4b32e37ce6d49615c36e2","impliedFormat":1}],"root":[[58,61]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"jsx":4,"module":99,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"strict":true,"target":7},"referencedMap":[[125,1],[126,1],[127,2],[64,3],[128,4],[129,5],[130,6],[62,7],[131,8],[132,9],[133,10],[134,11],[135,12],[136,13],[137,13],[138,14],[139,15],[140,16],[141,17],[65,7],[63,7],[142,18],[143,19],[144,20],[186,21],[145,22],[146,23],[147,22],[148,24],[149,25],[150,26],[151,27],[152,27],[153,27],[154,28],[155,29],[156,30],[157,31],[158,32],[159,33],[160,33],[161,34],[162,7],[163,7],[164,35],[165,36],[166,37],[167,35],[168,38],[169,39],[170,40],[171,41],[172,42],[173,43],[174,44],[175,45],[176,46],[177,47],[178,48],[179,49],[180,50],[181,51],[182,52],[66,22],[67,7],[68,53],[69,54],[70,7],[71,55],[72,7],[116,56],[117,57],[118,58],[119,58],[120,59],[121,7],[122,4],[123,60],[124,57],[183,61],[184,62],[185,63],[54,7],[56,64],[57,65],[55,7],[51,7],[52,7],[10,7],[8,7],[9,7],[14,7],[13,7],[2,7],[15,7],[16,7],[17,7],[18,7],[19,7],[20,7],[21,7],[22,7],[3,7],[23,7],[24,7],[4,7],[25,7],[29,7],[26,7],[27,7],[28,7],[30,7],[31,7],[32,7],[5,7],[33,7],[34,7],[35,7],[36,7],[6,7],[40,7],[37,7],[38,7],[39,7],[41,7],[7,7],[42,7],[53,7],[47,7],[48,7],[43,7],[44,7],[45,7],[46,7],[49,7],[1,7],[50,7],[12,7],[11,7],[91,66],[104,67],[88,68],[105,69],[114,70],[79,71],[80,72],[78,73],[113,74],[108,75],[112,76],[82,77],[101,78],[81,79],[111,80],[76,81],[77,75],[83,82],[84,7],[90,83],[87,82],[74,84],[115,85],[106,86],[94,87],[93,82],[95,88],[98,89],[92,90],[96,91],[109,74],[85,92],[86,93],[99,94],[75,69],[103,95],[102,82],[89,93],[97,96],[100,97],[107,7],[73,7],[110,98],[61,99],[58,100],[60,101],[59,100]],"affectedFilesPendingEmit":[[61,17],[58,17],[60,17],[59,17]],"emitSignatures":[58,59,60,61],"version":"6.0.3"} \ No newline at end of file