@query-farm/vgi 0.36.2 → 0.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -35,9 +35,9 @@
35
35
  "// Copyright 2025, 2026 Query Farm LLC - https://query.farm\n// Internal helpers shared by VgiClient methods.\n\nimport { toUint8Array } from \"../util/bytes.js\";\n\n/**\n * Deserialize a List<Binary> of serialized info batches into typed info objects.\n */\nexport function deserializeInfoList<T>(\n items: unknown,\n deserializeFn: (bytes: Uint8Array) => T,\n): T[] {\n if (!items) return [];\n const arr: unknown[] = Array.isArray(items)\n ? items\n : [...(items as Iterable<unknown>)];\n return arr\n .filter((b) => b != null)\n .map((b) => deserializeFn(toUint8Array(b)));\n}\n\n/**\n * Deserialize Arrow Map entries into a plain Record<string, string>.\n */\nexport function deserializeTags(mapVal: unknown): Record<string, string> {\n const tags: Record<string, string> = {};\n if (!mapVal) return tags;\n const iterable = mapVal as { [Symbol.iterator]?: () => Iterator<unknown> };\n if (typeof iterable[Symbol.iterator] !== \"function\") return tags;\n for (const entry of iterable as Iterable<unknown>) {\n if (Array.isArray(entry)) {\n tags[String(entry[0])] = String(entry[1]);\n } else if (entry && typeof entry === \"object\") {\n const e = entry as Record<string, unknown> & { [0]?: unknown; [1]?: unknown };\n tags[String(e.key ?? e[0] ?? \"\")] = String(e.value ?? e[1] ?? \"\");\n }\n }\n return tags;\n}\n\n/**\n * Convert sync/async iterable to async iterator.\n */\nexport function toAsyncIterator<T>(\n input: Iterable<T> | AsyncIterable<T>,\n): AsyncIterator<T> {\n if (Symbol.asyncIterator in (input as any)) {\n return (input as AsyncIterable<T>)[Symbol.asyncIterator]();\n }\n const syncIter = (input as Iterable<T>)[Symbol.iterator]();\n return {\n async next() {\n return syncIter.next();\n },\n };\n}\n",
