@secondlayer/subgraphs 0.5.6 → 0.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/src/index.js CHANGED
@@ -865,9 +865,8 @@ async function deploySchema(db, def, handlerPath, opts) {
865
865
  const sg3 = await registerSubgraph(db, regData);
866
866
  return { action: "reindexed", subgraphId: sg3.id };
867
867
  }
868
- const existingDef = existing.definition;
869
- if (existingDef.schema) {
870
- const diff = diffSchema(existingDef.schema, def.schema);
868
+ if (existing.definition.schema) {
869
+ const diff = diffSchema(existing.definition.schema, def.schema);
871
870
  const { breaking, reasons } = hasBreakingChanges(diff);
872
871
  if (breaking) {
873
872
  if (!opts?.forceReindex) {
@@ -965,5 +964,5 @@ export {
965
964
  defineSubgraph
966
965
  };
967
966
 
968
- //# debugId=E3E19F77576EE19E64756E2164756E21
967
+ //# debugId=B83B1361C4912AAD64756E2164756E21
969
968
  //# sourceMappingURL=index.js.map
@@ -14,9 +14,9 @@
14
14
  "import { getDb, getRawClient } from \"@secondlayer/shared/db\";\nimport { updateSubgraphStatus } from \"@secondlayer/shared/db/queries/subgraphs\";\nimport { logger } from \"@secondlayer/shared/logger\";\nimport { getErrorMessage } from \"@secondlayer/shared\";\nimport { generateSubgraphSQL } from \"../schema/generator.ts\";\nimport { pgSchemaName } from \"../schema/utils.ts\";\nimport type { SubgraphDefinition } from \"../types.ts\";\nimport { processBlock } from \"./block-processor.ts\";\nimport { StatsAccumulator } from \"./stats.ts\";\n\nconst LOG_INTERVAL = 1000;\n\nexport interface ReindexOptions {\n fromBlock?: number;\n toBlock?: number;\n schemaName?: string;\n}\n\n/**\n * Reindex a subgraph by dropping its tables, recreating them, and reprocessing\n * all historical blocks through the handler pipeline.\n */\nexport async function reindexSubgraph(\n def: SubgraphDefinition,\n opts?: ReindexOptions,\n): Promise<{ processed: number }> {\n const db = getDb();\n const client = getRawClient();\n const subgraphName = def.name;\n const schemaName = opts?.schemaName ?? pgSchemaName(subgraphName);\n\n // Set status to reindexing\n await updateSubgraphStatus(db, subgraphName, \"reindexing\");\n\n logger.info(\"Reindex starting\", { subgraph: subgraphName });\n\n try {\n // Drop and recreate schema + tables\n await client.unsafe(`DROP SCHEMA IF EXISTS \"${schemaName}\" CASCADE`);\n\n const { statements } = generateSubgraphSQL(def, schemaName);\n for (const stmt of statements) {\n await client.unsafe(stmt);\n }\n\n logger.info(\"Schema recreated for reindex\", { subgraph: subgraphName });\n\n // Determine block range\n const fromBlock = opts?.fromBlock ?? 1;\n let toBlock: number;\n\n if (opts?.toBlock != null) {\n toBlock = opts.toBlock;\n } else {\n const progress = await db\n .selectFrom(\"index_progress\")\n .selectAll()\n .where(\"network\", \"=\", process.env.NETWORK ?? \"mainnet\")\n .executeTakeFirst();\n toBlock = progress?.last_indexed_block ?? progress?.last_contiguous_block ?? 0;\n }\n\n if (fromBlock > toBlock) {\n logger.info(\"No blocks to reindex\", { subgraph: subgraphName, fromBlock, toBlock });\n await updateSubgraphStatus(db, subgraphName, \"active\", 0);\n return { processed: 0 };\n }\n\n const totalBlocks = toBlock - fromBlock + 1;\n logger.info(\"Reindexing blocks\", { subgraph: subgraphName, fromBlock, toBlock, totalBlocks });\n\n // Look up api_key_id for stats\n const subgraphRow = await db\n .selectFrom(\"subgraphs\")\n .select(\"api_key_id\")\n .where(\"name\", \"=\", subgraphName)\n .executeTakeFirst();\n\n const stats = new StatsAccumulator(subgraphName, subgraphRow?.api_key_id ?? null, false);\n let blocksProcessed = 0;\n let totalEventsProcessed = 0;\n let totalErrors = 0;\n const PROGRESS_INTERVAL = 100; // update DB progress every N blocks\n\n for (let height = fromBlock; height <= toBlock; height++) {\n const result = await processBlock(def, subgraphName, height, { skipProgressUpdate: true });\n blocksProcessed++;\n totalEventsProcessed += result.processed;\n totalErrors += result.errors;\n\n if (result.timing) {\n stats.record(result.timing, result.processed);\n if (stats.shouldFlush()) {\n await stats.flush(db);\n }\n }\n\n // Batch progress updates to avoid NOTIFY storm\n if (blocksProcessed % PROGRESS_INTERVAL === 0) {\n await updateSubgraphStatus(db, subgraphName, \"reindexing\", height);\n }\n\n if (blocksProcessed % LOG_INTERVAL === 0) {\n logger.info(\"Reindex progress\", {\n subgraph: subgraphName,\n processed: blocksProcessed,\n total: totalBlocks,\n currentBlock: height,\n pct: Math.round((blocksProcessed / totalBlocks) * 100),\n });\n }\n }\n\n // Flush remaining stats\n await stats.flush(db);\n\n // Write final health metrics in one update\n const { recordSubgraphProcessed } = await import(\"@secondlayer/shared/db/queries/subgraphs\");\n if (totalEventsProcessed > 0 || totalErrors > 0) {\n await recordSubgraphProcessed(db, subgraphName, totalEventsProcessed, totalErrors,\n totalErrors > 0 ? `${totalErrors} error(s) during reindex` : undefined);\n }\n\n // Done — set back to active\n await updateSubgraphStatus(db, subgraphName, \"active\", toBlock);\n\n logger.info(\"Reindex complete\", { subgraph: subgraphName, blocks: blocksProcessed, events: totalEventsProcessed, errors: totalErrors });\n return { processed: blocksProcessed };\n } catch (err) {\n logger.error(\"Reindex failed\", {\n subgraph: subgraphName,\n error: getErrorMessage(err),\n });\n await updateSubgraphStatus(db, subgraphName, \"error\");\n throw err;\n }\n}\n",
15
15
  "import type { ColumnType, SubgraphDefinition } from \"../types.ts\";\nimport { pgSchemaName } from \"./utils.ts\";\n\nexport const TYPE_MAP: Record<ColumnType, string> = {\n text: \"TEXT\",\n uint: \"NUMERIC\",\n int: \"NUMERIC\",\n principal: \"TEXT\",\n boolean: \"BOOLEAN\",\n timestamp: \"TIMESTAMPTZ\",\n jsonb: \"JSONB\",\n};\n\nexport interface GeneratedSQL {\n statements: string[];\n hash: string;\n}\n\nfunction escapeLiteralDefault(value: unknown): string {\n if (value === null || value === undefined) return \"NULL\";\n if (typeof value === \"number\" || typeof value === \"bigint\") return String(value);\n if (typeof value === \"boolean\") return value ? \"TRUE\" : \"FALSE\";\n return `'${String(value).replace(/'/g, \"''\")}'`;\n}\n\n/**\n * Generates PostgreSQL DDL statements for a subgraph definition.\n * Creates a dedicated schema `subgraph_<name>` with one table per schema entry,\n * each with auto-columns and indexes.\n */\nexport function generateSubgraphSQL(def: SubgraphDefinition, schemaNameOverride?: string): GeneratedSQL {\n const schemaName = schemaNameOverride ?? pgSchemaName(def.name);\n const statements: string[] = [];\n\n // Check if any column uses search (trigram)\n const needsTrgm = Object.values(def.schema).some((table) =>\n Object.values(table.columns).some((col) => col.search),\n );\n\n if (needsTrgm) {\n statements.push(`CREATE EXTENSION IF NOT EXISTS pg_trgm`);\n }\n\n // Schema namespace\n statements.push(`CREATE SCHEMA IF NOT EXISTS ${schemaName}`);\n\n // One table per schema entry\n for (const [tableName, tableDef] of Object.entries(def.schema)) {\n const qualifiedName = `${schemaName}.${tableName}`;\n\n // Auto-columns + user columns\n const columnDefs: string[] = [\n `_id BIGSERIAL PRIMARY KEY`,\n `_block_height BIGINT NOT NULL`,\n `_tx_id TEXT NOT NULL`,\n `_created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()`,\n ];\n\n for (const [colName, col] of Object.entries(tableDef.columns)) {\n const sqlType = TYPE_MAP[col.type];\n const nullable = col.nullable ? \"\" : \" NOT NULL\";\n let colDef = `${colName} ${sqlType}${nullable}`;\n if (col.default !== undefined) {\n colDef += ` DEFAULT ${escapeLiteralDefault(col.default)}`;\n }\n columnDefs.push(colDef);\n }\n\n statements.push(\n `CREATE TABLE IF NOT EXISTS ${qualifiedName} (\\n ${columnDefs.join(\",\\n \")}\\n)`,\n );\n\n // Auto-indexes on meta columns\n statements.push(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_block_height ON ${qualifiedName} (_block_height)`,\n );\n statements.push(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_tx_id ON ${qualifiedName} (_tx_id)`,\n );\n\n // Single-column indexes\n for (const [colName, col] of Object.entries(tableDef.columns)) {\n if (col.indexed) {\n statements.push(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_${colName} ON ${qualifiedName} (${colName})`,\n );\n }\n }\n\n // Trigram GIN indexes for search columns\n for (const [colName, col] of Object.entries(tableDef.columns)) {\n if (col.search) {\n statements.push(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_${colName}_trgm ON ${qualifiedName} USING gin (${colName} gin_trgm_ops)`,\n );\n }\n }\n\n // Composite indexes\n if (tableDef.indexes) {\n for (let i = 0; i < tableDef.indexes.length; i++) {\n const cols = tableDef.indexes[i]!;\n const idxName = `idx_${schemaName}_${tableName}_composite_${i}`;\n statements.push(\n `CREATE INDEX IF NOT EXISTS ${idxName} ON ${qualifiedName} (${cols.join(\", \")})`,\n );\n }\n }\n\n // Unique constraints (required for upsert ON CONFLICT)\n if (tableDef.uniqueKeys) {\n for (let i = 0; i < tableDef.uniqueKeys.length; i++) {\n const cols = tableDef.uniqueKeys[i]!;\n const constraintName = `uq_${schemaName}_${tableName}_${cols.join(\"_\")}`;\n statements.push(\n `ALTER TABLE ${qualifiedName} ADD CONSTRAINT ${constraintName} UNIQUE (${cols.join(\", \")})`,\n );\n }\n }\n }\n\n // Hash based on schema structure (excludes handler)\n const hashInput = JSON.stringify({\n name: def.name,\n version: def.version,\n schema: def.schema,\n sources: def.sources,\n }, (_key, value) => typeof value === \"bigint\" ? value.toString() : value);\n const hash = String(Bun.hash(hashInput));\n\n return { statements, hash };\n}\n",
16
16
  "import type { SubgraphDefinition, SubgraphSchema } from \"./types.ts\";\n\n/**\n * Identity function that preserves schema literal types for type inference.\n *\n * The generic `S` is narrowed to the exact schema shape so that column type\n * literals (e.g. `\"uint\"`) are preserved rather than widened to `string`.\n *\n * @example\n * ```ts\n * export default defineSubgraph({\n * name: \"my-subgraph\",\n * sources: [{ contract: \"SP000...::my-contract\" }],\n * schema: { transfers: { columns: { amount: { type: \"uint\" } } } },\n * handlers: { \"*\": (event, ctx) => { ... } }\n * })\n * // typeof result.schema.transfers.columns.amount.type → \"uint\" (not string)\n * ```\n */\nexport function defineSubgraph<S extends SubgraphSchema>(\n def: Omit<SubgraphDefinition, \"schema\"> & { schema: S },\n): Omit<SubgraphDefinition, \"schema\"> & { schema: S } {\n return def;\n}\n",
17
- "import { sql, type Kysely } from \"kysely\";\nimport type { Database } from \"@secondlayer/shared/db\";\nimport { validateSubgraphDefinition } from \"../validate.ts\";\nimport { generateSubgraphSQL, TYPE_MAP } from \"./generator.ts\";\nimport { pgSchemaName } from \"./utils.ts\";\nimport type { SubgraphDefinition, SubgraphSchema } from \"../types.ts\";\n\ntype AnyDb = Kysely<Database>;\n\n/** Deep-clone an object, converting BigInts to strings for JSON serialization. */\nfunction toJsonSafe(obj: unknown): unknown {\n return JSON.parse(JSON.stringify(obj, (_key, value) =>\n typeof value === \"bigint\" ? value.toString() : value\n ));\n}\n\nexport interface TableDiff {\n /** Tables added to the schema */\n addedTables: string[];\n /** Tables removed from the schema */\n removedTables: string[];\n /** Per-table column diffs (only for tables present in both) */\n tables: Record<string, ColumnDiff>;\n}\n\nexport interface ColumnDiff {\n added: string[];\n removed: string[];\n changed: string[];\n}\n\n/**\n * Compare two multi-table subgraph schemas and return differences.\n */\nexport function diffSchema(existing: SubgraphSchema, incoming: SubgraphSchema): TableDiff {\n const existingTables = new Set(Object.keys(existing));\n const incomingTables = new Set(Object.keys(incoming));\n\n const addedTables = [...incomingTables].filter((t) => !existingTables.has(t));\n const removedTables = [...existingTables].filter((t) => !incomingTables.has(t));\n\n const tables: Record<string, ColumnDiff> = {};\n for (const tableName of incomingTables) {\n if (!existingTables.has(tableName)) continue;\n const existingCols = existing[tableName]!.columns;\n const incomingCols = incoming[tableName]!.columns;\n\n const existingKeys = new Set(Object.keys(existingCols));\n const incomingKeys = new Set(Object.keys(incomingCols));\n\n tables[tableName] = {\n added: [...incomingKeys].filter((k) => !existingKeys.has(k)),\n removed: [...existingKeys].filter((k) => !incomingKeys.has(k)),\n changed: [...incomingKeys].filter((k) => {\n if (!existingKeys.has(k)) return false;\n return JSON.stringify(existingCols[k]) !== JSON.stringify(incomingCols[k]);\n }),\n };\n }\n\n return { addedTables, removedTables, tables };\n}\n\n/**\n * Returns true if the diff contains any breaking changes\n * (removed tables, removed columns, or changed column types).\n */\nfunction hasBreakingChanges(diff: TableDiff): { breaking: boolean; reasons: string[] } {\n const reasons: string[] = [];\n if (diff.removedTables.length > 0) {\n reasons.push(`removed tables: [${diff.removedTables.join(\", \")}]`);\n }\n for (const [table, colDiff] of Object.entries(diff.tables)) {\n if (colDiff.removed.length > 0) {\n reasons.push(`${table}: removed columns [${colDiff.removed.join(\", \")}]`);\n }\n if (colDiff.changed.length > 0) {\n reasons.push(`${table}: changed columns [${colDiff.changed.join(\", \")}]`);\n }\n }\n return { breaking: reasons.length > 0, reasons };\n}\n\n/**\n * Deploy a subgraph schema to the database.\n * - New subgraph → CREATE SCHEMA + tables + register\n * - Same hash → no-op\n * - Additive change → ALTER TABLE ADD COLUMN / CREATE TABLE for new tables\n * - Breaking change → throws error\n */\nexport async function deploySchema(\n db: AnyDb,\n def: SubgraphDefinition,\n handlerPath: string,\n opts?: { forceReindex?: boolean; apiKeyId?: string; schemaName?: string },\n): Promise<{ action: \"created\" | \"unchanged\" | \"updated\" | \"reindexed\"; subgraphId: string }> {\n validateSubgraphDefinition(def);\n\n const { statements, hash } = generateSubgraphSQL(def, opts?.schemaName);\n const { getSubgraph, registerSubgraph } = await import(\"@secondlayer/shared/db/queries/subgraphs\");\n\n const existing = await getSubgraph(db, def.name, opts?.apiKeyId);\n\n const schemaName = opts?.schemaName ?? pgSchemaName(def.name);\n const regData = {\n name: def.name,\n version: def.version || \"1.0.0\",\n definition: toJsonSafe({ name: def.name, version: def.version, description: def.description, sources: def.sources, schema: def.schema }) as Record<string, unknown>,\n schemaHash: hash,\n handlerPath,\n apiKeyId: opts?.apiKeyId,\n schemaName,\n };\n\n if (existing) {\n if (existing.schema_hash === hash && !opts?.forceReindex) {\n // Update handler path in case file moved\n const { updateSubgraphHandlerPath } = await import(\"@secondlayer/shared/db/queries/subgraphs\");\n await updateSubgraphHandlerPath(db, def.name, handlerPath);\n return { action: \"unchanged\", subgraphId: existing.id };\n }\n\n if (existing.schema_hash === hash && opts?.forceReindex) {\n // Same schema but force reindex requested — drop and recreate\n await sql.raw(`DROP SCHEMA IF EXISTS \"${schemaName}\" CASCADE`).execute(db);\n for (const stmt of statements) {\n await sql.raw(stmt).execute(db);\n }\n const sg = await registerSubgraph(db, regData);\n return { action: \"reindexed\", subgraphId: sg.id };\n }\n\n const existingDef = existing.definition as { schema?: SubgraphSchema };\n if (existingDef.schema) {\n const diff = diffSchema(existingDef.schema, def.schema);\n const { breaking, reasons } = hasBreakingChanges(diff);\n\n if (breaking) {\n if (!opts?.forceReindex) {\n throw new Error(\n `Breaking schema change detected (${reasons.join(\"; \")}). ` +\n `Use --reindex to force rebuild, or delete the subgraph first.`,\n );\n }\n\n // Force reindex: drop schema, recreate, register, caller triggers reindex\n await sql.raw(`DROP SCHEMA IF EXISTS \"${schemaName}\" CASCADE`).execute(db);\n for (const stmt of statements) {\n await sql.raw(stmt).execute(db);\n }\n const sg = await registerSubgraph(db, regData);\n return { action: \"reindexed\", subgraphId: sg.id };\n }\n\n // Create new tables\n for (const tableName of diff.addedTables) {\n const tableDef = def.schema[tableName]!;\n const qualifiedName = `${schemaName}.${tableName}`;\n const colDefs = [\n `_id BIGSERIAL PRIMARY KEY`,\n `_block_height BIGINT NOT NULL`,\n `_tx_id TEXT NOT NULL`,\n `_created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()`,\n ];\n for (const [colName, col] of Object.entries(tableDef.columns)) {\n const nullable = col.nullable ? \"\" : \" NOT NULL\";\n colDefs.push(`${colName} ${TYPE_MAP[col.type]!}${nullable}`);\n }\n await sql.raw(\n `CREATE TABLE IF NOT EXISTS ${qualifiedName} (\\n ${colDefs.join(\",\\n \")}\\n)`,\n ).execute(db);\n await sql.raw(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_block_height ON ${qualifiedName} (_block_height)`,\n ).execute(db);\n await sql.raw(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_tx_id ON ${qualifiedName} (_tx_id)`,\n ).execute(db);\n for (const [colName, col] of Object.entries(tableDef.columns)) {\n if (col.indexed) {\n await sql.raw(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_${colName} ON ${qualifiedName} (${colName})`,\n ).execute(db);\n }\n if (col.search) {\n await sql.raw(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_${colName}_trgm ON ${qualifiedName} USING gin (${colName} gin_trgm_ops)`,\n ).execute(db);\n }\n }\n }\n\n // Add columns to existing tables\n for (const [tableName, colDiff] of Object.entries(diff.tables)) {\n if (colDiff.added.length === 0) continue;\n const qualifiedName = `${schemaName}.${tableName}`;\n const tableDef = def.schema[tableName]!;\n for (const colName of colDiff.added) {\n const col = tableDef.columns[colName]!;\n const sqlType = TYPE_MAP[col.type]!;\n const nullable = col.nullable ? \"\" : \" NOT NULL DEFAULT \" + getDefault(col.type);\n await sql.raw(\n `ALTER TABLE ${qualifiedName} ADD COLUMN ${colName} ${sqlType}${nullable}`,\n ).execute(db);\n if (col.indexed) {\n await sql.raw(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_${colName} ON ${qualifiedName} (${colName})`,\n ).execute(db);\n }\n if (col.search) {\n await sql.raw(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_${colName}_trgm ON ${qualifiedName} USING gin (${colName} gin_trgm_ops)`,\n ).execute(db);\n }\n }\n }\n }\n\n const sg = await registerSubgraph(db, regData);\n return { action: \"updated\", subgraphId: sg.id };\n }\n\n // New subgraph — execute all DDL\n for (const stmt of statements) {\n await sql.raw(stmt).execute(db);\n }\n\n const sg = await registerSubgraph(db, regData);\n return { action: \"created\", subgraphId: sg.id };\n}\n\nfunction getDefault(type: string): string {\n switch (type) {\n case \"text\":\n case \"principal\":\n return \"''\";\n case \"uint\":\n case \"int\":\n return \"0\";\n case \"boolean\":\n return \"false\";\n case \"timestamp\":\n return \"NOW()\";\n case \"jsonb\":\n return \"'{}'\";\n default:\n return \"''\";\n }\n}\n"
17
+ "import { sql, type Kysely } from \"kysely\";\nimport type { Database } from \"@secondlayer/shared/db\";\nimport { validateSubgraphDefinition } from \"../validate.ts\";\nimport { generateSubgraphSQL, TYPE_MAP } from \"./generator.ts\";\nimport { pgSchemaName } from \"./utils.ts\";\nimport type { SubgraphDefinition, SubgraphSchema } from \"../types.ts\";\n\ntype AnyDb = Kysely<Database>;\n\n/** Deep-clone an object, converting BigInts to strings for JSON serialization. */\nfunction toJsonSafe(obj: unknown): unknown {\n return JSON.parse(JSON.stringify(obj, (_key, value) =>\n typeof value === \"bigint\" ? value.toString() : value\n ));\n}\n\nexport interface TableDiff {\n /** Tables added to the schema */\n addedTables: string[];\n /** Tables removed from the schema */\n removedTables: string[];\n /** Per-table column diffs (only for tables present in both) */\n tables: Record<string, ColumnDiff>;\n}\n\nexport interface ColumnDiff {\n added: string[];\n removed: string[];\n changed: string[];\n}\n\n/**\n * Compare two multi-table subgraph schemas and return differences.\n */\nexport function diffSchema(existing: SubgraphSchema, incoming: SubgraphSchema): TableDiff {\n const existingTables = new Set(Object.keys(existing));\n const incomingTables = new Set(Object.keys(incoming));\n\n const addedTables = [...incomingTables].filter((t) => !existingTables.has(t));\n const removedTables = [...existingTables].filter((t) => !incomingTables.has(t));\n\n const tables: Record<string, ColumnDiff> = {};\n for (const tableName of incomingTables) {\n if (!existingTables.has(tableName)) continue;\n const existingCols = existing[tableName]!.columns;\n const incomingCols = incoming[tableName]!.columns;\n\n const existingKeys = new Set(Object.keys(existingCols));\n const incomingKeys = new Set(Object.keys(incomingCols));\n\n tables[tableName] = {\n added: [...incomingKeys].filter((k) => !existingKeys.has(k)),\n removed: [...existingKeys].filter((k) => !incomingKeys.has(k)),\n changed: [...incomingKeys].filter((k) => {\n if (!existingKeys.has(k)) return false;\n return JSON.stringify(existingCols[k]) !== JSON.stringify(incomingCols[k]);\n }),\n };\n }\n\n return { addedTables, removedTables, tables };\n}\n\n/**\n * Returns true if the diff contains any breaking changes\n * (removed tables, removed columns, or changed column types).\n */\nfunction hasBreakingChanges(diff: TableDiff): { breaking: boolean; reasons: string[] } {\n const reasons: string[] = [];\n if (diff.removedTables.length > 0) {\n reasons.push(`removed tables: [${diff.removedTables.join(\", \")}]`);\n }\n for (const [table, colDiff] of Object.entries(diff.tables)) {\n if (colDiff.removed.length > 0) {\n reasons.push(`${table}: removed columns [${colDiff.removed.join(\", \")}]`);\n }\n if (colDiff.changed.length > 0) {\n reasons.push(`${table}: changed columns [${colDiff.changed.join(\", \")}]`);\n }\n }\n return { breaking: reasons.length > 0, reasons };\n}\n\n/**\n * Deploy a subgraph schema to the database.\n * - New subgraph → CREATE SCHEMA + tables + register\n * - Same hash → no-op\n * - Additive change → ALTER TABLE ADD COLUMN / CREATE TABLE for new tables\n * - Breaking change → throws error\n */\nexport async function deploySchema(\n db: AnyDb,\n def: SubgraphDefinition,\n handlerPath: string,\n opts?: { forceReindex?: boolean; apiKeyId?: string; schemaName?: string },\n): Promise<{ action: \"created\" | \"unchanged\" | \"updated\" | \"reindexed\"; subgraphId: string }> {\n validateSubgraphDefinition(def);\n\n const { statements, hash } = generateSubgraphSQL(def, opts?.schemaName);\n const { getSubgraph, registerSubgraph } = await import(\"@secondlayer/shared/db/queries/subgraphs\");\n\n const existing = await getSubgraph(db, def.name, opts?.apiKeyId);\n\n const schemaName = opts?.schemaName ?? pgSchemaName(def.name);\n const regData = {\n name: def.name,\n version: def.version || \"1.0.0\",\n definition: toJsonSafe({ name: def.name, version: def.version, description: def.description, sources: def.sources, schema: def.schema }) as Record<string, unknown>,\n schemaHash: hash,\n handlerPath,\n apiKeyId: opts?.apiKeyId,\n schemaName,\n };\n\n if (existing) {\n if (existing.schema_hash === hash && !opts?.forceReindex) {\n // Update handler path in case file moved\n const { updateSubgraphHandlerPath } = await import(\"@secondlayer/shared/db/queries/subgraphs\");\n await updateSubgraphHandlerPath(db, def.name, handlerPath);\n return { action: \"unchanged\", subgraphId: existing.id };\n }\n\n if (existing.schema_hash === hash && opts?.forceReindex) {\n // Same schema but force reindex requested — drop and recreate\n await sql.raw(`DROP SCHEMA IF EXISTS \"${schemaName}\" CASCADE`).execute(db);\n for (const stmt of statements) {\n await sql.raw(stmt).execute(db);\n }\n const sg = await registerSubgraph(db, regData);\n return { action: \"reindexed\", subgraphId: sg.id };\n }\n\n if (existing.definition.schema) {\n const diff = diffSchema(existing.definition.schema as SubgraphSchema, def.schema);\n const { breaking, reasons } = hasBreakingChanges(diff);\n\n if (breaking) {\n if (!opts?.forceReindex) {\n throw new Error(\n `Breaking schema change detected (${reasons.join(\"; \")}). ` +\n `Use --reindex to force rebuild, or delete the subgraph first.`,\n );\n }\n\n // Force reindex: drop schema, recreate, register, caller triggers reindex\n await sql.raw(`DROP SCHEMA IF EXISTS \"${schemaName}\" CASCADE`).execute(db);\n for (const stmt of statements) {\n await sql.raw(stmt).execute(db);\n }\n const sg = await registerSubgraph(db, regData);\n return { action: \"reindexed\", subgraphId: sg.id };\n }\n\n // Create new tables\n for (const tableName of diff.addedTables) {\n const tableDef = def.schema[tableName]!;\n const qualifiedName = `${schemaName}.${tableName}`;\n const colDefs = [\n `_id BIGSERIAL PRIMARY KEY`,\n `_block_height BIGINT NOT NULL`,\n `_tx_id TEXT NOT NULL`,\n `_created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()`,\n ];\n for (const [colName, col] of Object.entries(tableDef.columns)) {\n const nullable = col.nullable ? \"\" : \" NOT NULL\";\n colDefs.push(`${colName} ${TYPE_MAP[col.type]!}${nullable}`);\n }\n await sql.raw(\n `CREATE TABLE IF NOT EXISTS ${qualifiedName} (\\n ${colDefs.join(\",\\n \")}\\n)`,\n ).execute(db);\n await sql.raw(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_block_height ON ${qualifiedName} (_block_height)`,\n ).execute(db);\n await sql.raw(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_tx_id ON ${qualifiedName} (_tx_id)`,\n ).execute(db);\n for (const [colName, col] of Object.entries(tableDef.columns)) {\n if (col.indexed) {\n await sql.raw(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_${colName} ON ${qualifiedName} (${colName})`,\n ).execute(db);\n }\n if (col.search) {\n await sql.raw(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_${colName}_trgm ON ${qualifiedName} USING gin (${colName} gin_trgm_ops)`,\n ).execute(db);\n }\n }\n }\n\n // Add columns to existing tables\n for (const [tableName, colDiff] of Object.entries(diff.tables)) {\n if (colDiff.added.length === 0) continue;\n const qualifiedName = `${schemaName}.${tableName}`;\n const tableDef = def.schema[tableName]!;\n for (const colName of colDiff.added) {\n const col = tableDef.columns[colName]!;\n const sqlType = TYPE_MAP[col.type]!;\n const nullable = col.nullable ? \"\" : \" NOT NULL DEFAULT \" + getDefault(col.type);\n await sql.raw(\n `ALTER TABLE ${qualifiedName} ADD COLUMN ${colName} ${sqlType}${nullable}`,\n ).execute(db);\n if (col.indexed) {\n await sql.raw(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_${colName} ON ${qualifiedName} (${colName})`,\n ).execute(db);\n }\n if (col.search) {\n await sql.raw(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_${colName}_trgm ON ${qualifiedName} USING gin (${colName} gin_trgm_ops)`,\n ).execute(db);\n }\n }\n }\n }\n\n const sg = await registerSubgraph(db, regData);\n return { action: \"updated\", subgraphId: sg.id };\n }\n\n // New subgraph — execute all DDL\n for (const stmt of statements) {\n await sql.raw(stmt).execute(db);\n }\n\n const sg = await registerSubgraph(db, regData);\n return { action: \"created\", subgraphId: sg.id };\n}\n\nfunction getDefault(type: string): string {\n switch (type) {\n case \"text\":\n case \"principal\":\n return \"''\";\n case \"uint\":\n case \"int\":\n return \"0\";\n case \"boolean\":\n return \"false\";\n case \"timestamp\":\n return \"NOW()\";\n case \"jsonb\":\n return \"'{}'\";\n default:\n return \"''\";\n }\n}\n"
18
18
  ],
19
- "mappings": ";;;;AAsEO,SAAS,SAAS,CAAC,QAAgC;AAAA,EACxD,IAAI,OAAO,UAAU;AAAA,IACnB,IAAI,OAAO;AAAA,MAAU,OAAO,GAAG,OAAO,aAAa,OAAO;AAAA,IAC1D,IAAI,OAAO;AAAA,MAAO,OAAO,GAAG,OAAO,aAAa,OAAO;AAAA,IACvD,OAAO,OAAO;AAAA,EAChB;AAAA,EACA,IAAI,OAAO;AAAA,IAAM,OAAO,OAAO;AAAA,EAC/B,OAAO;AAAA;;;AC7ET;AAGO,IAAM,qBAAwC,EAClD,OAAO,EACP,IAAI,CAAC,EACL,IAAI,EAAE,EACN,MACC,qBACA,mFACF;AAEK,IAAM,mBAA0C,EAAE,KAAK;AAAA,EAC5D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAEM,IAAM,uBAAkD,EAAE,OAAO;AAAA,EACtE,MAAM;AAAA,EACN,UAAU,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC/B,SAAS,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC9B,QAAQ,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC7B,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,SAAS;AACnE,CAAC;AAEM,IAAM,sBAAgD,EAAE,OAAO;AAAA,EACpE,SAAS,EACN,OAAO,EAAE,OAAO,GAAG,oBAAoB,EACvC,OAAO,CAAC,MAAM,OAAO,KAAK,CAAC,EAAE,SAAS,GAAG,qCAAqC;AAAA,EACjF,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,SAAS;AAAA,EAC/C,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,SAAS;AACpD,CAAC;AAEM,IAAM,uBAAiE,EAC3E,OAAO,EAAE,OAAO,GAAG,mBAAmB,EACtC,OAAO,CAAC,MAAM,OAAO,KAAK,CAAC,EAAE,SAAS,GAAG,qCAAqC;AAE1E,IAAM,uBAAkD,EAC5D,OAAO;AAAA,EACN,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,EAC3B,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,MAAM,EAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,WAAW,EAAE,OAAO,EAAE,SAAS;AACjC,CAAC,EACA,OACC,CAAC,MAAM,EAAE,YAAY,EAAE,MACvB,mDACF;AAEK,IAAM,2BAA0D,EAAE,OAAO;AAAA,EAC9E,MAAM;AAAA,EACN,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,EACjC,SAAS,EAAE,MAAM,oBAAoB,EAAE,IAAI,GAAG,+BAA+B;AAAA,EAC7E,QAAQ;AAAA,EACR,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,SAAS,CAAmC;AAC/E,CAAC;AAKM,SAAS,0BAA0B,CAAC,KAAkC;AAAA,EAC3E,OAAO,yBAAyB,MAAM,GAAG;AAAA;;;ACpE3C;AAEA;AA4BA,SAAS,kBAAkB,CAAC,MAAoB;AAAA,EAC9C,IAAI,CAAC,sBAAsB,KAAK,IAAI,GAAG;AAAA,IACrC,MAAM,IAAI,MAAM,wBAAwB,MAAM;AAAA,EAChD;AAAA;AAAA;AAQK,MAAM,gBAAgB;AAAA,EAClB;AAAA,EACD;AAAA,EACS;AAAA,EACA;AAAA,EACA;AAAA,EACA,MAAiB,CAAC;AAAA,EAEnC,WAAW,CACT,IACA,cACA,gBACA,OACA,IACA;AAAA,IACA,KAAK,KAAK;AAAA,IACV,KAAK,eAAe;AAAA,IACpB,KAAK,iBAAiB;AAAA,IACtB,KAAK,QAAQ;AAAA,IACb,KAAK,MAAM;AAAA;AAAA,MAGT,EAAE,GAAW;AAAA,IACf,OAAO,KAAK;AAAA;AAAA,EAId,KAAK,CAAC,IAAkB;AAAA,IACtB,KAAK,MAAM;AAAA;AAAA,EAKb,MAAM,CAAC,OAAe,KAAoC;AAAA,IACxD,KAAK,cAAc,KAAK;AAAA,IACxB,KAAK,IAAI,KAAK,EAAE,MAAM,UAAU,OAAO,MAAM,IAAI,CAAC;AAAA;AAAA,EAGpD,MAAM,CACJ,OACA,OACA,KACM;AAAA,IACN,KAAK,cAAc,KAAK;AAAA,IACxB,KAAK,IAAI,KAAK,EAAE,MAAM,UAAU,OAAO,MAAM,OAAO,IAAI,CAAC;AAAA;AAAA,EAG3D,MAAM,CACJ,OACA,KACA,KACM;AAAA,IACN,KAAK,cAAc,KAAK;AAAA,IACxB,MAAM,WAAW,KAAK,eAAe;AAAA,IACrC,MAAM,aAAa,OAAO,KAAK,GAAG;AAAA,IAGlC,MAAM,sBAAsB,SAAS,YAAY,KAC/C,CAAC,OAAO,GAAG,WAAW,WAAW,UAAU,GAAG,MAAM,CAAC,MAAM,WAAW,SAAS,CAAC,CAAC,CACnF;AAAA,IAEA,IAAI,qBAAqB;AAAA,MAEvB,KAAK,IAAI,KAAK,EAAE,MAAM,UAAU,OAAO,MAAM,KAAK,QAAQ,KAAK,cAAc,WAAW,EAAE,CAAC;AAAA,IAC7F,EAAO;AAAA,MAEL,OAAO,KAAK,wEAAwE;AAAA,QAClF;AAAA,QACA,MAAM;AAAA,MACR,CAAC;AAAA,MACD,KAAK,IAAI,KAAK,EAAE,MAAM,UAAU,OAAO,MAAM,KAAK,QAAQ,KAAK,uBAAuB,YAAY,sBAAsB,IAAI,EAAE,CAAC;AAAA;AAAA;AAAA,EAInI,MAAM,CAAC,OAAe,OAAsC;AAAA,IAC1D,KAAK,cAAc,KAAK;AAAA,IACxB,KAAK,IAAI,KAAK,EAAE,MAAM,UAAU,OAAO,MAAM,MAAM,CAAC;AAAA;AAAA,OAKhD,QAAO,CACX,OACA,OACyC;AAAA,IACzC,KAAK,cAAc,KAAK;AAAA,IACxB,MAAM,iBAAiB,IAAI,KAAK,kBAAkB;AAAA,IAClD,QAAQ,WAAW,iBAAiB,KAAK;AAAA,IACzC,MAAM,QAAQ,iBAAiB,wBAAwB;AAAA,IACvD,QAAQ,SAAS,MAAM,IAAI,IAAI,KAAK,EAAE,QAAQ,KAAK,EAAE;AAAA,IACrD,MAAM,MAAO,KAAmC,MAAM;AAAA,IACtD,OAAO,MAAM,KAAK,UAAU,OAAO,GAAG,IAAI;AAAA;AAAA,OAGtC,SAAQ,CACZ,OACA,OACoC;AAAA,IACpC,KAAK,cAAc,KAAK;AAAA,IACxB,MAAM,iBAAiB,IAAI,KAAK,kBAAkB;AAAA,IAClD,QAAQ,WAAW,iBAAiB,KAAK;AAAA,IACzC,MAAM,QAAQ,iBAAiB,wBAAwB;AAAA,IACvD,QAAQ,SAAS,MAAM,IAAI,IAAI,KAAK,EAAE,QAAQ,KAAK,EAAE;AAAA,IACrD,OAAQ,KAAmC,IAAI,CAAC,MAAM,KAAK,UAAU,OAAO,CAAC,CAAC;AAAA;AAAA,EAIxE,SAAS,CAAC,OAAe,KAAuD;AAAA,IACtF,MAAM,WAAW,KAAK,eAAe;AAAA,IACrC,IAAI,CAAC;AAAA,MAAU,OAAO;AAAA,IACtB,MAAM,SAAS,KAAK,IAAI;AAAA,IACxB,YAAY,KAAK,QAAQ,OAAO,QAAQ,SAAS,OAAO,GAAG;AAAA,MACzD,KAAK,IAAI,SAAS,UAAU,IAAI,SAAS,UAAU,OAAO,OAAO,SAAS,UAAU;AAAA,QAClF,OAAO,OAAO,OAAO,OAAO,IAAc;AAAA,MAC5C;AAAA,IACF;AAAA,IACA,OAAO;AAAA;AAAA,MAML,UAAU,GAAW;AAAA,IACvB,OAAO,KAAK,IAAI;AAAA;AAAA,OAOZ,MAAK,GAAoB;AAAA,IAC7B,IAAI,KAAK,IAAI,WAAW;AAAA,MAAG,OAAO;AAAA,IAElC,MAAM,aAAa,CAAC,GAAG,KAAK,GAAG;AAAA,IAC/B,KAAK,IAAI,SAAS;AAAA,IAElB,MAAM,aAAa,KAAK,gBAAgB,UAAU;AAAA,IAGlD,IAAI,mBAAmB,KAAK,IAAI;AAAA,MAC9B,WAAW,QAAQ,YAAY;AAAA,QAC7B,MAAM,IAAI,IAAI,IAAI,EAAE,QAAQ,KAAK,EAAE;AAAA,MACrC;AAAA,IACF,EAAO;AAAA,MACL,MAAO,KAAK,GAAwB,YAAY,EAAE,QAAQ,OAAO,OAAO;AAAA,QACtE,WAAW,QAAQ,YAAY;AAAA,UAC7B,MAAM,IAAI,IAAI,IAAI,EAAE,QAAQ,EAAE;AAAA,QAChC;AAAA,OACD;AAAA;AAAA,IAGH,OAAO,WAAW;AAAA;AAAA,EAIZ,eAAe,CAAC,KAA0B;AAAA,IAChD,MAAM,aAAuB,CAAC;AAAA,IAE9B,WAAW,MAAM,KAAK;AAAA,MACpB,MAAM,iBAAiB,IAAI,KAAK,kBAAkB,GAAG;AAAA,MAErD,QAAQ,GAAG;AAAA,aACJ,UAAU;AAAA,UACb,MAAM,aAAa,GAAG,KAAK;AAAA,UAC3B,MAAM,eAAe,GAAG,KAAK;AAAA,UAC7B,MAAM,cAAc,GAAG,KAAK;AAAA,UAC5B,MAAM,OAAO,KAAK,GAAG,KAAK;AAAA,UAC1B,OAAO,KAAK;AAAA,UACZ,OAAO,KAAK;AAAA,UACZ,OAAO,KAAK;AAAA,UAGZ,KAAK,gBAAgB,KAAK,MAAM;AAAA,UAChC,KAAK,SAAS,KAAK,IAAI;AAAA,UACvB,KAAK,cAAc;AAAA,UAEnB,MAAM,OAAO,OAAO,KAAK,IAAI;AAAA,UAC7B,KAAK,QAAQ,kBAAkB;AAAA,UAC/B,MAAM,OAAO,KAAK,IAAI,CAAC,MACrB,KAAK,OAAO,UAAU,UAAU,cAAc,KAAK,EAAE,CACvD;AAAA,UACA,IAAI,OAAO,eAAe,mBAAmB,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,IAAI,cAAc,KAAK,KAAK,IAAI;AAAA,UAE5G,IAAI,cAAc,WAAW,SAAS,GAAG;AAAA,YACvC,MAAM,aAAa,KAAK,OAAO,CAAC,MAAM,CAAC,WAAW,SAAS,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,CAAC;AAAA,YACnF,IAAI,WAAW,SAAS,GAAG;AAAA,cACzB,MAAM,aAAa,WAAW,IAAI,CAAC,MAAM,IAAI,kBAAkB,IAAI;AAAA,cACnE,QAAQ,iBAAiB,WAAW,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,IAAI,oBAAoB,WAAW,KAAK,IAAI;AAAA,YAC5G,EAAO;AAAA,cACL,QAAQ,iBAAiB,WAAW,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,IAAI;AAAA;AAAA,UAEtE,EAAO,SAAI,gBAAgB,aAAa,CAIxC;AAAA,UAEA,WAAW,KAAK,IAAI;AAAA,UACpB;AAAA,QACF;AAAA,aACK,UAAU;AAAA,UACb,MAAM,aAAa,OAAO,QAAQ,GAAG,GAAI;AAAA,UACzC,WAAW,QAAQ,EAAE,OAAO,mBAAmB,CAAC,CAAC;AAAA,UACjD,MAAM,aAAa,WAAW,IAC5B,EAAE,GAAG,OAAO,IAAI,QAAQ,cAAc,CAAC,GACzC;AAAA,UACA,QAAQ,WAAW,iBAAiB,GAAG,IAAI;AAAA,UAC3C,WAAW,KACT,UAAU,sBAAsB,WAAW,KAAK,IAAI,WAAW,QACjE;AAAA,UACA;AAAA,QACF;AAAA,aACK,UAAU;AAAA,UACb,QAAQ,WAAW,iBAAiB,GAAG,IAAI;AAAA,UAC3C,WAAW,KAAK,eAAe,wBAAwB,QAAQ;AAAA,UAC/D;AAAA,QACF;AAAA;AAAA,IAEJ;AAAA,IAEA,OAAO;AAAA;AAAA,EAGD,aAAa,CAAC,OAAqB;AAAA,IACzC,IAAI,CAAC,KAAK,eAAe,QAAQ;AAAA,MAC/B,MAAM,IAAI,MACR,UAAU,oDAAoD,OAAO,KAAK,KAAK,cAAc,EAAE,KAAK,IAAI,IAC1G;AAAA,IACF;AAAA;AAEJ;AAIA,SAAS,aAAa,CAAC,OAAwB;AAAA,EAC7C,IAAI,UAAU,QAAQ,UAAU;AAAA,IAAW,OAAO;AAAA,EAClD,IAAI,OAAO,UAAU,YAAY,OAAO,UAAU;AAAA,IAAU,OAAO,OAAO,KAAK;AAAA,EAC/E,IAAI,OAAO,UAAU;AAAA,IAAW,OAAO,QAAQ,SAAS;AAAA,EACxD,IAAI,OAAO,UAAU;AAAA,IAAU,OAAO,IAAI,KAAK,UAAU,KAAK,EAAE,QAAQ,MAAM,IAAI;AAAA,EAElF,OAAO,IAAI,OAAO,KAAK,EAAE,QAAQ,MAAM,IAAI;AAAA;AAG7C,SAAS,gBAAgB,CAAC,OAGxB;AAAA,EACA,MAAM,UAAU,OAAO,QAAQ,KAAK;AAAA,EACpC,IAAI,QAAQ,WAAW;AAAA,IAAG,OAAO,EAAE,QAAQ,QAAQ,QAAQ,CAAC,EAAE;AAAA,EAE9D,QAAQ,QAAQ,EAAE,OAAO,mBAAmB,CAAC,CAAC;AAAA,EAC9C,MAAM,QAAQ,QAAQ,IAAI,EAAE,GAAG,OAAO,IAAI,QAAQ,cAAc,CAAC,GAAG;AAAA,EACpE,OAAO,EAAE,QAAQ,MAAM,KAAK,OAAO,GAAG,QAAQ,CAAC,EAAE;AAAA;;;ACzRnD,SAAS,YAAY,CAAC,OAAe,SAA0B;AAAA,EAC7D,IAAI,CAAC,QAAQ,SAAS,GAAG;AAAA,IAAG,OAAO,UAAU;AAAA,EAC7C,MAAM,QAAQ,QACX,QAAQ,qBAAqB,MAAM,EACnC,QAAQ,OAAO,IAAI;AAAA,EACtB,OAAO,IAAI,OAAO,IAAI,QAAQ,EAAE,KAAK,KAAK;AAAA;AAS5C,SAAS,WAAW,CAClB,QACA,cACA,YACa;AAAA,EACb,MAAM,UAAuB,CAAC;AAAA,EAC9B,MAAM,MAAM,UAAU,MAAM;AAAA,EAE5B,WAAW,MAAM,cAAc;AAAA,IAE7B,IAAI,OAAO,MAAM;AAAA,MACf,IAAI,CAAC,aAAa,GAAG,MAAM,OAAO,IAAI;AAAA,QAAG;AAAA,MAEzC,MAAM,WAAW,WAAW,IAAI,GAAG,KAAK,KAAK,CAAC;AAAA,MAG9C,IAAI,gBAAgB;AAAA,MAGpB,IAAI,OAAO,cAAc,WAAW;AAAA,QAClC,MAAM,eAAe,cAAc,OAAO,CAAC,MAAM;AAAA,UAC/C,MAAM,OAAO,EAAE;AAAA,UACf,MAAM,YAAY,MAAM;AAAA,UACxB,IAAI,cAAc;AAAA,YAAW,OAAO;AAAA,UACpC,MAAM,SAAS,OAAO,SAAS;AAAA,UAC/B,OAAO,UAAU,OAAO;AAAA,SACzB;AAAA,QACD,IAAI,aAAa,WAAW;AAAA,UAAG;AAAA,QAC/B,gBAAgB;AAAA,MAClB;AAAA,MAEA,QAAQ,KAAK,EAAE,IAAI,QAAQ,eAAe,WAAW,IAAI,CAAC;AAAA,MAC1D;AAAA,IACF;AAAA,IAGA,IAAI,OAAO,UAAU;AAAA,MACnB,MAAM,kBAAkB,GAAG,eAAe,aAAa,GAAG,aAAa,OAAO,QAAQ;AAAA,MAGtF,IAAI,OAAO,YAAY,GAAG,eAAe;AAAA,QACvC,IAAI,CAAC,aAAa,GAAG,eAAe,OAAO,QAAQ;AAAA,UAAG;AAAA,MACxD,EAAO,SAAI,OAAO,YAAY,CAAC,GAAG,eAAe;AAAA,QAC/C;AAAA,MACF;AAAA,MAEA,MAAM,WAAW,WAAW,IAAI,GAAG,KAAK,KAAK,CAAC;AAAA,MAC9C,IAAI,gBAAgB;AAAA,MAEpB,IAAI,CAAC,iBAAiB;AAAA,QAEpB,gBAAgB,SAAS,OAAO,CAAC,MAAM;AAAA,UACrC,MAAM,OAAO,EAAE;AAAA,UACf,MAAM,qBAAqB,MAAM;AAAA,UACjC,OAAO,sBAAsB,aAAa,oBAAoB,OAAO,QAAS;AAAA,SAC/E;AAAA,QACD,IAAI,cAAc,WAAW;AAAA,UAAG;AAAA,MAClC;AAAA,MAGA,IAAI,OAAO,OAAO;AAAA,QAChB,gBAAgB,cAAc,OAAO,CAAC,MAAM;AAAA,UAC1C,IAAI,aAAa,EAAE,MAAM,OAAO,KAAM;AAAA,YAAG,OAAO;AAAA,UAChD,MAAM,OAAO,EAAE;AAAA,UACf,MAAM,QAAQ,MAAM;AAAA,UACpB,OAAO,QAAQ,aAAa,OAAO,OAAO,KAAM,IAAI;AAAA,SACrD;AAAA,MACH;AAAA,MAEA,IAAI,mBAAmB,cAAc,SAAS,GAAG;AAAA,QAC/C,QAAQ,KAAK,EAAE,IAAI,QAAQ,eAAe,WAAW,IAAI,CAAC;AAAA,MAC5D;AAAA,IACF;AAAA,EACF;AAAA,EAEA,OAAO;AAAA;AAOF,SAAS,YAAY,CAC1B,SACA,cACA,QACa;AAAA,EAEb,MAAM,aAAa,IAAI;AAAA,EACvB,WAAW,SAAS,QAAQ;AAAA,IAC1B,MAAM,OAAO,WAAW,IAAI,MAAM,KAAK,KAAK,CAAC;AAAA,IAC7C,KAAK,KAAK,KAAK;AAAA,IACf,WAAW,IAAI,MAAM,OAAO,IAAI;AAAA,EAClC;AAAA,EAEA,MAAM,OAAO,IAAI;AAAA,EACjB,MAAM,UAAuB,CAAC;AAAA,EAE9B,WAAW,UAAU,SAAS;AAAA,IAC5B,MAAM,UAAU,YAAY,QAAQ,cAAc,UAAU;AAAA,IAC5D,WAAW,SAAS,SAAS;AAAA,MAC3B,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,MAAM;AAAA,MAC7C,IAAI,CAAC,KAAK,IAAI,SAAS,GAAG;AAAA,QACxB,KAAK,IAAI,SAAS;AAAA,QAClB,QAAQ,KAAK,KAAK;AAAA,MACpB;AAAA,IACF;AAAA,EACF;AAAA,EAEA,OAAO;AAAA;;;ACvIT;AAMO,SAAS,kBAAkB,CAAC,KAAsB;AAAA,EACvD,IAAI;AAAA,IACF,MAAM,WAAW,IAAI,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI;AAAA,IACvD,MAAM,KAAK,cAAc,QAAQ;AAAA,IACjC,OAAO,SAAS,EAAE;AAAA,IAClB,MAAM;AAAA,IACN,OAAO;AAAA;AAAA;AAQJ,SAAS,eAAe,CAAC,MAAwB;AAAA,EACtD,IAAI,OAAO,SAAS,YAAY,KAAK,WAAW,IAAI,KAAK,KAAK,SAAS,IAAI;AAAA,IACzE,OAAO,mBAAmB,IAAI;AAAA,EAChC;AAAA,EAEA,IAAI,MAAM,QAAQ,IAAI,GAAG;AAAA,IACvB,OAAO,KAAK,IAAI,eAAe;AAAA,EACjC;AAAA,EAEA,IAAI,OAAO,SAAS,YAAY,SAAS,MAAM;AAAA,IAC7C,MAAM,UAAmC,CAAC;AAAA,IAC1C,YAAY,KAAK,UAAU,OAAO,QAAQ,IAAI,GAAG;AAAA,MAC/C,QAAQ,OAAO,gBAAgB,KAAK;AAAA,IACtC;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EAEA,OAAO;AAAA;AAMF,SAAS,kBAAkB,CAAC,MAA2B;AAAA,EAC5D,OAAO,KAAK,IAAI,kBAAkB;AAAA;;;AC5CpC,mBAAS;AACT;AAOA,IAAM,0BAA0B;AAWhC,SAAS,cAAc,CAAC,UAA0C,KAAa;AAAA,EAC7E,OAAO,SAAS,QAAQ,SAAS,QAAQ;AAAA;AAW3C,eAAsB,WAAW,CAC/B,UACA,SACA,KACA,MACoB;AAAA,EACpB,IAAI,YAAY;AAAA,EAChB,IAAI,SAAS;AAAA,EACb,MAAM,YAAY,MAAM,kBAAkB;AAAA,EAE1C,aAAa,IAAI,QAAQ,2BAAe,SAAS;AAAA,IAC/C,MAAM,UAAU,eAAe,SAAS,UAAU,UAAS;AAAA,IAC3D,IAAI,CAAC,SAAS;AAAA,MACZ,QAAO,KAAK,mCAAmC,EAAE,UAAU,SAAS,MAAM,uBAAW,MAAM,GAAG,MAAM,CAAC;AAAA,MACrG;AAAA,IACF;AAAA,IAEA,IAAI,MAAM;AAAA,MACR,MAAM,GAAG;AAAA,MACT,QAAQ,GAAG;AAAA,MACX,MAAM,GAAG;AAAA,MACT,QAAQ,GAAG;AAAA,IACb,CAAC;AAAA,IAGD,IAAI,OAAO,WAAW,GAAG;AAAA,MACvB,IAAI;AAAA,QACF,MAAM,YAAqC;AAAA,UACzC,IAAI;AAAA,YACF,MAAM,GAAG;AAAA,YACT,QAAQ,GAAG;AAAA,YACX,MAAM,GAAG;AAAA,YACT,QAAQ,GAAG;AAAA,YACX,YAAY,GAAG;AAAA,YACf,cAAc,GAAG;AAAA,UACnB;AAAA,QACF;AAAA,QACA,MAAM,QAAQ,WAAW,GAAG;AAAA,QAC5B;AAAA,QACA,OAAO,KAAK;AAAA,QACZ;AAAA,QACA,QAAO,MAAM,0BAA0B;AAAA,UACrC,UAAU,SAAS;AAAA,UACnB;AAAA,UACA,MAAM,GAAG;AAAA,UACT,OAAO,gBAAgB,GAAG;AAAA,QAC5B,CAAC;AAAA;AAAA,MAEH;AAAA,IACF;AAAA,IAEA,WAAW,SAAS,QAAQ;AAAA,MAC1B,IAAI,UAAU,WAAW;AAAA,QACvB,QAAO,MAAM,+DAA+D;AAAA,UAC1E,UAAU,SAAS;AAAA,UACnB;AAAA,UACA;AAAA,QACF,CAAC;AAAA,QACD,OAAO,EAAE,WAAW,OAAO;AAAA,MAC7B;AAAA,MAEA,IAAI;AAAA,QACF,MAAM,UAAU,gBAAgB,MAAM,IAAI;AAAA,QAC1C,MAAM,eAAwC;AAAA,aACzC;AAAA,UACH,UAAU,MAAM;AAAA,UAChB,YAAY,MAAM;AAAA,UAClB,aAAa,MAAM;AAAA,UACnB,IAAI;AAAA,YACF,MAAM,GAAG;AAAA,YACT,QAAQ,GAAG;AAAA,YACX,MAAM,GAAG;AAAA,YACT,QAAQ,GAAG;AAAA,YACX,YAAY,GAAG;AAAA,YACf,cAAc,GAAG;AAAA,UACnB;AAAA,QACF;AAAA,QAEA,MAAM,QAAQ,cAAc,GAAG;AAAA,QAC/B;AAAA,QACA,OAAO,KAAK;AAAA,QACZ;AAAA,QACA,QAAO,MAAM,0BAA0B;AAAA,UACrC,UAAU,SAAS;AAAA,UACnB;AAAA,UACA,MAAM,GAAG;AAAA,UACT,SAAS,MAAM;AAAA,UACf,WAAW,MAAM;AAAA,UACjB,OAAO,gBAAgB,GAAG;AAAA,QAC5B,CAAC;AAAA;AAAA,IAEL;AAAA,EACF;AAAA,EAEA,OAAO,EAAE,WAAW,OAAO;AAAA;;;AC7H7B,gBAAS;AACT;AACA,mBAAS;AACT;;;ACFA;;;ADuCA,eAAsB,YAAY,CAChC,UACA,cACA,aACA,MAC6B;AAAA,EAC7B,MAAM,KAAK,MAAM;AAAA,EACjB,MAAM,aAAa,YAAY,IAAI;AAAA,EACnC,MAAM,SAA6B;AAAA,IACjC;AAAA,IACA,SAAS;AAAA,IACT,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AAAA,EAGA,MAAM,QAAQ,MAAM,GACjB,WAAW,QAAQ,EACnB,UAAU,EACV,MAAM,UAAU,KAAK,WAAW,EAChC,iBAAiB;AAAA,EAEpB,IAAI,CAAC,OAAO;AAAA,IACV,QAAO,KAAK,2CAA2C,EAAE,UAAU,cAAc,YAAY,CAAC;AAAA,IAC9F,OAAO,UAAU;AAAA,IACjB,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,CAAC,MAAM,WAAW;AAAA,IACpB,QAAO,MAAM,gCAAgC,EAAE,UAAU,cAAc,YAAY,CAAC;AAAA,IACpF,OAAO,UAAU;AAAA,IACjB,OAAO;AAAA,EACT;AAAA,EAGA,MAAM,MAAM,MAAM,GACf,WAAW,cAAc,EACzB,UAAU,EACV,MAAM,gBAAgB,KAAK,WAAW,EACtC,QAAQ;AAAA,EAEX,MAAM,OAAO,MAAM,GAChB,WAAW,QAAQ,EACnB,UAAU,EACV,MAAM,gBAAgB,KAAK,WAAW,EACtC,QAAQ;AAAA,EAGX,MAAM,UAAU,aAAa,SAAS,SAAS,KAAK,IAAI;AAAA,EACxD,OAAO,UAAU,QAAQ;AAAA,EAEzB,IAAI,QAAQ,WAAW,GAAG;AAAA,IACxB,IAAI,CAAC,MAAM,oBAAoB;AAAA,MAC7B,MAAM,qBAAqB,IAAI,cAAc,UAAU,WAAW;AAAA,IACpE;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EAIA,MAAM,iBAAiB,MAAM,GAC1B,WAAW,WAAW,EACtB,OAAO,aAAa,EACpB,MAAM,QAAQ,KAAK,YAAY,EAC/B,iBAAiB;AAAA,EACpB,MAAM,aAAa,gBAAgB,eAAe,aAAa,YAAY;AAAA,EAC3E,MAAM,YAAuB;AAAA,IAC3B,QAAQ,MAAM;AAAA,IACd,MAAM,MAAM;AAAA,IACZ,WAAW,MAAM;AAAA,IACjB,iBAAiB,MAAM;AAAA,EACzB;AAAA,EACA,MAAM,YAAoB;AAAA,IACxB,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EAGA,IAAI,YAAY;AAAA,EAChB,IAAI,UAAU;AAAA,EAEd,MAAM,GAAG,YAAY,EAAE,QAAQ,OAAO,OAA8B;AAAA,IAClE,MAAM,MAAM,IAAI,gBAAgB,IAAI,YAAY,SAAS,QAAQ,WAAW,SAAS;AAAA,IAErF,MAAM,eAAe,YAAY,IAAI;AAAA,IACrC,MAAM,YAAY,MAAM,YAAY,UAAU,SAAS,GAAG;AAAA,IAC1D,YAAY,YAAY,IAAI,IAAI;AAAA,IAEhC,OAAO,YAAY,UAAU;AAAA,IAC7B,OAAO,SAAS,UAAU;AAAA,IAG1B,IAAI,IAAI,aAAa,GAAG;AAAA,MACtB,MAAM,aAAa,YAAY,IAAI;AAAA,MACnC,MAAM,IAAI,MAAM;AAAA,MAChB,UAAU,YAAY,IAAI,IAAI;AAAA,IAChC;AAAA,IAGA,IAAI,CAAC,MAAM,oBAAoB;AAAA,MAC7B,MAAM,SAAS,UAAU,SAAS,KAAK,UAAU,cAAc,IAAI,UAAU;AAAA,MAC7E,MAAM,qBAAqB,IAAI,cAAc,QAAQ,WAAW;AAAA,IAClE;AAAA,IAEA,IAAI,CAAC,MAAM,uBAAuB,UAAU,YAAY,KAAK,UAAU,SAAS,IAAI;AAAA,MAClF,MAAM,YAAY,UAAU,SAAS,IACjC,GAAG,UAAU,4BAA4B,gBACzC;AAAA,MACJ,MAAM,wBAAwB,IAAI,cAAc,UAAU,WAAW,UAAU,QAAQ,SAAS;AAAA,IAClG;AAAA,GACD;AAAA,EAED,MAAM,UAAU,YAAY,IAAI,IAAI;AAAA,EACpC,OAAO,SAAS;AAAA,IACd,SAAS,KAAK,MAAM,OAAO;AAAA,IAC3B,WAAW,KAAK,MAAM,SAAS;AAAA,IAC/B,SAAS,KAAK,MAAM,OAAO;AAAA,EAC7B;AAAA,EAGA,IAAI,cAAc,SAAS,GAAG;AAAA,IAC5B,IAAI;AAAA,MACF,MAAM,SAAS,OAAO,KAAK,SAAS,MAAM;AAAA,MAC1C,WAAW,SAAS,QAAQ;AAAA,QAC1B,QAAQ,SAAS,MAAM,KAAI,IACzB,kCAAkC,gBAAgB,QACpD,EAAE,QAAQ,EAAE;AAAA,QACZ,MAAM,QAAQ,OAAQ,KAAK,GAA+B,KAAK;AAAA,QAC/D,IAAI,SAAS,KAAY;AAAA,UACvB,QAAO,KAAK,mCAAmC,EAAE,UAAU,cAAc,OAAO,MAAM,CAAC;AAAA,QACzF;AAAA,MACF;AAAA,MACA,MAAM;AAAA,EAGV;AAAA,EAEA,OAAO;AAAA;;;AElKT,IAAM,wBAAwB;AAC9B,IAAM,oBAAoB;AAAA;AAMnB,MAAM,iBAAiB;AAAA,EAKlB;AAAA,EACA;AAAA,EACA;AAAA,EANF;AAAA,EACA,YAAY,KAAK,IAAI;AAAA,EAE7B,WAAW,CACD,cACA,UACA,WACR;AAAA,IAHQ;AAAA,IACA;AAAA,IACA;AAAA,IAER,KAAK,UAAU,KAAK,SAAS;AAAA;AAAA,EAG/B,MAAM,CAAC,QAA4B,UAAwB;AAAA,IACzD,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ,eAAe,OAAO;AAAA,IACnC,KAAK,QAAQ,iBAAiB,OAAO;AAAA,IACrC,KAAK,QAAQ,eAAe,OAAO;AAAA,IACnC,KAAK,QAAQ,iBAAiB,KAAK,IAAI,KAAK,QAAQ,gBAAgB,OAAO,OAAO;AAAA,IAClF,KAAK,QAAQ,mBAAmB,KAAK,IAAI,KAAK,QAAQ,kBAAkB,OAAO,SAAS;AAAA,IACxF,KAAK,QAAQ,YAAY;AAAA;AAAA,EAG3B,WAAW,GAAY;AAAA,IACrB,OACE,KAAK,QAAQ,mBAAmB,yBAChC,KAAK,IAAI,IAAI,KAAK,aAAa;AAAA;AAAA,OAI7B,MAAK,CAAC,IAAqC;AAAA,IAC/C,IAAI,KAAK,QAAQ,oBAAoB;AAAA,MAAG;AAAA,IAExC,MAAM,QAAQ,KAAK;AAAA,IACnB,KAAK,UAAU,KAAK,SAAS;AAAA,IAC7B,KAAK,YAAY,KAAK,IAAI;AAAA,IAE1B,MAAM,iBAAiB,MAAM,kBAAkB,IAC3C,MAAM,WAAW,MAAM,kBACvB;AAAA,IAEJ,MAAM,GACH,WAAW,2BAA2B,EACtC,OAAO;AAAA,MACN,eAAe,MAAM;AAAA,MACrB,YAAY,MAAM;AAAA,MAClB,cAAc,MAAM;AAAA,MACpB,YAAY,IAAI;AAAA,MAChB,kBAAkB,MAAM;AAAA,MACxB,eAAe,KAAK,MAAM,MAAM,WAAW;AAAA,MAC3C,iBAAiB,KAAK,MAAM,MAAM,aAAa;AAAA,MAC/C,eAAe,KAAK,MAAM,MAAM,WAAW;AAAA,MAC3C,mBAAmB,KAAK,MAAM,MAAM,cAAc;AAAA,MAClD,qBAAqB,KAAK,MAAM,MAAM,gBAAgB;AAAA,MACtD,mBAAmB,WAAW,eAAe,QAAQ,CAAC,CAAC;AAAA,MACvD,YAAY,MAAM;AAAA,IACpB,CAAC,EACA,QAAQ;AAAA;AAAA,EAGL,QAAQ,GAAe;AAAA,IAC7B,OAAO;AAAA,MACL,cAAc,KAAK;AAAA,MACnB,UAAU,KAAK;AAAA,MACf,aAAa,IAAI;AAAA,MACjB,iBAAiB;AAAA,MACjB,aAAa;AAAA,MACb,eAAe;AAAA,MACf,aAAa;AAAA,MACb,gBAAgB;AAAA,MAChB,kBAAkB;AAAA,MAClB,UAAU;AAAA,MACV,WAAW,KAAK;AAAA,IAClB;AAAA;AAEJ;;;ACnGA,kBAAS;AACT,iCAAS;AACT,mBAAS;AACT,4BAAS;;;ACAF,IAAM,WAAuC;AAAA,EAClD,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AAAA,EACL,WAAW;AAAA,EACX,SAAS;AAAA,EACT,WAAW;AAAA,EACX,OAAO;AACT;AAOA,SAAS,oBAAoB,CAAC,OAAwB;AAAA,EACpD,IAAI,UAAU,QAAQ,UAAU;AAAA,IAAW,OAAO;AAAA,EAClD,IAAI,OAAO,UAAU,YAAY,OAAO,UAAU;AAAA,IAAU,OAAO,OAAO,KAAK;AAAA,EAC/E,IAAI,OAAO,UAAU;AAAA,IAAW,OAAO,QAAQ,SAAS;AAAA,EACxD,OAAO,IAAI,OAAO,KAAK,EAAE,QAAQ,MAAM,IAAI;AAAA;AAQtC,SAAS,mBAAmB,CAAC,KAAyB,oBAA2C;AAAA,EACtG,MAAM,aAAa,sBAAsB,aAAa,IAAI,IAAI;AAAA,EAC9D,MAAM,aAAuB,CAAC;AAAA,EAG9B,MAAM,YAAY,OAAO,OAAO,IAAI,MAAM,EAAE,KAAK,CAAC,UAChD,OAAO,OAAO,MAAM,OAAO,EAAE,KAAK,CAAC,QAAQ,IAAI,MAAM,CACvD;AAAA,EAEA,IAAI,WAAW;AAAA,IACb,WAAW,KAAK,wCAAwC;AAAA,EAC1D;AAAA,EAGA,WAAW,KAAK,+BAA+B,YAAY;AAAA,EAG3D,YAAY,WAAW,aAAa,OAAO,QAAQ,IAAI,MAAM,GAAG;AAAA,IAC9D,MAAM,gBAAgB,GAAG,cAAc;AAAA,IAGvC,MAAM,aAAuB;AAAA,MAC3B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IAEA,YAAY,SAAS,QAAQ,OAAO,QAAQ,SAAS,OAAO,GAAG;AAAA,MAC7D,MAAM,UAAU,SAAS,IAAI;AAAA,MAC7B,MAAM,WAAW,IAAI,WAAW,KAAK;AAAA,MACrC,IAAI,SAAS,GAAG,WAAW,UAAU;AAAA,MACrC,IAAI,IAAI,YAAY,WAAW;AAAA,QAC7B,UAAU,YAAY,qBAAqB,IAAI,OAAO;AAAA,MACxD;AAAA,MACA,WAAW,KAAK,MAAM;AAAA,IACxB;AAAA,IAEA,WAAW,KACT,8BAA8B;AAAA,IAAsB,WAAW,KAAK;AAAA,GAAO;AAAA,EAC7E;AAAA,IAGA,WAAW,KACT,kCAAkC,cAAc,6BAA6B,+BAC/E;AAAA,IACA,WAAW,KACT,kCAAkC,cAAc,sBAAsB,wBACxE;AAAA,IAGA,YAAY,SAAS,QAAQ,OAAO,QAAQ,SAAS,OAAO,GAAG;AAAA,MAC7D,IAAI,IAAI,SAAS;AAAA,QACf,WAAW,KACT,kCAAkC,cAAc,aAAa,cAAc,kBAAkB,UAC/F;AAAA,MACF;AAAA,IACF;AAAA,IAGA,YAAY,SAAS,QAAQ,OAAO,QAAQ,SAAS,OAAO,GAAG;AAAA,MAC7D,IAAI,IAAI,QAAQ;AAAA,QACd,WAAW,KACT,kCAAkC,cAAc,aAAa,mBAAmB,4BAA4B,uBAC9G;AAAA,MACF;AAAA,IACF;AAAA,IAGA,IAAI,SAAS,SAAS;AAAA,MACpB,SAAS,IAAI,EAAG,IAAI,SAAS,QAAQ,QAAQ,KAAK;AAAA,QAChD,MAAM,OAAO,SAAS,QAAQ;AAAA,QAC9B,MAAM,UAAU,OAAO,cAAc,uBAAuB;AAAA,QAC5D,WAAW,KACT,8BAA8B,cAAc,kBAAkB,KAAK,KAAK,IAAI,IAC9E;AAAA,MACF;AAAA,IACF;AAAA,IAGA,IAAI,SAAS,YAAY;AAAA,MACvB,SAAS,IAAI,EAAG,IAAI,SAAS,WAAW,QAAQ,KAAK;AAAA,QACnD,MAAM,OAAO,SAAS,WAAW;AAAA,QACjC,MAAM,iBAAiB,MAAM,cAAc,aAAa,KAAK,KAAK,GAAG;AAAA,QACrE,WAAW,KACT,eAAe,gCAAgC,0BAA0B,KAAK,KAAK,IAAI,IACzF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAGA,MAAM,YAAY,KAAK,UAAU;AAAA,IAC/B,MAAM,IAAI;AAAA,IACV,SAAS,IAAI;AAAA,IACb,QAAQ,IAAI;AAAA,IACZ,SAAS,IAAI;AAAA,EACf,GAAG,CAAC,MAAM,UAAU,OAAO,UAAU,WAAW,MAAM,SAAS,IAAI,KAAK;AAAA,EACxE,MAAM,OAAO,OAAO,IAAI,KAAK,SAAS,CAAC;AAAA,EAEvC,OAAO,EAAE,YAAY,KAAK;AAAA;;;ADxH5B,IAAM,eAAe;AAYrB,eAAsB,eAAe,CACnC,KACA,MACgC;AAAA,EAChC,MAAM,KAAK,OAAM;AAAA,EACjB,MAAM,SAAS,aAAa;AAAA,EAC5B,MAAM,eAAe,IAAI;AAAA,EACzB,MAAM,aAAa,MAAM,cAAc,aAAa,YAAY;AAAA,EAGhE,MAAM,sBAAqB,IAAI,cAAc,YAAY;AAAA,EAEzD,QAAO,KAAK,oBAAoB,EAAE,UAAU,aAAa,CAAC;AAAA,EAE1D,IAAI;AAAA,IAEF,MAAM,OAAO,OAAO,0BAA0B,qBAAqB;AAAA,IAEnE,QAAQ,eAAe,oBAAoB,KAAK,UAAU;AAAA,IAC1D,WAAW,QAAQ,YAAY;AAAA,MAC7B,MAAM,OAAO,OAAO,IAAI;AAAA,IAC1B;AAAA,IAEA,QAAO,KAAK,gCAAgC,EAAE,UAAU,aAAa,CAAC;AAAA,IAGtE,MAAM,YAAY,MAAM,aAAa;AAAA,IACrC,IAAI;AAAA,IAEJ,IAAI,MAAM,WAAW,MAAM;AAAA,MACzB,UAAU,KAAK;AAAA,IACjB,EAAO;AAAA,MACL,MAAM,WAAW,MAAM,GACpB,WAAW,gBAAgB,EAC3B,UAAU,EACV,MAAM,WAAW,KAAK,QAAQ,IAAI,WAAW,SAAS,EACtD,iBAAiB;AAAA,MACpB,UAAU,UAAU,sBAAsB,UAAU,yBAAyB;AAAA;AAAA,IAG/E,IAAI,YAAY,SAAS;AAAA,MACvB,QAAO,KAAK,wBAAwB,EAAE,UAAU,cAAc,WAAW,QAAQ,CAAC;AAAA,MAClF,MAAM,sBAAqB,IAAI,cAAc,UAAU,CAAC;AAAA,MACxD,OAAO,EAAE,WAAW,EAAE;AAAA,IACxB;AAAA,IAEA,MAAM,cAAc,UAAU,YAAY;AAAA,IAC1C,QAAO,KAAK,qBAAqB,EAAE,UAAU,cAAc,WAAW,SAAS,YAAY,CAAC;AAAA,IAG5F,MAAM,cAAc,MAAM,GACvB,WAAW,WAAW,EACtB,OAAO,YAAY,EACnB,MAAM,QAAQ,KAAK,YAAY,EAC/B,iBAAiB;AAAA,IAEpB,MAAM,QAAQ,IAAI,iBAAiB,cAAc,aAAa,cAAc,MAAM,KAAK;AAAA,IACvF,IAAI,kBAAkB;AAAA,IACtB,IAAI,uBAAuB;AAAA,IAC3B,IAAI,cAAc;AAAA,IAClB,MAAM,oBAAoB;AAAA,IAE1B,SAAS,SAAS,UAAW,UAAU,SAAS,UAAU;AAAA,MACxD,MAAM,SAAS,MAAM,aAAa,KAAK,cAAc,QAAQ,EAAE,oBAAoB,KAAK,CAAC;AAAA,MACzF;AAAA,MACA,wBAAwB,OAAO;AAAA,MAC/B,eAAe,OAAO;AAAA,MAEtB,IAAI,OAAO,QAAQ;AAAA,QACjB,MAAM,OAAO,OAAO,QAAQ,OAAO,SAAS;AAAA,QAC5C,IAAI,MAAM,YAAY,GAAG;AAAA,UACvB,MAAM,MAAM,MAAM,EAAE;AAAA,QACtB;AAAA,MACF;AAAA,MAGA,IAAI,kBAAkB,sBAAsB,GAAG;AAAA,QAC7C,MAAM,sBAAqB,IAAI,cAAc,cAAc,MAAM;AAAA,MACnE;AAAA,MAEA,IAAI,kBAAkB,iBAAiB,GAAG;AAAA,QACxC,QAAO,KAAK,oBAAoB;AAAA,UAC9B,UAAU;AAAA,UACV,WAAW;AAAA,UACX,OAAO;AAAA,UACP,cAAc;AAAA,UACd,KAAK,KAAK,MAAO,kBAAkB,cAAe,GAAG;AAAA,QACvD,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IAGA,MAAM,MAAM,MAAM,EAAE;AAAA,IAGpB,QAAQ,sDAA4B,MAAa;AAAA,IACjD,IAAI,uBAAuB,KAAK,cAAc,GAAG;AAAA,MAC/C,MAAM,yBAAwB,IAAI,cAAc,sBAAsB,aACpE,cAAc,IAAI,GAAG,wCAAwC,SAAS;AAAA,IAC1E;AAAA,IAGA,MAAM,sBAAqB,IAAI,cAAc,UAAU,OAAO;AAAA,IAE9D,QAAO,KAAK,oBAAoB,EAAE,UAAU,cAAc,QAAQ,iBAAiB,QAAQ,sBAAsB,QAAQ,YAAY,CAAC;AAAA,IACtI,OAAO,EAAE,WAAW,gBAAgB;AAAA,IACpC,OAAO,KAAK;AAAA,IACZ,QAAO,MAAM,kBAAkB;AAAA,MAC7B,UAAU;AAAA,MACV,OAAO,iBAAgB,GAAG;AAAA,IAC5B,CAAC;AAAA,IACD,MAAM,sBAAqB,IAAI,cAAc,OAAO;AAAA,IACpD,MAAM;AAAA;AAAA;;AEnHH,SAAS,cAAwC,CACtD,KACoD;AAAA,EACpD,OAAO;AAAA;;ACtBT,gBAAS;AAUT,SAAS,UAAU,CAAC,KAAuB;AAAA,EACzC,OAAO,KAAK,MAAM,KAAK,UAAU,KAAK,CAAC,MAAM,UAC3C,OAAO,UAAU,WAAW,MAAM,SAAS,IAAI,KACjD,CAAC;AAAA;AAqBI,SAAS,UAAU,CAAC,UAA0B,UAAqC;AAAA,EACxF,MAAM,iBAAiB,IAAI,IAAI,OAAO,KAAK,QAAQ,CAAC;AAAA,EACpD,MAAM,iBAAiB,IAAI,IAAI,OAAO,KAAK,QAAQ,CAAC;AAAA,EAEpD,MAAM,cAAc,CAAC,GAAG,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC;AAAA,EAC5E,MAAM,gBAAgB,CAAC,GAAG,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC;AAAA,EAE9E,MAAM,SAAqC,CAAC;AAAA,EAC5C,WAAW,aAAa,gBAAgB;AAAA,IACtC,IAAI,CAAC,eAAe,IAAI,SAAS;AAAA,MAAG;AAAA,IACpC,MAAM,eAAe,SAAS,WAAY;AAAA,IAC1C,MAAM,eAAe,SAAS,WAAY;AAAA,IAE1C,MAAM,eAAe,IAAI,IAAI,OAAO,KAAK,YAAY,CAAC;AAAA,IACtD,MAAM,eAAe,IAAI,IAAI,OAAO,KAAK,YAAY,CAAC;AAAA,IAEtD,OAAO,aAAa;AAAA,MAClB,OAAO,CAAC,GAAG,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;AAAA,MAC3D,SAAS,CAAC,GAAG,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;AAAA,MAC7D,SAAS,CAAC,GAAG,YAAY,EAAE,OAAO,CAAC,MAAM;AAAA,QACvC,IAAI,CAAC,aAAa,IAAI,CAAC;AAAA,UAAG,OAAO;AAAA,QACjC,OAAO,KAAK,UAAU,aAAa,EAAE,MAAM,KAAK,UAAU,aAAa,EAAE;AAAA,OAC1E;AAAA,IACH;AAAA,EACF;AAAA,EAEA,OAAO,EAAE,aAAa,eAAe,OAAO;AAAA;AAO9C,SAAS,kBAAkB,CAAC,MAA2D;AAAA,EACrF,MAAM,UAAoB,CAAC;AAAA,EAC3B,IAAI,KAAK,cAAc,SAAS,GAAG;AAAA,IACjC,QAAQ,KAAK,oBAAoB,KAAK,cAAc,KAAK,IAAI,IAAI;AAAA,EACnE;AAAA,EACA,YAAY,OAAO,YAAY,OAAO,QAAQ,KAAK,MAAM,GAAG;AAAA,IAC1D,IAAI,QAAQ,QAAQ,SAAS,GAAG;AAAA,MAC9B,QAAQ,KAAK,GAAG,2BAA2B,QAAQ,QAAQ,KAAK,IAAI,IAAI;AAAA,IAC1E;AAAA,IACA,IAAI,QAAQ,QAAQ,SAAS,GAAG;AAAA,MAC9B,QAAQ,KAAK,GAAG,2BAA2B,QAAQ,QAAQ,KAAK,IAAI,IAAI;AAAA,IAC1E;AAAA,EACF;AAAA,EACA,OAAO,EAAE,UAAU,QAAQ,SAAS,GAAG,QAAQ;AAAA;AAUjD,eAAsB,YAAY,CAChC,IACA,KACA,aACA,MAC4F;AAAA,EAC5F,2BAA2B,GAAG;AAAA,EAE9B,QAAQ,YAAY,SAAS,oBAAoB,KAAK,MAAM,UAAU;AAAA,EACtE,QAAQ,aAAa,qBAAqB,MAAa;AAAA,EAEvD,MAAM,WAAW,MAAM,YAAY,IAAI,IAAI,MAAM,MAAM,QAAQ;AAAA,EAE/D,MAAM,aAAa,MAAM,cAAc,aAAa,IAAI,IAAI;AAAA,EAC5D,MAAM,UAAU;AAAA,IACd,MAAM,IAAI;AAAA,IACV,SAAS,IAAI,WAAW;AAAA,IACxB,YAAY,WAAW,EAAE,MAAM,IAAI,MAAM,SAAS,IAAI,SAAS,aAAa,IAAI,aAAa,SAAS,IAAI,SAAS,QAAQ,IAAI,OAAO,CAAC;AAAA,IACvI,YAAY;AAAA,IACZ;AAAA,IACA,UAAU,MAAM;AAAA,IAChB;AAAA,EACF;AAAA,EAEA,IAAI,UAAU;AAAA,IACZ,IAAI,SAAS,gBAAgB,QAAQ,CAAC,MAAM,cAAc;AAAA,MAExD,QAAQ,8BAA8B,MAAa;AAAA,MACnD,MAAM,0BAA0B,IAAI,IAAI,MAAM,WAAW;AAAA,MACzD,OAAO,EAAE,QAAQ,aAAa,YAAY,SAAS,GAAG;AAAA,IACxD;AAAA,IAEA,IAAI,SAAS,gBAAgB,QAAQ,MAAM,cAAc;AAAA,MAEvD,MAAM,KAAI,IAAI,0BAA0B,qBAAqB,EAAE,QAAQ,EAAE;AAAA,MACzE,WAAW,QAAQ,YAAY;AAAA,QAC7B,MAAM,KAAI,IAAI,IAAI,EAAE,QAAQ,EAAE;AAAA,MAChC;AAAA,MACA,MAAM,MAAK,MAAM,iBAAiB,IAAI,OAAO;AAAA,MAC7C,OAAO,EAAE,QAAQ,aAAa,YAAY,IAAG,GAAG;AAAA,IAClD;AAAA,IAEA,MAAM,cAAc,SAAS;AAAA,IAC7B,IAAI,YAAY,QAAQ;AAAA,MACtB,MAAM,OAAO,WAAW,YAAY,QAAQ,IAAI,MAAM;AAAA,MACtD,QAAQ,UAAU,YAAY,mBAAmB,IAAI;AAAA,MAErD,IAAI,UAAU;AAAA,QACZ,IAAI,CAAC,MAAM,cAAc;AAAA,UACvB,MAAM,IAAI,MACR,oCAAoC,QAAQ,KAAK,IAAI,mEAEvD;AAAA,QACF;AAAA,QAGA,MAAM,KAAI,IAAI,0BAA0B,qBAAqB,EAAE,QAAQ,EAAE;AAAA,QACzE,WAAW,QAAQ,YAAY;AAAA,UAC7B,MAAM,KAAI,IAAI,IAAI,EAAE,QAAQ,EAAE;AAAA,QAChC;AAAA,QACA,MAAM,MAAK,MAAM,iBAAiB,IAAI,OAAO;AAAA,QAC7C,OAAO,EAAE,QAAQ,aAAa,YAAY,IAAG,GAAG;AAAA,MAClD;AAAA,MAGA,WAAW,aAAa,KAAK,aAAa;AAAA,QACxC,MAAM,WAAW,IAAI,OAAO;AAAA,QAC5B,MAAM,gBAAgB,GAAG,cAAc;AAAA,QACvC,MAAM,UAAU;AAAA,UACd;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY,SAAS,QAAQ,OAAO,QAAQ,SAAS,OAAO,GAAG;AAAA,UAC7D,MAAM,WAAW,IAAI,WAAW,KAAK;AAAA,UACrC,QAAQ,KAAK,GAAG,WAAW,SAAS,IAAI,QAAS,UAAU;AAAA,QAC7D;AAAA,QACA,MAAM,KAAI,IACR,8BAA8B;AAAA,IAAsB,QAAQ,KAAK;AAAA,GAAO;AAAA,EAC1E,EAAE,QAAQ,EAAE;AAAA,QACZ,MAAM,KAAI,IACR,kCAAkC,cAAc,6BAA6B,+BAC/E,EAAE,QAAQ,EAAE;AAAA,QACZ,MAAM,KAAI,IACR,kCAAkC,cAAc,sBAAsB,wBACxE,EAAE,QAAQ,EAAE;AAAA,QACZ,YAAY,SAAS,QAAQ,OAAO,QAAQ,SAAS,OAAO,GAAG;AAAA,UAC7D,IAAI,IAAI,SAAS;AAAA,YACf,MAAM,KAAI,IACR,kCAAkC,cAAc,aAAa,cAAc,kBAAkB,UAC/F,EAAE,QAAQ,EAAE;AAAA,UACd;AAAA,UACA,IAAI,IAAI,QAAQ;AAAA,YACd,MAAM,KAAI,IACR,kCAAkC,cAAc,aAAa,mBAAmB,4BAA4B,uBAC9G,EAAE,QAAQ,EAAE;AAAA,UACd;AAAA,QACF;AAAA,MACF;AAAA,MAGA,YAAY,WAAW,YAAY,OAAO,QAAQ,KAAK,MAAM,GAAG;AAAA,QAC9D,IAAI,QAAQ,MAAM,WAAW;AAAA,UAAG;AAAA,QAChC,MAAM,gBAAgB,GAAG,cAAc;AAAA,QACvC,MAAM,WAAW,IAAI,OAAO;AAAA,QAC5B,WAAW,WAAW,QAAQ,OAAO;AAAA,UACnC,MAAM,MAAM,SAAS,QAAQ;AAAA,UAC7B,MAAM,UAAU,SAAS,IAAI;AAAA,UAC7B,MAAM,WAAW,IAAI,WAAW,KAAK,uBAAuB,WAAW,IAAI,IAAI;AAAA,UAC/E,MAAM,KAAI,IACR,eAAe,4BAA4B,WAAW,UAAU,UAClE,EAAE,QAAQ,EAAE;AAAA,UACZ,IAAI,IAAI,SAAS;AAAA,YACf,MAAM,KAAI,IACR,kCAAkC,cAAc,aAAa,cAAc,kBAAkB,UAC/F,EAAE,QAAQ,EAAE;AAAA,UACd;AAAA,UACA,IAAI,IAAI,QAAQ;AAAA,YACd,MAAM,KAAI,IACR,kCAAkC,cAAc,aAAa,mBAAmB,4BAA4B,uBAC9G,EAAE,QAAQ,EAAE;AAAA,UACd;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IAEA,MAAM,MAAK,MAAM,iBAAiB,IAAI,OAAO;AAAA,IAC7C,OAAO,EAAE,QAAQ,WAAW,YAAY,IAAG,GAAG;AAAA,EAChD;AAAA,EAGA,WAAW,QAAQ,YAAY;AAAA,IAC7B,MAAM,KAAI,IAAI,IAAI,EAAE,QAAQ,EAAE;AAAA,EAChC;AAAA,EAEA,MAAM,KAAK,MAAM,iBAAiB,IAAI,OAAO;AAAA,EAC7C,OAAO,EAAE,QAAQ,WAAW,YAAY,GAAG,GAAG;AAAA;AAGhD,SAAS,UAAU,CAAC,MAAsB;AAAA,EACxC,QAAQ;AAAA,SACD;AAAA,SACA;AAAA,MACH,OAAO;AAAA,SACJ;AAAA,SACA;AAAA,MACH,OAAO;AAAA,SACJ;AAAA,MACH,OAAO;AAAA,SACJ;AAAA,MACH,OAAO;AAAA,SACJ;AAAA,MACH,OAAO;AAAA;AAAA,MAEP,OAAO;AAAA;AAAA;",
20
- "debugId": "E3E19F77576EE19E64756E2164756E21",
19
+ "mappings": "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",
20
+ "debugId": "B83B1361C4912AAD64756E2164756E21",
21
21
  "names": []
22
22
  }
@@ -650,7 +650,7 @@ async function handleSubgraphReorg(blockHeight, loadSubgraphDef) {
650
650
  logger5.info("Propagating reorg to subgraphs", { blockHeight, subgraphCount: activeSubgraphs.length });
651
651
  for (const sg of activeSubgraphs) {
652
652
  try {
653
- const schema = sg.definition?.schema;
653
+ const schema = sg.definition.schema;
654
654
  if (!schema)
655
655
  continue;
656
656
  const schemaName = sg.schema_name ?? pgSchemaName(sg.name);
@@ -779,5 +779,5 @@ export {
779
779
  startSubgraphProcessor
780
780
  };
781
781
 
782
- //# debugId=18F6E44E5A06FD9264756E2164756E21
782
+ //# debugId=D3DC49FD29F99BD564756E2164756E21
783
783
  //# sourceMappingURL=processor.js.map
@@ -11,10 +11,10 @@
11
11
  "// Re-export canonical pgSchemaName from shared\nexport { pgSchemaName } from \"@secondlayer/shared/db/queries/subgraphs\";\n",
12
12
  "import type { Kysely } from \"kysely\";\nimport type { Database } from \"@secondlayer/shared/db\";\nimport type { ProcessBlockTiming } from \"./block-processor.ts\";\n\ninterface StatsEntry {\n subgraphName: string;\n apiKeyId: string | null;\n bucketStart: Date;\n blocksProcessed: number;\n totalTimeMs: number;\n handlerTimeMs: number;\n flushTimeMs: number;\n maxBlockTimeMs: number;\n maxHandlerTimeMs: number;\n totalOps: number;\n isCatchup: boolean;\n}\n\nconst FLUSH_INTERVAL_BLOCKS = 100;\nconst FLUSH_INTERVAL_MS = 60_000;\n\n/**\n * Accumulates per-block timing stats and flushes to DB periodically.\n * One instance per subgraph during catchup/reindex/live processing.\n */\nexport class StatsAccumulator {\n private current: StatsEntry;\n private lastFlush = Date.now();\n\n constructor(\n private subgraphName: string,\n private apiKeyId: string | null,\n private isCatchup: boolean,\n ) {\n this.current = this.newEntry();\n }\n\n record(timing: ProcessBlockTiming, opsCount: number): void {\n this.current.blocksProcessed++;\n this.current.totalTimeMs += timing.totalMs;\n this.current.handlerTimeMs += timing.handlerMs;\n this.current.flushTimeMs += timing.flushMs;\n this.current.maxBlockTimeMs = Math.max(this.current.maxBlockTimeMs, timing.totalMs);\n this.current.maxHandlerTimeMs = Math.max(this.current.maxHandlerTimeMs, timing.handlerMs);\n this.current.totalOps += opsCount;\n }\n\n shouldFlush(): boolean {\n return (\n this.current.blocksProcessed >= FLUSH_INTERVAL_BLOCKS ||\n Date.now() - this.lastFlush >= FLUSH_INTERVAL_MS\n );\n }\n\n async flush(db: Kysely<Database>): Promise<void> {\n if (this.current.blocksProcessed === 0) return;\n\n const entry = this.current;\n this.current = this.newEntry();\n this.lastFlush = Date.now();\n\n const avgOpsPerBlock = entry.blocksProcessed > 0\n ? entry.totalOps / entry.blocksProcessed\n : 0;\n\n await db\n .insertInto(\"subgraph_processing_stats\")\n .values({\n subgraph_name: entry.subgraphName,\n api_key_id: entry.apiKeyId,\n bucket_start: entry.bucketStart,\n bucket_end: new Date(),\n blocks_processed: entry.blocksProcessed,\n total_time_ms: Math.round(entry.totalTimeMs),\n handler_time_ms: Math.round(entry.handlerTimeMs),\n flush_time_ms: Math.round(entry.flushTimeMs),\n max_block_time_ms: Math.round(entry.maxBlockTimeMs),\n max_handler_time_ms: Math.round(entry.maxHandlerTimeMs),\n avg_ops_per_block: parseFloat(avgOpsPerBlock.toFixed(2)),\n is_catchup: entry.isCatchup,\n })\n .execute();\n }\n\n private newEntry(): StatsEntry {\n return {\n subgraphName: this.subgraphName,\n apiKeyId: this.apiKeyId,\n bucketStart: new Date(),\n blocksProcessed: 0,\n totalTimeMs: 0,\n handlerTimeMs: 0,\n flushTimeMs: 0,\n maxBlockTimeMs: 0,\n maxHandlerTimeMs: 0,\n totalOps: 0,\n isCatchup: this.isCatchup,\n };\n }\n}\n",
13
13
  "import { getDb } from \"@secondlayer/shared/db\";\nimport { logger } from \"@secondlayer/shared/logger\";\nimport { getSubgraph } from \"@secondlayer/shared/db/queries/subgraphs\";\nimport type { SubgraphDefinition } from \"../types.ts\";\nimport { processBlock } from \"./block-processor.ts\";\nimport { StatsAccumulator } from \"./stats.ts\";\n\nconst LOG_INTERVAL = 1000;\n\nconst catchingUp = new Set<string>();\n\n/**\n * Catch a subgraph up from its last_processed_block to the chain tip.\n * Re-reads lastProcessedBlock from DB to avoid stale values.\n * Skips if a catch-up is already in progress for this subgraph.\n */\nexport async function catchUpSubgraph(\n subgraph: SubgraphDefinition,\n subgraphName: string,\n): Promise<number> {\n if (catchingUp.has(subgraphName)) return 0;\n catchingUp.add(subgraphName);\n\n try {\n const db = getDb();\n\n // Re-read from DB to avoid stale lastProcessedBlock\n const subgraphRow = await getSubgraph(db, subgraphName);\n if (!subgraphRow) return 0;\n const lastProcessedBlock = Number(subgraphRow.last_processed_block);\n\n // Get chain tip from indexProgress\n const progress = await db\n .selectFrom(\"index_progress\")\n .selectAll()\n .where(\"network\", \"=\", process.env.NETWORK ?? \"mainnet\")\n .executeTakeFirst();\n\n if (!progress) return 0;\n\n const chainTip = Number(progress.last_contiguous_block);\n if (lastProcessedBlock >= chainTip) return 0;\n\n const startBlock = lastProcessedBlock + 1;\n const totalBlocks = chainTip - lastProcessedBlock;\n\n logger.info(\"Subgraph catch-up starting\", {\n subgraph: subgraphName,\n from: startBlock,\n to: chainTip,\n blocks: totalBlocks,\n });\n\n const stats = new StatsAccumulator(subgraphName, subgraphRow.api_key_id, true);\n let processed = 0;\n\n for (let height = startBlock; height <= chainTip; height++) {\n const result = await processBlock(subgraph, subgraphName, height);\n processed++;\n\n if (result.timing) {\n stats.record(result.timing, result.processed);\n if (stats.shouldFlush()) {\n await stats.flush(db);\n }\n }\n\n if (processed % LOG_INTERVAL === 0) {\n logger.info(\"Subgraph catch-up progress\", {\n subgraph: subgraphName,\n processed,\n total: totalBlocks,\n currentBlock: height,\n pct: Math.round((processed / totalBlocks) * 100),\n });\n }\n }\n\n // Flush remaining stats\n await stats.flush(db);\n\n logger.info(\"Subgraph catch-up complete\", {\n subgraph: subgraphName,\n processed,\n });\n\n return processed;\n } finally {\n catchingUp.delete(subgraphName);\n }\n}\n",
14
- "import { getDb, getRawClient } from \"@secondlayer/shared/db\";\nimport { listSubgraphs } from \"@secondlayer/shared/db/queries/subgraphs\";\nimport type { Subgraph } from \"@secondlayer/shared/db\";\nimport { logger } from \"@secondlayer/shared/logger\";\nimport { getErrorMessage } from \"@secondlayer/shared\";\nimport { pgSchemaName } from \"../schema/utils.ts\";\nimport type { SubgraphDefinition, SubgraphSchema } from \"../types.ts\";\nimport { processBlock } from \"./block-processor.ts\";\n\n/**\n * Handle a chain reorg for all active subgraphs.\n * Deletes rows at the reorged block height from all subgraph tables,\n * then reprocesses the new canonical block.\n */\nexport async function handleSubgraphReorg(\n blockHeight: number,\n loadSubgraphDef: (handlerPath: string) => Promise<SubgraphDefinition>,\n): Promise<void> {\n const db = getDb();\n const client = getRawClient();\n const activeSubgraphs = (await listSubgraphs(db)).filter((v: Subgraph) => v.status === \"active\");\n\n if (activeSubgraphs.length === 0) return;\n\n logger.info(\"Propagating reorg to subgraphs\", { blockHeight, subgraphCount: activeSubgraphs.length });\n\n for (const sg of activeSubgraphs) {\n try {\n const schema = (sg.definition as any)?.schema as SubgraphSchema | undefined;\n if (!schema) continue;\n\n const schemaName = sg.schema_name ?? pgSchemaName(sg.name);\n\n // Delete rows at the reorged block height from all tables\n for (const tableName of Object.keys(schema)) {\n await client.unsafe(\n `DELETE FROM \"${schemaName}\".\"${tableName}\" WHERE \"_block_height\" = $1`,\n [blockHeight],\n );\n }\n\n logger.info(\"Subgraph reorg cleanup done\", { subgraph: sg.name, blockHeight });\n\n // Reprocess the new canonical block\n const def = await loadSubgraphDef(sg.handler_path);\n await processBlock(def, sg.name, blockHeight);\n\n logger.info(\"Subgraph reorg reprocessed\", { subgraph: sg.name, blockHeight });\n } catch (err) {\n logger.error(\"Subgraph reorg handling failed\", {\n subgraph: sg.name,\n blockHeight,\n error: getErrorMessage(err),\n });\n }\n }\n}\n",
14
+ "import { getDb, getRawClient } from \"@secondlayer/shared/db\";\nimport { listSubgraphs } from \"@secondlayer/shared/db/queries/subgraphs\";\nimport type { Subgraph } from \"@secondlayer/shared/db\";\nimport { logger } from \"@secondlayer/shared/logger\";\nimport { getErrorMessage } from \"@secondlayer/shared\";\nimport { pgSchemaName } from \"../schema/utils.ts\";\nimport type { SubgraphDefinition, SubgraphSchema } from \"../types.ts\";\nimport { processBlock } from \"./block-processor.ts\";\n\n/**\n * Handle a chain reorg for all active subgraphs.\n * Deletes rows at the reorged block height from all subgraph tables,\n * then reprocesses the new canonical block.\n */\nexport async function handleSubgraphReorg(\n blockHeight: number,\n loadSubgraphDef: (handlerPath: string) => Promise<SubgraphDefinition>,\n): Promise<void> {\n const db = getDb();\n const client = getRawClient();\n const activeSubgraphs = (await listSubgraphs(db)).filter((v: Subgraph) => v.status === \"active\");\n\n if (activeSubgraphs.length === 0) return;\n\n logger.info(\"Propagating reorg to subgraphs\", { blockHeight, subgraphCount: activeSubgraphs.length });\n\n for (const sg of activeSubgraphs) {\n try {\n const schema = sg.definition.schema as SubgraphSchema | undefined;\n if (!schema) continue;\n\n const schemaName = sg.schema_name ?? pgSchemaName(sg.name);\n\n // Delete rows at the reorged block height from all tables\n for (const tableName of Object.keys(schema)) {\n await client.unsafe(\n `DELETE FROM \"${schemaName}\".\"${tableName}\" WHERE \"_block_height\" = $1`,\n [blockHeight],\n );\n }\n\n logger.info(\"Subgraph reorg cleanup done\", { subgraph: sg.name, blockHeight });\n\n // Reprocess the new canonical block\n const def = await loadSubgraphDef(sg.handler_path);\n await processBlock(def, sg.name, blockHeight);\n\n logger.info(\"Subgraph reorg reprocessed\", { subgraph: sg.name, blockHeight });\n } catch (err) {\n logger.error(\"Subgraph reorg handling failed\", {\n subgraph: sg.name,\n blockHeight,\n error: getErrorMessage(err),\n });\n }\n }\n}\n",
15
15
  "import { getDb } from \"@secondlayer/shared/db\";\nimport { logger } from \"@secondlayer/shared/logger\";\nimport { getErrorMessage } from \"@secondlayer/shared\";\nimport { listen } from \"@secondlayer/shared/queue/listener\";\nimport { listSubgraphs, updateSubgraphStatus } from \"@secondlayer/shared/db/queries/subgraphs\";\nimport type { Subgraph } from \"@secondlayer/shared/db\";\nimport type { SubgraphDefinition } from \"../types.ts\";\nimport { catchUpSubgraph } from \"./catchup.ts\";\nimport { handleSubgraphReorg } from \"./reorg.ts\";\n\nconst CHANNEL_NEW_BLOCK = \"streams:new_job\";\nconst DEFAULT_CONCURRENCY = 5;\nconst POLL_INTERVAL_MS = 5_000;\n\nfunction isHandlerNotFoundError(err: unknown): boolean {\n if (!(err instanceof Error)) return false;\n const code = (err as NodeJS.ErrnoException).code;\n if (code === \"MODULE_NOT_FOUND\" || code === \"ERR_MODULE_NOT_FOUND\" || code === \"ENOENT\") return true;\n // fallback: Bun may not always set code on dynamic import failures\n return err.message.includes(\"Cannot find module\") || err.message.includes(\"ENOENT\");\n}\n\n/**\n * Load a SubgraphDefinition from its handler file path.\n */\nasync function loadSubgraphDefinition(handlerPath: string): Promise<SubgraphDefinition> {\n const mod = await import(handlerPath);\n return mod.default ?? mod;\n}\n\n/**\n * Start the subgraph processor service.\n * Listens for new blocks via NOTIFY and processes them through all active subgraphs.\n */\nexport async function startSubgraphProcessor(opts?: {\n concurrency?: number;\n}): Promise<() => Promise<void>> {\n const concurrency = opts?.concurrency ?? DEFAULT_CONCURRENCY;\n let running = true;\n\n logger.info(\"Starting subgraph processor\", { concurrency });\n\n // Catch-up all subgraphs on startup\n const db = getDb();\n const activeSubgraphs = (await listSubgraphs(db)).filter((v: Subgraph) => v.status === \"active\");\n for (const sg of activeSubgraphs) {\n try {\n const def = await loadSubgraphDefinition(sg.handler_path);\n await catchUpSubgraph(def, sg.name);\n } catch (err) {\n const msg = getErrorMessage(err);\n if (isHandlerNotFoundError(err)) {\n await updateSubgraphStatus(db, sg.name, \"error\");\n }\n logger.error(\"Subgraph catch-up failed on startup\", {\n subgraph: sg.name,\n error: msg,\n });\n }\n }\n\n // Listen for new blocks\n const stopListening = await listen(CHANNEL_NEW_BLOCK, async () => {\n if (!running) return;\n // The NOTIFY payload doesn't include block height — we rely on\n // each subgraph's last_processed_block to determine what to process.\n // Trigger catch-up for all subgraphs.\n const db = getDb();\n const subgraphs = (await listSubgraphs(db)).filter((v: Subgraph) => v.status === \"active\");\n for (const sg of subgraphs) {\n try {\n const def = await loadSubgraphDefinition(sg.handler_path);\n await catchUpSubgraph(def, sg.name);\n } catch (err) {\n const msg = getErrorMessage(err);\n if (isHandlerNotFoundError(err)) {\n await updateSubgraphStatus(db, sg.name, \"error\");\n }\n logger.error(\"Subgraph processing failed\", {\n subgraph: sg.name,\n error: msg,\n });\n }\n }\n });\n\n // Listen for reorgs\n const stopReorgListening = await listen(\"subgraph_reorg\", async (payload: string | undefined) => {\n if (!running) return;\n try {\n const data = JSON.parse(payload ?? \"{}\");\n const blockHeight = data.blockHeight;\n if (typeof blockHeight === \"number\") {\n await handleSubgraphReorg(blockHeight, loadSubgraphDefinition);\n }\n } catch (err) {\n logger.error(\"Subgraph reorg handling failed\", {\n error: getErrorMessage(err),\n });\n }\n });\n\n // Poll as backup\n const pollInterval = setInterval(async () => {\n if (!running) return;\n const db = getDb();\n const subgraphs = (await listSubgraphs(db)).filter((v: Subgraph) => v.status === \"active\");\n for (const sg of subgraphs) {\n try {\n const def = await loadSubgraphDefinition(sg.handler_path);\n await catchUpSubgraph(def, sg.name);\n } catch (err) {\n logger.error(\"Subgraph poll processing failed\", {\n subgraph: sg.name,\n error: getErrorMessage(err),\n });\n }\n }\n }, POLL_INTERVAL_MS);\n\n logger.info(\"Subgraph processor ready\");\n\n // Return shutdown function\n return async () => {\n running = false;\n clearInterval(pollInterval);\n await stopListening();\n await stopReorgListening();\n logger.info(\"Subgraph processor stopped\");\n };\n}\n"
16
16
  ],
17
- "mappings": "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",
18
- "debugId": "18F6E44E5A06FD9264756E2164756E21",
17
+ "mappings": "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",
18
+ "debugId": "D3DC49FD29F99BD564756E2164756E21",
19
19
  "names": []
20
20
  }
@@ -521,7 +521,7 @@ async function handleSubgraphReorg(blockHeight, loadSubgraphDef) {
521
521
  logger4.info("Propagating reorg to subgraphs", { blockHeight, subgraphCount: activeSubgraphs.length });
522
522
  for (const sg of activeSubgraphs) {
523
523
  try {
524
- const schema = sg.definition?.schema;
524
+ const schema = sg.definition.schema;
525
525
  if (!schema)
526
526
  continue;
527
527
  const schemaName = sg.schema_name ?? pgSchemaName(sg.name);
@@ -545,5 +545,5 @@ export {
545
545
  handleSubgraphReorg
546
546
  };
547
547
 
548
- //# debugId=F660022F0C755FC964756E2164756E21
548
+ //# debugId=A28276CA6053118964756E2164756E21
549
549
  //# sourceMappingURL=reorg.js.map
@@ -9,9 +9,9 @@
9
9
  "import { logger } from \"@secondlayer/shared/logger\";\nimport { getErrorMessage } from \"@secondlayer/shared\";\nimport type { SubgraphDefinition } from \"../types.ts\";\nimport type { SubgraphContext } from \"./context.ts\";\nimport type { MatchedTx } from \"./source-matcher.ts\";\nimport { decodeEventData } from \"./clarity.ts\";\n\n/** Max consecutive handler errors before marking subgraph as error */\nconst DEFAULT_ERROR_THRESHOLD = 50;\n\nexport interface RunResult {\n processed: number;\n errors: number;\n}\n\n/**\n * Resolve the handler for a matched tx.\n * Looks up by sourceKey first, then falls back to \"*\" catch-all.\n */\nfunction resolveHandler(handlers: SubgraphDefinition[\"handlers\"], key: string) {\n return handlers[key] ?? handlers[\"*\"] ?? null;\n}\n\n/**\n * Run a subgraph's keyed handlers against all matched transactions/events.\n *\n * Each MatchedTx carries a sourceKey from the matcher. The runner looks up\n * the corresponding handler in subgraph.handlers, falling back to \"*\".\n *\n * Does NOT flush — caller is responsible for flushing ctx after run.\n */\nexport async function runHandlers(\n subgraph: SubgraphDefinition,\n matched: MatchedTx[],\n ctx: SubgraphContext,\n opts?: { errorThreshold?: number },\n): Promise<RunResult> {\n let processed = 0;\n let errors = 0;\n const threshold = opts?.errorThreshold ?? DEFAULT_ERROR_THRESHOLD;\n\n for (const { tx, events, sourceKey } of matched) {\n const handler = resolveHandler(subgraph.handlers, sourceKey);\n if (!handler) {\n logger.warn(\"No handler found for source key\", { subgraph: subgraph.name, sourceKey, txId: tx.tx_id });\n continue;\n }\n\n ctx.setTx({\n txId: tx.tx_id,\n sender: tx.sender,\n type: tx.type,\n status: tx.status,\n });\n\n // If no events but tx matched, call handler with tx-level data\n if (events.length === 0) {\n try {\n const txPayload: Record<string, unknown> = {\n tx: {\n txId: tx.tx_id,\n sender: tx.sender,\n type: tx.type,\n status: tx.status,\n contractId: tx.contract_id,\n functionName: tx.function_name,\n },\n };\n await handler(txPayload, ctx);\n processed++;\n } catch (err) {\n errors++;\n logger.error(\"Subgraph handler error\", {\n subgraph: subgraph.name,\n sourceKey,\n txId: tx.tx_id,\n error: getErrorMessage(err),\n });\n }\n continue;\n }\n\n for (const event of events) {\n if (errors >= threshold) {\n logger.error(\"Subgraph error threshold reached, skipping remaining events\", {\n subgraph: subgraph.name,\n errors,\n threshold,\n });\n return { processed, errors };\n }\n\n try {\n const decoded = decodeEventData(event.data) as Record<string, unknown>;\n const eventPayload: Record<string, unknown> = {\n ...decoded,\n _eventId: event.id,\n _eventType: event.type,\n _eventIndex: event.event_index,\n tx: {\n txId: tx.tx_id,\n sender: tx.sender,\n type: tx.type,\n status: tx.status,\n contractId: tx.contract_id,\n functionName: tx.function_name,\n },\n };\n\n await handler(eventPayload, ctx);\n processed++;\n } catch (err) {\n errors++;\n logger.error(\"Subgraph handler error\", {\n subgraph: subgraph.name,\n sourceKey,\n txId: tx.tx_id,\n eventId: event.id,\n eventType: event.type,\n error: getErrorMessage(err),\n });\n }\n }\n }\n\n return { processed, errors };\n}\n",
10
10
  "import { sql, type Transaction } from \"kysely\";\nimport { getDb, type Database } from \"@secondlayer/shared/db\";\nimport { logger } from \"@secondlayer/shared/logger\";\nimport { updateSubgraphStatus, recordSubgraphProcessed } from \"@secondlayer/shared/db/queries/subgraphs\";\nimport type { SubgraphDefinition } from \"../types.ts\";\nimport { pgSchemaName } from \"../schema/utils.ts\";\nimport { SubgraphContext, type BlockMeta, type TxMeta } from \"./context.ts\";\nimport { matchSources } from \"./source-matcher.ts\";\nimport { runHandlers } from \"./runner.ts\";\n\nexport interface ProcessBlockTiming {\n totalMs: number;\n handlerMs: number;\n flushMs: number;\n}\n\nexport interface ProcessBlockResult {\n blockHeight: number;\n matched: number;\n processed: number;\n errors: number;\n skipped: boolean;\n timing?: ProcessBlockTiming;\n}\n\n/**\n * Process a single block through a single subgraph's pipeline.\n *\n * Flow:\n * 1. Load block + txs + events from DB\n * 2. Run source matcher\n * 3. Run handlers with SubgraphContext\n * 4. Flush context (commit writes atomically)\n * 5. Update subgraph.last_processed_block\n */\nexport interface ProcessBlockOptions {\n /** Skip updating last_processed_block in DB (reindex batches this externally). */\n skipProgressUpdate?: boolean;\n}\n\nexport async function processBlock(\n subgraph: SubgraphDefinition,\n subgraphName: string,\n blockHeight: number,\n opts?: ProcessBlockOptions,\n): Promise<ProcessBlockResult> {\n const db = getDb();\n const blockStart = performance.now();\n const result: ProcessBlockResult = {\n blockHeight,\n matched: 0,\n processed: 0,\n errors: 0,\n skipped: false,\n };\n\n // 1. Load block\n const block = await db\n .selectFrom(\"blocks\")\n .selectAll()\n .where(\"height\", \"=\", blockHeight)\n .executeTakeFirst();\n\n if (!block) {\n logger.warn(\"Block not found for subgraph processing\", { subgraph: subgraphName, blockHeight });\n result.skipped = true;\n return result;\n }\n\n if (!block.canonical) {\n logger.debug(\"Skipping non-canonical block\", { subgraph: subgraphName, blockHeight });\n result.skipped = true;\n return result;\n }\n\n // 2. Load txs + events\n const txs = await db\n .selectFrom(\"transactions\")\n .selectAll()\n .where(\"block_height\", \"=\", blockHeight)\n .execute();\n\n const evts = await db\n .selectFrom(\"events\")\n .selectAll()\n .where(\"block_height\", \"=\", blockHeight)\n .execute();\n\n // 3. Match source\n const matched = matchSources(subgraph.sources, txs, evts);\n result.matched = matched.length;\n\n if (matched.length === 0) {\n if (!opts?.skipProgressUpdate) {\n await updateSubgraphStatus(db, subgraphName, \"active\", blockHeight);\n }\n return result;\n }\n\n // 4. Create context and run handlers\n // Use stored schema_name from DB if available, otherwise compute\n const subgraphRecord = await db\n .selectFrom(\"subgraphs\")\n .select(\"schema_name\")\n .where(\"name\", \"=\", subgraphName)\n .executeTakeFirst();\n const schemaName = subgraphRecord?.schema_name ?? pgSchemaName(subgraphName);\n const blockMeta: BlockMeta = {\n height: block.height,\n hash: block.hash,\n timestamp: block.timestamp,\n burnBlockHeight: block.burn_block_height,\n };\n const initialTx: TxMeta = {\n txId: \"\",\n sender: \"\",\n type: \"\",\n status: \"\",\n };\n\n // Wrap entire block processing in a single transaction\n let handlerMs = 0;\n let flushMs = 0;\n\n await db.transaction().execute(async (tx: Transaction<Database>) => {\n const ctx = new SubgraphContext(tx, schemaName, subgraph.schema, blockMeta, initialTx);\n\n const handlerStart = performance.now();\n const runResult = await runHandlers(subgraph, matched, ctx);\n handlerMs = performance.now() - handlerStart;\n\n result.processed = runResult.processed;\n result.errors = runResult.errors;\n\n // 5. Flush writes\n if (ctx.pendingOps > 0) {\n const flushStart = performance.now();\n await ctx.flush();\n flushMs = performance.now() - flushStart;\n }\n\n // 6. Update progress + health metrics (same transaction)\n if (!opts?.skipProgressUpdate) {\n const status = runResult.errors > 0 && runResult.processed === 0 ? \"error\" : \"active\";\n await updateSubgraphStatus(tx, subgraphName, status, blockHeight);\n }\n\n if (!opts?.skipProgressUpdate && (runResult.processed > 0 || runResult.errors > 0)) {\n const lastError = runResult.errors > 0\n ? `${runResult.errors} error(s) at block ${blockHeight}`\n : undefined;\n await recordSubgraphProcessed(tx, subgraphName, runResult.processed, runResult.errors, lastError);\n }\n });\n\n const totalMs = performance.now() - blockStart;\n result.timing = {\n totalMs: Math.round(totalMs),\n handlerMs: Math.round(handlerMs),\n flushMs: Math.round(flushMs),\n };\n\n // 7. Row count warning — sample every 1000 blocks\n if (blockHeight % 1000 === 0) {\n try {\n const tables = Object.keys(subgraph.schema);\n for (const table of tables) {\n const { rows } = await sql.raw(\n `SELECT COUNT(*) as count FROM \"${schemaName}\".\"${table}\"`,\n ).execute(db);\n const count = Number((rows[0] as Record<string, unknown>).count);\n if (count >= 10_000_000) {\n logger.warn(\"Subgraph table exceeds 10M rows\", { subgraph: subgraphName, table, count });\n }\n }\n } catch {\n // Table may not exist yet\n }\n }\n\n return result;\n}\n",
11
11
  "// Re-export canonical pgSchemaName from shared\nexport { pgSchemaName } from \"@secondlayer/shared/db/queries/subgraphs\";\n",
12
- "import { getDb, getRawClient } from \"@secondlayer/shared/db\";\nimport { listSubgraphs } from \"@secondlayer/shared/db/queries/subgraphs\";\nimport type { Subgraph } from \"@secondlayer/shared/db\";\nimport { logger } from \"@secondlayer/shared/logger\";\nimport { getErrorMessage } from \"@secondlayer/shared\";\nimport { pgSchemaName } from \"../schema/utils.ts\";\nimport type { SubgraphDefinition, SubgraphSchema } from \"../types.ts\";\nimport { processBlock } from \"./block-processor.ts\";\n\n/**\n * Handle a chain reorg for all active subgraphs.\n * Deletes rows at the reorged block height from all subgraph tables,\n * then reprocesses the new canonical block.\n */\nexport async function handleSubgraphReorg(\n blockHeight: number,\n loadSubgraphDef: (handlerPath: string) => Promise<SubgraphDefinition>,\n): Promise<void> {\n const db = getDb();\n const client = getRawClient();\n const activeSubgraphs = (await listSubgraphs(db)).filter((v: Subgraph) => v.status === \"active\");\n\n if (activeSubgraphs.length === 0) return;\n\n logger.info(\"Propagating reorg to subgraphs\", { blockHeight, subgraphCount: activeSubgraphs.length });\n\n for (const sg of activeSubgraphs) {\n try {\n const schema = (sg.definition as any)?.schema as SubgraphSchema | undefined;\n if (!schema) continue;\n\n const schemaName = sg.schema_name ?? pgSchemaName(sg.name);\n\n // Delete rows at the reorged block height from all tables\n for (const tableName of Object.keys(schema)) {\n await client.unsafe(\n `DELETE FROM \"${schemaName}\".\"${tableName}\" WHERE \"_block_height\" = $1`,\n [blockHeight],\n );\n }\n\n logger.info(\"Subgraph reorg cleanup done\", { subgraph: sg.name, blockHeight });\n\n // Reprocess the new canonical block\n const def = await loadSubgraphDef(sg.handler_path);\n await processBlock(def, sg.name, blockHeight);\n\n logger.info(\"Subgraph reorg reprocessed\", { subgraph: sg.name, blockHeight });\n } catch (err) {\n logger.error(\"Subgraph reorg handling failed\", {\n subgraph: sg.name,\n blockHeight,\n error: getErrorMessage(err),\n });\n }\n }\n}\n"
12
+ "import { getDb, getRawClient } from \"@secondlayer/shared/db\";\nimport { listSubgraphs } from \"@secondlayer/shared/db/queries/subgraphs\";\nimport type { Subgraph } from \"@secondlayer/shared/db\";\nimport { logger } from \"@secondlayer/shared/logger\";\nimport { getErrorMessage } from \"@secondlayer/shared\";\nimport { pgSchemaName } from \"../schema/utils.ts\";\nimport type { SubgraphDefinition, SubgraphSchema } from \"../types.ts\";\nimport { processBlock } from \"./block-processor.ts\";\n\n/**\n * Handle a chain reorg for all active subgraphs.\n * Deletes rows at the reorged block height from all subgraph tables,\n * then reprocesses the new canonical block.\n */\nexport async function handleSubgraphReorg(\n blockHeight: number,\n loadSubgraphDef: (handlerPath: string) => Promise<SubgraphDefinition>,\n): Promise<void> {\n const db = getDb();\n const client = getRawClient();\n const activeSubgraphs = (await listSubgraphs(db)).filter((v: Subgraph) => v.status === \"active\");\n\n if (activeSubgraphs.length === 0) return;\n\n logger.info(\"Propagating reorg to subgraphs\", { blockHeight, subgraphCount: activeSubgraphs.length });\n\n for (const sg of activeSubgraphs) {\n try {\n const schema = sg.definition.schema as SubgraphSchema | undefined;\n if (!schema) continue;\n\n const schemaName = sg.schema_name ?? pgSchemaName(sg.name);\n\n // Delete rows at the reorged block height from all tables\n for (const tableName of Object.keys(schema)) {\n await client.unsafe(\n `DELETE FROM \"${schemaName}\".\"${tableName}\" WHERE \"_block_height\" = $1`,\n [blockHeight],\n );\n }\n\n logger.info(\"Subgraph reorg cleanup done\", { subgraph: sg.name, blockHeight });\n\n // Reprocess the new canonical block\n const def = await loadSubgraphDef(sg.handler_path);\n await processBlock(def, sg.name, blockHeight);\n\n logger.info(\"Subgraph reorg reprocessed\", { subgraph: sg.name, blockHeight });\n } catch (err) {\n logger.error(\"Subgraph reorg handling failed\", {\n subgraph: sg.name,\n blockHeight,\n error: getErrorMessage(err),\n });\n }\n }\n}\n"
13
13
  ],
14
- "mappings": "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",
15
- "debugId": "F660022F0C755FC964756E2164756E21",
14
+ "mappings": "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",
15
+ "debugId": "A28276CA6053118964756E2164756E21",
16
16
  "names": []
17
17
  }
@@ -206,9 +206,8 @@ async function deploySchema(db, def, handlerPath, opts) {
206
206
  const sg3 = await registerSubgraph(db, regData);
207
207
  return { action: "reindexed", subgraphId: sg3.id };
208
208
  }
209
- const existingDef = existing.definition;
210
- if (existingDef.schema) {
211
- const diff = diffSchema(existingDef.schema, def.schema);
209
+ if (existing.definition.schema) {
210
+ const diff = diffSchema(existing.definition.schema, def.schema);
212
211
  const { breaking, reasons } = hasBreakingChanges(diff);
213
212
  if (breaking) {
214
213
  if (!opts?.forceReindex) {
@@ -301,5 +300,5 @@ export {
301
300
  deploySchema
302
301
  };
303
302
 
304
- //# debugId=AA3D60D64A7340AD64756E2164756E21
303
+ //# debugId=FE91C1DFC68C0F3864756E2164756E21
305
304
  //# sourceMappingURL=index.js.map
@@ -5,9 +5,9 @@
5
5
  "import { z } from \"zod/v4\";\nimport type { ColumnType, SubgraphColumn, SubgraphTable, SubgraphSource, SubgraphDefinition } from \"./types.ts\";\n\nexport const SubgraphNameSchema: z.ZodType<string> = z\n .string()\n .min(1)\n .max(63)\n .regex(\n /^[a-z][a-z0-9-]*$/,\n \"Must start with lowercase letter, contain only lowercase alphanumeric and hyphens\",\n );\n\nexport const ColumnTypeSchema: z.ZodType<ColumnType> = z.enum([\n \"text\",\n \"uint\",\n \"int\",\n \"principal\",\n \"boolean\",\n \"timestamp\",\n \"jsonb\",\n]);\n\nexport const SubgraphColumnSchema: z.ZodType<SubgraphColumn> = z.object({\n type: ColumnTypeSchema,\n nullable: z.boolean().optional(),\n indexed: z.boolean().optional(),\n search: z.boolean().optional(),\n default: z.union([z.string(), z.number(), z.boolean()]).optional(),\n}) as z.ZodType<SubgraphColumn>;\n\nexport const SubgraphTableSchema: z.ZodType<SubgraphTable> = z.object({\n columns: z\n .record(z.string(), SubgraphColumnSchema)\n .refine((c) => Object.keys(c).length > 0, \"Table must have at least one column\"),\n indexes: z.array(z.array(z.string())).optional(),\n uniqueKeys: z.array(z.array(z.string())).optional(),\n}) as z.ZodType<SubgraphTable>;\n\nexport const SubgraphSchemaSchema: z.ZodType<Record<string, SubgraphTable>> = z\n .record(z.string(), SubgraphTableSchema)\n .refine((s) => Object.keys(s).length > 0, \"Schema must have at least one table\") as z.ZodType<Record<string, SubgraphTable>>;\n\nexport const SubgraphSourceSchema: z.ZodType<SubgraphSource> = z\n .object({\n contract: z.string().optional(),\n event: z.string().optional(),\n function: z.string().optional(),\n type: z.string().optional(),\n minAmount: z.bigint().optional(),\n })\n .refine(\n (s) => s.contract || s.type,\n \"Source must specify at least 'contract' or 'type'\",\n ) as z.ZodType<SubgraphSource>;\n\nexport const SubgraphDefinitionSchema: z.ZodType<SubgraphDefinition> = z.object({\n name: SubgraphNameSchema,\n version: z.string().optional(),\n description: z.string().optional(),\n sources: z.array(SubgraphSourceSchema).min(1, \"Must have at least one source\"),\n schema: SubgraphSchemaSchema,\n handlers: z.record(z.string(), z.function() as unknown as z.ZodType<Function>),\n}) as unknown as z.ZodType<SubgraphDefinition>;\n\n/**\n * Validates a subgraph definition, returning the parsed result or throwing on failure.\n */\nexport function validateSubgraphDefinition(def: unknown): SubgraphDefinition {\n return SubgraphDefinitionSchema.parse(def);\n}\n",
6
6
  "// Re-export canonical pgSchemaName from shared\nexport { pgSchemaName } from \"@secondlayer/shared/db/queries/subgraphs\";\n",
7
7
  "import type { ColumnType, SubgraphDefinition } from \"../types.ts\";\nimport { pgSchemaName } from \"./utils.ts\";\n\nexport const TYPE_MAP: Record<ColumnType, string> = {\n text: \"TEXT\",\n uint: \"NUMERIC\",\n int: \"NUMERIC\",\n principal: \"TEXT\",\n boolean: \"BOOLEAN\",\n timestamp: \"TIMESTAMPTZ\",\n jsonb: \"JSONB\",\n};\n\nexport interface GeneratedSQL {\n statements: string[];\n hash: string;\n}\n\nfunction escapeLiteralDefault(value: unknown): string {\n if (value === null || value === undefined) return \"NULL\";\n if (typeof value === \"number\" || typeof value === \"bigint\") return String(value);\n if (typeof value === \"boolean\") return value ? \"TRUE\" : \"FALSE\";\n return `'${String(value).replace(/'/g, \"''\")}'`;\n}\n\n/**\n * Generates PostgreSQL DDL statements for a subgraph definition.\n * Creates a dedicated schema `subgraph_<name>` with one table per schema entry,\n * each with auto-columns and indexes.\n */\nexport function generateSubgraphSQL(def: SubgraphDefinition, schemaNameOverride?: string): GeneratedSQL {\n const schemaName = schemaNameOverride ?? pgSchemaName(def.name);\n const statements: string[] = [];\n\n // Check if any column uses search (trigram)\n const needsTrgm = Object.values(def.schema).some((table) =>\n Object.values(table.columns).some((col) => col.search),\n );\n\n if (needsTrgm) {\n statements.push(`CREATE EXTENSION IF NOT EXISTS pg_trgm`);\n }\n\n // Schema namespace\n statements.push(`CREATE SCHEMA IF NOT EXISTS ${schemaName}`);\n\n // One table per schema entry\n for (const [tableName, tableDef] of Object.entries(def.schema)) {\n const qualifiedName = `${schemaName}.${tableName}`;\n\n // Auto-columns + user columns\n const columnDefs: string[] = [\n `_id BIGSERIAL PRIMARY KEY`,\n `_block_height BIGINT NOT NULL`,\n `_tx_id TEXT NOT NULL`,\n `_created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()`,\n ];\n\n for (const [colName, col] of Object.entries(tableDef.columns)) {\n const sqlType = TYPE_MAP[col.type];\n const nullable = col.nullable ? \"\" : \" NOT NULL\";\n let colDef = `${colName} ${sqlType}${nullable}`;\n if (col.default !== undefined) {\n colDef += ` DEFAULT ${escapeLiteralDefault(col.default)}`;\n }\n columnDefs.push(colDef);\n }\n\n statements.push(\n `CREATE TABLE IF NOT EXISTS ${qualifiedName} (\\n ${columnDefs.join(\",\\n \")}\\n)`,\n );\n\n // Auto-indexes on meta columns\n statements.push(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_block_height ON ${qualifiedName} (_block_height)`,\n );\n statements.push(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_tx_id ON ${qualifiedName} (_tx_id)`,\n );\n\n // Single-column indexes\n for (const [colName, col] of Object.entries(tableDef.columns)) {\n if (col.indexed) {\n statements.push(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_${colName} ON ${qualifiedName} (${colName})`,\n );\n }\n }\n\n // Trigram GIN indexes for search columns\n for (const [colName, col] of Object.entries(tableDef.columns)) {\n if (col.search) {\n statements.push(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_${colName}_trgm ON ${qualifiedName} USING gin (${colName} gin_trgm_ops)`,\n );\n }\n }\n\n // Composite indexes\n if (tableDef.indexes) {\n for (let i = 0; i < tableDef.indexes.length; i++) {\n const cols = tableDef.indexes[i]!;\n const idxName = `idx_${schemaName}_${tableName}_composite_${i}`;\n statements.push(\n `CREATE INDEX IF NOT EXISTS ${idxName} ON ${qualifiedName} (${cols.join(\", \")})`,\n );\n }\n }\n\n // Unique constraints (required for upsert ON CONFLICT)\n if (tableDef.uniqueKeys) {\n for (let i = 0; i < tableDef.uniqueKeys.length; i++) {\n const cols = tableDef.uniqueKeys[i]!;\n const constraintName = `uq_${schemaName}_${tableName}_${cols.join(\"_\")}`;\n statements.push(\n `ALTER TABLE ${qualifiedName} ADD CONSTRAINT ${constraintName} UNIQUE (${cols.join(\", \")})`,\n );\n }\n }\n }\n\n // Hash based on schema structure (excludes handler)\n const hashInput = JSON.stringify({\n name: def.name,\n version: def.version,\n schema: def.schema,\n sources: def.sources,\n }, (_key, value) => typeof value === \"bigint\" ? value.toString() : value);\n const hash = String(Bun.hash(hashInput));\n\n return { statements, hash };\n}\n",
8
- "import { sql, type Kysely } from \"kysely\";\nimport type { Database } from \"@secondlayer/shared/db\";\nimport { validateSubgraphDefinition } from \"../validate.ts\";\nimport { generateSubgraphSQL, TYPE_MAP } from \"./generator.ts\";\nimport { pgSchemaName } from \"./utils.ts\";\nimport type { SubgraphDefinition, SubgraphSchema } from \"../types.ts\";\n\ntype AnyDb = Kysely<Database>;\n\n/** Deep-clone an object, converting BigInts to strings for JSON serialization. */\nfunction toJsonSafe(obj: unknown): unknown {\n return JSON.parse(JSON.stringify(obj, (_key, value) =>\n typeof value === \"bigint\" ? value.toString() : value\n ));\n}\n\nexport interface TableDiff {\n /** Tables added to the schema */\n addedTables: string[];\n /** Tables removed from the schema */\n removedTables: string[];\n /** Per-table column diffs (only for tables present in both) */\n tables: Record<string, ColumnDiff>;\n}\n\nexport interface ColumnDiff {\n added: string[];\n removed: string[];\n changed: string[];\n}\n\n/**\n * Compare two multi-table subgraph schemas and return differences.\n */\nexport function diffSchema(existing: SubgraphSchema, incoming: SubgraphSchema): TableDiff {\n const existingTables = new Set(Object.keys(existing));\n const incomingTables = new Set(Object.keys(incoming));\n\n const addedTables = [...incomingTables].filter((t) => !existingTables.has(t));\n const removedTables = [...existingTables].filter((t) => !incomingTables.has(t));\n\n const tables: Record<string, ColumnDiff> = {};\n for (const tableName of incomingTables) {\n if (!existingTables.has(tableName)) continue;\n const existingCols = existing[tableName]!.columns;\n const incomingCols = incoming[tableName]!.columns;\n\n const existingKeys = new Set(Object.keys(existingCols));\n const incomingKeys = new Set(Object.keys(incomingCols));\n\n tables[tableName] = {\n added: [...incomingKeys].filter((k) => !existingKeys.has(k)),\n removed: [...existingKeys].filter((k) => !incomingKeys.has(k)),\n changed: [...incomingKeys].filter((k) => {\n if (!existingKeys.has(k)) return false;\n return JSON.stringify(existingCols[k]) !== JSON.stringify(incomingCols[k]);\n }),\n };\n }\n\n return { addedTables, removedTables, tables };\n}\n\n/**\n * Returns true if the diff contains any breaking changes\n * (removed tables, removed columns, or changed column types).\n */\nfunction hasBreakingChanges(diff: TableDiff): { breaking: boolean; reasons: string[] } {\n const reasons: string[] = [];\n if (diff.removedTables.length > 0) {\n reasons.push(`removed tables: [${diff.removedTables.join(\", \")}]`);\n }\n for (const [table, colDiff] of Object.entries(diff.tables)) {\n if (colDiff.removed.length > 0) {\n reasons.push(`${table}: removed columns [${colDiff.removed.join(\", \")}]`);\n }\n if (colDiff.changed.length > 0) {\n reasons.push(`${table}: changed columns [${colDiff.changed.join(\", \")}]`);\n }\n }\n return { breaking: reasons.length > 0, reasons };\n}\n\n/**\n * Deploy a subgraph schema to the database.\n * - New subgraph → CREATE SCHEMA + tables + register\n * - Same hash → no-op\n * - Additive change → ALTER TABLE ADD COLUMN / CREATE TABLE for new tables\n * - Breaking change → throws error\n */\nexport async function deploySchema(\n db: AnyDb,\n def: SubgraphDefinition,\n handlerPath: string,\n opts?: { forceReindex?: boolean; apiKeyId?: string; schemaName?: string },\n): Promise<{ action: \"created\" | \"unchanged\" | \"updated\" | \"reindexed\"; subgraphId: string }> {\n validateSubgraphDefinition(def);\n\n const { statements, hash } = generateSubgraphSQL(def, opts?.schemaName);\n const { getSubgraph, registerSubgraph } = await import(\"@secondlayer/shared/db/queries/subgraphs\");\n\n const existing = await getSubgraph(db, def.name, opts?.apiKeyId);\n\n const schemaName = opts?.schemaName ?? pgSchemaName(def.name);\n const regData = {\n name: def.name,\n version: def.version || \"1.0.0\",\n definition: toJsonSafe({ name: def.name, version: def.version, description: def.description, sources: def.sources, schema: def.schema }) as Record<string, unknown>,\n schemaHash: hash,\n handlerPath,\n apiKeyId: opts?.apiKeyId,\n schemaName,\n };\n\n if (existing) {\n if (existing.schema_hash === hash && !opts?.forceReindex) {\n // Update handler path in case file moved\n const { updateSubgraphHandlerPath } = await import(\"@secondlayer/shared/db/queries/subgraphs\");\n await updateSubgraphHandlerPath(db, def.name, handlerPath);\n return { action: \"unchanged\", subgraphId: existing.id };\n }\n\n if (existing.schema_hash === hash && opts?.forceReindex) {\n // Same schema but force reindex requested — drop and recreate\n await sql.raw(`DROP SCHEMA IF EXISTS \"${schemaName}\" CASCADE`).execute(db);\n for (const stmt of statements) {\n await sql.raw(stmt).execute(db);\n }\n const sg = await registerSubgraph(db, regData);\n return { action: \"reindexed\", subgraphId: sg.id };\n }\n\n const existingDef = existing.definition as { schema?: SubgraphSchema };\n if (existingDef.schema) {\n const diff = diffSchema(existingDef.schema, def.schema);\n const { breaking, reasons } = hasBreakingChanges(diff);\n\n if (breaking) {\n if (!opts?.forceReindex) {\n throw new Error(\n `Breaking schema change detected (${reasons.join(\"; \")}). ` +\n `Use --reindex to force rebuild, or delete the subgraph first.`,\n );\n }\n\n // Force reindex: drop schema, recreate, register, caller triggers reindex\n await sql.raw(`DROP SCHEMA IF EXISTS \"${schemaName}\" CASCADE`).execute(db);\n for (const stmt of statements) {\n await sql.raw(stmt).execute(db);\n }\n const sg = await registerSubgraph(db, regData);\n return { action: \"reindexed\", subgraphId: sg.id };\n }\n\n // Create new tables\n for (const tableName of diff.addedTables) {\n const tableDef = def.schema[tableName]!;\n const qualifiedName = `${schemaName}.${tableName}`;\n const colDefs = [\n `_id BIGSERIAL PRIMARY KEY`,\n `_block_height BIGINT NOT NULL`,\n `_tx_id TEXT NOT NULL`,\n `_created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()`,\n ];\n for (const [colName, col] of Object.entries(tableDef.columns)) {\n const nullable = col.nullable ? \"\" : \" NOT NULL\";\n colDefs.push(`${colName} ${TYPE_MAP[col.type]!}${nullable}`);\n }\n await sql.raw(\n `CREATE TABLE IF NOT EXISTS ${qualifiedName} (\\n ${colDefs.join(\",\\n \")}\\n)`,\n ).execute(db);\n await sql.raw(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_block_height ON ${qualifiedName} (_block_height)`,\n ).execute(db);\n await sql.raw(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_tx_id ON ${qualifiedName} (_tx_id)`,\n ).execute(db);\n for (const [colName, col] of Object.entries(tableDef.columns)) {\n if (col.indexed) {\n await sql.raw(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_${colName} ON ${qualifiedName} (${colName})`,\n ).execute(db);\n }\n if (col.search) {\n await sql.raw(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_${colName}_trgm ON ${qualifiedName} USING gin (${colName} gin_trgm_ops)`,\n ).execute(db);\n }\n }\n }\n\n // Add columns to existing tables\n for (const [tableName, colDiff] of Object.entries(diff.tables)) {\n if (colDiff.added.length === 0) continue;\n const qualifiedName = `${schemaName}.${tableName}`;\n const tableDef = def.schema[tableName]!;\n for (const colName of colDiff.added) {\n const col = tableDef.columns[colName]!;\n const sqlType = TYPE_MAP[col.type]!;\n const nullable = col.nullable ? \"\" : \" NOT NULL DEFAULT \" + getDefault(col.type);\n await sql.raw(\n `ALTER TABLE ${qualifiedName} ADD COLUMN ${colName} ${sqlType}${nullable}`,\n ).execute(db);\n if (col.indexed) {\n await sql.raw(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_${colName} ON ${qualifiedName} (${colName})`,\n ).execute(db);\n }\n if (col.search) {\n await sql.raw(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_${colName}_trgm ON ${qualifiedName} USING gin (${colName} gin_trgm_ops)`,\n ).execute(db);\n }\n }\n }\n }\n\n const sg = await registerSubgraph(db, regData);\n return { action: \"updated\", subgraphId: sg.id };\n }\n\n // New subgraph — execute all DDL\n for (const stmt of statements) {\n await sql.raw(stmt).execute(db);\n }\n\n const sg = await registerSubgraph(db, regData);\n return { action: \"created\", subgraphId: sg.id };\n}\n\nfunction getDefault(type: string): string {\n switch (type) {\n case \"text\":\n case \"principal\":\n return \"''\";\n case \"uint\":\n case \"int\":\n return \"0\";\n case \"boolean\":\n return \"false\";\n case \"timestamp\":\n return \"NOW()\";\n case \"jsonb\":\n return \"'{}'\";\n default:\n return \"''\";\n }\n}\n"
8
+ "import { sql, type Kysely } from \"kysely\";\nimport type { Database } from \"@secondlayer/shared/db\";\nimport { validateSubgraphDefinition } from \"../validate.ts\";\nimport { generateSubgraphSQL, TYPE_MAP } from \"./generator.ts\";\nimport { pgSchemaName } from \"./utils.ts\";\nimport type { SubgraphDefinition, SubgraphSchema } from \"../types.ts\";\n\ntype AnyDb = Kysely<Database>;\n\n/** Deep-clone an object, converting BigInts to strings for JSON serialization. */\nfunction toJsonSafe(obj: unknown): unknown {\n return JSON.parse(JSON.stringify(obj, (_key, value) =>\n typeof value === \"bigint\" ? value.toString() : value\n ));\n}\n\nexport interface TableDiff {\n /** Tables added to the schema */\n addedTables: string[];\n /** Tables removed from the schema */\n removedTables: string[];\n /** Per-table column diffs (only for tables present in both) */\n tables: Record<string, ColumnDiff>;\n}\n\nexport interface ColumnDiff {\n added: string[];\n removed: string[];\n changed: string[];\n}\n\n/**\n * Compare two multi-table subgraph schemas and return differences.\n */\nexport function diffSchema(existing: SubgraphSchema, incoming: SubgraphSchema): TableDiff {\n const existingTables = new Set(Object.keys(existing));\n const incomingTables = new Set(Object.keys(incoming));\n\n const addedTables = [...incomingTables].filter((t) => !existingTables.has(t));\n const removedTables = [...existingTables].filter((t) => !incomingTables.has(t));\n\n const tables: Record<string, ColumnDiff> = {};\n for (const tableName of incomingTables) {\n if (!existingTables.has(tableName)) continue;\n const existingCols = existing[tableName]!.columns;\n const incomingCols = incoming[tableName]!.columns;\n\n const existingKeys = new Set(Object.keys(existingCols));\n const incomingKeys = new Set(Object.keys(incomingCols));\n\n tables[tableName] = {\n added: [...incomingKeys].filter((k) => !existingKeys.has(k)),\n removed: [...existingKeys].filter((k) => !incomingKeys.has(k)),\n changed: [...incomingKeys].filter((k) => {\n if (!existingKeys.has(k)) return false;\n return JSON.stringify(existingCols[k]) !== JSON.stringify(incomingCols[k]);\n }),\n };\n }\n\n return { addedTables, removedTables, tables };\n}\n\n/**\n * Returns true if the diff contains any breaking changes\n * (removed tables, removed columns, or changed column types).\n */\nfunction hasBreakingChanges(diff: TableDiff): { breaking: boolean; reasons: string[] } {\n const reasons: string[] = [];\n if (diff.removedTables.length > 0) {\n reasons.push(`removed tables: [${diff.removedTables.join(\", \")}]`);\n }\n for (const [table, colDiff] of Object.entries(diff.tables)) {\n if (colDiff.removed.length > 0) {\n reasons.push(`${table}: removed columns [${colDiff.removed.join(\", \")}]`);\n }\n if (colDiff.changed.length > 0) {\n reasons.push(`${table}: changed columns [${colDiff.changed.join(\", \")}]`);\n }\n }\n return { breaking: reasons.length > 0, reasons };\n}\n\n/**\n * Deploy a subgraph schema to the database.\n * - New subgraph → CREATE SCHEMA + tables + register\n * - Same hash → no-op\n * - Additive change → ALTER TABLE ADD COLUMN / CREATE TABLE for new tables\n * - Breaking change → throws error\n */\nexport async function deploySchema(\n db: AnyDb,\n def: SubgraphDefinition,\n handlerPath: string,\n opts?: { forceReindex?: boolean; apiKeyId?: string; schemaName?: string },\n): Promise<{ action: \"created\" | \"unchanged\" | \"updated\" | \"reindexed\"; subgraphId: string }> {\n validateSubgraphDefinition(def);\n\n const { statements, hash } = generateSubgraphSQL(def, opts?.schemaName);\n const { getSubgraph, registerSubgraph } = await import(\"@secondlayer/shared/db/queries/subgraphs\");\n\n const existing = await getSubgraph(db, def.name, opts?.apiKeyId);\n\n const schemaName = opts?.schemaName ?? pgSchemaName(def.name);\n const regData = {\n name: def.name,\n version: def.version || \"1.0.0\",\n definition: toJsonSafe({ name: def.name, version: def.version, description: def.description, sources: def.sources, schema: def.schema }) as Record<string, unknown>,\n schemaHash: hash,\n handlerPath,\n apiKeyId: opts?.apiKeyId,\n schemaName,\n };\n\n if (existing) {\n if (existing.schema_hash === hash && !opts?.forceReindex) {\n // Update handler path in case file moved\n const { updateSubgraphHandlerPath } = await import(\"@secondlayer/shared/db/queries/subgraphs\");\n await updateSubgraphHandlerPath(db, def.name, handlerPath);\n return { action: \"unchanged\", subgraphId: existing.id };\n }\n\n if (existing.schema_hash === hash && opts?.forceReindex) {\n // Same schema but force reindex requested — drop and recreate\n await sql.raw(`DROP SCHEMA IF EXISTS \"${schemaName}\" CASCADE`).execute(db);\n for (const stmt of statements) {\n await sql.raw(stmt).execute(db);\n }\n const sg = await registerSubgraph(db, regData);\n return { action: \"reindexed\", subgraphId: sg.id };\n }\n\n if (existing.definition.schema) {\n const diff = diffSchema(existing.definition.schema as SubgraphSchema, def.schema);\n const { breaking, reasons } = hasBreakingChanges(diff);\n\n if (breaking) {\n if (!opts?.forceReindex) {\n throw new Error(\n `Breaking schema change detected (${reasons.join(\"; \")}). ` +\n `Use --reindex to force rebuild, or delete the subgraph first.`,\n );\n }\n\n // Force reindex: drop schema, recreate, register, caller triggers reindex\n await sql.raw(`DROP SCHEMA IF EXISTS \"${schemaName}\" CASCADE`).execute(db);\n for (const stmt of statements) {\n await sql.raw(stmt).execute(db);\n }\n const sg = await registerSubgraph(db, regData);\n return { action: \"reindexed\", subgraphId: sg.id };\n }\n\n // Create new tables\n for (const tableName of diff.addedTables) {\n const tableDef = def.schema[tableName]!;\n const qualifiedName = `${schemaName}.${tableName}`;\n const colDefs = [\n `_id BIGSERIAL PRIMARY KEY`,\n `_block_height BIGINT NOT NULL`,\n `_tx_id TEXT NOT NULL`,\n `_created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()`,\n ];\n for (const [colName, col] of Object.entries(tableDef.columns)) {\n const nullable = col.nullable ? \"\" : \" NOT NULL\";\n colDefs.push(`${colName} ${TYPE_MAP[col.type]!}${nullable}`);\n }\n await sql.raw(\n `CREATE TABLE IF NOT EXISTS ${qualifiedName} (\\n ${colDefs.join(\",\\n \")}\\n)`,\n ).execute(db);\n await sql.raw(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_block_height ON ${qualifiedName} (_block_height)`,\n ).execute(db);\n await sql.raw(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_tx_id ON ${qualifiedName} (_tx_id)`,\n ).execute(db);\n for (const [colName, col] of Object.entries(tableDef.columns)) {\n if (col.indexed) {\n await sql.raw(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_${colName} ON ${qualifiedName} (${colName})`,\n ).execute(db);\n }\n if (col.search) {\n await sql.raw(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_${colName}_trgm ON ${qualifiedName} USING gin (${colName} gin_trgm_ops)`,\n ).execute(db);\n }\n }\n }\n\n // Add columns to existing tables\n for (const [tableName, colDiff] of Object.entries(diff.tables)) {\n if (colDiff.added.length === 0) continue;\n const qualifiedName = `${schemaName}.${tableName}`;\n const tableDef = def.schema[tableName]!;\n for (const colName of colDiff.added) {\n const col = tableDef.columns[colName]!;\n const sqlType = TYPE_MAP[col.type]!;\n const nullable = col.nullable ? \"\" : \" NOT NULL DEFAULT \" + getDefault(col.type);\n await sql.raw(\n `ALTER TABLE ${qualifiedName} ADD COLUMN ${colName} ${sqlType}${nullable}`,\n ).execute(db);\n if (col.indexed) {\n await sql.raw(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_${colName} ON ${qualifiedName} (${colName})`,\n ).execute(db);\n }\n if (col.search) {\n await sql.raw(\n `CREATE INDEX IF NOT EXISTS idx_${schemaName}_${tableName}_${colName}_trgm ON ${qualifiedName} USING gin (${colName} gin_trgm_ops)`,\n ).execute(db);\n }\n }\n }\n }\n\n const sg = await registerSubgraph(db, regData);\n return { action: \"updated\", subgraphId: sg.id };\n }\n\n // New subgraph — execute all DDL\n for (const stmt of statements) {\n await sql.raw(stmt).execute(db);\n }\n\n const sg = await registerSubgraph(db, regData);\n return { action: \"created\", subgraphId: sg.id };\n}\n\nfunction getDefault(type: string): string {\n switch (type) {\n case \"text\":\n case \"principal\":\n return \"''\";\n case \"uint\":\n case \"int\":\n return \"0\";\n case \"boolean\":\n return \"false\";\n case \"timestamp\":\n return \"NOW()\";\n case \"jsonb\":\n return \"'{}'\";\n default:\n return \"''\";\n }\n}\n"
9
9
  ],
10
- "mappings": "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",
11
- "debugId": "AA3D60D64A7340AD64756E2164756E21",
10
+ "mappings": ";;;;AAAA;AAGO,IAAM,qBAAwC,EAClD,OAAO,EACP,IAAI,CAAC,EACL,IAAI,EAAE,EACN,MACC,qBACA,mFACF;AAEK,IAAM,mBAA0C,EAAE,KAAK;AAAA,EAC5D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAEM,IAAM,uBAAkD,EAAE,OAAO;AAAA,EACtE,MAAM;AAAA,EACN,UAAU,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC/B,SAAS,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC9B,QAAQ,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC7B,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,SAAS;AACnE,CAAC;AAEM,IAAM,sBAAgD,EAAE,OAAO;AAAA,EACpE,SAAS,EACN,OAAO,EAAE,OAAO,GAAG,oBAAoB,EACvC,OAAO,CAAC,MAAM,OAAO,KAAK,CAAC,EAAE,SAAS,GAAG,qCAAqC;AAAA,EACjF,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,SAAS;AAAA,EAC/C,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,SAAS;AACpD,CAAC;AAEM,IAAM,uBAAiE,EAC3E,OAAO,EAAE,OAAO,GAAG,mBAAmB,EACtC,OAAO,CAAC,MAAM,OAAO,KAAK,CAAC,EAAE,SAAS,GAAG,qCAAqC;AAE1E,IAAM,uBAAkD,EAC5D,OAAO;AAAA,EACN,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,EAC3B,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,MAAM,EAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,WAAW,EAAE,OAAO,EAAE,SAAS;AACjC,CAAC,EACA,OACC,CAAC,MAAM,EAAE,YAAY,EAAE,MACvB,mDACF;AAEK,IAAM,2BAA0D,EAAE,OAAO;AAAA,EAC9E,MAAM;AAAA,EACN,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,EACjC,SAAS,EAAE,MAAM,oBAAoB,EAAE,IAAI,GAAG,+BAA+B;AAAA,EAC7E,QAAQ;AAAA,EACR,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,SAAS,CAAmC;AAC/E,CAAC;AAKM,SAAS,0BAA0B,CAAC,KAAkC;AAAA,EAC3E,OAAO,yBAAyB,MAAM,GAAG;AAAA;;;ACnE3C;;;ACEO,IAAM,WAAuC;AAAA,EAClD,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AAAA,EACL,WAAW;AAAA,EACX,SAAS;AAAA,EACT,WAAW;AAAA,EACX,OAAO;AACT;AAOA,SAAS,oBAAoB,CAAC,OAAwB;AAAA,EACpD,IAAI,UAAU,QAAQ,UAAU;AAAA,IAAW,OAAO;AAAA,EAClD,IAAI,OAAO,UAAU,YAAY,OAAO,UAAU;AAAA,IAAU,OAAO,OAAO,KAAK;AAAA,EAC/E,IAAI,OAAO,UAAU;AAAA,IAAW,OAAO,QAAQ,SAAS;AAAA,EACxD,OAAO,IAAI,OAAO,KAAK,EAAE,QAAQ,MAAM,IAAI;AAAA;AAQtC,SAAS,mBAAmB,CAAC,KAAyB,oBAA2C;AAAA,EACtG,MAAM,aAAa,sBAAsB,aAAa,IAAI,IAAI;AAAA,EAC9D,MAAM,aAAuB,CAAC;AAAA,EAG9B,MAAM,YAAY,OAAO,OAAO,IAAI,MAAM,EAAE,KAAK,CAAC,UAChD,OAAO,OAAO,MAAM,OAAO,EAAE,KAAK,CAAC,QAAQ,IAAI,MAAM,CACvD;AAAA,EAEA,IAAI,WAAW;AAAA,IACb,WAAW,KAAK,wCAAwC;AAAA,EAC1D;AAAA,EAGA,WAAW,KAAK,+BAA+B,YAAY;AAAA,EAG3D,YAAY,WAAW,aAAa,OAAO,QAAQ,IAAI,MAAM,GAAG;AAAA,IAC9D,MAAM,gBAAgB,GAAG,cAAc;AAAA,IAGvC,MAAM,aAAuB;AAAA,MAC3B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IAEA,YAAY,SAAS,QAAQ,OAAO,QAAQ,SAAS,OAAO,GAAG;AAAA,MAC7D,MAAM,UAAU,SAAS,IAAI;AAAA,MAC7B,MAAM,WAAW,IAAI,WAAW,KAAK;AAAA,MACrC,IAAI,SAAS,GAAG,WAAW,UAAU;AAAA,MACrC,IAAI,IAAI,YAAY,WAAW;AAAA,QAC7B,UAAU,YAAY,qBAAqB,IAAI,OAAO;AAAA,MACxD;AAAA,MACA,WAAW,KAAK,MAAM;AAAA,IACxB;AAAA,IAEA,WAAW,KACT,8BAA8B;AAAA,IAAsB,WAAW,KAAK;AAAA,GAAO;AAAA,EAC7E;AAAA,IAGA,WAAW,KACT,kCAAkC,cAAc,6BAA6B,+BAC/E;AAAA,IACA,WAAW,KACT,kCAAkC,cAAc,sBAAsB,wBACxE;AAAA,IAGA,YAAY,SAAS,QAAQ,OAAO,QAAQ,SAAS,OAAO,GAAG;AAAA,MAC7D,IAAI,IAAI,SAAS;AAAA,QACf,WAAW,KACT,kCAAkC,cAAc,aAAa,cAAc,kBAAkB,UAC/F;AAAA,MACF;AAAA,IACF;AAAA,IAGA,YAAY,SAAS,QAAQ,OAAO,QAAQ,SAAS,OAAO,GAAG;AAAA,MAC7D,IAAI,IAAI,QAAQ;AAAA,QACd,WAAW,KACT,kCAAkC,cAAc,aAAa,mBAAmB,4BAA4B,uBAC9G;AAAA,MACF;AAAA,IACF;AAAA,IAGA,IAAI,SAAS,SAAS;AAAA,MACpB,SAAS,IAAI,EAAG,IAAI,SAAS,QAAQ,QAAQ,KAAK;AAAA,QAChD,MAAM,OAAO,SAAS,QAAQ;AAAA,QAC9B,MAAM,UAAU,OAAO,cAAc,uBAAuB;AAAA,QAC5D,WAAW,KACT,8BAA8B,cAAc,kBAAkB,KAAK,KAAK,IAAI,IAC9E;AAAA,MACF;AAAA,IACF;AAAA,IAGA,IAAI,SAAS,YAAY;AAAA,MACvB,SAAS,IAAI,EAAG,IAAI,SAAS,WAAW,QAAQ,KAAK;AAAA,QACnD,MAAM,OAAO,SAAS,WAAW;AAAA,QACjC,MAAM,iBAAiB,MAAM,cAAc,aAAa,KAAK,KAAK,GAAG;AAAA,QACrE,WAAW,KACT,eAAe,gCAAgC,0BAA0B,KAAK,KAAK,IAAI,IACzF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAGA,MAAM,YAAY,KAAK,UAAU;AAAA,IAC/B,MAAM,IAAI;AAAA,IACV,SAAS,IAAI;AAAA,IACb,QAAQ,IAAI;AAAA,IACZ,SAAS,IAAI;AAAA,EACf,GAAG,CAAC,MAAM,UAAU,OAAO,UAAU,WAAW,MAAM,SAAS,IAAI,KAAK;AAAA,EACxE,MAAM,OAAO,OAAO,IAAI,KAAK,SAAS,CAAC;AAAA,EAEvC,OAAO,EAAE,YAAY,KAAK;AAAA;;AClI5B;AAUA,SAAS,UAAU,CAAC,KAAuB;AAAA,EACzC,OAAO,KAAK,MAAM,KAAK,UAAU,KAAK,CAAC,MAAM,UAC3C,OAAO,UAAU,WAAW,MAAM,SAAS,IAAI,KACjD,CAAC;AAAA;AAqBI,SAAS,UAAU,CAAC,UAA0B,UAAqC;AAAA,EACxF,MAAM,iBAAiB,IAAI,IAAI,OAAO,KAAK,QAAQ,CAAC;AAAA,EACpD,MAAM,iBAAiB,IAAI,IAAI,OAAO,KAAK,QAAQ,CAAC;AAAA,EAEpD,MAAM,cAAc,CAAC,GAAG,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC;AAAA,EAC5E,MAAM,gBAAgB,CAAC,GAAG,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC;AAAA,EAE9E,MAAM,SAAqC,CAAC;AAAA,EAC5C,WAAW,aAAa,gBAAgB;AAAA,IACtC,IAAI,CAAC,eAAe,IAAI,SAAS;AAAA,MAAG;AAAA,IACpC,MAAM,eAAe,SAAS,WAAY;AAAA,IAC1C,MAAM,eAAe,SAAS,WAAY;AAAA,IAE1C,MAAM,eAAe,IAAI,IAAI,OAAO,KAAK,YAAY,CAAC;AAAA,IACtD,MAAM,eAAe,IAAI,IAAI,OAAO,KAAK,YAAY,CAAC;AAAA,IAEtD,OAAO,aAAa;AAAA,MAClB,OAAO,CAAC,GAAG,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;AAAA,MAC3D,SAAS,CAAC,GAAG,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;AAAA,MAC7D,SAAS,CAAC,GAAG,YAAY,EAAE,OAAO,CAAC,MAAM;AAAA,QACvC,IAAI,CAAC,aAAa,IAAI,CAAC;AAAA,UAAG,OAAO;AAAA,QACjC,OAAO,KAAK,UAAU,aAAa,EAAE,MAAM,KAAK,UAAU,aAAa,EAAE;AAAA,OAC1E;AAAA,IACH;AAAA,EACF;AAAA,EAEA,OAAO,EAAE,aAAa,eAAe,OAAO;AAAA;AAO9C,SAAS,kBAAkB,CAAC,MAA2D;AAAA,EACrF,MAAM,UAAoB,CAAC;AAAA,EAC3B,IAAI,KAAK,cAAc,SAAS,GAAG;AAAA,IACjC,QAAQ,KAAK,oBAAoB,KAAK,cAAc,KAAK,IAAI,IAAI;AAAA,EACnE;AAAA,EACA,YAAY,OAAO,YAAY,OAAO,QAAQ,KAAK,MAAM,GAAG;AAAA,IAC1D,IAAI,QAAQ,QAAQ,SAAS,GAAG;AAAA,MAC9B,QAAQ,KAAK,GAAG,2BAA2B,QAAQ,QAAQ,KAAK,IAAI,IAAI;AAAA,IAC1E;AAAA,IACA,IAAI,QAAQ,QAAQ,SAAS,GAAG;AAAA,MAC9B,QAAQ,KAAK,GAAG,2BAA2B,QAAQ,QAAQ,KAAK,IAAI,IAAI;AAAA,IAC1E;AAAA,EACF;AAAA,EACA,OAAO,EAAE,UAAU,QAAQ,SAAS,GAAG,QAAQ;AAAA;AAUjD,eAAsB,YAAY,CAChC,IACA,KACA,aACA,MAC4F;AAAA,EAC5F,2BAA2B,GAAG;AAAA,EAE9B,QAAQ,YAAY,SAAS,oBAAoB,KAAK,MAAM,UAAU;AAAA,EACtE,QAAQ,aAAa,qBAAqB,MAAa;AAAA,EAEvD,MAAM,WAAW,MAAM,YAAY,IAAI,IAAI,MAAM,MAAM,QAAQ;AAAA,EAE/D,MAAM,aAAa,MAAM,cAAc,aAAa,IAAI,IAAI;AAAA,EAC5D,MAAM,UAAU;AAAA,IACd,MAAM,IAAI;AAAA,IACV,SAAS,IAAI,WAAW;AAAA,IACxB,YAAY,WAAW,EAAE,MAAM,IAAI,MAAM,SAAS,IAAI,SAAS,aAAa,IAAI,aAAa,SAAS,IAAI,SAAS,QAAQ,IAAI,OAAO,CAAC;AAAA,IACvI,YAAY;AAAA,IACZ;AAAA,IACA,UAAU,MAAM;AAAA,IAChB;AAAA,EACF;AAAA,EAEA,IAAI,UAAU;AAAA,IACZ,IAAI,SAAS,gBAAgB,QAAQ,CAAC,MAAM,cAAc;AAAA,MAExD,QAAQ,8BAA8B,MAAa;AAAA,MACnD,MAAM,0BAA0B,IAAI,IAAI,MAAM,WAAW;AAAA,MACzD,OAAO,EAAE,QAAQ,aAAa,YAAY,SAAS,GAAG;AAAA,IACxD;AAAA,IAEA,IAAI,SAAS,gBAAgB,QAAQ,MAAM,cAAc;AAAA,MAEvD,MAAM,IAAI,IAAI,0BAA0B,qBAAqB,EAAE,QAAQ,EAAE;AAAA,MACzE,WAAW,QAAQ,YAAY;AAAA,QAC7B,MAAM,IAAI,IAAI,IAAI,EAAE,QAAQ,EAAE;AAAA,MAChC;AAAA,MACA,MAAM,MAAK,MAAM,iBAAiB,IAAI,OAAO;AAAA,MAC7C,OAAO,EAAE,QAAQ,aAAa,YAAY,IAAG,GAAG;AAAA,IAClD;AAAA,IAEA,IAAI,SAAS,WAAW,QAAQ;AAAA,MAC9B,MAAM,OAAO,WAAW,SAAS,WAAW,QAA0B,IAAI,MAAM;AAAA,MAChF,QAAQ,UAAU,YAAY,mBAAmB,IAAI;AAAA,MAErD,IAAI,UAAU;AAAA,QACZ,IAAI,CAAC,MAAM,cAAc;AAAA,UACvB,MAAM,IAAI,MACR,oCAAoC,QAAQ,KAAK,IAAI,mEAEvD;AAAA,QACF;AAAA,QAGA,MAAM,IAAI,IAAI,0BAA0B,qBAAqB,EAAE,QAAQ,EAAE;AAAA,QACzE,WAAW,QAAQ,YAAY;AAAA,UAC7B,MAAM,IAAI,IAAI,IAAI,EAAE,QAAQ,EAAE;AAAA,QAChC;AAAA,QACA,MAAM,MAAK,MAAM,iBAAiB,IAAI,OAAO;AAAA,QAC7C,OAAO,EAAE,QAAQ,aAAa,YAAY,IAAG,GAAG;AAAA,MAClD;AAAA,MAGA,WAAW,aAAa,KAAK,aAAa;AAAA,QACxC,MAAM,WAAW,IAAI,OAAO;AAAA,QAC5B,MAAM,gBAAgB,GAAG,cAAc;AAAA,QACvC,MAAM,UAAU;AAAA,UACd;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,YAAY,SAAS,QAAQ,OAAO,QAAQ,SAAS,OAAO,GAAG;AAAA,UAC7D,MAAM,WAAW,IAAI,WAAW,KAAK;AAAA,UACrC,QAAQ,KAAK,GAAG,WAAW,SAAS,IAAI,QAAS,UAAU;AAAA,QAC7D;AAAA,QACA,MAAM,IAAI,IACR,8BAA8B;AAAA,IAAsB,QAAQ,KAAK;AAAA,GAAO;AAAA,EAC1E,EAAE,QAAQ,EAAE;AAAA,QACZ,MAAM,IAAI,IACR,kCAAkC,cAAc,6BAA6B,+BAC/E,EAAE,QAAQ,EAAE;AAAA,QACZ,MAAM,IAAI,IACR,kCAAkC,cAAc,sBAAsB,wBACxE,EAAE,QAAQ,EAAE;AAAA,QACZ,YAAY,SAAS,QAAQ,OAAO,QAAQ,SAAS,OAAO,GAAG;AAAA,UAC7D,IAAI,IAAI,SAAS;AAAA,YACf,MAAM,IAAI,IACR,kCAAkC,cAAc,aAAa,cAAc,kBAAkB,UAC/F,EAAE,QAAQ,EAAE;AAAA,UACd;AAAA,UACA,IAAI,IAAI,QAAQ;AAAA,YACd,MAAM,IAAI,IACR,kCAAkC,cAAc,aAAa,mBAAmB,4BAA4B,uBAC9G,EAAE,QAAQ,EAAE;AAAA,UACd;AAAA,QACF;AAAA,MACF;AAAA,MAGA,YAAY,WAAW,YAAY,OAAO,QAAQ,KAAK,MAAM,GAAG;AAAA,QAC9D,IAAI,QAAQ,MAAM,WAAW;AAAA,UAAG;AAAA,QAChC,MAAM,gBAAgB,GAAG,cAAc;AAAA,QACvC,MAAM,WAAW,IAAI,OAAO;AAAA,QAC5B,WAAW,WAAW,QAAQ,OAAO;AAAA,UACnC,MAAM,MAAM,SAAS,QAAQ;AAAA,UAC7B,MAAM,UAAU,SAAS,IAAI;AAAA,UAC7B,MAAM,WAAW,IAAI,WAAW,KAAK,uBAAuB,WAAW,IAAI,IAAI;AAAA,UAC/E,MAAM,IAAI,IACR,eAAe,4BAA4B,WAAW,UAAU,UAClE,EAAE,QAAQ,EAAE;AAAA,UACZ,IAAI,IAAI,SAAS;AAAA,YACf,MAAM,IAAI,IACR,kCAAkC,cAAc,aAAa,cAAc,kBAAkB,UAC/F,EAAE,QAAQ,EAAE;AAAA,UACd;AAAA,UACA,IAAI,IAAI,QAAQ;AAAA,YACd,MAAM,IAAI,IACR,kCAAkC,cAAc,aAAa,mBAAmB,4BAA4B,uBAC9G,EAAE,QAAQ,EAAE;AAAA,UACd;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IAEA,MAAM,MAAK,MAAM,iBAAiB,IAAI,OAAO;AAAA,IAC7C,OAAO,EAAE,QAAQ,WAAW,YAAY,IAAG,GAAG;AAAA,EAChD;AAAA,EAGA,WAAW,QAAQ,YAAY;AAAA,IAC7B,MAAM,IAAI,IAAI,IAAI,EAAE,QAAQ,EAAE;AAAA,EAChC;AAAA,EAEA,MAAM,KAAK,MAAM,iBAAiB,IAAI,OAAO;AAAA,EAC7C,OAAO,EAAE,QAAQ,WAAW,YAAY,GAAG,GAAG;AAAA;AAGhD,SAAS,UAAU,CAAC,MAAsB;AAAA,EACxC,QAAQ;AAAA,SACD;AAAA,SACA;AAAA,MACH,OAAO;AAAA,SACJ;AAAA,SACA;AAAA,MACH,OAAO;AAAA,SACJ;AAAA,MACH,OAAO;AAAA,SACJ;AAAA,MACH,OAAO;AAAA,SACJ;AAAA,MACH,OAAO;AAAA;AAAA,MAEP,OAAO;AAAA;AAAA;",
11
+ "debugId": "FE91C1DFC68C0F3864756E2164756E21",
12
12
  "names": []
13
13
  }
@@ -650,7 +650,7 @@ async function handleSubgraphReorg(blockHeight, loadSubgraphDef) {
650
650
  logger5.info("Propagating reorg to subgraphs", { blockHeight, subgraphCount: activeSubgraphs.length });
651
651
  for (const sg of activeSubgraphs) {
652
652
  try {
653
- const schema = sg.definition?.schema;
653
+ const schema = sg.definition.schema;
654
654
  if (!schema)
655
655
  continue;
656
656
  const schemaName = sg.schema_name ?? pgSchemaName(sg.name);
@@ -789,5 +789,5 @@ var shutdown = async () => {
789
789
  process.on("SIGINT", shutdown);
790
790
  process.on("SIGTERM", shutdown);
791
791
 
792
- //# debugId=3ED765B9AA3142E064756E2164756E21
792
+ //# debugId=2CEA4D606F99878964756E2164756E21
793
793
  //# sourceMappingURL=service.js.map
@@ -11,11 +11,11 @@
11
11
  "// Re-export canonical pgSchemaName from shared\nexport { pgSchemaName } from \"@secondlayer/shared/db/queries/subgraphs\";\n",
12
12
  "import type { Kysely } from \"kysely\";\nimport type { Database } from \"@secondlayer/shared/db\";\nimport type { ProcessBlockTiming } from \"./block-processor.ts\";\n\ninterface StatsEntry {\n subgraphName: string;\n apiKeyId: string | null;\n bucketStart: Date;\n blocksProcessed: number;\n totalTimeMs: number;\n handlerTimeMs: number;\n flushTimeMs: number;\n maxBlockTimeMs: number;\n maxHandlerTimeMs: number;\n totalOps: number;\n isCatchup: boolean;\n}\n\nconst FLUSH_INTERVAL_BLOCKS = 100;\nconst FLUSH_INTERVAL_MS = 60_000;\n\n/**\n * Accumulates per-block timing stats and flushes to DB periodically.\n * One instance per subgraph during catchup/reindex/live processing.\n */\nexport class StatsAccumulator {\n private current: StatsEntry;\n private lastFlush = Date.now();\n\n constructor(\n private subgraphName: string,\n private apiKeyId: string | null,\n private isCatchup: boolean,\n ) {\n this.current = this.newEntry();\n }\n\n record(timing: ProcessBlockTiming, opsCount: number): void {\n this.current.blocksProcessed++;\n this.current.totalTimeMs += timing.totalMs;\n this.current.handlerTimeMs += timing.handlerMs;\n this.current.flushTimeMs += timing.flushMs;\n this.current.maxBlockTimeMs = Math.max(this.current.maxBlockTimeMs, timing.totalMs);\n this.current.maxHandlerTimeMs = Math.max(this.current.maxHandlerTimeMs, timing.handlerMs);\n this.current.totalOps += opsCount;\n }\n\n shouldFlush(): boolean {\n return (\n this.current.blocksProcessed >= FLUSH_INTERVAL_BLOCKS ||\n Date.now() - this.lastFlush >= FLUSH_INTERVAL_MS\n );\n }\n\n async flush(db: Kysely<Database>): Promise<void> {\n if (this.current.blocksProcessed === 0) return;\n\n const entry = this.current;\n this.current = this.newEntry();\n this.lastFlush = Date.now();\n\n const avgOpsPerBlock = entry.blocksProcessed > 0\n ? entry.totalOps / entry.blocksProcessed\n : 0;\n\n await db\n .insertInto(\"subgraph_processing_stats\")\n .values({\n subgraph_name: entry.subgraphName,\n api_key_id: entry.apiKeyId,\n bucket_start: entry.bucketStart,\n bucket_end: new Date(),\n blocks_processed: entry.blocksProcessed,\n total_time_ms: Math.round(entry.totalTimeMs),\n handler_time_ms: Math.round(entry.handlerTimeMs),\n flush_time_ms: Math.round(entry.flushTimeMs),\n max_block_time_ms: Math.round(entry.maxBlockTimeMs),\n max_handler_time_ms: Math.round(entry.maxHandlerTimeMs),\n avg_ops_per_block: parseFloat(avgOpsPerBlock.toFixed(2)),\n is_catchup: entry.isCatchup,\n })\n .execute();\n }\n\n private newEntry(): StatsEntry {\n return {\n subgraphName: this.subgraphName,\n apiKeyId: this.apiKeyId,\n bucketStart: new Date(),\n blocksProcessed: 0,\n totalTimeMs: 0,\n handlerTimeMs: 0,\n flushTimeMs: 0,\n maxBlockTimeMs: 0,\n maxHandlerTimeMs: 0,\n totalOps: 0,\n isCatchup: this.isCatchup,\n };\n }\n}\n",
13
13
  "import { getDb } from \"@secondlayer/shared/db\";\nimport { logger } from \"@secondlayer/shared/logger\";\nimport { getSubgraph } from \"@secondlayer/shared/db/queries/subgraphs\";\nimport type { SubgraphDefinition } from \"../types.ts\";\nimport { processBlock } from \"./block-processor.ts\";\nimport { StatsAccumulator } from \"./stats.ts\";\n\nconst LOG_INTERVAL = 1000;\n\nconst catchingUp = new Set<string>();\n\n/**\n * Catch a subgraph up from its last_processed_block to the chain tip.\n * Re-reads lastProcessedBlock from DB to avoid stale values.\n * Skips if a catch-up is already in progress for this subgraph.\n */\nexport async function catchUpSubgraph(\n subgraph: SubgraphDefinition,\n subgraphName: string,\n): Promise<number> {\n if (catchingUp.has(subgraphName)) return 0;\n catchingUp.add(subgraphName);\n\n try {\n const db = getDb();\n\n // Re-read from DB to avoid stale lastProcessedBlock\n const subgraphRow = await getSubgraph(db, subgraphName);\n if (!subgraphRow) return 0;\n const lastProcessedBlock = Number(subgraphRow.last_processed_block);\n\n // Get chain tip from indexProgress\n const progress = await db\n .selectFrom(\"index_progress\")\n .selectAll()\n .where(\"network\", \"=\", process.env.NETWORK ?? \"mainnet\")\n .executeTakeFirst();\n\n if (!progress) return 0;\n\n const chainTip = Number(progress.last_contiguous_block);\n if (lastProcessedBlock >= chainTip) return 0;\n\n const startBlock = lastProcessedBlock + 1;\n const totalBlocks = chainTip - lastProcessedBlock;\n\n logger.info(\"Subgraph catch-up starting\", {\n subgraph: subgraphName,\n from: startBlock,\n to: chainTip,\n blocks: totalBlocks,\n });\n\n const stats = new StatsAccumulator(subgraphName, subgraphRow.api_key_id, true);\n let processed = 0;\n\n for (let height = startBlock; height <= chainTip; height++) {\n const result = await processBlock(subgraph, subgraphName, height);\n processed++;\n\n if (result.timing) {\n stats.record(result.timing, result.processed);\n if (stats.shouldFlush()) {\n await stats.flush(db);\n }\n }\n\n if (processed % LOG_INTERVAL === 0) {\n logger.info(\"Subgraph catch-up progress\", {\n subgraph: subgraphName,\n processed,\n total: totalBlocks,\n currentBlock: height,\n pct: Math.round((processed / totalBlocks) * 100),\n });\n }\n }\n\n // Flush remaining stats\n await stats.flush(db);\n\n logger.info(\"Subgraph catch-up complete\", {\n subgraph: subgraphName,\n processed,\n });\n\n return processed;\n } finally {\n catchingUp.delete(subgraphName);\n }\n}\n",
14
- "import { getDb, getRawClient } from \"@secondlayer/shared/db\";\nimport { listSubgraphs } from \"@secondlayer/shared/db/queries/subgraphs\";\nimport type { Subgraph } from \"@secondlayer/shared/db\";\nimport { logger } from \"@secondlayer/shared/logger\";\nimport { getErrorMessage } from \"@secondlayer/shared\";\nimport { pgSchemaName } from \"../schema/utils.ts\";\nimport type { SubgraphDefinition, SubgraphSchema } from \"../types.ts\";\nimport { processBlock } from \"./block-processor.ts\";\n\n/**\n * Handle a chain reorg for all active subgraphs.\n * Deletes rows at the reorged block height from all subgraph tables,\n * then reprocesses the new canonical block.\n */\nexport async function handleSubgraphReorg(\n blockHeight: number,\n loadSubgraphDef: (handlerPath: string) => Promise<SubgraphDefinition>,\n): Promise<void> {\n const db = getDb();\n const client = getRawClient();\n const activeSubgraphs = (await listSubgraphs(db)).filter((v: Subgraph) => v.status === \"active\");\n\n if (activeSubgraphs.length === 0) return;\n\n logger.info(\"Propagating reorg to subgraphs\", { blockHeight, subgraphCount: activeSubgraphs.length });\n\n for (const sg of activeSubgraphs) {\n try {\n const schema = (sg.definition as any)?.schema as SubgraphSchema | undefined;\n if (!schema) continue;\n\n const schemaName = sg.schema_name ?? pgSchemaName(sg.name);\n\n // Delete rows at the reorged block height from all tables\n for (const tableName of Object.keys(schema)) {\n await client.unsafe(\n `DELETE FROM \"${schemaName}\".\"${tableName}\" WHERE \"_block_height\" = $1`,\n [blockHeight],\n );\n }\n\n logger.info(\"Subgraph reorg cleanup done\", { subgraph: sg.name, blockHeight });\n\n // Reprocess the new canonical block\n const def = await loadSubgraphDef(sg.handler_path);\n await processBlock(def, sg.name, blockHeight);\n\n logger.info(\"Subgraph reorg reprocessed\", { subgraph: sg.name, blockHeight });\n } catch (err) {\n logger.error(\"Subgraph reorg handling failed\", {\n subgraph: sg.name,\n blockHeight,\n error: getErrorMessage(err),\n });\n }\n }\n}\n",
14
+ "import { getDb, getRawClient } from \"@secondlayer/shared/db\";\nimport { listSubgraphs } from \"@secondlayer/shared/db/queries/subgraphs\";\nimport type { Subgraph } from \"@secondlayer/shared/db\";\nimport { logger } from \"@secondlayer/shared/logger\";\nimport { getErrorMessage } from \"@secondlayer/shared\";\nimport { pgSchemaName } from \"../schema/utils.ts\";\nimport type { SubgraphDefinition, SubgraphSchema } from \"../types.ts\";\nimport { processBlock } from \"./block-processor.ts\";\n\n/**\n * Handle a chain reorg for all active subgraphs.\n * Deletes rows at the reorged block height from all subgraph tables,\n * then reprocesses the new canonical block.\n */\nexport async function handleSubgraphReorg(\n blockHeight: number,\n loadSubgraphDef: (handlerPath: string) => Promise<SubgraphDefinition>,\n): Promise<void> {\n const db = getDb();\n const client = getRawClient();\n const activeSubgraphs = (await listSubgraphs(db)).filter((v: Subgraph) => v.status === \"active\");\n\n if (activeSubgraphs.length === 0) return;\n\n logger.info(\"Propagating reorg to subgraphs\", { blockHeight, subgraphCount: activeSubgraphs.length });\n\n for (const sg of activeSubgraphs) {\n try {\n const schema = sg.definition.schema as SubgraphSchema | undefined;\n if (!schema) continue;\n\n const schemaName = sg.schema_name ?? pgSchemaName(sg.name);\n\n // Delete rows at the reorged block height from all tables\n for (const tableName of Object.keys(schema)) {\n await client.unsafe(\n `DELETE FROM \"${schemaName}\".\"${tableName}\" WHERE \"_block_height\" = $1`,\n [blockHeight],\n );\n }\n\n logger.info(\"Subgraph reorg cleanup done\", { subgraph: sg.name, blockHeight });\n\n // Reprocess the new canonical block\n const def = await loadSubgraphDef(sg.handler_path);\n await processBlock(def, sg.name, blockHeight);\n\n logger.info(\"Subgraph reorg reprocessed\", { subgraph: sg.name, blockHeight });\n } catch (err) {\n logger.error(\"Subgraph reorg handling failed\", {\n subgraph: sg.name,\n blockHeight,\n error: getErrorMessage(err),\n });\n }\n }\n}\n",
15
15
  "import { getDb } from \"@secondlayer/shared/db\";\nimport { logger } from \"@secondlayer/shared/logger\";\nimport { getErrorMessage } from \"@secondlayer/shared\";\nimport { listen } from \"@secondlayer/shared/queue/listener\";\nimport { listSubgraphs, updateSubgraphStatus } from \"@secondlayer/shared/db/queries/subgraphs\";\nimport type { Subgraph } from \"@secondlayer/shared/db\";\nimport type { SubgraphDefinition } from \"../types.ts\";\nimport { catchUpSubgraph } from \"./catchup.ts\";\nimport { handleSubgraphReorg } from \"./reorg.ts\";\n\nconst CHANNEL_NEW_BLOCK = \"streams:new_job\";\nconst DEFAULT_CONCURRENCY = 5;\nconst POLL_INTERVAL_MS = 5_000;\n\nfunction isHandlerNotFoundError(err: unknown): boolean {\n if (!(err instanceof Error)) return false;\n const code = (err as NodeJS.ErrnoException).code;\n if (code === \"MODULE_NOT_FOUND\" || code === \"ERR_MODULE_NOT_FOUND\" || code === \"ENOENT\") return true;\n // fallback: Bun may not always set code on dynamic import failures\n return err.message.includes(\"Cannot find module\") || err.message.includes(\"ENOENT\");\n}\n\n/**\n * Load a SubgraphDefinition from its handler file path.\n */\nasync function loadSubgraphDefinition(handlerPath: string): Promise<SubgraphDefinition> {\n const mod = await import(handlerPath);\n return mod.default ?? mod;\n}\n\n/**\n * Start the subgraph processor service.\n * Listens for new blocks via NOTIFY and processes them through all active subgraphs.\n */\nexport async function startSubgraphProcessor(opts?: {\n concurrency?: number;\n}): Promise<() => Promise<void>> {\n const concurrency = opts?.concurrency ?? DEFAULT_CONCURRENCY;\n let running = true;\n\n logger.info(\"Starting subgraph processor\", { concurrency });\n\n // Catch-up all subgraphs on startup\n const db = getDb();\n const activeSubgraphs = (await listSubgraphs(db)).filter((v: Subgraph) => v.status === \"active\");\n for (const sg of activeSubgraphs) {\n try {\n const def = await loadSubgraphDefinition(sg.handler_path);\n await catchUpSubgraph(def, sg.name);\n } catch (err) {\n const msg = getErrorMessage(err);\n if (isHandlerNotFoundError(err)) {\n await updateSubgraphStatus(db, sg.name, \"error\");\n }\n logger.error(\"Subgraph catch-up failed on startup\", {\n subgraph: sg.name,\n error: msg,\n });\n }\n }\n\n // Listen for new blocks\n const stopListening = await listen(CHANNEL_NEW_BLOCK, async () => {\n if (!running) return;\n // The NOTIFY payload doesn't include block height — we rely on\n // each subgraph's last_processed_block to determine what to process.\n // Trigger catch-up for all subgraphs.\n const db = getDb();\n const subgraphs = (await listSubgraphs(db)).filter((v: Subgraph) => v.status === \"active\");\n for (const sg of subgraphs) {\n try {\n const def = await loadSubgraphDefinition(sg.handler_path);\n await catchUpSubgraph(def, sg.name);\n } catch (err) {\n const msg = getErrorMessage(err);\n if (isHandlerNotFoundError(err)) {\n await updateSubgraphStatus(db, sg.name, \"error\");\n }\n logger.error(\"Subgraph processing failed\", {\n subgraph: sg.name,\n error: msg,\n });\n }\n }\n });\n\n // Listen for reorgs\n const stopReorgListening = await listen(\"subgraph_reorg\", async (payload: string | undefined) => {\n if (!running) return;\n try {\n const data = JSON.parse(payload ?? \"{}\");\n const blockHeight = data.blockHeight;\n if (typeof blockHeight === \"number\") {\n await handleSubgraphReorg(blockHeight, loadSubgraphDefinition);\n }\n } catch (err) {\n logger.error(\"Subgraph reorg handling failed\", {\n error: getErrorMessage(err),\n });\n }\n });\n\n // Poll as backup\n const pollInterval = setInterval(async () => {\n if (!running) return;\n const db = getDb();\n const subgraphs = (await listSubgraphs(db)).filter((v: Subgraph) => v.status === \"active\");\n for (const sg of subgraphs) {\n try {\n const def = await loadSubgraphDefinition(sg.handler_path);\n await catchUpSubgraph(def, sg.name);\n } catch (err) {\n logger.error(\"Subgraph poll processing failed\", {\n subgraph: sg.name,\n error: getErrorMessage(err),\n });\n }\n }\n }, POLL_INTERVAL_MS);\n\n logger.info(\"Subgraph processor ready\");\n\n // Return shutdown function\n return async () => {\n running = false;\n clearInterval(pollInterval);\n await stopListening();\n await stopReorgListening();\n logger.info(\"Subgraph processor stopped\");\n };\n}\n",
16
16
  "// Subgraph processor service entry point\n// Run with: bun run packages/subgraphs/src/service.ts\nimport { logger } from \"@secondlayer/shared/logger\";\nimport { startSubgraphProcessor } from \"./runtime/processor.ts\";\n\nconst processor = await startSubgraphProcessor({\n concurrency: parseInt(process.env.SUBGRAPH_CONCURRENCY ?? \"5\"),\n});\n\n// Graceful shutdown\nconst shutdown = async () => {\n logger.info(\"Shutting down subgraph processor...\");\n await processor();\n process.exit(0);\n};\n\nprocess.on(\"SIGINT\", shutdown);\nprocess.on(\"SIGTERM\", shutdown);\n"
17
17
  ],
18
- "mappings": "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",
19
- "debugId": "3ED765B9AA3142E064756E2164756E21",
18
+ "mappings": "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",
19
+ "debugId": "2CEA4D606F99878964756E2164756E21",
20
20
  "names": []
21
21
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@secondlayer/subgraphs",
3
- "version": "0.5.6",
3
+ "version": "0.5.7",
4
4
  "type": "module",
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",
@@ -37,7 +37,7 @@
37
37
  "prepublishOnly": "bun run build"
38
38
  },
39
39
  "dependencies": {
40
- "@secondlayer/shared": "^0.6.0",
40
+ "@secondlayer/shared": "^0.7.0",
41
41
  "@secondlayer/stacks": "^0.2.2",
42
42
  "kysely": "^0.28.10",
43
43
  "postgres": "^3.4.6",