@clervo/router
Advanced tools
| import { callFree, reconcileOperation, type PaidOutcome, type Quote } from './client.js'; | ||
| import { type Diagnosis } from './doctor.js'; | ||
| import { type SpendLimits } from './limits.js'; | ||
| import { type AiModelCatalog, type Registry } from './registry.js'; | ||
| import { type ConnectSurface } from './store.js'; | ||
| import { type LocalUsage } from './usage.js'; | ||
| import { type CreatedWallet, type WalletView } from './wallet.js'; | ||
| import { type CommerceLockStatus } from './lock.js'; | ||
| export interface ConnectOptions { | ||
| readonly env?: NodeJS.ProcessEnv; | ||
| readonly surface: ConnectSurface; | ||
| readonly autoPay?: boolean; | ||
| readonly fetch?: typeof fetch; | ||
| } | ||
| export interface ConnectStatus { | ||
| readonly surface: ConnectSurface; | ||
| readonly autoPay: boolean; | ||
| readonly wallet: WalletView | null; | ||
| readonly limits: SpendLimits; | ||
| readonly unreconciled: number; | ||
| readonly operations: number; | ||
| readonly usage: LocalUsage; | ||
| readonly commerceLock: CommerceLockStatus; | ||
| } | ||
| export interface ConnectExecuteOptions { | ||
| readonly paid?: boolean; | ||
| } | ||
| export type ConnectExecution = Readonly<{ | ||
| status: 'completed'; | ||
| funding: 'free' | 'paid'; | ||
| idempotencyKey: string; | ||
| outcome: Awaited<ReturnType<typeof callFree>> | PaidOutcome; | ||
| }> | Readonly<{ | ||
| status: 'payment_required'; | ||
| funding: 'paid'; | ||
| idempotencyKey: string; | ||
| quote: Quote; | ||
| }>; | ||
| export declare class ClervoConnect { | ||
| readonly env: NodeJS.ProcessEnv; | ||
| readonly surface: ConnectSurface; | ||
| readonly autoPay: boolean; | ||
| readonly fetchImpl: typeof fetch; | ||
| constructor(options: ConnectOptions); | ||
| registry(): Promise<Registry>; | ||
| models(): Promise<AiModelCatalog>; | ||
| quote(productId: string, body: Record<string, unknown>, idempotencyKey?: string): Promise<Quote>; | ||
| execute(productId: string, body: Record<string, unknown>, idempotencyKey?: string, options?: ConnectExecuteOptions): Promise<ConnectExecution>; | ||
| limits(): SpendLimits; | ||
| setLimits(values: { | ||
| readonly perOperationAtomic?: string; | ||
| readonly dailyAtomic?: string; | ||
| }): SpendLimits; | ||
| usage(): LocalUsage; | ||
| wallet(): WalletView | null; | ||
| createWallet(): CreatedWallet; | ||
| backupWallet(confirmSecretExposure: boolean): Readonly<{ | ||
| wallet: WalletView; | ||
| recoveryPhrase: string; | ||
| }>; | ||
| restoreWallet(mnemonic: string): Promise<WalletView>; | ||
| status(): ConnectStatus; | ||
| doctor(): Promise<Diagnosis>; | ||
| reconcile(): Promise<readonly Awaited<ReturnType<typeof reconcileOperation>>[]>; | ||
| } |
+116
| import { callAiFree, callFree, callPaid, newIdempotencyKey, reconcileOperation, requestQuote } from './client.js'; | ||
| import { diagnose } from './doctor.js'; | ||
| import { loadLimits, saveLimits } from './limits.js'; | ||
| import { loadAiModelCatalog, loadRegistry } from './registry.js'; | ||
| import { listOperations, unreconciledOperations } from './store.js'; | ||
| import { localUsage } from './usage.js'; | ||
| import { readWalletBalance } from './chain.js'; | ||
| import { createWallet, loadWalletFile, replaceWallet, walletExists, walletView } from './wallet.js'; | ||
| import { clearCommerceLockAfterReconciliation, commerceLockStatus } from './lock.js'; | ||
| function assertExactModel(requested, outcome, catalog) { | ||
| const selected = catalog.models.find(({ id }) => id === requested); | ||
| if (selected === undefined || !selected.publicSellable) | ||
| throw new Error('model_unavailable'); | ||
| if (selected.identityKind !== 'canonical') | ||
| return; | ||
| if (outcome.exactModelId !== requested || outcome.model !== requested) | ||
| throw new Error('canonical_model_substituted'); | ||
| } | ||
| export class ClervoConnect { | ||
| env; | ||
| surface; | ||
| autoPay; | ||
| fetchImpl; | ||
| constructor(options) { | ||
| this.env = options.env ?? process.env; | ||
| this.surface = options.surface; | ||
| this.autoPay = options.autoPay === true; | ||
| this.fetchImpl = options.fetch ?? fetch; | ||
| } | ||
| registry() { | ||
| return loadRegistry({ env: this.env, fetchImpl: this.fetchImpl }); | ||
| } | ||
| models() { | ||
| return loadAiModelCatalog({ env: this.env, fetchImpl: this.fetchImpl }); | ||
| } | ||
| async quote(productId, body, idempotencyKey = newIdempotencyKey()) { | ||
| return requestQuote({ registry: await this.registry(), productId, body, idempotencyKey, fetchImpl: this.fetchImpl }); | ||
| } | ||
| async execute(productId, body, idempotencyKey = newIdempotencyKey(), options = {}) { | ||
| const registry = await this.registry(); | ||
| if (productId === 'search.web' && options.paid !== true) { | ||
| const outcome = await callFree({ registry, productId, body, idempotencyKey, env: this.env, fetchImpl: this.fetchImpl, surface: this.surface }); | ||
| return Object.freeze({ status: 'completed', funding: 'free', idempotencyKey, outcome }); | ||
| } | ||
| let models; | ||
| if (productId.startsWith('ai.')) { | ||
| const requested = typeof body.model === 'string' ? body.model : ''; | ||
| models = await this.models(); | ||
| const selected = models.models.find(({ id }) => id === requested); | ||
| if (selected === undefined || !selected.publicSellable || !selected.productIds.includes(productId)) | ||
| throw new Error('model_unavailable'); | ||
| if (selected.billingMode === 'free') { | ||
| const outcome = await callAiFree({ registry, body, idempotencyKey, env: this.env, fetchImpl: this.fetchImpl, surface: this.surface }); | ||
| assertExactModel(requested, outcome.result, models); | ||
| return Object.freeze({ status: 'completed', funding: 'free', idempotencyKey, outcome }); | ||
| } | ||
| } | ||
| if (!this.autoPay) { | ||
| return Object.freeze({ status: 'payment_required', funding: 'paid', idempotencyKey, quote: await requestQuote({ registry, productId, body, idempotencyKey, fetchImpl: this.fetchImpl }) }); | ||
| } | ||
| const outcome = await callPaid({ registry, productId, body, idempotencyKey, env: this.env, fetchImpl: this.fetchImpl, surface: this.surface, approve: () => true }); | ||
| if (models !== undefined && typeof body.model === 'string') | ||
| assertExactModel(body.model, outcome.result, models); | ||
| return Object.freeze({ status: 'completed', funding: 'paid', idempotencyKey, outcome }); | ||
| } | ||
| limits() { return loadLimits(this.env); } | ||
| setLimits(values) { | ||
| return saveLimits(values, this.env); | ||
| } | ||
| usage() { return localUsage(this.env); } | ||
| wallet() { | ||
| if (!walletExists(this.env)) | ||
| return null; | ||
| const loaded = loadWalletFile(this.env); | ||
| return walletView(loaded.file, loaded.path); | ||
| } | ||
| createWallet() { return createWallet({}, this.env); } | ||
| backupWallet(confirmSecretExposure) { | ||
| if (confirmSecretExposure !== true) | ||
| throw new Error('wallet_backup_confirmation_required'); | ||
| const loaded = loadWalletFile(this.env); | ||
| return Object.freeze({ wallet: walletView(loaded.file, loaded.path), recoveryPhrase: loaded.file.mnemonic }); | ||
| } | ||
| async restoreWallet(mnemonic) { | ||
| let outgoingIsEmpty = true; | ||
| if (walletExists(this.env)) { | ||
| const loaded = loadWalletFile(this.env); | ||
| const balance = await readWalletBalance({ address: loaded.file.address, env: this.env }); | ||
| outgoingIsEmpty = BigInt(balance.amountAtomic) === 0n && BigInt(balance.nativeWei) === 0n; | ||
| } | ||
| return replaceWallet({ mnemonic, outgoingIsEmpty }, this.env); | ||
| } | ||
| status() { | ||
| return Object.freeze({ | ||
| surface: this.surface, | ||
| autoPay: this.autoPay, | ||
| wallet: this.wallet(), | ||
| limits: this.limits(), | ||
| unreconciled: unreconciledOperations(this.env).length, | ||
| operations: listOperations(this.env).length, | ||
| usage: this.usage(), | ||
| commerceLock: commerceLockStatus(this.env), | ||
| }); | ||
| } | ||
| doctor() { return diagnose({ env: this.env, fetchImpl: this.fetchImpl }); } | ||
| async reconcile() { | ||
| const registry = await this.registry(); | ||
| const results = []; | ||
| for (const record of unreconciledOperations(this.env)) { | ||
| results.push(await reconcileOperation({ registry, record, env: this.env, fetchImpl: this.fetchImpl })); | ||
| } | ||
| clearCommerceLockAfterReconciliation(this.env); | ||
| return Object.freeze(results); | ||
| } | ||
| } | ||
| //# sourceMappingURL=connect.js.map |
| {"version":3,"file":"connect.js","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"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"} |
| export interface CommerceLockStatus { | ||
| readonly exists: boolean; | ||
| readonly ownerAlive: boolean | null; | ||
| readonly createdAt: string | null; | ||
| } | ||
| export declare function commerceLockStatus(env?: NodeJS.ProcessEnv): CommerceLockStatus; | ||
| export declare function acquireCommerceLock(env?: NodeJS.ProcessEnv): () => void; | ||
| export declare function clearCommerceLockAfterReconciliation(env?: NodeJS.ProcessEnv): boolean; |
+79
| import { closeSync, existsSync, mkdirSync, openSync, readFileSync, unlinkSync, writeFileSync } from 'node:fs'; | ||
| import { hostname } from 'node:os'; | ||
| import { randomUUID } from 'node:crypto'; | ||
| import { clervoPaths } from './paths.js'; | ||
| import { unreconciledOperations } from './store.js'; | ||
| function readLock(env) { | ||
| try { | ||
| const value = JSON.parse(readFileSync(clervoPaths(env).commerceLock, 'utf8')); | ||
| if (typeof value.token !== 'string' || !Number.isSafeInteger(value.pid) || typeof value.host !== 'string' || typeof value.createdAt !== 'string') | ||
| return undefined; | ||
| return value; | ||
| } | ||
| catch { | ||
| return undefined; | ||
| } | ||
| } | ||
| function processAlive(pid) { | ||
| try { | ||
| process.kill(pid, 0); | ||
| return true; | ||
| } | ||
| catch { | ||
| return false; | ||
| } | ||
| } | ||
| export function commerceLockStatus(env = process.env) { | ||
| const path = clervoPaths(env).commerceLock; | ||
| if (!existsSync(path)) | ||
| return Object.freeze({ exists: false, ownerAlive: null, createdAt: null }); | ||
| const record = readLock(env); | ||
| return Object.freeze({ exists: true, ownerAlive: record === undefined || record.host !== hostname() ? null : processAlive(record.pid), createdAt: record?.createdAt ?? null }); | ||
| } | ||
| export function acquireCommerceLock(env = process.env) { | ||
| const paths = clervoPaths(env); | ||
| mkdirSync(paths.home, { recursive: true, mode: 0o700 }); | ||
| const record = { token: randomUUID(), pid: process.pid, host: hostname(), createdAt: new Date().toISOString() }; | ||
| let descriptor; | ||
| try { | ||
| descriptor = openSync(paths.commerceLock, 'wx', 0o600); | ||
| } | ||
| catch { | ||
| throw Object.assign(new Error('another Clervo surface is reserving a payment; retry after it completes or run `clervo reconcile` if the process stopped'), { name: 'CommerceLockError', code: 'commerce_lock_busy' }); | ||
| } | ||
| try { | ||
| writeFileSync(descriptor, `${JSON.stringify(record)}\n`, { encoding: 'utf8' }); | ||
| } | ||
| finally { | ||
| closeSync(descriptor); | ||
| } | ||
| let released = false; | ||
| return () => { | ||
| if (released) | ||
| return; | ||
| released = true; | ||
| if (readLock(env)?.token !== record.token) | ||
| return; | ||
| try { | ||
| unlinkSync(paths.commerceLock); | ||
| } | ||
| catch { /* A missing lock is already released. */ } | ||
| }; | ||
| } | ||
| export function clearCommerceLockAfterReconciliation(env = process.env) { | ||
| if (unreconciledOperations(env).length > 0) | ||
| return false; | ||
| const status = commerceLockStatus(env); | ||
| if (!status.exists) | ||
| return true; | ||
| if (status.ownerAlive !== false) | ||
| return false; | ||
| try { | ||
| unlinkSync(clervoPaths(env).commerceLock); | ||
| return true; | ||
| } | ||
| catch { | ||
| return false; | ||
| } | ||
| } | ||
| //# sourceMappingURL=lock.js.map |
| {"version":3,"file":"lock.js","sourceRoot":"","sources":["../src/lock.ts"],"names":[],"mappings":"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"} |
| import { type Server } from 'node:http'; | ||
| export interface ProxyOptions { | ||
| readonly host?: string; | ||
| readonly port?: number; | ||
| readonly autoPay?: boolean; | ||
| readonly env?: NodeJS.ProcessEnv; | ||
| readonly fetch?: typeof fetch; | ||
| } | ||
| export interface RunningProxy { | ||
| readonly host: string; | ||
| readonly port: number; | ||
| readonly baseUrl: string; | ||
| readonly autoPay: boolean; | ||
| readonly server: Server; | ||
| close(): Promise<void>; | ||
| } | ||
| export declare function startOpenAiProxy(options?: ProxyOptions): Promise<RunningProxy>; |
+212
| import { createServer } from 'node:http'; | ||
| import { ClervoConnect } from './connect.js'; | ||
| import { formatUsdc } from './chain.js'; | ||
| import { RouterError } from './client.js'; | ||
| const MAXIMUM_BODY_BYTES = 4_194_304; | ||
| function json(response, status, value, headers = {}) { | ||
| const body = JSON.stringify(value); | ||
| response.writeHead(status, { 'content-type': 'application/json; charset=utf-8', 'content-length': String(Buffer.byteLength(body)), 'cache-control': 'no-store', ...headers }); | ||
| response.end(body); | ||
| } | ||
| async function body(request) { | ||
| const chunks = []; | ||
| let size = 0; | ||
| for await (const chunk of request) { | ||
| const value = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk); | ||
| size += value.byteLength; | ||
| if (size > MAXIMUM_BODY_BYTES) | ||
| throw new Error('request_too_large'); | ||
| chunks.push(value); | ||
| } | ||
| const parsed = JSON.parse(Buffer.concat(chunks).toString('utf8')); | ||
| if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed)) | ||
| throw new Error('invalid_request'); | ||
| return parsed; | ||
| } | ||
| function outputOf(execution) { | ||
| if (execution.status !== 'completed') | ||
| throw new Error('payment_required'); | ||
| const raw = execution.outcome.result; | ||
| const normalized = raw.result ?? raw; | ||
| const output = normalized.output ?? normalized; | ||
| const content = typeof output.content === 'string' ? output.content : typeof output.text === 'string' ? output.text : JSON.stringify(output); | ||
| return { content, raw }; | ||
| } | ||
| function metadata(execution) { | ||
| if (execution.status !== 'completed') | ||
| return { idempotencyKey: execution.idempotencyKey, quote: execution.quote }; | ||
| const result = execution.outcome.result; | ||
| const receipt = result.receipt; | ||
| return { | ||
| idempotencyKey: execution.idempotencyKey, | ||
| operationId: execution.outcome.operationId, | ||
| funding: execution.funding, | ||
| model: result.model, | ||
| exactModelId: result.exactModelId, | ||
| route: result.route ?? result.result?.route, | ||
| receiptId: receipt?.receiptId, | ||
| settlement: receipt?.settlement, | ||
| replayed: execution.outcome.replayed, | ||
| }; | ||
| } | ||
| function responseHeaders(execution) { | ||
| const details = metadata(execution); | ||
| const headers = { 'x-clervo-idempotency-key': execution.idempotencyKey }; | ||
| for (const [field, header] of [['operationId', 'x-clervo-operation-id'], ['exactModelId', 'x-clervo-model'], ['receiptId', 'x-clervo-receipt-id']]) { | ||
| if (typeof details[field] === 'string') | ||
| headers[header] = details[field]; | ||
| } | ||
| return headers; | ||
| } | ||
| function openAiError(response, status, code, message, extra = {}) { | ||
| json(response, status, { error: { message, type: code, code, ...extra } }); | ||
| } | ||
| export async function startOpenAiProxy(options = {}) { | ||
| const host = options.host ?? '127.0.0.1'; | ||
| if (!['127.0.0.1', '::1', 'localhost'].includes(host)) | ||
| throw new Error('proxy_host_must_be_loopback'); | ||
| const connect = new ClervoConnect({ surface: 'openai', autoPay: options.autoPay === true, ...(options.env === undefined ? {} : { env: options.env }), ...(options.fetch === undefined ? {} : { fetch: options.fetch }) }); | ||
| const connectFor = (request) => { | ||
| const requested = request.headers['x-clervo-surface']; | ||
| const surface = requested === 'python' ? 'python' : 'openai'; | ||
| return surface === 'openai' ? connect : new ClervoConnect({ surface, autoPay: options.autoPay === true, ...(options.env === undefined ? {} : { env: options.env }), ...(options.fetch === undefined ? {} : { fetch: options.fetch }) }); | ||
| }; | ||
| const server = createServer(async (request, response) => { | ||
| try { | ||
| const url = new URL(request.url ?? '/', `http://${host}`); | ||
| const localConnect = connectFor(request); | ||
| if (request.method === 'GET' && url.pathname === '/v1/models') { | ||
| const models = await connect.models(); | ||
| json(response, 200, { object: 'list', data: models.models.map((model) => ({ id: model.id, object: 'model', created: 0, owned_by: 'clervo', clervo: model })), clervo: { catalogRevision: models.revision, inventory: models.inventory } }); | ||
| return; | ||
| } | ||
| if (request.method === 'GET' && url.pathname === '/clervo/status') { | ||
| json(response, 200, localConnect.status()); | ||
| return; | ||
| } | ||
| if (request.method === 'GET' && url.pathname === '/clervo/usage') { | ||
| json(response, 200, localConnect.usage()); | ||
| return; | ||
| } | ||
| if (request.method === 'GET' && url.pathname === '/clervo/limits') { | ||
| json(response, 200, localConnect.limits()); | ||
| return; | ||
| } | ||
| if (request.method === 'GET' && url.pathname === '/clervo/doctor') { | ||
| json(response, 200, await localConnect.doctor()); | ||
| return; | ||
| } | ||
| if (request.method === 'GET' && url.pathname === '/clervo/catalog') { | ||
| json(response, 200, await localConnect.registry()); | ||
| return; | ||
| } | ||
| if (request.method === 'POST' && url.pathname === '/clervo/limits') { | ||
| const value = await body(request); | ||
| json(response, 200, localConnect.setLimits({ ...(typeof value.perOperationAtomic === 'string' ? { perOperationAtomic: value.perOperationAtomic } : {}), ...(typeof value.dailyAtomic === 'string' ? { dailyAtomic: value.dailyAtomic } : {}) })); | ||
| return; | ||
| } | ||
| if (request.method === 'POST' && url.pathname === '/clervo/reconcile') { | ||
| json(response, 200, { results: await localConnect.reconcile() }); | ||
| return; | ||
| } | ||
| if (request.method === 'POST' && url.pathname === '/clervo/wallet/create') { | ||
| const created = localConnect.createWallet(); | ||
| json(response, 200, { wallet: created.view, recoveryPhrase: created.mnemonic }); | ||
| return; | ||
| } | ||
| if (request.method === 'POST' && url.pathname === '/clervo/wallet/backup') { | ||
| const value = await body(request); | ||
| json(response, 200, localConnect.backupWallet(value.confirm === true)); | ||
| return; | ||
| } | ||
| if (request.method === 'POST' && url.pathname === '/clervo/wallet/restore') { | ||
| const value = await body(request); | ||
| if (typeof value.recoveryPhrase !== 'string') | ||
| throw new Error('wallet_recovery_phrase_required'); | ||
| json(response, 200, { wallet: await localConnect.restoreWallet(value.recoveryPhrase) }); | ||
| return; | ||
| } | ||
| if (request.method === 'POST' && (url.pathname === '/clervo/quote' || url.pathname === '/clervo/execute')) { | ||
| const value = await body(request); | ||
| if (typeof value.productId !== 'string' || value.body === null || typeof value.body !== 'object' || Array.isArray(value.body)) | ||
| throw new Error('invalid_connect_request'); | ||
| const key = typeof value.idempotencyKey === 'string' ? value.idempotencyKey : undefined; | ||
| const result = url.pathname.endsWith('/quote') | ||
| ? await localConnect.quote(value.productId, value.body, key) | ||
| : await localConnect.execute(value.productId, value.body, key, { paid: value.paid === true }); | ||
| json(response, 200, result); | ||
| return; | ||
| } | ||
| if (request.method === 'POST' && url.pathname === '/v1/embeddings') { | ||
| const value = await body(request); | ||
| if (typeof value.model !== 'string' || !(typeof value.input === 'string' || Array.isArray(value.input) && value.input.every((entry) => typeof entry === 'string'))) | ||
| throw new Error('invalid_embedding_request'); | ||
| const inputs = typeof value.input === 'string' ? [value.input] : value.input; | ||
| const idempotencyKey = String(request.headers['idempotency-key'] ?? request.headers['x-idempotency-key'] ?? `openai_${crypto.randomUUID().replaceAll('-', '')}`); | ||
| const execution = await connect.execute('ai.embed', { model: value.model, input: { kind: 'embedding', inputs, ...(typeof value.dimensions === 'number' ? { dimensions: value.dimensions } : {}) } }, idempotencyKey); | ||
| if (execution.status === 'payment_required') { | ||
| openAiError(response, 402, 'payment_required', `Clervo auto-pay is disabled. Quote: ${formatUsdc(execution.quote.amountAtomic)} USDC. Restart with --auto-pay after reviewing local limits.`, { clervo: metadata(execution) }); | ||
| return; | ||
| } | ||
| const raw = execution.outcome.result; | ||
| const normalized = raw.result ?? raw; | ||
| const output = normalized.output ?? normalized; | ||
| const vectors = Array.isArray(output.embeddings) ? output.embeddings : []; | ||
| if (!vectors.every((vector) => Array.isArray(vector) && vector.every((item) => typeof item === 'number'))) | ||
| throw new Error('embedding_result_contract_mismatch'); | ||
| json(response, 200, { object: 'list', data: vectors.map((embedding, index) => ({ object: 'embedding', embedding, index })), model: typeof raw.exactModelId === 'string' ? raw.exactModelId : value.model, usage: normalized.usage ?? null, clervo: metadata(execution) }, responseHeaders(execution)); | ||
| return; | ||
| } | ||
| if (request.method === 'POST' && url.pathname === '/v1/chat/completions') { | ||
| const value = await body(request); | ||
| if (typeof value.model !== 'string' || !Array.isArray(value.messages)) | ||
| throw new Error('invalid_chat_request'); | ||
| const idempotencyKey = String(request.headers['idempotency-key'] ?? request.headers['x-idempotency-key'] ?? `openai_${crypto.randomUUID().replaceAll('-', '')}`); | ||
| const execution = await connect.execute('ai.chat', { | ||
| model: value.model, | ||
| input: { kind: 'chat', messages: value.messages, responseFormat: 'text', stream: false, ...(value.temperature === undefined ? {} : { temperature: value.temperature }) }, | ||
| ...(typeof value.max_tokens === 'number' ? { maximumOutputTokens: value.max_tokens } : {}), | ||
| }, idempotencyKey); | ||
| if (execution.status === 'payment_required') { | ||
| openAiError(response, 402, 'payment_required', `Clervo auto-pay is disabled. Quote: ${formatUsdc(execution.quote.amountAtomic)} USDC. Restart with --auto-pay after reviewing local limits.`, { clervo: metadata(execution) }); | ||
| return; | ||
| } | ||
| const { content, raw } = outputOf(execution); | ||
| const actualModel = typeof raw.exactModelId === 'string' ? raw.exactModelId : value.model; | ||
| const created = Math.floor(Date.now() / 1000); | ||
| const id = `chatcmpl_${execution.outcome.operationId}`; | ||
| const details = metadata(execution); | ||
| if (value.stream === true) { | ||
| response.writeHead(200, { 'content-type': 'text/event-stream; charset=utf-8', 'cache-control': 'no-cache, no-store', connection: 'keep-alive', ...responseHeaders(execution) }); | ||
| response.write(`data: ${JSON.stringify({ id, object: 'chat.completion.chunk', created, model: actualModel, choices: [{ index: 0, delta: { role: 'assistant' }, finish_reason: null }], clervo: details })}\n\n`); | ||
| response.write(`data: ${JSON.stringify({ id, object: 'chat.completion.chunk', created, model: actualModel, choices: [{ index: 0, delta: { content }, finish_reason: null }] })}\n\n`); | ||
| response.write(`data: ${JSON.stringify({ id, object: 'chat.completion.chunk', created, model: actualModel, choices: [{ index: 0, delta: {}, finish_reason: 'stop' }] })}\n\n`); | ||
| response.end('data: [DONE]\n\n'); | ||
| return; | ||
| } | ||
| json(response, 200, { id, object: 'chat.completion', created, model: actualModel, choices: [{ index: 0, message: { role: 'assistant', content }, finish_reason: 'stop' }], usage: raw.result?.usage ?? null, clervo: details }, responseHeaders(execution)); | ||
| return; | ||
| } | ||
| openAiError(response, 404, 'not_found', 'The local Clervo proxy does not implement this endpoint.'); | ||
| } | ||
| catch (error) { | ||
| const localCode = error instanceof RouterError || error instanceof Error && typeof error.code === 'string' | ||
| ? error.code | ||
| : undefined; | ||
| if (localCode !== undefined) { | ||
| const status = localCode === 'payment_approval_required' ? 402 : localCode === 'settlement_unknown' || localCode === 'unreconciled_operation_blocks_spend' ? 409 : 400; | ||
| openAiError(response, status, localCode, error instanceof Error ? error.message : localCode); | ||
| return; | ||
| } | ||
| const message = error instanceof Error ? error.message : 'proxy request failed'; | ||
| const clientError = new Set(['invalid_request', 'invalid_chat_request', 'invalid_embedding_request', 'invalid_connect_request', 'request_too_large', 'wallet_recovery_phrase_required']).has(message); | ||
| openAiError(response, clientError ? 400 : 500, clientError ? message : 'clervo_proxy_error', message); | ||
| } | ||
| }); | ||
| const port = options.port ?? 8402; | ||
| await new Promise((resolve, reject) => { server.once('error', reject); server.listen(port, host, () => { server.off('error', reject); resolve(); }); }); | ||
| const address = server.address(); | ||
| const boundPort = address !== null && typeof address === 'object' ? address.port : port; | ||
| return Object.freeze({ host, port: boundPort, baseUrl: `http://${host}:${boundPort}/v1`, autoPay: connect.autoPay, server, close: () => new Promise((resolve, reject) => server.close((error) => error === undefined ? resolve() : reject(error))) }); | ||
| } | ||
| //# sourceMappingURL=proxy.js.map |
| {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"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"} |
| export interface UsageBucket { | ||
| readonly calls: number; | ||
| readonly free: number; | ||
| readonly paid: number; | ||
| readonly authorizedAtomic: string; | ||
| readonly settledAtomic: string; | ||
| readonly successful: number; | ||
| readonly failed: number; | ||
| readonly refused: number; | ||
| readonly replayed: number; | ||
| } | ||
| export interface LocalUsage { | ||
| readonly generatedAt: string; | ||
| readonly calls: number; | ||
| readonly free: number; | ||
| readonly paid: number; | ||
| readonly amountAuthorizedAtomic: string; | ||
| readonly amountAuthorized: string; | ||
| readonly amountSettledAtomic: string; | ||
| readonly amountSettled: string; | ||
| readonly currentDaySpendAtomic: string; | ||
| readonly currentDaySpend: string; | ||
| readonly unreconciledCount: number; | ||
| readonly bySurface: Readonly<Record<string, UsageBucket>>; | ||
| readonly byFamily: Readonly<Record<string, UsageBucket>>; | ||
| readonly byProduct: Readonly<Record<string, UsageBucket>>; | ||
| readonly byModelOrRoute: Readonly<Record<string, UsageBucket>>; | ||
| } | ||
| export declare function localUsage(env?: NodeJS.ProcessEnv, now?: () => string): LocalUsage; |
| import { formatUsdc } from './chain.js'; | ||
| import { listOperations, readReceipt, spentTodayAtomic, unreconciledOperations } from './store.js'; | ||
| function empty() { | ||
| return { calls: 0, free: 0, paid: 0, authorized: 0n, settled: 0n, successful: 0, failed: 0, refused: 0, replayed: 0 }; | ||
| } | ||
| function familyFor(productId) { | ||
| const family = productId.split('.', 1)[0] ?? 'unknown'; | ||
| return family === 'crypto' ? 'crypto_intelligence' : family; | ||
| } | ||
| function modelOrRouteFor(record, env) { | ||
| const model = record.requestBody.model; | ||
| if (typeof model === 'string' && model.length > 0) | ||
| return model; | ||
| if (record.receiptId !== null) { | ||
| const receipt = readReceipt(record.receiptId, env); | ||
| const route = receipt?.route ?? receipt?.model ?? receipt?.exactModelId; | ||
| if (typeof route === 'string' && route.length > 0) | ||
| return route; | ||
| const provenance = Array.isArray(receipt?.provenance) ? receipt.provenance : []; | ||
| const routeId = provenance.find((entry) => typeof entry.routeId === 'string')?.routeId; | ||
| if (typeof routeId === 'string') | ||
| return routeId; | ||
| } | ||
| return 'not_applicable'; | ||
| } | ||
| function add(bucket, record) { | ||
| bucket.calls += 1; | ||
| if (record.state === 'free') | ||
| bucket.free += 1; | ||
| else | ||
| bucket.paid += 1; | ||
| if (record.authorizationCreated === true || record.authorizationCreated === undefined && (record.state === 'authorizing' || record.state === 'unknown' || record.state === 'settled')) { | ||
| bucket.authorized += BigInt(record.quotedAtomic ?? '0'); | ||
| } | ||
| if (record.state === 'settled') | ||
| bucket.settled += BigInt(record.chargedAtomic ?? '0'); | ||
| if (record.state === 'settled' || record.state === 'free') | ||
| bucket.successful += 1; | ||
| else | ||
| bucket.failed += 1; | ||
| if (record.state === 'refused') | ||
| bucket.refused += 1; | ||
| if (record.replayed) | ||
| bucket.replayed += 1; | ||
| } | ||
| function frozen(bucket) { | ||
| return Object.freeze({ | ||
| calls: bucket.calls, | ||
| free: bucket.free, | ||
| paid: bucket.paid, | ||
| authorizedAtomic: bucket.authorized.toString(), | ||
| settledAtomic: bucket.settled.toString(), | ||
| successful: bucket.successful, | ||
| failed: bucket.failed, | ||
| refused: bucket.refused, | ||
| replayed: bucket.replayed, | ||
| }); | ||
| } | ||
| function project(map) { | ||
| return Object.freeze(Object.fromEntries([...map.entries()].sort(([left], [right]) => left.localeCompare(right)).map(([key, value]) => [key, frozen(value)]))); | ||
| } | ||
| export function localUsage(env = process.env, now = () => new Date().toISOString()) { | ||
| const records = listOperations(env); | ||
| const total = empty(); | ||
| const surface = new Map(); | ||
| const family = new Map(); | ||
| const product = new Map(); | ||
| const modelOrRoute = new Map(); | ||
| for (const record of records) { | ||
| const surfaceName = record.surface ?? 'unknown'; | ||
| const familyName = familyFor(record.productId); | ||
| const routeName = modelOrRouteFor(record, env); | ||
| for (const [map, key] of [[surface, surfaceName], [family, familyName], [product, record.productId], [modelOrRoute, routeName]]) { | ||
| const bucket = map.get(key) ?? empty(); | ||
| add(bucket, record); | ||
| map.set(key, bucket); | ||
| } | ||
| add(total, record); | ||
| } | ||
| const day = spentTodayAtomic(env); | ||
| return Object.freeze({ | ||
| generatedAt: now(), | ||
| calls: total.calls, | ||
| free: total.free, | ||
| paid: total.paid, | ||
| amountAuthorizedAtomic: total.authorized.toString(), | ||
| amountAuthorized: formatUsdc(total.authorized.toString()), | ||
| amountSettledAtomic: total.settled.toString(), | ||
| amountSettled: formatUsdc(total.settled.toString()), | ||
| currentDaySpendAtomic: day, | ||
| currentDaySpend: formatUsdc(day), | ||
| unreconciledCount: unreconciledOperations(env).length, | ||
| bySurface: project(surface), | ||
| byFamily: project(family), | ||
| byProduct: project(product), | ||
| byModelOrRoute: project(modelOrRoute), | ||
| }); | ||
| } | ||
| //# sourceMappingURL=usage.js.map |
| {"version":3,"file":"usage.js","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"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"} |
+53
-6
@@ -12,2 +12,5 @@ #!/usr/bin/env node | ||
| import { createWallet, loadWalletFile, replaceWallet, walletExists } from './wallet.js'; | ||
| import { localUsage } from './usage.js'; | ||
| import { startOpenAiProxy } from './proxy.js'; | ||
| import { clearCommerceLockAfterReconciliation, commerceLockStatus } from './lock.js'; | ||
| function parseArgs(argv) { | ||
@@ -66,2 +69,4 @@ const flags = new Map(); | ||
| clervo doctor Check this machine end to end. | ||
| clervo usage Durable local usage from operations and receipts. | ||
| clervo proxy [--port 8402] OpenAI-compatible localhost proxy. | ||
@@ -78,2 +83,3 @@ clervo wallet create Create the dedicated payment wallet. | ||
| Global flags: --json, --key <idempotency-key>, --yes, --product <id> | ||
| Proxy payment: --auto-pay (explicit opt-in; local spend limits always apply) | ||
| Environment: CLERVO_HOME, CLERVO_API_ORIGIN, CLERVO_BASE_RPC_URL`; | ||
@@ -151,3 +157,3 @@ async function confirm(question, assumeYes) { | ||
| } | ||
| const outcome = await callFree({ registry, productId: 'search.web', body: searchBody(query, args) }); | ||
| const outcome = await callFree({ registry, productId: 'search.web', body: searchBody(query, args), surface: 'cli' }); | ||
| if (wantsJson(args)) { | ||
@@ -217,2 +223,3 @@ printJson(outcome.result); | ||
| const rest = { ...args, rest: args.rest.slice(1) }; | ||
| const key = flagString(args, 'key') ?? newIdempotencyKey(); | ||
| const quote = await requestQuote({ | ||
@@ -222,3 +229,3 @@ registry, | ||
| body: requestBodyFor(productId, rest), | ||
| idempotencyKey: flagString(args, 'key') ?? newIdempotencyKey(), | ||
| idempotencyKey: key, | ||
| }); | ||
@@ -229,3 +236,3 @@ if (wantsJson(args)) { | ||
| network: quote.network, payTo: quote.payTo, priceVersion: quote.priceVersion, expiresAt: quote.expiresAt, | ||
| quoteId: quote.quoteId, operationId: quote.operationId, requestHash: quote.requestHash, | ||
| quoteId: quote.quoteId, operationId: quote.operationId, requestHash: quote.requestHash, idempotencyKey: quote.idempotencyKey, | ||
| }); | ||
@@ -236,4 +243,5 @@ return 0; | ||
| printQuote(quote); | ||
| print(` key ${quote.idempotencyKey}`); | ||
| print(); | ||
| print('Pay it with the same request: clervo run ' + quote.productId + ' ... --key <key>'); | ||
| print(`Pay it with the same request: clervo run ${quote.productId} ... --key ${quote.idempotencyKey}`); | ||
| return 0; | ||
@@ -256,3 +264,3 @@ } | ||
| if (model.billingMode === 'free') { | ||
| const outcome = await callAiFree({ registry, body, ...(flagString(args, 'key') === undefined ? {} : { idempotencyKey: flagString(args, 'key') }) }); | ||
| const outcome = await callAiFree({ registry, body, surface: 'cli', ...(flagString(args, 'key') === undefined ? {} : { idempotencyKey: flagString(args, 'key') }) }); | ||
| if (wantsJson(args)) | ||
@@ -275,2 +283,3 @@ printJson(outcome.result); | ||
| ...(flagString(args, 'key') === undefined ? {} : { idempotencyKey: flagString(args, 'key') }), | ||
| surface: 'cli', | ||
| async approve(quote, limits) { | ||
@@ -360,6 +369,41 @@ if (wantsJson(args) || assumeYes) | ||
| } | ||
| function commandUsage(args) { | ||
| const usage = localUsage(); | ||
| if (wantsJson(args)) { | ||
| printJson(usage); | ||
| return 0; | ||
| } | ||
| print(`${usage.calls} call(s): ${usage.free} free, ${usage.paid} paid`); | ||
| print(`authorized ${usage.amountAuthorized} USDC`); | ||
| print(`settled ${usage.amountSettled} USDC`); | ||
| print(`today ${usage.currentDaySpend} USDC`); | ||
| print(`unresolved ${usage.unreconciledCount}`); | ||
| print(); | ||
| for (const [surface, bucket] of Object.entries(usage.bySurface)) { | ||
| print(` ${surface.padEnd(12)} ${String(bucket.calls).padStart(4)} calls ${formatUsdc(bucket.settledAtomic)} USDC settled`); | ||
| } | ||
| return 0; | ||
| } | ||
| async function commandProxy(args) { | ||
| const port = Number.parseInt(flagString(args, 'port') ?? '8402', 10); | ||
| if (!Number.isSafeInteger(port) || port < 0 || port > 65535) | ||
| throw new RouterError('proxy_port_invalid'); | ||
| const running = await startOpenAiProxy({ port, autoPay: args.flags.get('auto-pay') === true || args.flags.get('auto-pay') === 'true' }); | ||
| if (wantsJson(args)) | ||
| printJson({ baseUrl: running.baseUrl, autoPay: running.autoPay, wallet: walletExists() ? loadWalletFile().file.address : null }); | ||
| else { | ||
| print(`Clervo OpenAI proxy listening at ${running.baseUrl}`); | ||
| print(`auto-pay ${running.autoPay ? 'ENABLED (bounded by local limits)' : 'disabled'}`); | ||
| print('Use any placeholder API key required by your OpenAI client; it is not sent to Clervo.'); | ||
| } | ||
| return 0; | ||
| } | ||
| async function commandReconcile(args, registry) { | ||
| const open = unreconciledOperations(); | ||
| if (open.length < 1) { | ||
| print('Nothing to reconcile. No operation is in an unknown settlement state.'); | ||
| const cleared = clearCommerceLockAfterReconciliation(); | ||
| const lock = commerceLockStatus(); | ||
| print(cleared || !lock.exists | ||
| ? 'Nothing to reconcile. No operation is in an unknown settlement state.' | ||
| : 'No unknown settlement record exists, but another live Clervo process is reserving a payment. Wait for it to finish.'); | ||
| return 0; | ||
@@ -384,2 +428,3 @@ } | ||
| } | ||
| clearCommerceLockAfterReconciliation(); | ||
| print('All settlements resolved. Paid calls are unblocked.'); | ||
@@ -598,2 +643,4 @@ return 0; | ||
| case 'doctor': return commandDoctor(args); | ||
| case 'usage': return commandUsage(args); | ||
| case 'proxy': return commandProxy(args); | ||
| case 'wallet': return commandWallet(args); | ||
@@ -600,0 +647,0 @@ case 'limits': return commandLimits(args); |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3I,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,YAAY,EAAiB,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAClH,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAUxF,SAAS,SAAS,CAAC,IAAuB;IACxC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC/C,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,GAAG,EAAE,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACzD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACxB,SAAS;YACX,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC7B,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACtB,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACxB,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,OAAO,KAAK,EAAE;YAAE,OAAO,GAAG,KAAK,CAAC;;YAC/B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,UAAU,CAAC,IAAU,EAAE,IAAY;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,SAAS,SAAS,CAAC,IAAU;IAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC;AAC9E,CAAC;AAED,SAAS,KAAK,CAAC,IAAI,GAAG,EAAE;IACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,KAAK,GAAG,UAAU,qBAAqB;;;;;;;;;;;;;;;;;;;;;;kEAsBqB,CAAC;AAEnE,KAAK,UAAU,OAAO,CAAC,QAAgB,EAAE,SAAkB;IACzD,IAAI,SAAS;QAAE,OAAO,IAAI,CAAC;IAC3B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACvC,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,QAAQ,SAAS,CAAC,CAAC;QACvD,OAAO,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,IAAU;IAC3C,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACnD,OAAO;QACL,KAAK;QACL,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC;QACpF,UAAU,EAAE,KAAK;KAClB,CAAC;AACJ,CAAC;AAED;gFACgF;AAChF,SAAS,cAAc,CAAC,SAAiB,EAAE,IAAU;IACnD,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,WAAW,CAAC,mBAAmB,EAAE,8BAA8B,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,WAAW,CAAC,mBAAmB,EAAE,8BAA8B,CAAC,CAAC;QACvJ,OAAO,MAAiC,CAAC;IAC3C,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,IAAI,SAAS,KAAK,YAAY,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;QAChE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,WAAW,CAAC,gBAAgB,EAAE,qBAAqB,SAAS,YAAY,CAAC,CAAC;QAC/G,OAAO,EAAE,GAAG,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,SAAS,KAAK,eAAe,EAAE,CAAC;IACxF,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,WAAW,CAAC,iBAAiB,EAAE,qDAAqD,CAAC,CAAC;QAC3H,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,IAAI,WAAW,CAAC,gBAAgB,EAAE,4DAA4D,CAAC,CAAC;QAC/H,OAAO;YACL,KAAK;YACL,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;YACjH,mBAAmB,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;SAClF,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,WAAW,CAAC,eAAe,EAAE,GAAG,SAAS,kDAAkD,CAAC,CAAC;AACzG,CAAC;AAED,SAAS,UAAU,CAAC,KAAoG;IACtH,KAAK,CAAC,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IAC9B,KAAK,CAAC,gBAAgB,KAAK,CAAC,MAAM,uBAAuB,CAAC,CAAC;IAC3D,KAAK,CAAC,gBAAgB,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACrC,KAAK,CAAC,gBAAgB,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5C,KAAK,CAAC,gBAAgB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAU,EAAE,QAAkB;IACzD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACzC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACxC,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACrG,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,QAAQ,GAAK,OAAO,CAAC,MAAM,CAAC,MAA8C,EAAE,cAAsD,IAAI,EAAE,CAAC;IAC/I,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAoC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrG,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,mBAAmB,KAAK,gCAAgC,CAAC,CAAC;IACjF,KAAK,EAAE,CAAC;IACR,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QAChD,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QAC7D,KAAK,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7D,KAAK,EAAE,CAAC;IACV,CAAC;IACD,KAAK,CAAC,aAAa,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1C,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAChF,OAAO,CAAC,CAAC;AACX,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,IAAU,EAAE,QAAkB;IAC1D,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAC3C,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QACtD,KAAK,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,sBAAsB,OAAO,CAAC,SAAS,CAAC,eAAe,eAAe,OAAO,CAAC,SAAS,CAAC,OAAO,UAAU,CAAC,CAAC;QACjJ,KAAK,EAAE,CAAC;QACR,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM;YAAE,KAAK,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAChN,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,SAAS,CAAC;YACR,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,YAAY,EAAE,QAAQ,CAAC,YAAY;SACpC,CAAC,CAAC;QACH,OAAO,CAAC,CAAC;IACX,CAAC;IACD,KAAK,CAAC,qBAAqB,QAAQ,CAAC,MAAM,eAAe,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAChF,KAAK,EAAE,CAAC;IACR,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,KAAK,IAAI;YAC3C,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;QACpG,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;QAC/K,KAAK,CAAC,KAAK,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;QAClF,IAAI,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,SAAS,KAAK,IAAI;YAAE,KAAK,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;IAC/H,CAAC;IACD,KAAK,EAAE,CAAC;IACR,KAAK,CAAC,+EAA+E,CAAC,CAAC;IACvF,OAAO,CAAC,CAAC;AACX,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAAU,EAAE,QAAkB;IACxD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC9D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACnD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,IAAI,GAAS,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC;QAC/B,QAAQ;QACR,SAAS;QACT,IAAI,EAAE,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC;QACrC,cAAc,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,iBAAiB,EAAE;KAC/D,CAAC,CAAC;IACH,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,SAAS,CAAC;YACR,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK;YACtG,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS;YACxG,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW;SACvF,CAAC,CAAC;QACH,OAAO,CAAC,CAAC;IACX,CAAC;IACD,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACtC,UAAU,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,EAAE,CAAC;IACR,KAAK,CAAC,2CAA2C,GAAG,KAAK,CAAC,SAAS,GAAG,kBAAkB,CAAC,CAAC;IAC1F,OAAO,CAAC,CAAC;AACX,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAU,EAAE,QAAkB;IACtD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC9D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACjD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,IAAI,GAAS,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC7C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,MAAM,OAAO,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;QAC9D,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,cAAc;YAAE,MAAM,IAAI,WAAW,CAAC,mBAAmB,EAAE,GAAG,OAAO,8CAA8C,CAAC,CAAC;QACvJ,IAAI,KAAK,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAW,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9J,IAAI,SAAS,CAAC,IAAI,CAAC;gBAAE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;iBAC1C,CAAC;gBAAC,KAAK,CAAC,yBAAyB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAAC,KAAK,CAAC,eAAe,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;gBAAC,KAAK,EAAE,CAAC;gBAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;YAAC,CAAC;YAClN,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IACjD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC;QAC7B,QAAQ;QACR,SAAS;QACT,IAAI;QACJ,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAW,EAAE,CAAC;QACvG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM;YACzB,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,SAAS;gBAAE,OAAO,IAAI,CAAC;YAC9C,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACrC,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,KAAK,CAAC,+BAA+B,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACjI,KAAK,EAAE,CAAC;YACR,OAAO,OAAO,CAAC,OAAO,KAAK,CAAC,MAAM,QAAQ,EAAE,KAAK,CAAC,CAAC;QACrD,CAAC;KACF,CAAC,CAAC;IACH,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,CAAC,CAAC;IACX,CAAC;IACD,KAAK,CAAC,QAAQ,OAAO,CAAC,OAAO,QAAQ,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAClG,KAAK,CAAC,eAAe,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5C,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI;QAAE,KAAK,CAAC,eAAe,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAI,OAAO,CAAC,OAAO,EAAE,UAAkD,IAAI,SAAS,CAAC;IACrG,IAAI,UAAU,EAAE,MAAM,KAAK,SAAS;QAAE,KAAK,CAAC,eAAe,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxF,KAAK,EAAE,CAAC;IACR,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5E,OAAO,CAAC,CAAC;AACX,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAU,EAAE,QAAkB;IACzD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAChD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,KAAK,CAAC,uBAAuB,GAAG,oFAAoF,CAAC,CAAC;QACtH,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3H,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,CAAC,CAAC;IACX,CAAC;IACD,KAAK,CAAC,YAAY,GAAG,+CAA+C,CAAC,CAAC;IACtE,KAAK,CAAC,eAAe,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5C,KAAK,CAAC,eAAe,OAAO,CAAC,OAAO,6BAA6B,CAAC,CAAC;IACnE,KAAK,EAAE,CAAC;IACR,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5E,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,cAAc,CAAC,IAAU;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC5D,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,MAAM,EAAE,SAAS,IAAI,SAAS,CAAC;IACjD,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACvC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,KAAK,CAAC,yBAAyB,SAAS,GAAG,CAAC,CAAC;QAC7C,OAAO,CAAC,CAAC;IACX,CAAC;IACD,SAAS,CAAC,OAAO,CAAC,CAAC;IACnB,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,cAAc,CAAC,IAAU;IAChC,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,SAAS,CAAC,OAAO,CAAC,CAAC;QACnB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC/D,OAAO,CAAC,CAAC;IACX,CAAC;IACD,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,+BAA+B,UAAU,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,CAAC;IAC7F,KAAK,EAAE,CAAC;IACR,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;QAChG,KAAK,CAAC,KAAK,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;QACxI,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;YAAE,KAAK,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,IAAU,EAAE,QAAkB;IAC5D,MAAM,IAAI,GAAG,sBAAsB,EAAE,CAAC;IACtC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC/E,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,MAAM,kBAAkB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,SAAS,CAAC,OAAO,CAAC,CAAC;QACnB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,CAAC,KAAK,MAAM,CAAC,cAAc,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,eAAe,CAAC,CAAC;IACnF,KAAK,EAAE,CAAC;IACR,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,GAAG,UAAU,CAAC,MAAM,gGAAgG,CAAC,CAAC;QAC5H,OAAO,CAAC,CAAC;IACX,CAAC;IACD,KAAK,CAAC,qDAAqD,CAAC,CAAC;IAC7D,OAAO,CAAC,CAAC;AACX,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAU;IACrC,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACvF,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,SAAS,CAAC,SAAS,CAAC,CAAC;QACrB,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,KAAK,CAAC,UAAU,SAAS,CAAC,aAAa,MAAM,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;IACpE,KAAK,EAAE,CAAC;IACR,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QACxF,KAAK,CAAC,KAAK,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3D,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,KAAK,EAAE,CAAC;IACR,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC;IAC9E,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC1C,KAAK,CAAC,cAAc,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACxC,KAAK,CAAC,cAAc,QAAQ,CAAC,WAAW,KAAK,QAAQ,CAAC,OAAO,cAAc,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC;IAChG,KAAK,CAAC,sBAAsB,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;IACrD,KAAK,EAAE,CAAC;IACR,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK;QAAE,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAU;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IAEjD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,IAAI,YAAY,EAAE,EAAE,CAAC;YACnB,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,EAAE,CAAC;YAClC,KAAK,CAAC,gDAAgD,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,KAAK,CAAC,iFAAiF,CAAC,CAAC;YACzF,KAAK,CAAC,4EAA4E,CAAC,CAAC;YACpF,KAAK,CAAC,mEAAmE,CAAC,CAAC;YAC3E,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;QAC/B,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB;0EAC8D;YAC9D,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpL,OAAO,CAAC,CAAC;QACX,CAAC;QACD,KAAK,CAAC,qEAAqE,CAAC,CAAC;QAC7E,KAAK,EAAE,CAAC;QACR,KAAK,CAAC,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/B,KAAK,EAAE,CAAC;QACR,KAAK,CAAC,qFAAqF,CAAC,CAAC;QAC7F,KAAK,CAAC,wBAAwB,OAAO,CAAC,IAAI,CAAC,IAAI,yBAAyB,CAAC,CAAC;QAC1E,KAAK,EAAE,CAAC;QACR,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACrC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,KAAK,EAAE,CAAC;QACR,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACrC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACpB,KAAK,CAAC,4CAA4C,CAAC,CAAC;YACpD,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,EAAE,CAAC;QAClC,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACzC,OAAO,CAAC,CAAC;QACX,CAAC;QACD,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC9C,KAAK,EAAE,CAAC;QACR,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACpB,KAAK,CAAC,4CAA4C,CAAC,CAAC;YACpD,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,SAAS,CAAC,OAAO,CAAC,CAAC;YACnB,OAAO,CAAC,CAAC;QACX,CAAC;QACD,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,uBAAuB,CAAC,CAAC;QAChD,KAAK,CAAC,cAAc,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACvC,KAAK,CAAC,cAAc,OAAO,CAAC,UAAU,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAChE,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC;YACxC,KAAK,EAAE,CAAC;YACR,KAAK,CAAC,uEAAuE,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACpB,KAAK,CAAC,4CAA4C,CAAC,CAAC;YACpD,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,CAAC,MAAM,OAAO,CAAC,sFAAsF,EAAE,SAAS,CAAC,EAAE,CAAC;YACtH,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACzC,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,EAAE,CAAC;QAClC,KAAK,EAAE,CAAC;QACR,KAAK,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5B,KAAK,EAAE,CAAC;QACR,KAAK,CAAC,UAAU,IAAI,CAAC,OAAO,gBAAgB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACpE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,qDAAqD,CAAC,CAAC;YAC7D,OAAO,CAAC,CAAC;QACX,CAAC;QACD;;;;;WAKG;QACH,IAAI,eAAe,GAAG,IAAI,CAAC;QAC3B,IAAI,YAAY,EAAE,EAAE,CAAC;YACnB,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACnE,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAC1F,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,KAAK,CAAC,gCAAgC,IAAI,CAAC,OAAO,UAAU,OAAO,CAAC,MAAM,QAAQ,CAAC,CAAC;gBACpF,KAAK,CAAC,oEAAoE,CAAC,CAAC;gBAC5E,OAAO,CAAC,CAAC;YACX,CAAC;YACD,IAAI,CAAC,MAAM,OAAO,CAAC,4BAA4B,IAAI,CAAC,OAAO,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC;gBAC3E,KAAK,CAAC,iDAAiD,CAAC,CAAC;gBACzD,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAG,aAAa,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;QAClE,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,OAAO,CAAC,CAAC;QACX,CAAC;QACD,KAAK,CAAC,YAAY,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACnC,KAAK,EAAE,CAAC;QACR,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,aAAa,CAAC,IAAU;IAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,IAAI,YAAY,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtD,KAAK,CAAC,gEAAgE,CAAC,CAAC;YACxE,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,MAAM,GAAG,UAAU,CAAC;YACxB,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;YACzF,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;SACrE,CAAC,CAAC;QACH,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,SAAS,CAAC,MAAM,CAAC,CAAC;YAClB,OAAO,CAAC,CAAC;QACX,CAAC;QACD,KAAK,CAAC,6BAA6B,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAChI,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;IACjC,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,KAAK,CAAC,kBAAkB,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACtE,KAAK,CAAC,kBAAkB,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC/D,KAAK,CAAC,kBAAkB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClD,KAAK,EAAE,CAAC;IACR,KAAK,CAAC,gHAAgH,CAAC,CAAC;IACxH,OAAO,CAAC,CAAC;AACX,CAAC;AAED;0EAC0E;AAC1E,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;AAE5G,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAuB;IAChD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;QACrE,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC7B,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/D,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;QACxB,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAErF,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,KAAK,QAAQ,EAAE,OAAO,aAAa,CAAC,IAAI,EAAE,QAAoB,CAAC,CAAC;QAChE,KAAK,SAAS,EAAE,OAAO,cAAc,CAAC,IAAI,EAAE,QAAoB,CAAC,CAAC;QAClE,KAAK,OAAO,EAAE,OAAO,YAAY,CAAC,IAAI,EAAE,QAAoB,CAAC,CAAC;QAC9D,KAAK,KAAK,EAAE,OAAO,UAAU,CAAC,IAAI,EAAE,QAAoB,CAAC,CAAC;QAC1D,KAAK,QAAQ,EAAE,OAAO,aAAa,CAAC,IAAI,EAAE,QAAoB,CAAC,CAAC;QAChE,KAAK,SAAS,EAAE,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;QAC5C,KAAK,SAAS,EAAE,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;QAC5C,KAAK,WAAW,EAAE,OAAO,gBAAgB,CAAC,IAAI,EAAE,QAAoB,CAAC,CAAC;QACtE,KAAK,QAAQ,EAAE,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1C,KAAK,QAAQ,EAAE,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1C,KAAK,QAAQ,EAAE,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1C,KAAK,MAAM;YAAE,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC;QACjD;YACE,KAAK,CAAC,oBAAoB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1C,KAAK,EAAE,CAAC;YACR,KAAK,CAAC,KAAK,CAAC,CAAC;YACb,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,GAAG;IAChB,IAAI,CAAC;QACH,OAAO,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,WAAW,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;YAChE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;YAC3C,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,KAAK,oBAAoB,IAAI,KAAK,CAAC,IAAI,KAAK,qCAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvH,OAAO;QACT,CAAC;QACD,IAAI,KAAK,YAAY,KAAK,IAAI,CAAC,aAAa,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAClG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;YAC3C,OAAO,CAAC,QAAQ,GAAI,KAA2B,CAAC,IAAI,KAAK,qCAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvG,OAAO;QACT,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,IAAI,CAAC,CAAC;QAC3F,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,GAAG,EAAE,CAAC"} | ||
| {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"} |
+7
-3
| import { type SpendLimits } from './limits.js'; | ||
| import { type OperationRecord } from './store.js'; | ||
| import { type ConnectSurface, type OperationRecord } from './store.js'; | ||
| import { type Registry } from './registry.js'; | ||
@@ -18,3 +18,3 @@ export declare class RouterError extends Error { | ||
| } | ||
| export declare function callAiFree({ registry, body, idempotencyKey, env, fetchImpl, timeoutMs }: { | ||
| export declare function callAiFree({ registry, body, idempotencyKey, env, fetchImpl, timeoutMs, surface }: { | ||
| registry: Registry; | ||
@@ -26,4 +26,5 @@ body: Record<string, unknown>; | ||
| timeoutMs?: number; | ||
| surface?: ConnectSurface; | ||
| }): Promise<FreeOutcome>; | ||
| export declare function callFree({ registry, productId, body, env, fetchImpl, idempotencyKey, timeoutMs, }: { | ||
| export declare function callFree({ registry, productId, body, env, fetchImpl, idempotencyKey, timeoutMs, surface, }: { | ||
| registry: Registry; | ||
@@ -36,4 +37,6 @@ productId: string; | ||
| timeoutMs?: number; | ||
| surface?: ConnectSurface; | ||
| }): Promise<FreeOutcome>; | ||
| export interface Quote { | ||
| readonly idempotencyKey: string; | ||
| readonly productId: string; | ||
@@ -83,2 +86,3 @@ readonly resource: string; | ||
| readonly limits?: SpendLimits; | ||
| readonly surface?: ConnectSurface; | ||
| } | ||
@@ -85,0 +89,0 @@ export declare function callPaid(options: PaidCallOptions): Promise<PaidOutcome>; |
+72
-41
@@ -11,2 +11,3 @@ import { randomUUID } from 'node:crypto'; | ||
| import { OPERATION_SCHEMA_VERSION } from './store.js'; | ||
| import { acquireCommerceLock } from './lock.js'; | ||
| const MAXIMUM_RESPONSE_BYTES = 8_388_608; | ||
@@ -43,3 +44,3 @@ export class RouterError extends Error { | ||
| } | ||
| export async function callAiFree({ registry, body, idempotencyKey, env = process.env, fetchImpl = fetch, timeoutMs = 600_000 }) { | ||
| export async function callAiFree({ registry, body, idempotencyKey, env = process.env, fetchImpl = fetch, timeoutMs = 600_000, surface = 'unknown' }) { | ||
| const key = idempotencyKey === undefined ? newIdempotencyKey() : assertIdempotencyKey(idempotencyKey); | ||
@@ -65,3 +66,3 @@ const resource = `${registry.origin}/v1/ai/execute`; | ||
| const completedAt = new Date().toISOString(); | ||
| writeOperation({ schemaVersion: OPERATION_SCHEMA_VERSION, idempotencyKey: key, productId: 'ai.chat', resource, requestBodyHash: requestBodyHash(body), requestBody: body, state: 'free', startedAt: completedAt, completedAt, quotedAtomic: '0', chargedAtomic: '0', operationId: typeof value.operationId === 'string' ? value.operationId : null, receiptId: null, settlementReferenceHash: null, replayed: value.replayed === true, reason: null }, env); | ||
| writeOperation({ schemaVersion: OPERATION_SCHEMA_VERSION, idempotencyKey: key, productId: typeof value.productId === 'string' ? value.productId : 'ai.chat', resource, requestBodyHash: requestBodyHash(body), requestBody: body, state: 'free', startedAt: completedAt, completedAt, quotedAtomic: '0', chargedAtomic: '0', operationId: typeof value.operationId === 'string' ? value.operationId : null, receiptId: null, settlementReferenceHash: null, replayed: value.replayed === true, reason: null, surface }, env); | ||
| return Object.freeze({ funding: 'free', productId: 'ai.chat', operationId: typeof value.operationId === 'string' ? value.operationId : '', requestHash: typeof value.requestHash === 'string' ? value.requestHash : '', result: value, replayed: value.replayed === true }); | ||
@@ -76,3 +77,3 @@ } | ||
| */ | ||
| export async function callFree({ registry, productId, body, env = process.env, fetchImpl = fetch, idempotencyKey, timeoutMs = 60_000, }) { | ||
| export async function callFree({ registry, productId, body, env = process.env, fetchImpl = fetch, idempotencyKey, timeoutMs = 60_000, surface = 'unknown', }) { | ||
| const capability = capabilityFor(registry, productId); | ||
@@ -128,2 +129,4 @@ if (!capability.freeCallable || capability.freeRoute === null) { | ||
| reason: null, | ||
| surface, | ||
| authorizationCreated: false, | ||
| }, env); | ||
@@ -139,3 +142,3 @@ return Object.freeze({ | ||
| } | ||
| function readQuote(productId, resource, challenge) { | ||
| function readQuote(productId, resource, idempotencyKey, challenge) { | ||
| const accepts = Array.isArray(challenge.accepts) ? challenge.accepts : []; | ||
@@ -151,2 +154,3 @@ const accepted = accepts[0]; | ||
| return Object.freeze({ | ||
| idempotencyKey, | ||
| productId, | ||
@@ -210,3 +214,3 @@ resource, | ||
| throw new RouterError(typeof value.code === 'string' ? value.code : `http_${response.status}`, typeof value.detail === 'string' ? value.detail : `expected a 402 quote and got ${response.status}`, value); | ||
| return readQuote(productId, resource, value); | ||
| return readQuote(productId, resource, idempotencyKey, value); | ||
| } | ||
@@ -281,3 +285,3 @@ /* | ||
| export async function callPaid(options) { | ||
| const { registry, productId, body, env = process.env, fetchImpl = fetch, timeoutMs = 90_000, approve, } = options; | ||
| const { registry, productId, body, env = process.env, fetchImpl = fetch, timeoutMs = 90_000, approve, surface = 'unknown', } = options; | ||
| const key = options.idempotencyKey === undefined ? newIdempotencyKey() : assertIdempotencyKey(options.idempotencyKey); | ||
@@ -292,33 +296,57 @@ const bodyHash = requestBodyHash(body); | ||
| } | ||
| /* Step 1. Includes any `authorizing` record for this very key. */ | ||
| assertNothingUnreconciled(env); | ||
| const limits = options.limits ?? loadLimits(env); | ||
| const quote = await requestQuote({ registry, productId, body, idempotencyKey: key, fetchImpl, timeoutMs }); | ||
| assertWithinLimits({ limits, quotedAtomic: quote.amountAtomic, spentTodayAtomic: spentTodayAtomic(env) }); | ||
| if (approve !== undefined && (await approve(quote, limits)) !== true) { | ||
| throw new RouterError('payment_not_approved', 'the payment was not approved, so nothing was signed or spent'); | ||
| } | ||
| const account = loadWalletAccount(env); | ||
| /* The reservation is serialized across processes. Without this small local | ||
| * lock, two surfaces could both observe the same remaining daily budget and | ||
| * sign before either operation became visible to the other. The lock is | ||
| * released as soon as `authorizing` is durable; that record then becomes the | ||
| * global fail-closed barrier while the payment is in flight. */ | ||
| const releaseCommerceLock = acquireCommerceLock(env); | ||
| const reservation = await (async () => { | ||
| try { | ||
| const current = readOperation(key, env); | ||
| if (current !== undefined && current.requestBodyHash !== bodyHash) | ||
| throw new RouterError('idempotency_key_reused_with_different_body', `idempotency key ${key} was already used for a different request body — use a new key`); | ||
| if (current?.state === 'settled') | ||
| return Object.freeze({ replay: true }); | ||
| /* Step 1. Includes any `authorizing` record for this very key. */ | ||
| assertNothingUnreconciled(env); | ||
| const limits = options.limits ?? loadLimits(env); | ||
| const quote = await requestQuote({ registry, productId, body, idempotencyKey: key, fetchImpl, timeoutMs }); | ||
| assertWithinLimits({ limits, quotedAtomic: quote.amountAtomic, spentTodayAtomic: spentTodayAtomic(env) }); | ||
| if (approve === undefined) | ||
| throw new RouterError('payment_approval_required', 'automatic payment is disabled; explicitly opt in and supply an approval decision'); | ||
| if ((await approve(quote, limits)) !== true) | ||
| throw new RouterError('payment_not_approved', 'the payment was not approved, so nothing was signed or spent'); | ||
| const account = loadWalletAccount(env); | ||
| const startedAt = new Date().toISOString(); | ||
| const record = { | ||
| schemaVersion: OPERATION_SCHEMA_VERSION, | ||
| idempotencyKey: key, | ||
| productId, | ||
| resource: quote.resource, | ||
| requestBodyHash: bodyHash, | ||
| requestBody: body, | ||
| state: 'authorizing', | ||
| startedAt, | ||
| completedAt: null, | ||
| quotedAtomic: quote.amountAtomic, | ||
| chargedAtomic: null, | ||
| operationId: quote.operationId, | ||
| receiptId: null, | ||
| settlementReferenceHash: null, | ||
| replayed: false, | ||
| reason: null, | ||
| surface, | ||
| }; | ||
| writeOperation(record, env); | ||
| return Object.freeze({ replay: false, account, quote, record }); | ||
| } | ||
| finally { | ||
| releaseCommerceLock(); | ||
| } | ||
| })(); | ||
| if (reservation.replay) | ||
| return replayPaid({ registry, productId, body, idempotencyKey: key, env, fetchImpl, timeoutMs }); | ||
| const { account, quote, record } = reservation; | ||
| const paymentClient = new x402Client(); | ||
| registerExactEvmScheme(paymentClient, { signer: account }); | ||
| const startedAt = new Date().toISOString(); | ||
| const record = { | ||
| schemaVersion: OPERATION_SCHEMA_VERSION, | ||
| idempotencyKey: key, | ||
| productId, | ||
| resource: quote.resource, | ||
| requestBodyHash: bodyHash, | ||
| requestBody: body, | ||
| state: 'authorizing', | ||
| startedAt, | ||
| completedAt: null, | ||
| quotedAtomic: quote.amountAtomic, | ||
| chargedAtomic: null, | ||
| operationId: quote.operationId, | ||
| receiptId: null, | ||
| settlementReferenceHash: null, | ||
| replayed: false, | ||
| reason: null, | ||
| }; | ||
| writeOperation(record, env); | ||
| let paymentHeader; | ||
@@ -334,2 +362,4 @@ try { | ||
| } | ||
| const authorizedRecord = { ...record, authorizationCreated: true }; | ||
| writeOperation(authorizedRecord, env); | ||
| const controller = new AbortController(); | ||
@@ -355,3 +385,3 @@ const timer = setTimeout(() => controller.abort(), timeoutMs); | ||
| /* The signature was on the wire. This is ambiguous by definition. */ | ||
| writeOperation({ ...record, state: 'unknown', reason: 'transport_failed_after_authorization' }, env); | ||
| writeOperation({ ...authorizedRecord, state: 'unknown', reason: 'transport_failed_after_authorization' }, env); | ||
| throw new RouterError('settlement_unknown', `the request failed after the payment was sent, so it may have settled. Run \`clervo reconcile\` — do not retry until it resolves.`, error?.name); | ||
@@ -367,3 +397,3 @@ } | ||
| catch (error) { | ||
| writeOperation({ ...record, state: 'unknown', reason: 'unreadable_response_after_authorization' }, env); | ||
| writeOperation({ ...authorizedRecord, state: 'unknown', reason: 'unreadable_response_after_authorization' }, env); | ||
| throw error; | ||
@@ -375,7 +405,7 @@ } | ||
| writeOperation({ | ||
| ...record, | ||
| ...authorizedRecord, | ||
| state: 'settled', | ||
| completedAt: new Date().toISOString(), | ||
| chargedAtomic: outcome.chargedAtomic, | ||
| operationId: outcome.operationId === '' ? record.operationId : outcome.operationId, | ||
| operationId: outcome.operationId === '' ? authorizedRecord.operationId : outcome.operationId, | ||
| receiptId, | ||
@@ -389,6 +419,6 @@ settlementReferenceHash: settlementReferenceHashOf(outcome.receipt), | ||
| if (settlementIsAmbiguous(response.status, code)) { | ||
| writeOperation({ ...record, state: 'unknown', reason: code ?? `http_${response.status}` }, env); | ||
| writeOperation({ ...authorizedRecord, state: 'unknown', reason: code ?? `http_${response.status}` }, env); | ||
| throw new RouterError('settlement_unknown', `the API answered ${response.status}${code === undefined ? '' : ` (${code})`} after the payment was sent, so it may have settled. Run \`clervo reconcile\` — do not retry until it resolves.`, value); | ||
| } | ||
| writeOperation({ ...record, state: 'refused', completedAt: new Date().toISOString(), reason: code ?? `http_${response.status}` }, env); | ||
| writeOperation({ ...authorizedRecord, state: 'refused', completedAt: new Date().toISOString(), reason: code ?? `http_${response.status}` }, env); | ||
| throw new RouterError(code ?? `http_${response.status}`, typeof value.detail === 'string' ? value.detail : `the API refused the payment with ${response.status}`, value); | ||
@@ -463,2 +493,3 @@ } | ||
| reason: null, | ||
| surface: existing?.surface ?? 'unknown', | ||
| }, env); | ||
@@ -465,0 +496,0 @@ return outcome; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"} |
+51
-2
@@ -1,2 +0,2 @@ | ||
| import { statSync } from 'node:fs'; | ||
| import { readdirSync, statSync } from 'node:fs'; | ||
| import { clervoPaths } from './paths.js'; | ||
@@ -9,2 +9,3 @@ import { loadLimits } from './limits.js'; | ||
| import { CLERVO_ROUTER_VERSION } from './version.js'; | ||
| import { commerceLockStatus } from './lock.js'; | ||
| function check(id, status, detail, remedy) { | ||
@@ -23,3 +24,10 @@ return Object.freeze(remedy === undefined ? { id, status, detail } : { id, status, detail, remedy }); | ||
| const checks = []; | ||
| const paths = clervoPaths(env); | ||
| let paths; | ||
| try { | ||
| paths = clervoPaths(env); | ||
| checks.push(check('home.path', 'ok', paths.home)); | ||
| } | ||
| catch (error) { | ||
| return Object.freeze({ routerVersion: CLERVO_ROUTER_VERSION, checkedAt: now(), checks: Object.freeze([check('home.path', 'fail', error.message, 'set CLERVO_HOME to an absolute private directory')]), healthy: false }); | ||
| } | ||
| checks.push(check('runtime.node', Number(process.versions.node.split('.')[0]) >= 20 ? 'ok' : 'fail', `Node ${process.versions.node}`, Number(process.versions.node.split('.')[0]) >= 20 ? undefined : 'install Node 20 or newer')); | ||
@@ -35,2 +43,11 @@ try { | ||
| } | ||
| for (const [id, path] of [['operations.permissions', paths.operations], ['receipts.permissions', paths.receipts]]) { | ||
| try { | ||
| const mode = statSync(path).mode & 0o777; | ||
| checks.push(process.platform === 'win32' || (mode & 0o077) === 0 ? check(id, 'ok', `${path} is private`) : check(id, 'fail', `${path} mode ${mode.toString(8)} is not private`, `chmod 700 ${path}`)); | ||
| } | ||
| catch { | ||
| checks.push(check(id, 'ok', `${path} has not been created yet`)); | ||
| } | ||
| } | ||
| let origin; | ||
@@ -95,2 +112,34 @@ try { | ||
| : check('settlement.reconciled', 'fail', `${open.length} operation(s) have an unresolved settlement: ${open.map((record) => record.idempotencyKey).join(', ')}`, 'run `clervo reconcile` — paid calls are blocked until this clears')); | ||
| const commerceLock = commerceLockStatus(env); | ||
| checks.push(!commerceLock.exists | ||
| ? check('commerce.lock', 'ok', 'no payment reservation is held') | ||
| : commerceLock.ownerAlive === true | ||
| ? check('commerce.lock', 'warn', `a live local process holds the payment reservation${commerceLock.createdAt === null ? '' : ` since ${commerceLock.createdAt}`}`, 'wait for the active call to finish') | ||
| : check('commerce.lock', 'fail', `a stale payment reservation blocks spending${commerceLock.createdAt === null ? '' : ` since ${commerceLock.createdAt}`}`, 'run `clervo reconcile`; the lock is removed only after no settlement remains unknown')); | ||
| const operations = (() => { try { | ||
| return readdirSync(paths.operations).filter((name) => name.endsWith('.json')).length; | ||
| } | ||
| catch { | ||
| return 0; | ||
| } })(); | ||
| const receipts = (() => { try { | ||
| return readdirSync(paths.receipts).filter((name) => name.endsWith('.json')).length; | ||
| } | ||
| catch { | ||
| return 0; | ||
| } })(); | ||
| checks.push(check('history.state', 'ok', `${operations} operation record(s), ${receipts} receipt(s)`)); | ||
| const proxyOrigin = env.CLERVO_PROXY_URL ?? 'http://127.0.0.1:8402'; | ||
| try { | ||
| const parsed = new URL(proxyOrigin); | ||
| const loopback = ['localhost', '127.0.0.1', '[::1]'].includes(parsed.hostname); | ||
| if (parsed.protocol !== 'http:' || !loopback || parsed.username || parsed.password) | ||
| throw new Error('proxy URL must be loopback HTTP'); | ||
| const response = await fetchImpl(`${parsed.origin}/v1/models`, { method: 'GET', headers: { accept: 'application/json' }, signal: AbortSignal.timeout(1_500), redirect: 'error' }); | ||
| checks.push(response.ok ? check('proxy.readiness', 'ok', `${parsed.origin}/v1 is ready`) : check('proxy.readiness', 'warn', `${parsed.origin} returned ${response.status}`, 'run `clervo proxy` and retry')); | ||
| } | ||
| catch (error) { | ||
| checks.push(check('proxy.readiness', 'warn', `${proxyOrigin} is not currently ready: ${error.message}`, 'run `clervo proxy`; add `--auto-pay` only after reviewing limits')); | ||
| } | ||
| checks.push(check('clients.versions', 'ok', `Router ${CLERVO_ROUTER_VERSION}; expected Connect clients @clervo/sdk 0.5.0, @clervo/mcp 0.5.0, clervo-sdk 0.4.0`)); | ||
| return Object.freeze({ | ||
@@ -97,0 +146,0 @@ routerVersion: CLERVO_ROUTER_VERSION, |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"} |
+6
-2
| export { BASE_CHAIN_ID, BASE_USDC_ADDRESS, DEFAULT_BASE_RPC_URL, USDC_DECIMALS, baseRpcUrl, formatUsdc, fundingGuidance, readWalletBalance, type FundingGuidance, type WalletBalance, } from './chain.js'; | ||
| export { RouterError, callFree, callPaid, newIdempotencyKey, reconcileOperation, replayPaid, requestQuote, type FreeOutcome, type PaidCallOptions, type PaidOutcome, type Quote, type ReconcileResult, } from './client.js'; | ||
| export { diagnose, type Check, type CheckStatus, type Diagnosis } from './doctor.js'; | ||
| export { acquireCommerceLock, clearCommerceLockAfterReconciliation, commerceLockStatus, type CommerceLockStatus } from './lock.js'; | ||
| export { DEFAULT_DAILY_ATOMIC, DEFAULT_PER_OPERATION_ATOMIC, LimitError, assertWithinLimits, defaultLimits, loadLimits, saveLimits, usdcToAtomic, type SpendLimits, } from './limits.js'; | ||
| export { clervoHome, clervoPaths, type ClervoPaths } from './paths.js'; | ||
| export { DEFAULT_API_ORIGIN, DISCOVERY_PATH, RegistryError, apiOrigin, capabilityFor, loadRegistry, type Registry, type RegistryCapability, } from './registry.js'; | ||
| export { OPERATION_SCHEMA_VERSION, StoreError, assertIdempotencyKey, assertNothingUnreconciled, listOperations, readOperation, readReceipt, requestBodyHash, saveReceipt, spentTodayAtomic, unreconciledOperations, writeOperation, type OperationRecord, type OperationState, } from './store.js'; | ||
| export { DEFAULT_API_ORIGIN, DISCOVERY_PATH, RegistryError, apiOrigin, capabilityFor, loadAiModelCatalog, loadRegistry, type AiCatalogModel, type AiModelCatalog, type Registry, type RegistryCapability, } from './registry.js'; | ||
| export { OPERATION_SCHEMA_VERSION, StoreError, assertIdempotencyKey, assertNothingUnreconciled, listOperations, readOperation, readReceipt, requestBodyHash, saveReceipt, spentTodayAtomic, unreconciledOperations, writeOperation, type OperationRecord, type OperationState, type ConnectSurface, } from './store.js'; | ||
| export { localUsage, type LocalUsage, type UsageBucket } from './usage.js'; | ||
| export { ClervoConnect, type ConnectExecuteOptions, type ConnectExecution, type ConnectOptions, type ConnectStatus } from './connect.js'; | ||
| export { startOpenAiProxy, type ProxyOptions, type RunningProxy } from './proxy.js'; | ||
| export { CLERVO_CONTRACT_VERSION, CLERVO_ROUTER_USER_AGENT, CLERVO_ROUTER_VERSION } from './version.js'; | ||
| export { WALLET_DERIVATION_PATH, WALLET_NETWORK, WALLET_SCHEMA_VERSION, WalletError, addressForMnemonic, createWallet, loadWalletAccount, loadWalletFile, replaceWallet, walletExists, walletPermissionsSecure, walletView, type CreatedWallet, type WalletFile, type WalletView, } from './wallet.js'; |
+5
-1
| export { BASE_CHAIN_ID, BASE_USDC_ADDRESS, DEFAULT_BASE_RPC_URL, USDC_DECIMALS, baseRpcUrl, formatUsdc, fundingGuidance, readWalletBalance, } from './chain.js'; | ||
| export { RouterError, callFree, callPaid, newIdempotencyKey, reconcileOperation, replayPaid, requestQuote, } from './client.js'; | ||
| export { diagnose } from './doctor.js'; | ||
| export { acquireCommerceLock, clearCommerceLockAfterReconciliation, commerceLockStatus } from './lock.js'; | ||
| export { DEFAULT_DAILY_ATOMIC, DEFAULT_PER_OPERATION_ATOMIC, LimitError, assertWithinLimits, defaultLimits, loadLimits, saveLimits, usdcToAtomic, } from './limits.js'; | ||
| export { clervoHome, clervoPaths } from './paths.js'; | ||
| export { DEFAULT_API_ORIGIN, DISCOVERY_PATH, RegistryError, apiOrigin, capabilityFor, loadRegistry, } from './registry.js'; | ||
| export { DEFAULT_API_ORIGIN, DISCOVERY_PATH, RegistryError, apiOrigin, capabilityFor, loadAiModelCatalog, loadRegistry, } from './registry.js'; | ||
| export { OPERATION_SCHEMA_VERSION, StoreError, assertIdempotencyKey, assertNothingUnreconciled, listOperations, readOperation, readReceipt, requestBodyHash, saveReceipt, spentTodayAtomic, unreconciledOperations, writeOperation, } from './store.js'; | ||
| export { localUsage } from './usage.js'; | ||
| export { ClervoConnect } from './connect.js'; | ||
| export { startOpenAiProxy } from './proxy.js'; | ||
| export { CLERVO_CONTRACT_VERSION, CLERVO_ROUTER_USER_AGENT, CLERVO_ROUTER_VERSION } from './version.js'; | ||
| export { WALLET_DERIVATION_PATH, WALLET_NETWORK, WALLET_SCHEMA_VERSION, WalletError, addressForMnemonic, createWallet, loadWalletAccount, loadWalletFile, replaceWallet, walletExists, walletPermissionsSecure, walletView, } from './wallet.js'; | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,UAAU,EACV,eAAe,EACf,iBAAiB,GAGlB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,YAAY,GAMb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAgD,MAAM,aAAa,CAAC;AACrF,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,UAAU,EACV,YAAY,GAEb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAoB,MAAM,YAAY,CAAC;AACvE,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,SAAS,EACT,aAAa,EACb,YAAY,GAGb,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,wBAAwB,EACxB,UAAU,EACV,oBAAoB,EACpB,yBAAyB,EACzB,cAAc,EACd,aAAa,EACb,WAAW,EACX,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,GAGf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACxG,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,UAAU,GAIX,MAAM,aAAa,CAAC"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,UAAU,EACV,eAAe,EACf,iBAAiB,GAGlB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,YAAY,GAMb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAgD,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,oCAAoC,EAAE,kBAAkB,EAA2B,MAAM,WAAW,CAAC;AACnI,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,UAAU,EACV,YAAY,GAEb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAoB,MAAM,YAAY,CAAC;AACvE,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,YAAY,GAKb,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,wBAAwB,EACxB,UAAU,EACV,oBAAoB,EACpB,yBAAyB,EACzB,cAAc,EACd,aAAa,EACb,WAAW,EACX,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,GAIf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAqC,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,aAAa,EAA8F,MAAM,cAAc,CAAC;AACzI,OAAO,EAAE,gBAAgB,EAAwC,MAAM,YAAY,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACxG,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,UAAU,GAIX,MAAM,aAAa,CAAC"} |
+1
-0
@@ -8,3 +8,4 @@ export declare function clervoHome(env?: NodeJS.ProcessEnv): string; | ||
| readonly operations: string; | ||
| readonly commerceLock: string; | ||
| } | ||
| export declare function clervoPaths(env?: NodeJS.ProcessEnv): ClervoPaths; |
+1
-0
@@ -28,4 +28,5 @@ import { homedir } from 'node:os'; | ||
| operations: join(home, 'operations'), | ||
| commerceLock: join(home, 'commerce.lock'), | ||
| }); | ||
| } | ||
| //# sourceMappingURL=paths.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE7C;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG;IAC7D,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC;IACjC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,0BAA0B,CAAC,CAAC;QACzG,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AACpC,CAAC;AAUD,MAAM,UAAU,WAAW,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG;IAC9D,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI;QACJ,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC;QACjC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC;QACjC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;QAChC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC;KACrC,CAAC,CAAC;AACL,CAAC"} | ||
| {"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE7C;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG;IAC7D,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC;IACjC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,0BAA0B,CAAC,CAAC;QACzG,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AACpC,CAAC;AAWD,MAAM,UAAU,WAAW,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG;IAC9D,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI;QACJ,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC;QACjC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC;QACjC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;QAChC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC;QACpC,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC;KAC1C,CAAC,CAAC;AACL,CAAC"} |
+14
-8
@@ -108,3 +108,3 @@ import { CLERVO_ROUTER_USER_AGENT } from './version.js'; | ||
| } | ||
| const capabilities = products.map((product) => { | ||
| const capabilities = products.flatMap((product) => { | ||
| const productId = typeof product.productId === 'string' ? product.productId : ''; | ||
@@ -122,4 +122,10 @@ const family = familyOf(productId); | ||
| const priceAtomic = typeof displayPrice?.amountAtomic === 'string' ? displayPrice.amountAtomic : null; | ||
| return Object.freeze({ | ||
| productId, | ||
| const operationIds = productId === 'ai' && Array.isArray(product.operationIds) | ||
| ? product.operationIds.filter((value) => typeof value === 'string') | ||
| : [productId]; | ||
| const aiExecute = productId === 'ai' && typeof routes.execute === 'string' ? routes.execute : null; | ||
| const productPaidRoute = paidRoute ?? aiExecute; | ||
| const productFreeRoute = freeRoute ?? aiExecute; | ||
| return Object.freeze(operationIds.map((operationId) => Object.freeze({ | ||
| productId: operationId, | ||
| family, | ||
@@ -131,4 +137,4 @@ title: typeof product.title === 'string' ? product.title : productId, | ||
| reason: typeof observedFamily?.reason === 'string' ? observedFamily.reason : null, | ||
| freeRoute, | ||
| paidRoute, | ||
| freeRoute: productFreeRoute, | ||
| paidRoute: productPaidRoute, | ||
| priceAtomic, | ||
@@ -147,5 +153,5 @@ priceVersion: typeof pricing.priceVersion === 'string' ? pricing.priceVersion : null, | ||
| priceIsBinding: priceAtomic !== null && FIXED_PRICE_MODELS.has(pricing.model), | ||
| paidCallable: familyReachable && product.publicAvailable === true && payment.payable === true && paidRoute !== null, | ||
| freeCallable: familyReachable && freeRoute !== null && product.publicAvailable === true, | ||
| }); | ||
| paidCallable: familyReachable && product.publicAvailable === true && payment.payable === true && productPaidRoute !== null, | ||
| freeCallable: familyReachable && productFreeRoute !== null && product.publicAvailable === true, | ||
| }))); | ||
| }).filter((capability) => capability.productId.length > 0); | ||
@@ -152,0 +158,0 @@ return Object.freeze({ |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"} |
+3
-0
| export declare const OPERATION_SCHEMA_VERSION: 'clervo.router.operation.v1'; | ||
| export type OperationState = 'authorizing' | 'settled' | 'free' | 'unknown' | 'refused'; | ||
| export type ConnectSurface = 'cli' | 'mcp' | 'typescript' | 'python' | 'openai' | 'unknown'; | ||
| export interface OperationRecord { | ||
@@ -20,2 +21,4 @@ readonly schemaVersion: typeof OPERATION_SCHEMA_VERSION; | ||
| readonly reason: string | null; | ||
| readonly surface?: ConnectSurface; | ||
| readonly authorizationCreated?: boolean; | ||
| } | ||
@@ -22,0 +25,0 @@ export declare class StoreError extends Error { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,CAAC,MAAM,wBAAwB,GAAG,4BAAqC,CAAC;AAmC9E,MAAM,OAAO,UAAW,SAAQ,KAAK;IACd,IAAI;IAAzB,YAAqB,IAAY,EAAE,OAAgB;QACjD,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;oBADJ,IAAI;QAEvB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED;4CAC4C;AAC5C,MAAM,WAAW,GAAG,0BAA0B,CAAC;AAE/C,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,yBAAyB,EAAE,0FAA0F,CAAC,CAAC;IAC1K,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAa;IAC3C,OAAO,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACrF,CAAC;AAED,SAAS,aAAa,CAAC,GAAsB,EAAE,cAAsB;IACnE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,GAAG,oBAAoB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AAC3F,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,KAAc;IACjD,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9F,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAsB;IAC/C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/B,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9D,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,cAAsB,EAAE,GAAG,GAAsB,OAAO,CAAC,GAAG;IACxF,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAAC,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,CAAC;QAClD,OAAO,MAAM,EAAE,aAAa,KAAK,wBAAwB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACjF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAuB,EAAE,GAAG,GAAsB,OAAO,CAAC,GAAG;IAC1F,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACvB,aAAa,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;IACjE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG;IACjE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IACD,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,SAAS;QACtC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;QAClE,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACrG,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAgC,EAAE,GAAG,GAAsB,OAAO,CAAC,GAAG;IAChG,MAAM,SAAS,GAAG,OAAO,OAAO,EAAE,SAAS,KAAK,QAAQ,IAAI,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1I,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACpC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACvB,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,SAAS,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7E,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,GAAG,GAAsB,OAAO,CAAC,GAAG;IACjF,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAC5F,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,SAAS,OAAO,CAAC,EAAE,MAAM,CAAC,CAA4B,CAAC;IAC3H,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG;IACzE,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC;AAC7H,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG;IAC5E,MAAM,IAAI,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO;IAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,IAAI,UAAU,CAClB,qCAAqC,EACrC,mCAAmC,IAAI,CAAC,MAAM,kBAAkB,IAAI,8DAA8D,CACnI,CAAC;AACJ,CAAC;AAED;yBACyB;AACzB;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;IAClH,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,MAAM,MAAM,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,SAAS;QACzC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK;YAAE,SAAS;QAChE,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI;YAAE,SAAS;QAC5C,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;AAC1B,CAAC"} | ||
| {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"} |
@@ -1,3 +0,3 @@ | ||
| export declare const CLERVO_ROUTER_VERSION: '0.2.0'; | ||
| export declare const CLERVO_ROUTER_USER_AGENT: "@clervo/router/0.2.0"; | ||
| export declare const CLERVO_ROUTER_VERSION: '0.3.0'; | ||
| export declare const CLERVO_ROUTER_USER_AGENT: "@clervo/router/0.3.0"; | ||
| export declare const CLERVO_CONTRACT_VERSION: '2026-07-29.1'; |
+1
-1
@@ -1,4 +0,4 @@ | ||
| export const CLERVO_ROUTER_VERSION = '0.2.0'; | ||
| export const CLERVO_ROUTER_VERSION = '0.3.0'; | ||
| export const CLERVO_ROUTER_USER_AGENT = `@clervo/router/${CLERVO_ROUTER_VERSION}`; | ||
| export const CLERVO_CONTRACT_VERSION = '2026-07-29.1'; | ||
| //# sourceMappingURL=version.js.map |
+2
-2
| { | ||
| "name": "@clervo/router", | ||
| "version": "0.2.0", | ||
| "description": "Free-first Clervo CLI for x402 payments, receipts, replay, and local spend controls on Base.", | ||
| "version": "0.3.0", | ||
| "description": "Clervo Connect core and free-first CLI with one local wallet, x402 safety, usage, reconciliation, and OpenAI compatibility.", | ||
| "license": "MIT", | ||
@@ -6,0 +6,0 @@ "type": "module", |
+47
-1
@@ -57,3 +57,4 @@ # @clervo/router | ||
| This creates a wallet used only for Clervo payments and prints its recovery | ||
| This creates the one local wallet used by the Router CLI, MCP, the TypeScript | ||
| and Python SDKs, and the OpenAI-compatible proxy. It prints its recovery | ||
| phrase once. Write it down before continuing — it is the only way to recover the | ||
@@ -153,2 +154,47 @@ wallet, and `clervo wallet backup` will show it again only after you confirm. | ||
| ## Local usage | ||
| Usage is computed from durable operation records and server receipts under | ||
| `CLERVO_HOME`; it is not a separate counter and never invents revenue. | ||
| ``` | ||
| clervo usage | ||
| clervo usage --json | ||
| ``` | ||
| The report includes calls by surface and family, free versus paid, authorized | ||
| and settled amounts, route/model identity, replayed/refused outcomes, today's | ||
| spend, and the unresolved-operation count. | ||
| ## OpenAI-compatible clients | ||
| Start a loopback-only process: | ||
| ``` | ||
| clervo proxy | ||
| ``` | ||
| Point an ordinary OpenAI client at `http://127.0.0.1:8402/v1` and use any | ||
| placeholder API key its constructor requires. The placeholder and wallet key | ||
| are never sent to Clervo. Supported compatibility endpoints are | ||
| `GET /v1/models`, `POST /v1/chat/completions` (non-streaming and SSE), and | ||
| `POST /v1/embeddings`. The normalized upstream operation is synchronous, so | ||
| SSE begins after the verified result completes. | ||
| `/v1/responses`, image-generation and audio endpoints are not claimed because | ||
| the current normalized artifact contract cannot expose those OpenAI contracts | ||
| faithfully. | ||
| Auto-pay is disabled by default. Enable it only after reviewing the limits: | ||
| ``` | ||
| clervo limits | ||
| clervo proxy --auto-pay | ||
| ``` | ||
| Every proxy payment still uses the global limits and reconciliation freeze. A | ||
| canonical model ID is exact or the call fails; only a published alias may | ||
| route, and the actual model, operation, receipt and route remain visible in | ||
| `clervo` response metadata and `x-clervo-*` headers. | ||
| ## Configuration | ||
@@ -155,0 +201,0 @@ |
Network access
Supply chain riskThis module accesses the network.
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
276886
40.05%48
33.33%3115
32.95%228
25.27%41
20.59%33
83.33%