36
36
  "// Copyright 2025, 2026 Query Farm LLC - https://query.farm\n// VgiClient — high-level client for calling VGI worker functions and catalog API.\n// Works with any RpcClient (subprocess or HTTP transport).\n\nimport { type VgiSchema, schema as schema_, type VgiField, field, type VgiBatch, type VgiDataType, utf8, binary, list } from \"../arrow/index.js\";\n// `import type`, not `import { type … }`: the latter keeps the statement and\n// emits `import {} from \"@query-farm/vgi-rpc\"`, a side-effect import of the\n// package root — which re-exports the whole framework, server included, into\n// every browser bundle. See the note in ./errors.\nimport type { RpcClient, StreamSession } from \"@query-farm/vgi-rpc\";\nimport {\n serializeBindRequest,\n deserializeBindResponse,\n serializeInitRequest,\n deserializeGlobalInitResponse,\n} from \"../protocol/serialize.js\";\nimport type {\n BindRequest,\n BindResponse,\n InitRequest,\n GlobalInitResponse,\n} from \"../protocol/types.js\";\nimport { FunctionType, TableInOutPhase } from \"../types.js\";\nimport { Arguments } from \"../arguments/arguments.js\";\nimport {\n batchFromRows,\n batchFromColumns,\n iterRows,\n} from \"../util/arrow/index.js\";\nimport {\n type SchemaInfo,\n decodeSchemaInfo,\n type TableInfo,\n decodeTableInfo,\n type ViewInfo,\n decodeViewInfo,\n type FunctionInfo,\n decodeFunctionInfo,\n type MacroInfo,\n decodeMacroInfo,\n type MacroType,\n type CatalogAttachResult,\n type AttachOpaqueData,\n type TransactionOpaqueData,\n decodeCatalogInfo,\n type CatalogInfo,\n type ScanFunctionResult,\n decodeScanFunctionResult,\n} from \"../catalog/interface.js\";\nimport { wrapRequest, unwrapResult } from \"./protocol.js\";\nimport { toUint8Array } from \"../util/bytes.js\";\nimport { serializeAttachOptions } from \"../catalog/attach-options.js\";\nimport { VgiClientError, wrapRpcWithErrorEnrichment } from \"./errors.js\";\nimport { normalizeSchemaPath } from \"../schema-path.js\";\nimport { encodeASD } from \"../codec/asd.js\";\nimport { ClientCapabilitiesSchema, MacroCreateRequestSchema } from \"../generated/vgi-protocol-schemas.js\";\nimport { deserializeInfoList, deserializeTags, toAsyncIterator } from \"./helpers.js\";\n\nexport { VgiClientError };\nimport type {\n VgiClientOptions,\n TableFunctionOptions,\n ScalarFunctionOptions,\n TableInOutFunctionOptions,\n OnCreateConflict,\n CatalogFunctionType,\n CatalogMacroType,\n CatalogAttachOptions,\n OrderByPushdown,\n TablesamplePushdown,\n AttachOptionValue,\n} from \"./types.js\";\n\n/**\n * High-level client for calling VGI worker functions and catalog API.\n *\n * Works with any RpcClient transport (subprocess or HTTP):\n * ```ts\n * import { subprocessConnect } from \"@query-farm/vgi-rpc\";\n * import { VgiClient, Arguments } from \"@query-farm/vgi\";\n *\n * const rpc = subprocessConnect([\"./my-worker\"]);\n * const client = new VgiClient(rpc);\n *\n * for await (const rows of client.tableFunctionRows({\n * functionName: \"sequence\",\n * arguments: new Arguments([10]),\n * })) {\n * console.log(rows);\n * }\n * client.close();\n * ```\n */\nexport class VgiClient {\n private readonly rpc: RpcClient;\n private readonly defaultAttachOpaqueData: Uint8Array | null;\n\n /**\n * Construct a VgiClient wrapping an `RpcClient` transport.\n *\n * `options.attachOpaqueData` sets a client-wide default attach ID used by every\n * function call that doesn't supply its own. Per-call `attachOpaqueData` on\n * `TableFunctionOptions`/`ScalarFunctionOptions`/`TableInOutFunctionOptions`\n * takes precedence — useful when a single client talks to multiple\n * attached catalogs.\n */\n constructor(rpc: RpcClient, options?: VgiClientOptions) {\n this.rpc = wrapRpcWithErrorEnrichment(rpc);\n this.defaultAttachOpaqueData = options?.attachOpaqueData ?? null;\n }\n\n /**\n * Connect the high-level client to a canonical `iroh://` or `httpi://`\n * endpoint. Native Node/Bun connectors are selected from the URI scheme.\n * Browser callers may inject the connector exported by the browser Iroh\n * package without changing the VGI client API.\n */\n static async fromIroh(\n endpoint: string,\n options: Record<string, unknown> = {},\n clientOptions?: VgiClientOptions,\n connector?: (endpoint: string, options: Record<string, unknown>) => Promise<RpcClient>,\n ): Promise<VgiClient> {\n if (!/^(iroh|httpi):\\/\\//.test(endpoint)) {\n throw new TypeError(\"VgiClient.fromIroh requires an iroh:// or httpi:// endpoint\");\n }\n let selected = connector;\n if (!selected) {\n const rpc = await import(\"@query-farm/vgi-rpc\");\n selected = endpoint.startsWith(\"iroh://\")\n ? (rpc.irohConnect as unknown as NonNullable<typeof selected>)\n : (rpc.httpiConnect as unknown as NonNullable<typeof selected>);\n }\n if (!selected) throw new TypeError(\"no Iroh connector is available in this runtime\");\n return new VgiClient(await selected(endpoint, options), clientOptions);\n }\n\n // ==========================================================================\n // Private helpers\n // ==========================================================================\n\n private async _doBind(\n functionName: string,\n functionType: FunctionType,\n args: Arguments,\n inputSchema: VgiSchema | null,\n settings: VgiBatch | null,\n secrets: VgiBatch | null,\n transactionOpaqueData: Uint8Array | null,\n attachOpaqueData: Uint8Array | null = null,\n onBind?: ((response: BindResponse) => void) | null,\n ): Promise<{ request: BindRequest; response: BindResponse }> {\n const request: BindRequest = {\n function_name: functionName,\n arguments: args,\n function_type: functionType,\n input_schema: inputSchema,\n settings: settings ?? null,\n secrets: secrets ?? null,\n attach_opaque_data: attachOpaqueData ?? this.defaultAttachOpaqueData,\n transaction_opaque_data: transactionOpaqueData ?? null,\n resolved_secrets_provided: false,\n };\n\n const requestBatch = serializeBindRequest(request);\n const rpcResult = await this.rpc.call(\"bind\", wrapRequest(requestBatch));\n if (!rpcResult) throw new VgiClientError(\"bind returned null\");\n const inner = unwrapResult(rpcResult);\n const response = deserializeBindResponse(inner);\n if (onBind) onBind(response);\n return { request, response };\n }\n\n private async _doInit(\n bindRequest: BindRequest,\n bindResponse: BindResponse,\n opts?: {\n projectionIds?: number[] | null;\n pushdownFilters?: VgiBatch | null;\n phase?: TableInOutPhase | null;\n executionId?: Uint8Array | null;\n orderBy?: OrderByPushdown | null;\n tablesample?: TablesamplePushdown | null;\n joinKeys?: VgiBatch[] | null;\n },\n ): Promise<{ session: StreamSession; initResponse: GlobalInitResponse }> {\n const ob = opts?.orderBy ?? null;\n const ts = opts?.tablesample ?? null;\n const initRequest: InitRequest = {\n bind_call: bindRequest,\n output_schema: bindResponse.output_schema,\n bind_opaque_data: bindResponse.opaque_data,\n // This client does not plan scans, so it never redeems a split, and it\n // pushes no limit down.\n split_tokens: null,\n row_limit: null,\n projection_ids: opts?.projectionIds ?? null,\n pushdown_filters: opts?.pushdownFilters ?? null,\n join_keys: opts?.joinKeys ?? [],\n phase: opts?.phase ?? null,\n finalize_state_id: null,\n order_by_column_name: ob?.columnName ?? null,\n order_by_direction: ob?.direction ?? null,\n order_by_null_order: ob?.nullOrder ?? null,\n order_by_limit: ob?.limit == null ? null : BigInt(ob.limit),\n tablesample_percentage: ts?.percentage ?? null,\n tablesample_seed: ts?.seed == null ? null : BigInt(ts.seed),\n execution_id: opts?.executionId ?? null,\n init_opaque_data: null,\n substream_id: null,\n };\n\n const initBatch = serializeInitRequest(initRequest);\n const session = await this.rpc.stream(\"init\", wrapRequest(initBatch));\n\n const headerDict = session.header;\n if (!headerDict) throw new VgiClientError(\"init did not return a header\");\n const initResponse = deserializeGlobalInitResponse(headerDict);\n\n return { session, initResponse };\n }\n\n // ==========================================================================\n // Table function — RecordBatch API\n // ==========================================================================\n\n /** Call a table function, yielding output as RecordBatch instances. */\n async *tableFunction(\n opts: TableFunctionOptions,\n ): AsyncGenerator<VgiBatch> {\n const args = opts.arguments ?? new Arguments();\n\n const { request: bindReq, response: bindResp } = await this._doBind(\n opts.functionName,\n FunctionType.TABLE,\n args,\n null,\n opts.settings ?? null,\n null,\n opts.transactionOpaqueData ?? null,\n opts.attachOpaqueData ?? null,\n opts.onBind ?? null,\n );\n\n const { session } = await this._doInit(bindReq, bindResp, {\n projectionIds: opts.projectionIds,\n pushdownFilters: opts.pushdownFilters,\n orderBy: opts.orderBy,\n tablesample: opts.tablesample,\n joinKeys: opts.joinKeys,\n });\n\n const outputSchema = bindResp.output_schema;\n try {\n for await (const rows of session) {\n if (rows.length > 0) {\n yield batchFromRows(rows, outputSchema);\n }\n }\n } finally {\n session.close();\n }\n }\n\n // ==========================================================================\n // Scalar function\n // ==========================================================================\n\n /** Call a scalar function, yielding output as row objects. */\n async *scalarFunctionRows(\n opts: ScalarFunctionOptions,\n ): AsyncGenerator<Record<string, any>[]> {\n // Peek first batch to get input schema\n const inputIter = toAsyncIterator(opts.input);\n const first = await inputIter.next();\n if (first.done) {\n throw new VgiClientError(\n `scalarFunction(${opts.functionName}): input iterator yielded no batches; ` +\n `at least one batch is required to determine the input schema`,\n );\n }\n\n const firstBatch: VgiBatch = first.value;\n const inputSchema = firstBatch.schema;\n\n const args = opts.arguments ?? new Arguments();\n\n const { request: bindReq, response: bindResp } = await this._doBind(\n opts.functionName,\n FunctionType.SCALAR,\n args,\n inputSchema,\n opts.settings ?? null,\n opts.secrets ?? null,\n opts.transactionOpaqueData ?? null,\n opts.attachOpaqueData ?? null,\n opts.onBind ?? null,\n );\n\n const { session } = await this._doInit(bindReq, bindResp);\n\n try {\n // Exchange first batch\n const outRows = await session.exchange([...iterRows(firstBatch)]);\n if (outRows.length > 0) yield outRows;\n\n // Exchange remaining batches\n for await (const batch of { [Symbol.asyncIterator]: () => inputIter }) {\n const result = await session.exchange([...iterRows(batch)]);\n if (result.length > 0) yield result;\n }\n } finally {\n session.close();\n }\n }\n\n /** Call a scalar function, yielding output as RecordBatch instances. */\n async *scalarFunction(\n opts: ScalarFunctionOptions,\n ): AsyncGenerator<VgiBatch> {\n // Same path as scalarFunctionRows, but with the output schema captured\n // here so we can pack rows back into batches without a re-bind.\n const inputIter = toAsyncIterator(opts.input);\n const first = await inputIter.next();\n if (first.done) {\n throw new VgiClientError(\n `scalarFunction(${opts.functionName}): input iterator yielded no batches; ` +\n `at least one batch is required to determine the input schema`,\n );\n }\n\n const firstBatch: VgiBatch = first.value;\n const inputSchema = firstBatch.schema;\n\n const args = opts.arguments ?? new Arguments();\n\n const { request: bindReq, response: bindResp } = await this._doBind(\n opts.functionName,\n FunctionType.SCALAR,\n args,\n inputSchema,\n opts.settings ?? null,\n opts.secrets ?? null,\n opts.transactionOpaqueData ?? null,\n opts.attachOpaqueData ?? null,\n opts.onBind ?? null,\n );\n\n const { session } = await this._doInit(bindReq, bindResp);\n const outputSchema = bindResp.output_schema;\n try {\n const outRows = await session.exchange([...iterRows(firstBatch)]);\n if (outRows.length > 0) yield batchFromRows(outRows, outputSchema);\n\n for await (const batch of { [Symbol.asyncIterator]: () => inputIter }) {\n const result = await session.exchange([...iterRows(batch)]);\n if (result.length > 0) yield batchFromRows(result, outputSchema);\n }\n } finally {\n session.close();\n }\n }\n\n // ==========================================================================\n // Table-in-out function\n // ==========================================================================\n\n /** Call a table-in-out function, yielding output as row objects. */\n async *tableInOutFunctionRows(\n opts: TableInOutFunctionOptions,\n ): AsyncGenerator<Record<string, any>[]> {\n const inputIter = toAsyncIterator(opts.input);\n const first = await inputIter.next();\n if (first.done) {\n throw new VgiClientError(\n `tableInOutFunction(${opts.functionName}): input iterator yielded no batches; ` +\n `at least one batch is required to determine the input schema`,\n );\n }\n\n const firstBatch: VgiBatch = first.value;\n const inputSchema = firstBatch.schema;\n\n const args = opts.arguments ?? new Arguments();\n\n const { request: bindReq, response: bindResp } = await this._doBind(\n opts.functionName,\n FunctionType.TABLE, // table-in-out uses TABLE function type at the bind level\n args,\n inputSchema,\n opts.settings ?? null,\n null,\n opts.transactionOpaqueData ?? null,\n opts.attachOpaqueData ?? null,\n opts.onBind ?? null,\n );\n\n // Phase 1: INPUT. We keep the init response around for its `execution_id`,\n // which we must echo back to pair the FINALIZE phase with this call.\n const { session: inputSession, initResponse } = await this._doInit(\n bindReq,\n bindResp,\n {\n projectionIds: opts.projectionIds,\n pushdownFilters: opts.pushdownFilters,\n phase: TableInOutPhase.INPUT,\n orderBy: opts.orderBy,\n tablesample: opts.tablesample,\n joinKeys: opts.joinKeys,\n },\n );\n\n try {\n const outRows = await inputSession.exchange([...iterRows(firstBatch)]);\n if (outRows.length > 0) yield outRows;\n\n for await (const batch of { [Symbol.asyncIterator]: () => inputIter }) {\n const result = await inputSession.exchange([...iterRows(batch)]);\n if (result.length > 0) yield result;\n }\n } finally {\n inputSession.close();\n }\n\n // Phase 2: FINALIZE — skipped entirely for a function with no finalize stage.\n if (opts.hasFinalize === false) return;\n const { session: finalizeSession } = await this._doInit(\n bindReq,\n bindResp,\n {\n projectionIds: opts.projectionIds,\n pushdownFilters: opts.pushdownFilters,\n phase: TableInOutPhase.FINALIZE,\n executionId: initResponse.execution_id,\n orderBy: opts.orderBy,\n tablesample: opts.tablesample,\n joinKeys: opts.joinKeys,\n },\n );\n\n try {\n for await (const rows of finalizeSession) {\n if (rows.length > 0) yield rows;\n }\n } finally {\n finalizeSession.close();\n }\n }\n\n /** Call a table-in-out function, yielding output as RecordBatch instances. */\n async *tableInOutFunction(\n opts: TableInOutFunctionOptions,\n ): AsyncGenerator<VgiBatch> {\n const inputIter = toAsyncIterator(opts.input);\n const first = await inputIter.next();\n if (first.done) {\n throw new VgiClientError(\n `tableInOutFunction(${opts.functionName}): input iterator yielded no batches; ` +\n `at least one batch is required to determine the input schema`,\n );\n }\n\n const firstBatch: VgiBatch = first.value;\n const inputSchema = firstBatch.schema;\n\n const args = opts.arguments ?? new Arguments();\n\n const { request: bindReq, response: bindResp } = await this._doBind(\n opts.functionName,\n FunctionType.TABLE,\n args,\n inputSchema,\n opts.settings ?? null,\n null,\n opts.transactionOpaqueData ?? null,\n opts.attachOpaqueData ?? null,\n opts.onBind ?? null,\n );\n\n const { session: inputSession, initResponse } = await this._doInit(\n bindReq,\n bindResp,\n {\n projectionIds: opts.projectionIds,\n pushdownFilters: opts.pushdownFilters,\n phase: TableInOutPhase.INPUT,\n orderBy: opts.orderBy,\n tablesample: opts.tablesample,\n joinKeys: opts.joinKeys,\n },\n );\n\n const outputSchema = bindResp.output_schema;\n try {\n const outRows = await inputSession.exchange([...iterRows(firstBatch)]);\n if (outRows.length > 0) yield batchFromRows(outRows, outputSchema);\n\n for await (const batch of { [Symbol.asyncIterator]: () => inputIter }) {\n const result = await inputSession.exchange([...iterRows(batch)]);\n if (result.length > 0) yield batchFromRows(result, outputSchema);\n }\n } finally {\n inputSession.close();\n }\n\n // FINALIZE — skipped entirely for a function with no finalize stage.\n if (opts.hasFinalize === false) return;\n const { session: finalizeSession } = await this._doInit(\n bindReq,\n bindResp,\n {\n projectionIds: opts.projectionIds,\n pushdownFilters: opts.pushdownFilters,\n phase: TableInOutPhase.FINALIZE,\n executionId: initResponse.execution_id,\n orderBy: opts.orderBy,\n tablesample: opts.tablesample,\n joinKeys: opts.joinKeys,\n },\n );\n\n try {\n for await (const rows of finalizeSession) {\n if (rows.length > 0) yield batchFromRows(rows, outputSchema);\n }\n } finally {\n finalizeSession.close();\n }\n }\n\n // ==========================================================================\n // Row convenience for table function\n // ==========================================================================\n\n /** Call a table function, yielding output as row objects. */\n async *tableFunctionRows(\n opts: TableFunctionOptions,\n ): AsyncGenerator<Record<string, any>[]> {\n const args = opts.arguments ?? new Arguments();\n const { request: bindReq, response: bindResp } = await this._doBind(\n opts.functionName,\n FunctionType.TABLE,\n args,\n null,\n opts.settings ?? null,\n null,\n opts.transactionOpaqueData ?? null,\n opts.attachOpaqueData ?? null,\n opts.onBind ?? null,\n );\n const { session } = await this._doInit(bindReq, bindResp, {\n projectionIds: opts.projectionIds,\n pushdownFilters: opts.pushdownFilters,\n orderBy: opts.orderBy,\n tablesample: opts.tablesample,\n joinKeys: opts.joinKeys,\n });\n try {\n for await (const rows of session) {\n if (rows.length > 0) yield rows;\n }\n } finally {\n session.close();\n }\n }\n\n // ==========================================================================\n // Catalog API\n // ==========================================================================\n\n /**\n * List all catalogs with their advertised version metadata.\n *\n * Each entry has `{name, implementation_version?, data_version_spec?}`.\n * Versioned workers populate the version fields; read-only workers\n * leave both null.\n */\n async catalogsInfo(): Promise<CatalogInfo[]> {\n const result = await this.rpc.call(\"catalog_catalogs\", {});\n if (!result) return [];\n const inner = unwrapResult(result);\n return deserializeInfoList(inner.items, decodeCatalogInfo);\n }\n\n /** List all available catalog names (shorthand for `catalogsInfo().map(c => c.name)`). */\n async catalogs(): Promise<string[]> {\n const infos = await this.catalogsInfo();\n return infos.map((i) => i.name);\n }\n\n /**\n * Attach a catalog by name. Returns connection details including the\n * attachOpaqueData.\n *\n * `opts.options` is a plain key→value map; column types are inferred from\n * the value at runtime (see AttachOptionValue for the mapping). Use\n * `opts.optionsBytes` instead when you need Arrow types the inference\n * can't express (Decimal, Timestamp, Int32 vs Int64, nested structs).\n * Providing both throws.\n *\n * Versioned catalogs (see vgi-example-versioned-worker) validate\n * `dataVersionSpec` / `implementationVersion` at attach time and echo\n * back the resolved values on the result — callers can read those from\n * `result.resolved_data_version` / `result.resolved_implementation_version`.\n *\n * @example\n * ```ts\n * const result = await client.catalogAttach(\"my_catalog\", {\n * options: { region: \"us-east-1\", maxCachedRows: 1000n, readOnly: true },\n * dataVersionSpec: \"1.0.0\",\n * });\n * ```\n */\n async catalogAttach(\n name: string,\n opts?: CatalogAttachOptions,\n ): Promise<CatalogAttachResult> {\n if (opts?.options != null && opts?.optionsBytes != null) {\n throw new VgiClientError(\n \"catalogAttach: cannot specify both `options` and `optionsBytes`\",\n );\n }\n let wireOptions: Uint8Array | null;\n if (opts?.optionsBytes != null) {\n // Escape hatch: raw pre-serialized bytes. Same zero-byte guard as\n // before — pyarrow's IPC reader rejects 0-byte input on a non-null\n // binary field.\n wireOptions = opts.optionsBytes.byteLength === 0 ? null : opts.optionsBytes;\n } else {\n wireOptions = serializeAttachOptions(opts?.options);\n }\n\n const schema = schema_([\n field(\"name\", utf8(), false),\n field(\"options\", binary(), true),\n field(\"data_version_spec\", utf8(), true),\n field(\"implementation_version\", utf8(), true),\n field(\"client_capabilities\", binary(), true),\n ]);\n const innerBatch = batchFromColumns(\n {\n name: [name],\n options: [wireOptions],\n data_version_spec: [opts?.dataVersionSpec ?? null],\n implementation_version: [opts?.implementationVersion ?? null],\n client_capabilities: [opts?.clientCapabilities\n ? encodeASD(ClientCapabilitiesSchema, opts.clientCapabilities)\n : null],\n },\n schema,\n );\n const result = await this.rpc.call(\"catalog_attach\", wrapRequest(innerBatch));\n if (!result) throw new VgiClientError(\"catalog_attach returned null\");\n const inner = unwrapResult(result);\n return {\n attach_opaque_data: toUint8Array(inner.attach_opaque_data),\n supports_transactions: inner.supports_transactions ?? false,\n supports_time_travel: inner.supports_time_travel ?? false,\n catalog_version_frozen: inner.catalog_version_frozen ?? false,\n catalog_version: Number(inner.catalog_version ?? 0),\n attach_opaque_data_required: inner.attach_opaque_data_required ?? true,\n default_schema: inner.default_schema ?? \"main\",\n settings: inner.settings\n ? (Array.isArray(inner.settings) ? inner.settings : [...inner.settings]).map(toUint8Array)\n : [],\n secret_types: inner.secret_types\n ? (Array.isArray(inner.secret_types) ? inner.secret_types : [...inner.secret_types]).map(toUint8Array)\n : [],\n attach_catalogs: inner.attach_catalogs\n ? (Array.isArray(inner.attach_catalogs) ? inner.attach_catalogs : [...inner.attach_catalogs]).map(toUint8Array)\n : [],\n comment: inner.comment ?? null,\n tags: deserializeTags(inner.tags),\n supports_column_statistics: inner.supports_column_statistics ?? false,\n global_functions: inner.global_functions\n ? (Array.isArray(inner.global_functions) ? inner.global_functions : [...inner.global_functions]).map(toUint8Array)\n : [],\n global_function_prefix: inner.global_function_prefix ?? \"\",\n resolved_data_version: inner.resolved_data_version ?? null,\n resolved_implementation_version: inner.resolved_implementation_version ?? null,\n };\n }\n\n /** Detach a previously-attached catalog. */\n async catalogDetach(attachOpaqueData: AttachOpaqueData): Promise<void> {\n await this.rpc.call(\"catalog_detach\", { attach_opaque_data: attachOpaqueData });\n }\n\n /**\n * Create a new catalog.\n *\n * `options` is a plain key→value map; column types are inferred from the\n * value at runtime (see AttachOptionValue). Use `optionsBytes` instead\n * when you need Arrow types the inference can't express. Providing both\n * throws.\n */\n async catalogCreate(\n name: string,\n onConflict: OnCreateConflict,\n options?:\n | Uint8Array\n | { options?: Record<string, AttachOptionValue>; optionsBytes?: Uint8Array },\n ): Promise<void> {\n let wireOptions: Uint8Array | null;\n if (options == null) {\n wireOptions = null;\n } else if (options instanceof Uint8Array) {\n // Backwards-compatible escape hatch: caller pre-serialized the options batch.\n wireOptions = options.byteLength === 0 ? null : options;\n } else {\n if (options.options != null && options.optionsBytes != null) {\n throw new VgiClientError(\n \"catalogCreate: cannot specify both `options` and `optionsBytes`\",\n );\n }\n if (options.optionsBytes != null) {\n wireOptions = options.optionsBytes.byteLength === 0 ? null : options.optionsBytes;\n } else {\n wireOptions = serializeAttachOptions(options.options);\n }\n }\n await this.rpc.call(\"catalog_create\", {\n name,\n on_conflict: onConflict,\n options: wireOptions,\n });\n }\n\n /** Drop a catalog by name. */\n async catalogDrop(name: string): Promise<void> {\n await this.rpc.call(\"catalog_drop\", { name });\n }\n\n /** Get the current catalog version number. */\n async catalogVersion(\n attachOpaqueData: AttachOpaqueData,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<number> {\n const result = await this.rpc.call(\"catalog_version\", {\n attach_opaque_data: attachOpaqueData,\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n if (!result) throw new VgiClientError(\"catalog_version returned null\");\n const inner = unwrapResult(result);\n return Number(inner.version ?? 0);\n }\n\n /** Begin a new transaction. Returns the transaction ID. */\n async transactionBegin(attachOpaqueData: AttachOpaqueData): Promise<Uint8Array> {\n const result = await this.rpc.call(\"catalog_transaction_begin\", {\n attach_opaque_data: attachOpaqueData,\n });\n if (!result) throw new VgiClientError(\"transaction_begin returned null\");\n const inner = unwrapResult(result);\n if (!inner.transaction_opaque_data) {\n throw new VgiClientError(\"transaction_begin returned no transaction_opaque_data\");\n }\n return toUint8Array(inner.transaction_opaque_data);\n }\n\n /** Commit a transaction. */\n async transactionCommit(\n attachOpaqueData: AttachOpaqueData,\n transactionOpaqueData: TransactionOpaqueData,\n ): Promise<void> {\n await this.rpc.call(\"catalog_transaction_commit\", {\n attach_opaque_data: attachOpaqueData,\n transaction_opaque_data: transactionOpaqueData,\n });\n }\n\n /** Rollback a transaction. */\n async transactionRollback(\n attachOpaqueData: AttachOpaqueData,\n transactionOpaqueData: TransactionOpaqueData,\n ): Promise<void> {\n await this.rpc.call(\"catalog_transaction_rollback\", {\n attach_opaque_data: attachOpaqueData,\n transaction_opaque_data: transactionOpaqueData,\n });\n }\n\n /** List schemas in an attached catalog. */\n async schemas(\n attachOpaqueData: AttachOpaqueData,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<SchemaInfo[]> {\n const result = await this.rpc.call(\"catalog_schemas\", {\n attach_opaque_data: attachOpaqueData,\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n if (!result) return [];\n const inner = unwrapResult(result);\n return deserializeInfoList(inner.items, decodeSchemaInfo);\n }\n\n /** Get a schema by name, or null if not found. */\n async schemaGet(\n attachOpaqueData: AttachOpaqueData,\n path: string[] | string,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<SchemaInfo | null> {\n const result = await this.rpc.call(\"catalog_schema_get\", {\n attach_opaque_data: attachOpaqueData,\n path: normalizeSchemaPath(path),\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n if (!result) return null;\n const inner = unwrapResult(result);\n const items = deserializeInfoList(inner.items, decodeSchemaInfo);\n return items.length > 0 ? items[0] : null;\n }\n\n /** Create a new schema. */\n async schemaCreate(\n attachOpaqueData: AttachOpaqueData,\n path: string[] | string,\n opts?: {\n onConflict?: OnCreateConflict;\n comment?: string | null;\n tags?: Record<string, string> | null;\n transactionOpaqueData?: TransactionOpaqueData;\n },\n ): Promise<void> {\n const tagsMap = opts?.tags\n ? new Map(Object.entries(opts.tags))\n : null;\n await this.rpc.call(\"catalog_schema_create\", {\n attach_opaque_data: attachOpaqueData,\n path: normalizeSchemaPath(path),\n on_conflict: opts?.onConflict ?? \"error\",\n comment: opts?.comment ?? null,\n tags: tagsMap,\n transaction_opaque_data: opts?.transactionOpaqueData ?? null,\n });\n }\n\n /** Drop a schema by name. */\n async schemaDrop(\n attachOpaqueData: AttachOpaqueData,\n path: string[] | string,\n ignoreNotFound?: boolean,\n cascade?: boolean,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<void> {\n await this.rpc.call(\"catalog_schema_drop\", {\n attach_opaque_data: attachOpaqueData,\n path: normalizeSchemaPath(path),\n ignore_not_found: ignoreNotFound ?? false,\n cascade: cascade ?? false,\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n }\n\n /** List tables in a schema. */\n async schemaContentsTables(\n attachOpaqueData: AttachOpaqueData,\n path: string[] | string,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<TableInfo[]> {\n const result = await this.rpc.call(\"catalog_schema_contents_tables\", {\n attach_opaque_data: attachOpaqueData,\n path: normalizeSchemaPath(path),\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n if (!result) return [];\n const inner = unwrapResult(result);\n return deserializeInfoList(inner.items, decodeTableInfo);\n }\n\n /** List views in a schema. */\n async schemaContentsViews(\n attachOpaqueData: AttachOpaqueData,\n path: string[] | string,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<ViewInfo[]> {\n const result = await this.rpc.call(\"catalog_schema_contents_views\", {\n attach_opaque_data: attachOpaqueData,\n path: normalizeSchemaPath(path),\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n if (!result) return [];\n const inner = unwrapResult(result);\n return deserializeInfoList(inner.items, decodeViewInfo);\n }\n\n /** List functions in a schema, filtered by type. */\n async schemaContentsFunctions(\n attachOpaqueData: AttachOpaqueData,\n path: string[] | string,\n type: CatalogFunctionType,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<FunctionInfo[]> {\n const result = await this.rpc.call(\"catalog_schema_contents_functions\", {\n attach_opaque_data: attachOpaqueData,\n path: normalizeSchemaPath(path),\n type,\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n if (!result) return [];\n const inner = unwrapResult(result);\n return deserializeInfoList(inner.items, decodeFunctionInfo);\n }\n\n /** Get a table by name, or null if not found. */\n async tableGet(\n attachOpaqueData: AttachOpaqueData,\n schemaPath: string[] | string,\n name: string,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<TableInfo | null> {\n const result = await this.rpc.call(\"catalog_table_get\", {\n attach_opaque_data: attachOpaqueData,\n schema_path: normalizeSchemaPath(schemaPath),\n name,\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n if (!result) return null;\n const inner = unwrapResult(result);\n const items = deserializeInfoList(inner.items, decodeTableInfo);\n return items.length > 0 ? items[0] : null;\n }\n\n /** Create a new table. */\n async tableCreate(\n attachOpaqueData: AttachOpaqueData,\n schemaPath: string[] | string,\n name: string,\n columns: Uint8Array,\n onConflict: OnCreateConflict,\n notNullConstraints?: number[],\n uniqueConstraints?: number[][],\n checkConstraints?: string[],\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<void> {\n await this.rpc.call(\"catalog_table_create\", {\n attach_opaque_data: attachOpaqueData,\n schema_path: normalizeSchemaPath(schemaPath),\n name,\n columns,\n on_conflict: onConflict,\n not_null_constraints: notNullConstraints ?? null,\n unique_constraints: uniqueConstraints ?? null,\n check_constraints: checkConstraints ?? null,\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n }\n\n /** Drop a table by name. */\n async tableDrop(\n attachOpaqueData: AttachOpaqueData,\n schemaPath: string[] | string,\n name: string,\n ignoreNotFound?: boolean,\n cascade?: boolean,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<void> {\n await this.rpc.call(\"catalog_table_drop\", {\n attach_opaque_data: attachOpaqueData,\n schema_path: normalizeSchemaPath(schemaPath),\n name,\n ignore_not_found: ignoreNotFound ?? false,\n cascade: cascade ?? false,\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n }\n\n /**\n * Get the scan function for a table — tells DuckDB which function to call\n * to read the table data (e.g. `read_parquet` with a path argument). Used\n * by the VGI extension during query planning.\n */\n async tableScanFunctionGet(\n attachOpaqueData: AttachOpaqueData,\n schemaPath: string[] | string,\n name: string,\n atUnit?: string | null,\n atValue?: string | null,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<ScanFunctionResult> {\n const result = await this.rpc.call(\"catalog_table_scan_function_get\", {\n attach_opaque_data: attachOpaqueData,\n schema_path: normalizeSchemaPath(schemaPath),\n name,\n at_unit: atUnit ?? null,\n at_value: atValue ?? null,\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n if (!result) throw new VgiClientError(\"table_scan_function_get returned null\");\n return decodeScanFunctionResult(unwrapResult(result));\n }\n\n /** Set or clear the comment on a table. */\n async tableCommentSet(\n attachOpaqueData: AttachOpaqueData,\n schemaPath: string[] | string,\n name: string,\n comment?: string | null,\n ignoreNotFound?: boolean,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<void> {\n await this.rpc.call(\"catalog_table_comment_set\", {\n attach_opaque_data: attachOpaqueData,\n schema_path: normalizeSchemaPath(schemaPath),\n name,\n comment: comment ?? null,\n ignore_not_found: ignoreNotFound ?? null,\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n }\n\n /** Rename a table. */\n async tableRename(\n attachOpaqueData: AttachOpaqueData,\n schemaPath: string[] | string,\n name: string,\n newName: string,\n ignoreNotFound?: boolean,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<void> {\n await this.rpc.call(\"catalog_table_rename\", {\n attach_opaque_data: attachOpaqueData,\n schema_path: normalizeSchemaPath(schemaPath),\n name,\n new_name: newName,\n ignore_not_found: ignoreNotFound ?? null,\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n }\n\n /** Add a column to a table. */\n async tableColumnAdd(\n attachOpaqueData: AttachOpaqueData,\n schemaPath: string[] | string,\n name: string,\n columnName: string,\n columnType: string,\n defaultValue?: string | null,\n ignoreNotFound?: boolean,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<void> {\n await this.rpc.call(\"catalog_table_column_add\", {\n attach_opaque_data: attachOpaqueData,\n schema_path: normalizeSchemaPath(schemaPath),\n name,\n column_name: columnName,\n column_type: columnType,\n default_value: defaultValue ?? null,\n ignore_not_found: ignoreNotFound ?? null,\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n }\n\n /** Drop a column from a table. */\n async tableColumnDrop(\n attachOpaqueData: AttachOpaqueData,\n schemaPath: string[] | string,\n name: string,\n columnName: string,\n ignoreNotFound?: boolean,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<void> {\n await this.rpc.call(\"catalog_table_column_drop\", {\n attach_opaque_data: attachOpaqueData,\n schema_path: normalizeSchemaPath(schemaPath),\n name,\n column_name: columnName,\n ignore_not_found: ignoreNotFound ?? null,\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n }\n\n /** Rename a column in a table. */\n async tableColumnRename(\n attachOpaqueData: AttachOpaqueData,\n schemaPath: string[] | string,\n name: string,\n columnName: string,\n newName: string,\n ignoreNotFound?: boolean,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<void> {\n await this.rpc.call(\"catalog_table_column_rename\", {\n attach_opaque_data: attachOpaqueData,\n schema_path: normalizeSchemaPath(schemaPath),\n name,\n column_name: columnName,\n new_name: newName,\n ignore_not_found: ignoreNotFound ?? null,\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n }\n\n /** Set the default value for a column. */\n async tableColumnDefaultSet(\n attachOpaqueData: AttachOpaqueData,\n schemaPath: string[] | string,\n name: string,\n columnName: string,\n defaultValue: string,\n ignoreNotFound?: boolean,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<void> {\n await this.rpc.call(\"catalog_table_column_default_set\", {\n attach_opaque_data: attachOpaqueData,\n schema_path: normalizeSchemaPath(schemaPath),\n name,\n column_name: columnName,\n default_value: defaultValue,\n ignore_not_found: ignoreNotFound ?? null,\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n }\n\n /** Remove the default value from a column. */\n async tableColumnDefaultDrop(\n attachOpaqueData: AttachOpaqueData,\n schemaPath: string[] | string,\n name: string,\n columnName: string,\n ignoreNotFound?: boolean,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<void> {\n await this.rpc.call(\"catalog_table_column_default_drop\", {\n attach_opaque_data: attachOpaqueData,\n schema_path: normalizeSchemaPath(schemaPath),\n name,\n column_name: columnName,\n ignore_not_found: ignoreNotFound ?? null,\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n }\n\n /**\n * Change the type of a column.\n *\n * `columnDefinition` is a serialized Arrow Schema with a single field whose\n * name identifies the target column and whose type is the new column type.\n * `expression` is an optional SQL expression used to convert existing values.\n */\n async tableColumnTypeChange(\n attachOpaqueData: AttachOpaqueData,\n schemaPath: string[] | string,\n name: string,\n columnDefinition: Uint8Array,\n expression?: string | null,\n ignoreNotFound?: boolean,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<void> {\n await this.rpc.call(\"catalog_table_column_type_change\", {\n attach_opaque_data: attachOpaqueData,\n schema_path: normalizeSchemaPath(schemaPath),\n name,\n column_definition: columnDefinition,\n expression: expression ?? null,\n ignore_not_found: ignoreNotFound ?? false,\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n }\n\n /** Set a NOT NULL constraint on a column. */\n async tableNotNullSet(\n attachOpaqueData: AttachOpaqueData,\n schemaPath: string[] | string,\n name: string,\n columnName: string,\n ignoreNotFound?: boolean,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<void> {\n await this.rpc.call(\"catalog_table_not_null_set\", {\n attach_opaque_data: attachOpaqueData,\n schema_path: normalizeSchemaPath(schemaPath),\n name,\n column_name: columnName,\n ignore_not_found: ignoreNotFound ?? null,\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n }\n\n /** Remove a NOT NULL constraint from a column. */\n async tableNotNullDrop(\n attachOpaqueData: AttachOpaqueData,\n schemaPath: string[] | string,\n name: string,\n columnName: string,\n ignoreNotFound?: boolean,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<void> {\n await this.rpc.call(\"catalog_table_not_null_drop\", {\n attach_opaque_data: attachOpaqueData,\n schema_path: normalizeSchemaPath(schemaPath),\n name,\n column_name: columnName,\n ignore_not_found: ignoreNotFound ?? null,\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n }\n\n /** Get a view by name, or null if not found. */\n async viewGet(\n attachOpaqueData: AttachOpaqueData,\n schemaPath: string[] | string,\n name: string,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<ViewInfo | null> {\n const result = await this.rpc.call(\"catalog_view_get\", {\n attach_opaque_data: attachOpaqueData,\n schema_path: normalizeSchemaPath(schemaPath),\n name,\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n if (!result) return null;\n const inner = unwrapResult(result);\n const items = deserializeInfoList(inner.items, decodeViewInfo);\n return items.length > 0 ? items[0] : null;\n }\n\n /** Create a new view. */\n async viewCreate(\n attachOpaqueData: AttachOpaqueData,\n schemaPath: string[] | string,\n name: string,\n definition: string,\n onConflict: OnCreateConflict,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<void> {\n await this.rpc.call(\"catalog_view_create\", {\n attach_opaque_data: attachOpaqueData,\n schema_path: normalizeSchemaPath(schemaPath),\n name,\n definition,\n on_conflict: onConflict,\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n }\n\n /** Drop a view by name. */\n async viewDrop(\n attachOpaqueData: AttachOpaqueData,\n schemaPath: string[] | string,\n name: string,\n ignoreNotFound?: boolean,\n cascade?: boolean,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<void> {\n await this.rpc.call(\"catalog_view_drop\", {\n attach_opaque_data: attachOpaqueData,\n schema_path: normalizeSchemaPath(schemaPath),\n name,\n ignore_not_found: ignoreNotFound ?? false,\n cascade: cascade ?? false,\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n }\n\n /** Rename a view. */\n async viewRename(\n attachOpaqueData: AttachOpaqueData,\n schemaPath: string[] | string,\n name: string,\n newName: string,\n ignoreNotFound?: boolean,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<void> {\n await this.rpc.call(\"catalog_view_rename\", {\n attach_opaque_data: attachOpaqueData,\n schema_path: normalizeSchemaPath(schemaPath),\n name,\n new_name: newName,\n ignore_not_found: ignoreNotFound ?? null,\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n }\n\n /** Set or clear the comment on a view. */\n async viewCommentSet(\n attachOpaqueData: AttachOpaqueData,\n schemaPath: string[] | string,\n name: string,\n comment?: string | null,\n ignoreNotFound?: boolean,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<void> {\n await this.rpc.call(\"catalog_view_comment_set\", {\n attach_opaque_data: attachOpaqueData,\n schema_path: normalizeSchemaPath(schemaPath),\n name,\n comment: comment ?? null,\n ignore_not_found: ignoreNotFound ?? null,\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n }\n\n // ==========================================================================\n // Macro Catalog API\n // ==========================================================================\n\n /** Get a macro by name, or null if not found. */\n async macroGet(\n attachOpaqueData: AttachOpaqueData,\n schemaPath: string[] | string,\n name: string,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<MacroInfo | null> {\n const result = await this.rpc.call(\"catalog_macro_get\", {\n attach_opaque_data: attachOpaqueData,\n schema_path: normalizeSchemaPath(schemaPath),\n name,\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n if (!result) return null;\n const inner = unwrapResult(result);\n const items = deserializeInfoList(inner.items, decodeMacroInfo);\n return items.length > 0 ? items[0] : null;\n }\n\n /** List macros in a schema, filtered by type. */\n async schemaContentsMacros(\n attachOpaqueData: AttachOpaqueData,\n path: string[] | string,\n type: CatalogMacroType,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<MacroInfo[]> {\n const result = await this.rpc.call(\"catalog_schema_contents_macros\", {\n attach_opaque_data: attachOpaqueData,\n path: normalizeSchemaPath(path),\n type,\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n if (!result) return [];\n const inner = unwrapResult(result);\n return deserializeInfoList(inner.items, decodeMacroInfo);\n }\n\n /** Create a new macro. */\n async macroCreate(\n attachOpaqueData: AttachOpaqueData,\n schemaPath: string[] | string,\n name: string,\n macroType: MacroType,\n parameters: string[],\n definition: string,\n onConflict: OnCreateConflict,\n parameterDefaultValues?: Uint8Array | null,\n argumentsSchema?: Uint8Array | null,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<void> {\n const innerBatch = batchFromColumns(\n {\n attach_opaque_data: [attachOpaqueData],\n schema_path: [normalizeSchemaPath(schemaPath)],\n name: [name],\n macro_type: [macroType],\n parameters: [parameters],\n definition: [definition],\n on_conflict: [onConflict],\n parameter_default_values: [parameterDefaultValues ?? null],\n arguments_schema: [argumentsSchema ?? null],\n transaction_opaque_data: [transactionOpaqueData ?? null],\n },\n MacroCreateRequestSchema,\n );\n await this.rpc.call(\"catalog_macro_create\", wrapRequest(innerBatch));\n }\n\n /** Drop a macro by name. */\n async macroDrop(\n attachOpaqueData: AttachOpaqueData,\n schemaPath: string[] | string,\n name: string,\n ignoreNotFound?: boolean,\n transactionOpaqueData?: TransactionOpaqueData,\n ): Promise<void> {\n await this.rpc.call(\"catalog_macro_drop\", {\n attach_opaque_data: attachOpaqueData,\n schema_path: normalizeSchemaPath(schemaPath),\n name,\n ignore_not_found: ignoreNotFound ?? false,\n transaction_opaque_data: transactionOpaqueData ?? null,\n });\n }\n\n /** Close the underlying RPC connection. */\n close(): void {\n this.rpc.close();\n }\n}\n",
37
37
  "// Copyright 2025, 2026 Query Farm LLC - https://query.farm\n// ArgumentSpec: converts function argument definitions to Arrow schema with VGI metadata keys.\n// Must produce byte-identical schemas to Python's argument_specs_to_schema().\n\nimport { type VgiSchema, schema as schema_, type VgiField, field as field_, type VgiDataType, nullType, deserializeBatch } from \"../arrow/index.js\";\nimport {\n VGI_ARG_KEY,\n VGI_ARG_NAMED,\n VGI_TYPE_KEY,\n VGI_TYPE_TABLE,\n VGI_TYPE_ANY,\n VGI_VARARGS_KEY,\n VGI_VARARGS_TRUE,\n VGI_CONST_KEY,\n VGI_CONST_TRUE,\n VGI_DOC_KEY,\n VGI_DEFAULT_KEY,\n VGI_CHOICES_KEY,\n VGI_RANGE_KEY,\n VGI_PATTERN_KEY,\n} from \"../types.js\";\nimport { ArgumentValidationError } from \"../errors.js\";\n\nexport interface ArgumentSpec {\n name: string;\n position: number | string;\n arrowType: VgiDataType;\n isTableInput?: boolean;\n isAnyType?: boolean;\n isVarargs?: boolean;\n isConst?: boolean;\n doc?: string;\n /**\n * Discovery-facing constraint metadata, pre-encoded to their surfaced UTF-8\n * forms (presence-only — `undefined` means the constraint is absent and the\n * corresponding field-metadata key is omitted entirely). Mirrors Python's\n * `ArgumentSpec.default_json` / `choices_json` / `range_notation` / `pattern`\n * so `argumentSpecsToSchema`/`schemaToArgumentSpecs` round-trip symmetrically.\n */\n defaultJson?: string;\n choicesJson?: string;\n rangeNotation?: string;\n pattern?: string;\n}\n\n/**\n * Raw per-argument constraint declarations, as authored on a function's\n * argument descriptor. Encoded into the pre-computed {@link ArgumentSpec}\n * constraint fields via {@link constraintSpecFields}.\n */\nexport interface ArgumentConstraints {\n /** Closed set of allowed values (JSON-encoded into `vgi_choices`). */\n choices?: readonly unknown[];\n /** Inclusive lower bound (`>=`). */\n ge?: number;\n /** Inclusive upper bound (`<=`). */\n le?: number;\n /** Exclusive lower bound (`>`). */\n gt?: number;\n /** Exclusive upper bound (`<`). */\n lt?: number;\n /** Regex the value must match (surfaced as `vgi_pattern`, as-is). */\n pattern?: string;\n /** Default value (JSON-encoded into `vgi_default`); optional args only. */\n default?: unknown;\n}\n\n/** `JSON.stringify`, falling back to the value's string form when unserializable. */\nfunction safeJson(value: unknown): string {\n try {\n const encoded = JSON.stringify(value);\n // JSON.stringify returns undefined for functions/symbols/undefined.\n if (encoded === undefined) {\n return JSON.stringify(String(value));\n }\n return encoded;\n } catch {\n return JSON.stringify(String(value));\n }\n}\n\n/**\n * Build interval notation from an argument's numeric bounds.\n *\n * Inclusive bounds (`ge`/`le`) render as square brackets, exclusive bounds\n * (`gt`/`lt`) as parentheses, and an open side as `-inf`/`+inf`. Returns\n * `undefined` when the argument has no numeric bound at all.\n *\n * Examples: `ge=0,le=10` -> `\"[0, 10]\"`; `gt=0` -> `\"(0, +inf)\"`;\n * `ge=1,lt=10` -> `\"[1, 10)\"`.\n */\nexport function formatRange(\n ge?: number,\n le?: number,\n gt?: number,\n lt?: number,\n): string | undefined {\n if (ge === undefined && le === undefined && gt === undefined && lt === undefined) {\n return undefined;\n }\n let low: string;\n if (gt !== undefined) {\n low = `(${gt}`;\n } else if (ge !== undefined) {\n low = `[${ge}`;\n } else {\n low = \"(-inf\";\n }\n let high: string;\n if (lt !== undefined) {\n high = `${lt})`;\n } else if (le !== undefined) {\n high = `${le}]`;\n } else {\n high = \"+inf)\";\n }\n return `${low}, ${high}`;\n}\n\n/**\n * Encode raw {@link ArgumentConstraints} into the pre-computed constraint\n * fields of an {@link ArgumentSpec} (presence-only — absent constraints yield\n * no field). `runtimeDefault`, when present, is authoritative for\n * `defaultJson`, keeping runtime binding and discovery metadata in sync.\n * Mirrors Python's `_constraint_kwargs`.\n */\nexport function constraintSpecFields(\n constraints: ArgumentConstraints | undefined,\n runtimeDefault?: unknown,\n): Pick<ArgumentSpec, \"defaultJson\" | \"choicesJson\" | \"rangeNotation\" | \"pattern\"> {\n const fields: Pick<\n ArgumentSpec,\n \"defaultJson\" | \"choicesJson\" | \"rangeNotation\" | \"pattern\"\n > = {};\n // argDefaults is the runtime source of truth. Surface that same value to\n // discovery so callers do not have to duplicate it as\n // argConstraints[name].default. Keep the latter as a backwards-compatible\n // discovery-only fallback for APIs that do not have a runtime default.\n if (runtimeDefault !== undefined) {\n fields.defaultJson = safeJson(runtimeDefault);\n } else if (constraints !== undefined && \"default\" in constraints && constraints.default !== undefined) {\n fields.defaultJson = safeJson(constraints.default);\n }\n if (constraints === undefined) return fields;\n if (constraints.choices !== undefined) {\n fields.choicesJson = safeJson([...constraints.choices]);\n }\n const range = formatRange(\n constraints.ge,\n constraints.le,\n constraints.gt,\n constraints.lt,\n );\n if (range !== undefined) {\n fields.rangeNotation = range;\n }\n if (constraints.pattern !== undefined) {\n fields.pattern = constraints.pattern;\n }\n return fields;\n}\n\n/** Coerce a numeric const value (number or int64 `bigint`) to `number`. */\nfunction toNumber(value: unknown): number | undefined {\n if (typeof value === \"number\") return value;\n if (typeof value === \"bigint\") return Number(value);\n return undefined;\n}\n\n/** Equality for a choice comparison, coercing numeric/bigint operands. */\nfunction choiceEquals(choice: unknown, value: unknown): boolean {\n const cn = toNumber(choice);\n const vn = toNumber(value);\n if (cn !== undefined && vn !== undefined) return cn === vn;\n return choice === value;\n}\n\n/**\n * Narrow a bind-time argument value from Arrow's bigint to a plain number.\n *\n * DuckDB types an integer literal as BIGINT, so `series(3)` arrives as `3n`\n * whether or not anyone wanted 64 bits. Nobody writes `BigInt(1000)` for a page\n * size, so the arg paths narrow — and they now all narrow the same way, which\n * they did not before (two sites used safeNumber, two a bare Number).\n *\n * This is lossy above 2^53, and that is a deliberate call rather than an\n * oversight. Every int64 *argument* across the fixtures and every shipped\n * worker is a small control value — count, page_size, batch_size, increment,\n * lag_minutes, restatement_lookback_days. The large int64s in the test suite\n * are all somewhere else entirely:\n *\n * - column data (copy_to/types.test, copy_to/parallel.test) — never touches\n * this path;\n * - filter-pushdown constants (filter_pushdown/integers.test pins 2^53+1 on\n * purpose) — deserialize.ts keeps those bigint, with its own regression\n * test;\n * - varargs values (constant_columns) — read raw off bindCall.arguments,\n * because extractArgs' copy of them is not what the function reads;\n * - time-travel versions — carried as strings (`at_value`).\n *\n * Preserving the bigint on overflow was tried and reverted: it buys nothing for\n * any argument that exists, and costs a JS type that depends on magnitude, so a\n * worker doing `args.n + 1` would work in every test and fail on one caller's\n * input. If an argument ever genuinely needs the full range — a snowflake id, a\n * nanosecond epoch — the fix is to make int64 arguments bigint by declared\n * type, not by magnitude.\n */\nexport function narrowArgValue(value: unknown): unknown {\n return typeof value === \"bigint\" ? Number(value) : value;\n}\n\n/**\n * Reject a type *factory* where an Arrow *type* was expected.\n *\n * `params: { n: int64 }` (no parentheses) is accepted by the type system —\n * `VgiDataType` is loose enough — and then silently produces an ArgumentSpec\n * whose `arrowType` is a Function. Nothing complains until the schema is\n * serialized or the bind arrives, and the error at that point names neither the\n * argument nor the cause.\n *\n * The mistake is easy to make on purpose, too: the same identifier is a\n * ready-made type on one entry point and a factory on another.\n *\n * @query-farm/vgi int, int32, float32, bool → type instances\n * @query-farm/vgi/worker-cf int, int32, float32, bool → factories\n *\n * So moving a worker to Cloudflare can turn a correct declaration into a\n * silently wrong one with no other edit. Failing here, at definition time,\n * makes that a startup error naming the field.\n */\nexport function assertArrowType(value: unknown, where: string): void {\n if (typeof value === \"function\") {\n const name = (value as { name?: string }).name;\n const call = name ? `${name}()` : \"the factory\";\n throw new ArgumentValidationError(\n `${where} is a type factory, not an Arrow type — call it: ${call}. ` +\n `(Note that int, int32, float32 and bool are ready-made types on ` +\n `@query-farm/vgi but factories on @query-farm/vgi/worker-cf, so the ` +\n `same name may need parentheses on one entry point and not the other. ` +\n `int64(), float64(), utf8() and the rest are factories everywhere.)`,\n );\n }\n if (value === null || value === undefined) {\n throw new ArgumentValidationError(`${where} is ${String(value)}, not an Arrow type.`);\n }\n}\n\n/** {@link assertArrowType} over a record of declared types, e.g. `params`. */\nexport function assertArrowTypes(\n types: Record<string, unknown> | undefined,\n where: string,\n): void {\n if (!types) return;\n for (const [name, type] of Object.entries(types)) {\n assertArrowType(type, `${where}.${name}`);\n }\n}\n\n/**\n * Enforce a bind-time const value against its declared {@link ArgumentConstraints},\n * throwing {@link ArgumentValidationError} on violation. Mirrors the Python SDK's\n * `Arg._validate`: numeric range (`ge`/`le`/`gt`/`lt`), closed choice set, and\n * regex `pattern`. A `null`/`undefined` value skips its value constraints.\n */\nexport function validateConstConstraints(\n name: string,\n constraints: ArgumentConstraints,\n value: unknown,\n): void {\n if (value === null || value === undefined) return;\n\n const num = toNumber(value);\n if (num !== undefined) {\n if (constraints.ge !== undefined && num < constraints.ge) {\n throw new ArgumentValidationError(`argument '${name}' must be >= ${constraints.ge}`);\n }\n if (constraints.le !== undefined && num > constraints.le) {\n throw new ArgumentValidationError(`argument '${name}' must be <= ${constraints.le}`);\n }\n if (constraints.gt !== undefined && num <= constraints.gt) {\n throw new ArgumentValidationError(`argument '${name}' must be > ${constraints.gt}`);\n }\n if (constraints.lt !== undefined && num >= constraints.lt) {\n throw new ArgumentValidationError(`argument '${name}' must be < ${constraints.lt}`);\n }\n }\n\n if (constraints.choices !== undefined && constraints.choices.length > 0) {\n if (!constraints.choices.some((c) => choiceEquals(c, value))) {\n throw new ArgumentValidationError(\n `argument '${name}' must be one of ${JSON.stringify([...constraints.choices])}`,\n );\n }\n }\n\n if (constraints.pattern !== undefined && typeof value === \"string\") {\n let re: RegExp | undefined;\n try {\n re = new RegExp(constraints.pattern);\n } catch {\n re = undefined; // an invalid declared regex must not reject the caller\n }\n if (re !== undefined && !re.test(value)) {\n throw new ArgumentValidationError(\n `argument '${name}' must match pattern ${JSON.stringify(constraints.pattern)}`,\n );\n }\n }\n}\n\nfunction argumentSpecSortKey(spec: ArgumentSpec): [number, number | string] {\n if (typeof spec.position === \"number\") {\n return [0, spec.position];\n }\n return [1, spec.position];\n}\n\n/**\n * Convert ArgumentSpecs to an Arrow Schema with VGI metadata keys.\n * Positional arguments come first (in order), named arguments follow.\n */\nexport function argumentSpecsToSchema(specs: ArgumentSpec[]): VgiSchema {\n const sorted = [...specs].sort((a, b) => {\n const ka = argumentSpecSortKey(a);\n const kb = argumentSpecSortKey(b);\n if (ka[0] !== kb[0]) return ka[0] - kb[0];\n if (typeof ka[1] === \"number\" && typeof kb[1] === \"number\") {\n return ka[1] - kb[1];\n }\n return String(ka[1]).localeCompare(String(kb[1]));\n });\n\n const fields: VgiField[] = [];\n for (const spec of sorted) {\n const metadata: Map<string, string> = new Map();\n\n if (typeof spec.position === \"string\") {\n metadata.set(VGI_ARG_KEY, VGI_ARG_NAMED);\n }\n\n if (spec.isTableInput) {\n metadata.set(VGI_TYPE_KEY, VGI_TYPE_TABLE);\n } else if (spec.isAnyType) {\n metadata.set(VGI_TYPE_KEY, VGI_TYPE_ANY);\n }\n\n if (spec.isVarargs) {\n metadata.set(VGI_VARARGS_KEY, VGI_VARARGS_TRUE);\n }\n\n if (spec.isConst) {\n metadata.set(VGI_CONST_KEY, VGI_CONST_TRUE);\n }\n\n // Per-argument description (UTF-8; presence-only — omit when empty).\n if (spec.doc) {\n metadata.set(VGI_DOC_KEY, spec.doc);\n }\n\n // Per-argument constraint metadata (presence-only; already value-encoded).\n if (spec.defaultJson !== undefined) {\n metadata.set(VGI_DEFAULT_KEY, spec.defaultJson);\n }\n if (spec.choicesJson !== undefined) {\n metadata.set(VGI_CHOICES_KEY, spec.choicesJson);\n }\n if (spec.rangeNotation !== undefined) {\n metadata.set(VGI_RANGE_KEY, spec.rangeNotation);\n }\n if (spec.pattern !== undefined) {\n metadata.set(VGI_PATTERN_KEY, spec.pattern);\n }\n\n const field = field_(\n spec.name,\n spec.arrowType,\n true,\n metadata.size > 0 ? metadata : undefined\n );\n fields.push(field);\n }\n\n return schema_(fields);\n}\n\n// =============================================================================\n// Macro Argument Schemas\n// =============================================================================\n\n/**\n * Build a macro `arguments_schema` describing macro parameters.\n *\n * Mirrors the function `arguments_schema` mechanism: one Arrow field per macro\n * parameter, in `parameters` order, each nullable. The per-parameter\n * description is carried via the same `vgi_doc` field-metadata key functions use\n * (UTF-8, presence-only — the key is omitted entirely when there is no doc). A\n * parameter's field type is the type of its default value when one is known\n * (decoded from `parameterDefaultValues`, a one-row RecordBatch serialized as\n * IPC bytes), else `nullType()`.\n *\n * @param parameters Ordered list of macro parameter names.\n * @param parameterDefaultValues Optional one-row RecordBatch (IPC bytes) whose\n * columns are parameter names with typed default values; used to infer each\n * parameter's field type.\n * @param parameterDocs Optional mapping of parameter name to description. Empty\n * or missing descriptions yield no `vgi_doc` metadata on the field.\n * @returns Arrow schema with one nullable field per parameter, in order.\n */\nexport function macroArgumentsSchema(\n parameters: string[],\n parameterDefaultValues?: Uint8Array | null,\n parameterDocs?: Record<string, string>,\n): VgiSchema {\n const docs = parameterDocs ?? {};\n\n // Map parameter name -> Arrow type from the typed default values, if any.\n const defaultTypes: Map<string, VgiDataType> = new Map();\n if (parameterDefaultValues && parameterDefaultValues.length > 0) {\n const batch = deserializeBatch(parameterDefaultValues);\n for (const f of batch.schema.fields) {\n defaultTypes.set(f.name, f.type);\n }\n }\n\n const fields: VgiField[] = [];\n for (const name of parameters) {\n const metadata: Map<string, string> = new Map();\n const doc = docs[name];\n if (doc) {\n metadata.set(VGI_DOC_KEY, doc);\n }\n const fieldType = defaultTypes.get(name) ?? nullType();\n fields.push(field_(name, fieldType, true, metadata.size > 0 ? metadata : undefined));\n }\n\n return schema_(fields);\n}\n\n/**\n * Extract per-parameter descriptions from a macro `arguments_schema`.\n *\n * Inverse of {@link macroArgumentsSchema}'s `vgi_doc` handling: reads the\n * `vgi_doc` field metadata (UTF-8) for each field. Fields without the key\n * (undocumented) are omitted from the result.\n *\n * @param schema A macro `arguments_schema` (one field per parameter).\n * @returns Mapping of parameter name to description, for documented parameters only.\n */\nexport function macroParameterDocsFromSchema(schema: VgiSchema): Record<string, string> {\n const docs: Record<string, string> = {};\n for (const field of schema.fields) {\n const doc = field.metadata.get(VGI_DOC_KEY);\n if (doc) {\n docs[field.name] = doc;\n }\n }\n return docs;\n}\n\n/**\n * Convert an Arrow Schema back to ArgumentSpecs.\n */\nexport function schemaToArgumentSpecs(schema: VgiSchema): ArgumentSpec[] {\n const specs: ArgumentSpec[] = [];\n let positionIndex = 0;\n\n for (const field of schema.fields) {\n const metadata = field.metadata;\n\n const isNamed = metadata.get(VGI_ARG_KEY) === VGI_ARG_NAMED;\n const position: number | string = isNamed\n ? field.name\n : positionIndex++;\n\n const vgiType = metadata.get(VGI_TYPE_KEY);\n const isTableInput = vgiType === VGI_TYPE_TABLE;\n const isAnyType = vgiType === VGI_TYPE_ANY;\n const isVarargs = metadata.get(VGI_VARARGS_KEY) === VGI_VARARGS_TRUE;\n const isConst = metadata.get(VGI_CONST_KEY) === VGI_CONST_TRUE;\n const doc = metadata.get(VGI_DOC_KEY) ?? \"\";\n\n // Per-argument constraint metadata (absent key -> undefined).\n const defaultJson = metadata.get(VGI_DEFAULT_KEY);\n const choicesJson = metadata.get(VGI_CHOICES_KEY);\n const rangeNotation = metadata.get(VGI_RANGE_KEY);\n const pattern = metadata.get(VGI_PATTERN_KEY);\n\n specs.push({\n name: field.name,\n position,\n arrowType: field.type,\n isTableInput,\n isAnyType,\n isVarargs,\n isConst,\n doc,\n defaultJson,\n choicesJson,\n rangeNotation,\n pattern,\n });\n }\n\n return specs;\n}\n",
38
- "// Copyright 2025, 2026 Query Farm LLC - https://query.farm\n// SPDX-License-Identifier: LicenseRef-QueryFarm-Source-Available-1.0\n\n// Attach-time option descriptors for declarative worker option discovery.\n// Mirrors `vgi.catalog.attach_option` on the Python side — same Arrow IPC\n// wire format so the C++ extension (which owns ATTACH option validation)\n// sees identical shapes regardless of which language the worker is in.\n//\n// Wire format of one serialized AttachOptionSpec (per\n// vgi-python/vgi/catalog/attach_option.py):\n//\n// RecordBatch of:\n// name: Utf8\n// description: Utf8\n// type: Binary -- serialized Arrow Schema with a single \"value\" field\n// of the option's DataType\n// default_value: Binary nullable -- serialized single-row RecordBatch with\n// the default value under \"value\", or\n// null when no default is declared\n// required: Bool nullable -- the caller must supply this option at ATTACH\n// time. Nullable and appended LAST so a peer\n// that predates the column reads the batch by\n// name and simply doesn't see it; absent and\n// explicit-null both mean \"not required\".\n//\n// The extension reads the outer `attach_option_specs: list<binary>` column\n// from CatalogInfo and validates user-supplied ATTACH options against the\n// per-spec declared type before forwarding them to the worker.\n\nimport {\n type VgiDataType,\n schema as makeSchema,\n field,\n utf8,\n binary,\n bool,\n batchFromColumns,\n iterRows,\n serializeBatch,\n deserializeBatch,\n serializeSchema,\n deserializeSchema,\n} from \"../arrow/index.js\";\nimport { toUint8Array } from \"../util/bytes.js\";\n\n/**\n * Declarative spec for a single attach-time option.\n *\n * The catalog's `catalogsInfo()` emits these (serialized) in\n * `CatalogInfo.attach_option_specs` so the DuckDB extension can validate\n * user-supplied ATTACH options and cast them to the declared type before\n * forwarding to the worker's `catalog_attach` handler.\n */\nexport interface AttachOptionSpec {\n /** Option name — matches the key users pass in the ATTACH statement. */\n name: string;\n /** Human-readable description (shown in discovery UIs). */\n description: string;\n /** Arrow data type the extension should cast user input to. */\n type: VgiDataType;\n /**\n * Default value used when the user omits this option. Passed through to\n * the worker's catalog_attach handler as-is if no override is given.\n * Use `null` for \"no default\" (an unset option will then be absent from\n * the options dict delivered to attach()).\n */\n default?: unknown;\n /**\n * The caller must supply this option at ATTACH time. A catalog that cannot\n * be attached without it advertises that fact at discovery, so a client can\n * say so before attempting the attach rather than surfacing a failure that\n * reads like an empty catalog.\n *\n * Mutually exclusive with `default` — an option that falls back to a value\n * is by definition satisfiable without the caller.\n */\n required?: boolean;\n}\n\nconst SPEC_SCHEMA = makeSchema([\n field(\"name\", utf8(), false),\n field(\"description\", utf8(), false),\n field(\"type\", binary(), false),\n field(\"default_value\", binary(), true),\n field(\"required\", bool(), true),\n]);\n\n/**\n * Serialize an AttachOptionSpec to the wire format the extension expects\n * (one IPC-serialized RecordBatch with a single row).\n */\nexport function serializeAttachOptionSpec(spec: AttachOptionSpec): Uint8Array {\n // Mirrors AttachOptionSpec.__post_init__ on the Python side: an option that\n // falls back to a value is always satisfiable without the caller, so the\n // combination is a declaration bug rather than a runtime condition.\n if (spec.required && spec.default !== undefined && spec.default !== null) {\n throw new Error(\n `Attach option '${spec.name}' is required but also declares a default ` +\n `(${JSON.stringify(spec.default)}); an option with a default is always ` +\n \"satisfiable without the caller. Drop one.\",\n );\n }\n\n // `type` is encoded as a serialized Arrow Schema with one field named\n // \"value\" of the option's DataType. This lets the extension peek at the\n // logical type without a separate enum.\n const typeSchema = makeSchema([field(\"value\", spec.type, true)]);\n const typeBytes = serializeSchema(typeSchema);\n\n let defaultBytes: Uint8Array | null = null;\n if (spec.default !== undefined && spec.default !== null) {\n // Build a 1-row batch with one column \"value\" of the option's type.\n const defaultBatch = batchFromColumns(\n { value: [spec.default] },\n typeSchema,\n );\n defaultBytes = serializeBatch(defaultBatch);\n }\n\n const batch = batchFromColumns(\n {\n name: [spec.name],\n description: [spec.description],\n type: [typeBytes],\n default_value: [defaultBytes],\n // Written explicitly rather than left null so a reader sees `false`, not\n // NULL, for an option that simply isn't required.\n required: [spec.required ?? false],\n },\n SPEC_SCHEMA,\n );\n return serializeBatch(batch);\n}\n\n/**\n * Convenience: serialize many specs at once for CatalogInfo.attach_option_specs.\n */\nexport function serializeAttachOptionSpecs(\n specs: Iterable<AttachOptionSpec>,\n): Uint8Array[] {\n return Array.from(specs, serializeAttachOptionSpec);\n}\n\n/**\n * Deserialize one AttachOptionSpec from the wire format above.\n *\n * Reads by column name, so a spec written by a peer that predates the\n * `required` column deserializes with `required: false` rather than failing —\n * the same tolerance the Python and C++ readers have.\n */\nexport function deserializeAttachOptionSpec(\n bytes: Uint8Array,\n): AttachOptionSpec {\n const row = [...iterRows(deserializeBatch(bytes))][0] as\n | Record<string, unknown>\n | undefined;\n if (row === undefined) {\n throw new Error(\"Cannot deserialize AttachOptionSpec from an empty batch\");\n }\n\n // `type` is a serialized Arrow Schema whose single \"value\" field carries the\n // option's DataType.\n const typeSchema = deserializeSchema(toUint8Array(row.type as Uint8Array));\n const type = typeSchema.fields[0]!.type;\n\n let value: unknown;\n const defaultBytes = row.default_value;\n if (defaultBytes != null) {\n const asBytes = toUint8Array(defaultBytes as Uint8Array);\n if (asBytes.length > 0) {\n const defaultRow = [...iterRows(deserializeBatch(asBytes))][0] as\n | Record<string, unknown>\n | undefined;\n value = defaultRow?.value;\n }\n }\n\n return {\n name: String(row.name),\n description: String(row.description ?? \"\"),\n type,\n ...(value === undefined || value === null ? {} : { default: value }),\n required: row.required === true,\n };\n}\n\n/** Deserialize many specs — the shape `CatalogInfo.attach_option_specs` holds. */\nexport function deserializeAttachOptionSpecs(\n specs: Iterable<Uint8Array>,\n): AttachOptionSpec[] {\n return Array.from(specs, deserializeAttachOptionSpec);\n}\n\n/**\n * Raised when `attach` omits options declared `required`.\n *\n * Carries the option names in `missing` so a caller can act on them without\n * parsing the message. Mirrors `MissingAttachOptionsError` on the Python side,\n * message included — the extension's integration suite matches on its text.\n */\nexport class MissingAttachOptionsError extends Error {\n readonly missing: string[];\n\n constructor(catalogName: string, missing: string[]) {\n const joined = missing.map((name) => `'${name}'`).join(\", \");\n super(\n `Catalog '${catalogName}' cannot be attached without the required ` +\n `option${missing.length > 1 ? \"s\" : \"\"} ${joined}.`,\n );\n this.name = \"MissingAttachOptionsError\";\n this.missing = missing;\n }\n}\n\n/**\n * Throw if any `required` spec has no corresponding entry in `options`.\n *\n * Option names are matched case-insensitively, mirroring DuckDB's handling of\n * ATTACH option keys.\n *\n * @throws {MissingAttachOptionsError} If a required option was not supplied.\n */\nexport function validateRequiredAttachOptions(\n catalogName: string,\n specs: Iterable<AttachOptionSpec>,\n options: Record<string, unknown>,\n): void {\n const supplied = new Set(Object.keys(options).map((key) => key.toLowerCase()));\n const missing = Array.from(specs)\n .filter((spec) => spec.required && !supplied.has(spec.name.toLowerCase()))\n .map((spec) => spec.name);\n if (missing.length > 0) {\n throw new MissingAttachOptionsError(catalogName, missing);\n }\n}\n"
38
+ "// Copyright 2025, 2026 Query Farm LLC - https://query.farm\n// SPDX-License-Identifier: LicenseRef-QueryFarm-Source-Available-1.0\n\n// Attach-time option descriptors for declarative worker option discovery.\n// Mirrors `vgi.catalog.attach_option` on the Python side — same Arrow IPC\n// wire format so the C++ extension (which owns ATTACH option validation)\n// sees identical shapes regardless of which language the worker is in.\n//\n// Wire format of one serialized AttachOptionSpec (per\n// vgi-python/vgi/catalog/attach_option.py):\n//\n// RecordBatch of:\n// name: Utf8\n// description: Utf8\n// type: Binary -- serialized Arrow Schema with a single \"value\" field\n// of the option's DataType\n// default_value: Binary nullable -- serialized single-row RecordBatch with\n// the default value under \"value\", or\n// null when no default is declared\n// required: Bool nullable -- the caller must supply this option at ATTACH\n// time. Nullable and appended LAST so a peer\n// that predates the column reads the batch by\n// name and simply doesn't see it; absent and\n// explicit-null both mean \"not required\".\n// secret: Bool nullable -- the option carries a credential. Appended AFTER\n// `required` under the same rule: readers look it\n// up by name, and absent or null reads as false.\n//\n// The extension reads the outer `attach_option_specs: list<binary>` column\n// from CatalogInfo and validates user-supplied ATTACH options against the\n// per-spec declared type before forwarding them to the worker.\n\nimport {\n type VgiDataType,\n schema as makeSchema,\n field,\n utf8,\n binary,\n bool,\n batchFromColumns,\n iterRows,\n serializeBatch,\n deserializeBatch,\n serializeSchema,\n deserializeSchema,\n} from \"../arrow/index.js\";\nimport { toUint8Array } from \"../util/bytes.js\";\n\n/**\n * Declarative spec for a single attach-time option.\n *\n * The catalog's `catalogsInfo()` emits these (serialized) in\n * `CatalogInfo.attach_option_specs` so the DuckDB extension can validate\n * user-supplied ATTACH options and cast them to the declared type before\n * forwarding to the worker's `catalog_attach` handler.\n */\nexport interface AttachOptionSpec {\n /** Option name — matches the key users pass in the ATTACH statement. */\n name: string;\n /** Human-readable description (shown in discovery UIs). */\n description: string;\n /** Arrow data type the extension should cast user input to. */\n type: VgiDataType;\n /**\n * Default value used when the user omits this option. Passed through to\n * the worker's catalog_attach handler as-is if no override is given.\n * Use `null` for \"no default\" (an unset option will then be absent from\n * the options dict delivered to attach()).\n */\n default?: unknown;\n /**\n * The caller must supply this option at ATTACH time. A catalog that cannot\n * be attached without it advertises that fact at discovery, so a client can\n * say so before attempting the attach rather than surfacing a failure that\n * reads like an empty catalog.\n *\n * Mutually exclusive with `default` — an option that falls back to a value\n * is by definition satisfiable without the caller.\n */\n required?: boolean;\n /**\n * The option carries a credential: an API key, a token, a password, or\n * anything else that must not be shown, stored or logged in plain text.\n *\n * Credential options **MUST** be declared `secret: true`. Clients and the\n * DuckDB extension use the flag to mask the value, keep it out of result\n * cache keys (the extension stores a salted hash instead), `duckdb_databases()`,\n * logs, telemetry, shared links and exported configuration. They can also\n * supply it from a `vgi_attach` DuckDB secret, so the ATTACH statement never\n * carries it:\n *\n * ```sql\n * CREATE SECRET (TYPE vgi_attach, SCOPE 'https://worker.example.com', api_key 'sk-...');\n * ATTACH 'sales' (TYPE vgi, LOCATION 'https://worker.example.com');\n * ```\n *\n * Combines with `required` (a credential the catalog cannot attach without,\n * which a client can then ask for before attaching). It is allowed together\n * with `default`, but a secret option normally has none: a default would be\n * a credential shipped in the catalog's own discovery metadata.\n *\n * Defaults to `false`. On the wire it is a nullable `secret` Bool column\n * appended after `required`; a peer that predates it reads it as `false`.\n */\n secret?: boolean;\n}\n\nconst SPEC_SCHEMA = makeSchema([\n field(\"name\", utf8(), false),\n field(\"description\", utf8(), false),\n field(\"type\", binary(), false),\n field(\"default_value\", binary(), true),\n field(\"required\", bool(), true),\n field(\"secret\", bool(), true),\n]);\n\n/**\n * Serialize an AttachOptionSpec to the wire format the extension expects\n * (one IPC-serialized RecordBatch with a single row).\n */\nexport function serializeAttachOptionSpec(spec: AttachOptionSpec): Uint8Array {\n // Mirrors AttachOptionSpec.__post_init__ on the Python side: an option that\n // falls back to a value is always satisfiable without the caller, so the\n // combination is a declaration bug rather than a runtime condition.\n if (spec.required && spec.default !== undefined && spec.default !== null) {\n throw new Error(\n `Attach option '${spec.name}' is required but also declares a default ` +\n `(${JSON.stringify(spec.default)}); an option with a default is always ` +\n \"satisfiable without the caller. Drop one.\",\n );\n }\n\n // `type` is encoded as a serialized Arrow Schema with one field named\n // \"value\" of the option's DataType. This lets the extension peek at the\n // logical type without a separate enum.\n const typeSchema = makeSchema([field(\"value\", spec.type, true)]);\n const typeBytes = serializeSchema(typeSchema);\n\n let defaultBytes: Uint8Array | null = null;\n if (spec.default !== undefined && spec.default !== null) {\n // Build a 1-row batch with one column \"value\" of the option's type.\n const defaultBatch = batchFromColumns(\n { value: [spec.default] },\n typeSchema,\n );\n defaultBytes = serializeBatch(defaultBatch);\n }\n\n const batch = batchFromColumns(\n {\n name: [spec.name],\n description: [spec.description],\n type: [typeBytes],\n default_value: [defaultBytes],\n // Written explicitly rather than left null so a reader sees `false`, not\n // NULL, for an option that simply isn't required.\n required: [spec.required ?? false],\n // Same reasoning: an ordinary option reads `false`, not NULL.\n secret: [spec.secret ?? false],\n },\n SPEC_SCHEMA,\n );\n return serializeBatch(batch);\n}\n\n/**\n * Convenience: serialize many specs at once for CatalogInfo.attach_option_specs.\n */\nexport function serializeAttachOptionSpecs(\n specs: Iterable<AttachOptionSpec>,\n): Uint8Array[] {\n return Array.from(specs, serializeAttachOptionSpec);\n}\n\n/**\n * Deserialize one AttachOptionSpec from the wire format above.\n *\n * Reads by column name, so a spec written by a peer that predates the\n * `required` or `secret` column deserializes with that flag `false` rather\n * than failing — the same tolerance the Python and C++ readers have.\n */\nexport function deserializeAttachOptionSpec(\n bytes: Uint8Array,\n): AttachOptionSpec {\n const row = [...iterRows(deserializeBatch(bytes))][0] as\n | Record<string, unknown>\n | undefined;\n if (row === undefined) {\n throw new Error(\"Cannot deserialize AttachOptionSpec from an empty batch\");\n }\n\n // `type` is a serialized Arrow Schema whose single \"value\" field carries the\n // option's DataType.\n const typeSchema = deserializeSchema(toUint8Array(row.type as Uint8Array));\n const type = typeSchema.fields[0]!.type;\n\n let value: unknown;\n const defaultBytes = row.default_value;\n if (defaultBytes != null) {\n const asBytes = toUint8Array(defaultBytes as Uint8Array);\n if (asBytes.length > 0) {\n const defaultRow = [...iterRows(deserializeBatch(asBytes))][0] as\n | Record<string, unknown>\n | undefined;\n value = defaultRow?.value;\n }\n }\n\n return {\n name: String(row.name),\n description: String(row.description ?? \"\"),\n type,\n ...(value === undefined || value === null ? {} : { default: value }),\n required: row.required === true,\n secret: row.secret === true,\n };\n}\n\n/** Deserialize many specs — the shape `CatalogInfo.attach_option_specs` holds. */\nexport function deserializeAttachOptionSpecs(\n specs: Iterable<Uint8Array>,\n): AttachOptionSpec[] {\n return Array.from(specs, deserializeAttachOptionSpec);\n}\n\n/**\n * Raised when `attach` omits options declared `required`.\n *\n * Carries the option names in `missing` so a caller can act on them without\n * parsing the message. Mirrors `MissingAttachOptionsError` on the Python side,\n * message included — the extension's integration suite matches on its text.\n */\nexport class MissingAttachOptionsError extends Error {\n readonly missing: string[];\n\n constructor(catalogName: string, missing: string[]) {\n const joined = missing.map((name) => `'${name}'`).join(\", \");\n super(\n `Catalog '${catalogName}' cannot be attached without the required ` +\n `option${missing.length > 1 ? \"s\" : \"\"} ${joined}.`,\n );\n this.name = \"MissingAttachOptionsError\";\n this.missing = missing;\n }\n}\n\n/**\n * Throw if any `required` spec has no corresponding entry in `options`.\n *\n * Option names are matched case-insensitively, mirroring DuckDB's handling of\n * ATTACH option keys.\n *\n * @throws {MissingAttachOptionsError} If a required option was not supplied.\n */\nexport function validateRequiredAttachOptions(\n catalogName: string,\n specs: Iterable<AttachOptionSpec>,\n options: Record<string, unknown>,\n): void {\n const supplied = new Set(Object.keys(options).map((key) => key.toLowerCase()));\n const missing = Array.from(specs)\n .filter((spec) => spec.required && !supplied.has(spec.name.toLowerCase()))\n .map((spec) => spec.name);\n if (missing.length > 0) {\n throw new MissingAttachOptionsError(catalogName, missing);\n }\n}\n"
39
39
  ],
40
- "mappings": "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",
41
- "debugId": "D010E9DAE6E6C42D64756E2164756E21",
40
+ "mappings": "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",
41
+ "debugId": "8BECE39CB65F6AD764756E2164756E21",
42
42
  "names": []
43
43
  }