@code-yeongyu/senpi 2026.9.18 → 2026.9.19-2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +117 -0
- package/dist/bundle/chunks/{anthropic-messages-ZEJ3DPCP.js → anthropic-messages-WZCFP6BT.js} +1 -1
- package/dist/bundle/chunks/{app-server-command-ELSORC4D.js → app-server-command-QBJ4GPN7.js} +1 -1
- package/dist/bundle/chunks/bun-extension-importer-JQZRPNJH.js +10 -0
- package/dist/bundle/chunks/{chunk-Y6HDGVS5.js → chunk-34GCWLNV.js} +1 -1
- package/dist/bundle/chunks/{chunk-XJUVWITG.js → chunk-3FRTRCR6.js} +1 -1
- package/dist/bundle/chunks/chunk-5E5TLB76.js +8 -0
- package/dist/bundle/chunks/{chunk-AH72FRZ2.js → chunk-EHSDTQ6I.js} +13 -13
- package/dist/bundle/chunks/{chunk-VRAYXSST.js → chunk-FDLVINNY.js} +2 -2
- package/dist/bundle/chunks/{chunk-QNZ24YOQ.js → chunk-HGAX6JZ7.js} +3 -1
- package/dist/bundle/chunks/{chunk-QGBRSL64.js → chunk-HSH674C6.js} +1 -1
- package/dist/bundle/chunks/chunk-IUZUN32Z.js +13 -0
- package/dist/bundle/chunks/chunk-IXAUDPOK.js +2 -0
- package/dist/bundle/chunks/{chunk-NLOZDJQX.js → chunk-LF3XTYYF.js} +3 -3
- package/dist/bundle/chunks/{chunk-ANTGWIGI.js → chunk-MUC3MZTV.js} +1 -1
- package/dist/bundle/chunks/chunk-NQAVM5XL.js +2 -0
- package/dist/bundle/chunks/chunk-P7PWCGLJ.js +5 -0
- package/dist/bundle/chunks/{chunk-4C7LNOHI.js → chunk-PLZK7ABD.js} +1 -1
- package/dist/bundle/chunks/{chunk-CKNRCW35.js → chunk-RLRLQRI2.js} +1 -1
- package/dist/bundle/chunks/{chunk-7FXIHFZU.js → chunk-UAYBYTFN.js} +1 -1
- package/dist/bundle/chunks/{chunk-7A47FVQC.js → chunk-W4SRGDQ4.js} +3 -6
- package/dist/bundle/chunks/{chunk-QROWINIH.js → chunk-XK24AFYU.js} +1 -1
- package/dist/bundle/chunks/cli-main-MLJ2H637.js +3 -0
- package/dist/bundle/chunks/cursor-agent.js +38 -0
- package/dist/bundle/chunks/cursor.js +2 -0
- package/dist/bundle/chunks/devin-agent.js +5 -0
- package/dist/bundle/chunks/devin.js +75 -0
- package/dist/bundle/chunks/{help-fast-path-WQCATMI4.js → help-fast-path-RQDCLDQT.js} +1 -1
- package/dist/bundle/chunks/host-command-3LS772D5.js +2 -0
- package/dist/bundle/chunks/{host-lifecycle-EAXSS3F2.js → host-lifecycle-TA5XGUW5.js} +1 -1
- package/dist/bundle/chunks/host-lifecycle.js +20 -0
- package/dist/bundle/chunks/interactive-host-runtime-AITXUDCT.js +4 -0
- package/dist/bundle/chunks/interactive-mode-7C75IXNF.js +2 -0
- package/dist/bundle/chunks/{multi-session-host-OK6WMHB4.js → multi-session-host-2YCJKQOL.js} +1 -1
- package/dist/bundle/chunks/{openai-completions-2RS3VSPV.js → openai-completions-TOWYKX2U.js} +1 -1
- package/dist/bundle/chunks/{package-manager-cli-C2K4YRGI.js → package-manager-cli-4ANSELYT.js} +1 -1
- package/dist/bundle/chunks/{rotation-stream-536AQTIS.js → rotation-stream-KDLA7K6X.js} +1 -1
- package/dist/bundle/chunks/rpc-mode-OPFQIWFP.js +2 -0
- package/dist/bundle/chunks/{session-picker-BUHK3FCS.js → session-picker-DXCITGLS.js} +1 -1
- package/dist/bundle/chunks/session-worker.js +359 -346
- package/dist/bundle/chunks/{state-store-OYDXEIXU.js → state-store-HBBOD7I5.js} +1 -1
- package/dist/bundle/cli.js +1 -1
- package/dist/bundle/index.js +1 -1
- package/dist/bundle/rpc-entry.js +1 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +2 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/deferred-commands.d.ts +7 -0
- package/dist/cli/deferred-commands.d.ts.map +1 -1
- package/dist/cli/deferred-commands.js +12 -0
- package/dist/cli/deferred-commands.js.map +1 -1
- package/dist/cli/host-command.d.ts +21 -0
- package/dist/cli/host-command.d.ts.map +1 -0
- package/dist/cli/host-command.js +148 -0
- package/dist/cli/host-command.js.map +1 -0
- package/dist/core/agent-session.d.ts +4 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +57 -33
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/extensions/builtin/prompt-preset/kimi-k2-7.d.ts +1 -1
- package/dist/core/extensions/builtin/prompt-preset/kimi-k2-7.d.ts.map +1 -1
- package/dist/core/extensions/builtin/prompt-preset/kimi-k2-7.js +2 -17
- package/dist/core/extensions/builtin/prompt-preset/kimi-k2-7.js.map +1 -1
- package/dist/core/extensions/builtin/prompt-preset/kimi-k2-8.d.ts +3 -0
- package/dist/core/extensions/builtin/prompt-preset/kimi-k2-8.d.ts.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/kimi-k2-8.js +5 -0
- package/dist/core/extensions/builtin/prompt-preset/kimi-k2-8.js.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/kimi-k2-code.d.ts +3 -0
- package/dist/core/extensions/builtin/prompt-preset/kimi-k2-code.d.ts.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/kimi-k2-code.js +28 -0
- package/dist/core/extensions/builtin/prompt-preset/kimi-k2-code.js.map +1 -0
- package/dist/core/extensions/builtin/prompt-preset/presets.d.ts.map +1 -1
- package/dist/core/extensions/builtin/prompt-preset/presets.js +21 -1
- package/dist/core/extensions/builtin/prompt-preset/presets.js.map +1 -1
- package/dist/core/extensions/builtin/prompt-preset/settings.d.ts +1 -1
- package/dist/core/extensions/builtin/prompt-preset/settings.d.ts.map +1 -1
- package/dist/core/extensions/builtin/prompt-preset/settings.js +1 -0
- package/dist/core/extensions/builtin/prompt-preset/settings.js.map +1 -1
- package/dist/core/extensions/bun-extension-importer.d.ts.map +1 -1
- package/dist/core/extensions/bun-extension-importer.js +31 -5
- package/dist/core/extensions/bun-extension-importer.js.map +1 -1
- package/dist/core/extensions/bun-extension-registry.d.ts +9 -0
- package/dist/core/extensions/bun-extension-registry.d.ts.map +1 -1
- package/dist/core/extensions/bun-extension-registry.js +72 -16
- package/dist/core/extensions/bun-extension-registry.js.map +1 -1
- package/dist/core/extensions/extension-runtime-module.d.ts +5 -0
- package/dist/core/extensions/extension-runtime-module.d.ts.map +1 -0
- package/dist/core/extensions/extension-runtime-module.js +6 -0
- package/dist/core/extensions/extension-runtime-module.js.map +1 -0
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +1 -0
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +7 -1
- package/dist/main.js.map +1 -1
- package/dist/modes/index.d.ts +3 -0
- package/dist/modes/index.d.ts.map +1 -1
- package/dist/modes/index.js +5 -0
- package/dist/modes/index.js.map +1 -1
- package/dist/modes/rpc/host-daemon-env.d.ts +18 -0
- package/dist/modes/rpc/host-daemon-env.d.ts.map +1 -0
- package/dist/modes/rpc/host-daemon-env.js +95 -0
- package/dist/modes/rpc/host-daemon-env.js.map +1 -0
- package/dist/modes/rpc/host-decision.d.ts +1 -1
- package/dist/modes/rpc/host-decision.d.ts.map +1 -1
- package/dist/modes/rpc/host-decision.js +2 -0
- package/dist/modes/rpc/host-decision.js.map +1 -1
- package/dist/modes/rpc/host-ensure.js +8 -1
- package/dist/modes/rpc/host-ensure.js.map +1 -1
- package/dist/modes/rpc/host-launch-spec.d.ts +43 -0
- package/dist/modes/rpc/host-launch-spec.d.ts.map +1 -0
- package/dist/modes/rpc/host-launch-spec.js +183 -0
- package/dist/modes/rpc/host-launch-spec.js.map +1 -0
- package/dist/modes/rpc/host-launch.d.ts +3 -1
- package/dist/modes/rpc/host-launch.d.ts.map +1 -1
- package/dist/modes/rpc/host-launch.js +24 -5
- package/dist/modes/rpc/host-launch.js.map +1 -1
- package/dist/modes/rpc/host-lifecycle.d.ts.map +1 -1
- package/dist/modes/rpc/host-lifecycle.js +36 -2
- package/dist/modes/rpc/host-lifecycle.js.map +1 -1
- package/dist/modes/rpc/host-probe.d.ts +7 -0
- package/dist/modes/rpc/host-probe.d.ts.map +1 -1
- package/dist/modes/rpc/host-probe.js +15 -4
- package/dist/modes/rpc/host-probe.js.map +1 -1
- package/dist/modes/rpc/host-process-metrics.d.ts +10 -0
- package/dist/modes/rpc/host-process-metrics.d.ts.map +1 -0
- package/dist/modes/rpc/host-process-metrics.js +83 -0
- package/dist/modes/rpc/host-process-metrics.js.map +1 -0
- package/dist/modes/rpc/host-runner.d.ts +38 -0
- package/dist/modes/rpc/host-runner.d.ts.map +1 -0
- package/dist/modes/rpc/host-runner.js +195 -0
- package/dist/modes/rpc/host-runner.js.map +1 -0
- package/dist/modes/rpc/host-status.d.ts +58 -0
- package/dist/modes/rpc/host-status.d.ts.map +1 -0
- package/dist/modes/rpc/host-status.js +117 -0
- package/dist/modes/rpc/host-status.js.map +1 -0
- package/docs/extensions.md +35 -0
- package/docs/providers.md +30 -0
- package/docs/rpc.md +177 -15
- package/docs/settings.md +1 -1
- package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +84 -0
- package/node_modules/@code-yeongyu/senpi-codemode/package.json +4 -4
- package/node_modules/@earendil-works/pi-agent-core/package.json +3 -3
- package/node_modules/@earendil-works/pi-ai/README.md +9 -0
- package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +2 -2
- package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +2 -2
- package/node_modules/@earendil-works/pi-ai/dist/models.generated.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/all.d.ts +150 -7
- package/node_modules/@earendil-works/pi-ai/dist/providers/all.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/all.js +17 -3
- package/node_modules/@earendil-works/pi-ai/dist/providers/all.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/bai-stream.d.ts +13 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/bai-stream.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/bai-stream.js +55 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/bai-stream.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/bai.d.ts +11 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/bai.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/bai.js +94 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/bai.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/bai.models.d.ts +4 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/bai.models.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/bai.models.js +6 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/bai.models.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/bai.json +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/mistral.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/opengateway.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/venice.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.models.d.ts +142 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.models.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.models.js +156 -3
- package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.models.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/package.json +2 -2
- package/node_modules/@earendil-works/pi-pty/package.json +1 -1
- package/node_modules/@earendil-works/pi-telemetry/package.json +1 -1
- package/node_modules/@earendil-works/pi-tui/package.json +1 -1
- package/package.json +7 -7
- package/dist/bundle/chunks/bun-extension-importer-SW7XGNSG.js +0 -10
- package/dist/bundle/chunks/chunk-AGXZF7RF.js +0 -2
- package/dist/bundle/chunks/chunk-F5JZNLDE.js +0 -8
- package/dist/bundle/chunks/cli-main-4TWJXJKM.js +0 -3
- package/dist/bundle/chunks/interactive-host-runtime-EDXG6A5L.js +0 -4
- package/dist/bundle/chunks/interactive-mode-PD7S7KFZ.js +0 -2
- package/dist/bundle/chunks/rpc-mode-TIJFUWXS.js +0 -2
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/kimi-coding.json +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url); { const __piWorkerThreads = require("node:worker_threads"); if (typeof __piWorkerThreads.markAsUncloneable !== "function") { __piWorkerThreads.markAsUncloneable = () => {}; } }
|
|
2
|
+
function base64urlEncode(bytes){let binary="";for(let byte of bytes)binary+=String.fromCharCode(byte);return btoa(binary).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}async function generatePKCE(){let verifierBytes=new Uint8Array(32);crypto.getRandomValues(verifierBytes);let verifier=base64urlEncode(verifierBytes),data=new TextEncoder().encode(verifier),hashBuffer=await crypto.subtle.digest("SHA-256",data),challenge=base64urlEncode(new Uint8Array(hashBuffer));return{verifier,challenge}}var CURSOR_LOGIN_URL="https://cursor.com/loginDeepControl",CURSOR_POLL_URL="https://api2.cursor.sh/auth/poll",CURSOR_REFRESH_URL="https://api2.cursor.sh/auth/exchange_user_api_key",POLL_INITIAL_INTERVAL_MS=1e3,POLL_MAX_INTERVAL_MS=1e4,POLL_BACKOFF_MULTIPLIER=1.2,POLL_MAX_ATTEMPTS=150,POLL_MAX_CONSECUTIVE_TRANSIENT_FAILURES=3,REFRESH_SKEW_MS=300*1e3,DEFAULT_TOKEN_LIFETIME_MS=3600*1e3,CANCEL_MESSAGE="Login cancelled";function requiredString(body,field){let value=body[field];if(typeof value!="string"||value.length===0)throw new Error(`Invalid Cursor OAuth response field: ${field}`);return value}function describeFailure(status,body){let detail=[body?.error,body?.error_description,body?.message].filter(value=>typeof value=="string"&&value.length>0).join(": ");return`HTTP ${status}${detail?`: ${detail}`:""}`}async function readJsonBody(response){try{let parsed=await response.json();return parsed&&typeof parsed=="object"&&!Array.isArray(parsed)?parsed:void 0}catch{return}}function decodeJwtPayload(token){let parts=token.split("."),payload=parts.length===3?parts[1]:void 0;if(payload)try{let normalized=payload.replace(/-/g,"+").replace(/_/g,"/"),padded=normalized+"=".repeat((4-normalized.length%4)%4),parsed=JSON.parse(atob(padded));return parsed&&typeof parsed=="object"&&!Array.isArray(parsed)?parsed:void 0}catch{return}}function accessTokenExpiry(accessToken,now){let exp=decodeJwtPayload(accessToken)?.exp;return typeof exp=="number"&&Number.isFinite(exp)&&exp*1e3>now?exp*1e3-REFRESH_SKEW_MS:now+DEFAULT_TOKEN_LIFETIME_MS-REFRESH_SKEW_MS}function credentialFromTokens(accessToken,refreshToken){return{type:"oauth",access:accessToken,refresh:refreshToken,expires:accessTokenExpiry(accessToken,Date.now())}}function abortableSleep(ms,signal){return new Promise((resolve,reject)=>{if(signal.aborted){reject(new Error(CANCEL_MESSAGE));return}let onAbort=()=>{clearTimeout(timeout),reject(new Error(CANCEL_MESSAGE))},timeout=setTimeout(()=>{signal.removeEventListener("abort",onAbort),resolve()},ms);signal.addEventListener("abort",onAbort,{once:!0})})}function buildCursorLoginUrl(challenge,uuid){let url=new URL(CURSOR_LOGIN_URL);return url.searchParams.set("challenge",challenge),url.searchParams.set("uuid",uuid),url.searchParams.set("mode","login"),url.searchParams.set("redirectTarget","cli"),url.href}async function pollForTokens(uuid,verifier,signal){let pollUrl=new URL(CURSOR_POLL_URL);pollUrl.searchParams.set("uuid",uuid),pollUrl.searchParams.set("verifier",verifier);let intervalMs=POLL_INITIAL_INTERVAL_MS,consecutiveTransientFailures=0;for(let attempt=0;attempt<POLL_MAX_ATTEMPTS;attempt++){await abortableSleep(intervalMs,signal),intervalMs=Math.min(intervalMs*POLL_BACKOFF_MULTIPLIER,POLL_MAX_INTERVAL_MS);let response;try{response=await fetch(pollUrl.href,{headers:{Accept:"application/json"},signal})}catch(error){if(signal.aborted)throw new Error(CANCEL_MESSAGE);if(consecutiveTransientFailures++,consecutiveTransientFailures>=POLL_MAX_CONSECUTIVE_TRANSIENT_FAILURES)throw new Error(`Cursor login polling failed after repeated network errors: ${error instanceof Error?error.message:String(error)}`);continue}if(response.status===404){consecutiveTransientFailures=0;continue}if(response.ok){let body=await readJsonBody(response)??{};return credentialFromTokens(requiredString(body,"accessToken"),requiredString(body,"refreshToken"))}if(response.status===400||response.status===401||response.status===403||response.status===410){let body=await readJsonBody(response);throw new Error(`Cursor login was rejected (${describeFailure(response.status,body)})`)}if(response.status!==429&&(consecutiveTransientFailures++,consecutiveTransientFailures>=POLL_MAX_CONSECUTIVE_TRANSIENT_FAILURES)){let body=await readJsonBody(response);throw new Error(`Cursor login polling failed (${describeFailure(response.status,body)})`)}}throw new Error("Cursor login timed out waiting for browser approval")}async function loginCursor(interaction){interaction.signal.throwIfAborted();let{verifier,challenge}=await generatePKCE(),uuid=crypto.randomUUID();return interaction.notify({type:"auth_url",url:buildCursorLoginUrl(challenge,uuid),instructions:"Approve the login request in your browser to connect your Cursor account."}),interaction.notify({type:"progress",message:"Waiting for browser authentication..."}),pollForTokens(uuid,verifier,interaction.signal)}async function refreshCursorCredential(credential,signal){let refreshToken=credential.refresh;if(typeof refreshToken!="string"||refreshToken.length===0)throw new Error("Cursor token refresh failed: no refresh token stored; run login again");let response;try{response=await fetch(CURSOR_REFRESH_URL,{method:"POST",headers:{Authorization:`Bearer ${refreshToken}`,"Content-Type":"application/json",Accept:"application/json"},body:"{}",signal})}catch(error){throw signal.aborted?new Error("Cursor token refresh cancelled"):error}let body=await readJsonBody(response);if(!response.ok)throw new Error(`Cursor token refresh failed (${describeFailure(response.status,body)})`);let access=requiredString(body??{},"accessToken"),rotated=body?.refreshToken;return{type:"oauth",access,refresh:typeof rotated=="string"&&rotated.length>0?rotated:refreshToken,expires:accessTokenExpiry(access,Date.now())}}var cursorOAuth={name:"Cursor (Pro/Ultra/Teams)",isSubscription:!0,loginLabel:"Sign in with Cursor",login:loginCursor,refresh:refreshCursorCredential,async toAuth(credential){return{apiKey:credential.access}}};export{buildCursorLoginUrl,cursorOAuth};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url); { const __piWorkerThreads = require("node:worker_threads"); if (typeof __piWorkerThreads.markAsUncloneable !== "function") { __piWorkerThreads.markAsUncloneable = () => {}; } }
|
|
2
|
+
var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __commonJS=(cb,mod)=>function(){try{return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports}catch(e){throw mod=0,e}};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod));var require_options=__commonJS({"node_modules/partial-json/dist/options.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.Allow=exports.ALL=exports.COLLECTION=exports.ATOM=exports.SPECIAL=exports.INF=exports._INFINITY=exports.INFINITY=exports.NAN=exports.BOOL=exports.NULL=exports.OBJ=exports.ARR=exports.NUM=exports.STR=void 0;exports.STR=1;exports.NUM=2;exports.ARR=4;exports.OBJ=8;exports.NULL=16;exports.BOOL=32;exports.NAN=64;exports.INFINITY=128;exports._INFINITY=256;exports.INF=exports.INFINITY|exports._INFINITY;exports.SPECIAL=exports.NULL|exports.BOOL|exports.INF|exports.NAN;exports.ATOM=exports.STR|exports.NUM|exports.SPECIAL;exports.COLLECTION=exports.ARR|exports.OBJ;exports.ALL=exports.ATOM|exports.COLLECTION;exports.Allow={STR:exports.STR,NUM:exports.NUM,ARR:exports.ARR,OBJ:exports.OBJ,NULL:exports.NULL,BOOL:exports.BOOL,NAN:exports.NAN,INFINITY:exports.INFINITY,_INFINITY:exports._INFINITY,INF:exports.INF,SPECIAL:exports.SPECIAL,ATOM:exports.ATOM,COLLECTION:exports.COLLECTION,ALL:exports.ALL};exports.default=exports.Allow}});var require_dist=__commonJS({"node_modules/partial-json/dist/index.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m,k,k2){k2===void 0&&(k2=k),o[k2]=m[k]})),__exportStar=exports&&exports.__exportStar||function(m,exports2){for(var p in m)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m,p)};Object.defineProperty(exports,"__esModule",{value:!0});exports.Allow=exports.MalformedJSON=exports.PartialJSON=exports.parseJSON=exports.parse=void 0;var options_1=require_options();Object.defineProperty(exports,"Allow",{enumerable:!0,get:function(){return options_1.Allow}});__exportStar(require_options(),exports);var PartialJSON=class extends Error{};exports.PartialJSON=PartialJSON;var MalformedJSON=class extends Error{};exports.MalformedJSON=MalformedJSON;function parseJSON(jsonString,allowPartial=options_1.Allow.ALL){if(typeof jsonString!="string")throw new TypeError(`expecting str, got ${typeof jsonString}`);if(!jsonString.trim())throw new Error(`${jsonString} is empty`);return _parseJSON(jsonString.trim(),allowPartial)}exports.parseJSON=parseJSON;var _parseJSON=(jsonString,allow)=>{let length=jsonString.length,index=0,markPartialJSON=msg=>{throw new PartialJSON(`${msg} at position ${index}`)},throwMalformedError=msg=>{throw new MalformedJSON(`${msg} at position ${index}`)},parseAny=()=>(skipBlank(),index>=length&&markPartialJSON("Unexpected end of input"),jsonString[index]==='"'?parseStr():jsonString[index]==="{"?parseObj():jsonString[index]==="["?parseArr():jsonString.substring(index,index+4)==="null"||options_1.Allow.NULL&allow&&length-index<4&&"null".startsWith(jsonString.substring(index))?(index+=4,null):jsonString.substring(index,index+4)==="true"||options_1.Allow.BOOL&allow&&length-index<4&&"true".startsWith(jsonString.substring(index))?(index+=4,!0):jsonString.substring(index,index+5)==="false"||options_1.Allow.BOOL&allow&&length-index<5&&"false".startsWith(jsonString.substring(index))?(index+=5,!1):jsonString.substring(index,index+8)==="Infinity"||options_1.Allow.INFINITY&allow&&length-index<8&&"Infinity".startsWith(jsonString.substring(index))?(index+=8,1/0):jsonString.substring(index,index+9)==="-Infinity"||options_1.Allow._INFINITY&allow&&1<length-index&&length-index<9&&"-Infinity".startsWith(jsonString.substring(index))?(index+=9,-1/0):jsonString.substring(index,index+3)==="NaN"||options_1.Allow.NAN&allow&&length-index<3&&"NaN".startsWith(jsonString.substring(index))?(index+=3,NaN):parseNum()),parseStr=()=>{let start=index,escape=!1;for(index++;index<length&&(jsonString[index]!=='"'||escape&&jsonString[index-1]==="\\");)escape=jsonString[index]==="\\"?!escape:!1,index++;if(jsonString.charAt(index)=='"')try{return JSON.parse(jsonString.substring(start,++index-Number(escape)))}catch(e){throwMalformedError(String(e))}else if(options_1.Allow.STR&allow)try{return JSON.parse(jsonString.substring(start,index-Number(escape))+'"')}catch{return JSON.parse(jsonString.substring(start,jsonString.lastIndexOf("\\"))+'"')}markPartialJSON("Unterminated string literal")},parseObj=()=>{index++,skipBlank();let obj={};try{for(;jsonString[index]!=="}";){if(skipBlank(),index>=length&&options_1.Allow.OBJ&allow)return obj;let key=parseStr();skipBlank(),index++;try{let value=parseAny();obj[key]=value}catch(e){if(options_1.Allow.OBJ&allow)return obj;throw e}skipBlank(),jsonString[index]===","&&index++}}catch{if(options_1.Allow.OBJ&allow)return obj;markPartialJSON("Expected '}' at end of object")}return index++,obj},parseArr=()=>{index++;let arr=[];try{for(;jsonString[index]!=="]";)arr.push(parseAny()),skipBlank(),jsonString[index]===","&&index++}catch{if(options_1.Allow.ARR&allow)return arr;markPartialJSON("Expected ']' at end of array")}return index++,arr},parseNum=()=>{if(index===0){jsonString==="-"&&throwMalformedError("Not sure what '-' is");try{return JSON.parse(jsonString)}catch(e){if(options_1.Allow.NUM&allow)try{return JSON.parse(jsonString.substring(0,jsonString.lastIndexOf("e")))}catch{}throwMalformedError(String(e))}}let start=index;for(jsonString[index]==="-"&&index++;jsonString[index]&&",]}".indexOf(jsonString[index])===-1;)index++;index==length&&!(options_1.Allow.NUM&allow)&&markPartialJSON("Unterminated number literal");try{return JSON.parse(jsonString.substring(start,index))}catch{jsonString.substring(start,index)==="-"&&markPartialJSON("Not sure what '-' is");try{return JSON.parse(jsonString.substring(start,jsonString.lastIndexOf("e")))}catch(e2){throwMalformedError(String(e2))}}},skipBlank=()=>{for(;index<length&&`
|
|
3
|
+
\r `.includes(jsonString[index]);)index++};return parseAny()},parse=parseJSON;exports.parse=parse}});var FifoQueue=class{constructor(){this.incoming=[],this.outgoing=[]}get length(){return this.incoming.length+this.outgoing.length}enqueue(value){this.incoming.push(value)}dequeue(){if(this.outgoing.length===0)for(;this.incoming.length>0;)this.outgoing.push(this.incoming.pop());return this.outgoing.pop()}},EventStream=class{#queue;#queueHead;#failed;#error;#localWorkDepth;constructor(isComplete,extractResult){this.#queue=[],this.#queueHead=0,this.waiting=new FifoQueue,this.done=!1,this.#failed=!1,this.#localWorkDepth=0,this.isComplete=isComplete,this.extractResult=extractResult,this.finalResultPromise=new Promise((resolve,reject)=>{this.resolveFinalResult=resolve,this.rejectFinalResult=reject}),this.finalResultPromise.catch(()=>{})}get queue(){return this.#queue.slice(this.#queueHead)}#enqueue(event){this.#queue.push(event)}#dequeue(){let event=this.#queue[this.#queueHead];if(event===void 0)throw new Error("EventStream queue underflow");return this.#queueHead++,this.#queueHead>1024&&this.#queueHead*2>=this.#queue.length&&(this.#queue=this.#queue.slice(this.#queueHead),this.#queueHead=0),event}push(event){if(this.done)return;this.isComplete(event)&&(this.done=!0,this.resolveFinalResult(this.extractResult(event)));let waiter=this.waiting.dequeue();waiter?waiter.resolve({value:event,done:!1}):this.#enqueue(event)}end(result){for(this.done=!0,result!==void 0&&this.resolveFinalResult(result);this.waiting.length>0;){let waiter=this.waiting.dequeue();waiter&&waiter.resolve({value:void 0,done:!0})}}fail(error){if(!this.done)for(this.done=!0,this.#failed=!0,this.#error=error,this.rejectFinalResult(error);this.waiting.length>0;){let waiter=this.waiting.dequeue();waiter&&waiter.reject(error)}}[Symbol.asyncIterator](){return{next:()=>this.#queueHead<this.#queue.length?Promise.resolve({value:this.#dequeue(),done:!1}):this.#failed?Promise.reject(this.#error):this.done?Promise.resolve({value:void 0,done:!0}):new Promise((resolve,reject)=>this.waiting.enqueue({resolve,reject}))}}result(){return this.finalResultPromise}async trackLocalWork(work){this.#localWorkDepth++;try{return await work}finally{this.#localWorkDepth--}}hasPendingLocalWork(){return this.#localWorkDepth>0}},AssistantMessageEventStream=class extends EventStream{constructor(){super(event=>event.type==="done"||event.type==="error",event=>{if(event.type==="done")return event.message;if(event.type==="error")return event.error;throw new Error("Unexpected event type for final result")})}};function protoCamelCase(snakeCase){let capNext=!1,b=[];for(let i=0;i<snakeCase.length;i++){let c=snakeCase.charAt(i);switch(c){case"_":capNext=!0;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":b.push(c),capNext=!1;break;default:capNext&&(capNext=!1,c=c.toUpperCase()),b.push(c);break}}return b.join("")}var reservedObjectProperties=new Set(["constructor","toString","toJSON","valueOf"]);function safeObjectProperty(name){return reservedObjectProperties.has(name)?name+"$":name}function varint64read(){let buf=this.buf,pos=this.pos,lo=0,hi=0;for(let shift=0;shift<28;shift+=7){let b=buf[pos++];if(lo|=(b&127)<<shift,(b&128)==0){this.pos=pos,this.assertBounds(),this.varint64Lo=lo,this.varint64Hi=hi;return}}let middleByte=buf[pos++];if(lo|=(middleByte&15)<<28,hi=(middleByte&112)>>4,(middleByte&128)==0){this.pos=pos,this.assertBounds(),this.varint64Lo=lo,this.varint64Hi=hi;return}for(let shift=3;shift<=31;shift+=7){let b=buf[pos++];if(hi|=(b&127)<<shift,(b&128)==0){this.pos=pos,this.assertBounds(),this.varint64Lo=lo,this.varint64Hi=hi;return}}throw new Error("invalid varint")}var TWO_PWR_32_DBL=4294967296;function int64FromString(dec){let minus=dec[0]==="-";minus&&(dec=dec.slice(1));let base=1e6,lowBits=0,highBits=0;function add1e6digit(begin,end){let digit1e6=Number(dec.slice(begin,end));highBits*=base,lowBits=lowBits*base+digit1e6,lowBits>=TWO_PWR_32_DBL&&(highBits=highBits+(lowBits/TWO_PWR_32_DBL|0),lowBits=lowBits%TWO_PWR_32_DBL)}return add1e6digit(-24,-18),add1e6digit(-18,-12),add1e6digit(-12,-6),add1e6digit(-6),minus?negate(lowBits,highBits):newBits(lowBits,highBits)}function int64ToString(lo,hi){let bits=newBits(lo,hi),negative=bits.hi&2147483648;negative&&(bits=negate(bits.lo,bits.hi));let result=uInt64ToString(bits.lo,bits.hi);return negative?"-"+result:result}function uInt64ToString(lo,hi){if({lo,hi}=toUnsigned(lo,hi),hi<=2097151)return String(TWO_PWR_32_DBL*hi+lo);let low=lo&16777215,mid=(lo>>>24|hi<<8)&16777215,high=hi>>16&65535,digitA=low+mid*6777216+high*6710656,digitB=mid+high*8147497,digitC=high*2,base=1e7;return digitA>=base&&(digitB+=Math.floor(digitA/base),digitA%=base),digitB>=base&&(digitC+=Math.floor(digitB/base),digitB%=base),digitC.toString()+decimalFrom1e7WithLeadingZeros(digitB)+decimalFrom1e7WithLeadingZeros(digitA)}function toUnsigned(lo,hi){return{lo:lo>>>0,hi:hi>>>0}}function newBits(lo,hi){return{lo:lo|0,hi:hi|0}}function negate(lowBits,highBits){return highBits=~highBits,lowBits?lowBits=~lowBits+1:highBits+=1,newBits(lowBits,highBits)}var decimalFrom1e7WithLeadingZeros=digit1e7=>{let partial=String(digit1e7);return"0000000".slice(partial.length)+partial};function varint32write(value,bytes){if(value>>>0<128){bytes.push(value);return}if(value>=0){for(;value>127;)bytes.push(value&127|128),value=value>>>7;bytes.push(value)}else{for(let i=0;i<9;i++)bytes.push(value&127|128),value=value>>7;bytes.push(1)}}function varint32read(){let b=this.buf[this.pos++];if((b&128)===0)return this.assertBounds(),b;let result=b&127;if(b=this.buf[this.pos++],result|=(b&127)<<7,(b&128)===0)return this.assertBounds(),result;if(b=this.buf[this.pos++],result|=(b&127)<<14,(b&128)===0)return this.assertBounds(),result;if(b=this.buf[this.pos++],result|=(b&127)<<21,(b&128)===0)return this.assertBounds(),result;b=this.buf[this.pos++],result|=(b&15)<<28;for(let readBytes=5;(b&128)!==0&&readBytes<10;readBytes++)b=this.buf[this.pos++];if((b&128)!==0)throw new Error("invalid varint");return this.assertBounds(),result>>>0}var protoInt64=makeInt64Support();function makeInt64Support(){let dv=new DataView(new ArrayBuffer(8));if(typeof BigInt=="function"&&typeof dv.getBigInt64=="function"&&typeof dv.getBigUint64=="function"&&typeof dv.setBigInt64=="function"&&typeof dv.setBigUint64=="function"&&(!!globalThis.Deno||!!globalThis.Bun||typeof process!="object"||typeof process.env!="object"||process.env.BUF_BIGINT_DISABLE!=="1")){let MIN=BigInt("-9223372036854775808"),MAX=BigInt("9223372036854775807"),UMIN=BigInt("0"),UMAX=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(value){let bi=typeof value=="bigint"?value:BigInt(value);if(bi>MAX||bi<MIN)throw new Error(`invalid int64: ${value}`);return bi},uParse(value){let bi=typeof value=="bigint"?value:BigInt(value);if(bi>UMAX||bi<UMIN)throw new Error(`invalid uint64: ${value}`);return bi},enc(value){return dv.setBigInt64(0,this.parse(value),!0),{lo:dv.getInt32(0,!0),hi:dv.getInt32(4,!0)}},uEnc(value){return dv.setBigInt64(0,this.uParse(value),!0),{lo:dv.getInt32(0,!0),hi:dv.getInt32(4,!0)}},dec(lo,hi){return dv.setInt32(0,lo,!0),dv.setInt32(4,hi,!0),dv.getBigInt64(0,!0)},uDec(lo,hi){return dv.setInt32(0,lo,!0),dv.setInt32(4,hi,!0),dv.getBigUint64(0,!0)}}}return{zero:"0",supported:!1,parse(value){return typeof value!="string"&&(value=value.toString()),assertInt64String(value),value},uParse(value){return typeof value!="string"&&(value=value.toString()),assertUInt64String(value),value},enc(value){return typeof value!="string"&&(value=value.toString()),assertInt64String(value),int64FromString(value)},uEnc(value){return typeof value!="string"&&(value=value.toString()),assertUInt64String(value),int64FromString(value)},dec(lo,hi){return int64ToString(lo,hi)},uDec(lo,hi){return uInt64ToString(lo,hi)}}}function assertInt64String(value){if(!/^-?[0-9]+$/.test(value))throw new Error("invalid int64: "+value)}function assertUInt64String(value){if(!/^[0-9]+$/.test(value))throw new Error("invalid uint64: "+value)}var ScalarType;(function(ScalarType2){ScalarType2[ScalarType2.DOUBLE=1]="DOUBLE",ScalarType2[ScalarType2.FLOAT=2]="FLOAT",ScalarType2[ScalarType2.INT64=3]="INT64",ScalarType2[ScalarType2.UINT64=4]="UINT64",ScalarType2[ScalarType2.INT32=5]="INT32",ScalarType2[ScalarType2.FIXED64=6]="FIXED64",ScalarType2[ScalarType2.FIXED32=7]="FIXED32",ScalarType2[ScalarType2.BOOL=8]="BOOL",ScalarType2[ScalarType2.STRING=9]="STRING",ScalarType2[ScalarType2.BYTES=12]="BYTES",ScalarType2[ScalarType2.UINT32=13]="UINT32",ScalarType2[ScalarType2.SFIXED32=15]="SFIXED32",ScalarType2[ScalarType2.SFIXED64=16]="SFIXED64",ScalarType2[ScalarType2.SINT32=17]="SINT32",ScalarType2[ScalarType2.SINT64=18]="SINT64"})(ScalarType||(ScalarType={}));function scalarZeroValue(type,longAsString){switch(type){case ScalarType.STRING:return"";case ScalarType.BOOL:return!1;case ScalarType.DOUBLE:case ScalarType.FLOAT:return 0;case ScalarType.INT64:case ScalarType.UINT64:case ScalarType.SFIXED64:case ScalarType.FIXED64:case ScalarType.SINT64:return longAsString?"0":protoInt64.zero;case ScalarType.BYTES:return new Uint8Array(0);default:return 0}}function unsafeIsSetExplicit(target,localName){return Object.prototype.hasOwnProperty.call(target,localName)&&target[localName]!==void 0}function restoreJsonNames(message){for(let f of message.field)unsafeIsSetExplicit(f,"jsonName")||(f.jsonName=protoCamelCase(f.name));message.nestedType.forEach(restoreJsonNames)}function parseTextFormatEnumValue(descEnum,value){let enumValue=descEnum.values.find(v=>v.name===value);if(!enumValue)throw new Error(`cannot parse ${descEnum} default value: ${value}`);return enumValue.number}function parseTextFormatScalarValue(type,value){switch(type){case ScalarType.STRING:return value;case ScalarType.BYTES:{let u=unescapeBytesDefaultValue(value);if(u===!1)throw new Error(`cannot parse ${ScalarType[type]} default value: ${value}`);return u}case ScalarType.INT64:case ScalarType.SFIXED64:case ScalarType.SINT64:return protoInt64.parse(value);case ScalarType.UINT64:case ScalarType.FIXED64:return protoInt64.uParse(value);case ScalarType.DOUBLE:case ScalarType.FLOAT:switch(value){case"inf":return Number.POSITIVE_INFINITY;case"-inf":return Number.NEGATIVE_INFINITY;case"nan":return Number.NaN;default:return parseFloat(value)}case ScalarType.BOOL:return value==="true";case ScalarType.INT32:case ScalarType.UINT32:case ScalarType.SINT32:case ScalarType.FIXED32:case ScalarType.SFIXED32:return parseInt(value,10)}}function unescapeBytesDefaultValue(str){let b=[],input={tail:str,c:"",next(){return this.tail.length==0?!1:(this.c=this.tail[0],this.tail=this.tail.substring(1),!0)},take(n){if(this.tail.length>=n){let r=this.tail.substring(0,n);return this.tail=this.tail.substring(n),r}return!1}};for(;input.next();)switch(input.c){case"\\":if(input.next())switch(input.c){case"\\":b.push(input.c.charCodeAt(0));break;case"b":b.push(8);break;case"f":b.push(12);break;case"n":b.push(10);break;case"r":b.push(13);break;case"t":b.push(9);break;case"v":b.push(11);break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":{let s=input.c,t=input.take(2);if(t===!1)return!1;let n=parseInt(s+t,8);if(Number.isNaN(n))return!1;b.push(n);break}case"x":{let s=input.c,t=input.take(2);if(t===!1)return!1;let n=parseInt(s+t,16);if(Number.isNaN(n))return!1;b.push(n);break}case"u":{let s=input.c,t=input.take(4);if(t===!1)return!1;let n=parseInt(s+t,16);if(Number.isNaN(n))return!1;let chunk=new Uint8Array(4);new DataView(chunk.buffer).setInt32(0,n,!0),b.push(chunk[0],chunk[1],chunk[2],chunk[3]);break}case"U":{let s=input.c,t=input.take(8);if(t===!1)return!1;let tc=protoInt64.uEnc(s+t),chunk=new Uint8Array(8),view=new DataView(chunk.buffer);view.setInt32(0,tc.lo,!0),view.setInt32(4,tc.hi,!0),b.push(chunk[0],chunk[1],chunk[2],chunk[3],chunk[4],chunk[5],chunk[6],chunk[7]);break}}break;default:b.push(input.c.charCodeAt(0))}return new Uint8Array(b)}function*nestedTypes(desc){switch(desc.kind){case"file":for(let message of desc.messages)yield message,yield*nestedTypes(message);yield*desc.enums,yield*desc.services,yield*desc.extensions;break;case"message":for(let message of desc.nestedMessages)yield message,yield*nestedTypes(message);yield*desc.nestedEnums,yield*desc.nestedExtensions;break}}function createFileRegistry(...args){let registry=createBaseRegistry();if(!args.length)return registry;if("$typeName"in args[0]&&args[0].$typeName=="google.protobuf.FileDescriptorSet"){for(let file of args[0].file)addFile(file,registry);return registry}if("$typeName"in args[0]){let recurseDeps=function(file){let deps=[];for(let protoFileName of file.dependency){if(registry.getFile(protoFileName)!=null||seen.has(protoFileName))continue;let dep=resolve(protoFileName);if(!dep)throw new Error(`Unable to resolve ${protoFileName}, imported by ${file.name}`);"kind"in dep?registry.addFile(dep,!1,!0):(seen.add(dep.name),deps.push(dep))}return deps.concat(...deps.map(recurseDeps))},input=args[0],resolve=args[1],seen=new Set;for(let file of[input,...recurseDeps(input)].reverse())addFile(file,registry)}else for(let fileReg of args)for(let file of fileReg.files)registry.addFile(file);return registry}function createBaseRegistry(){let types=new Map,extendees=new Map,files=new Map;return{kind:"registry",types,extendees,[Symbol.iterator](){return types.values()},get files(){return files.values()},addFile(file,skipTypes,withDeps){if(files.set(file.proto.name,file),!skipTypes)for(let type of nestedTypes(file))this.add(type);if(withDeps)for(let f of file.dependencies)this.addFile(f,skipTypes,withDeps)},add(desc){if(desc.kind=="extension"){let numberToExt=extendees.get(desc.extendee.typeName);numberToExt||extendees.set(desc.extendee.typeName,numberToExt=new Map),numberToExt.set(desc.number,desc)}types.set(desc.typeName,desc)},get(typeName){return types.get(typeName)},getFile(fileName){return files.get(fileName)},getMessage(typeName){let t=types.get(typeName);return t?.kind=="message"?t:void 0},getEnum(typeName){let t=types.get(typeName);return t?.kind=="enum"?t:void 0},getExtension(typeName){let t=types.get(typeName);return t?.kind=="extension"?t:void 0},getExtensionFor(extendee,no){var _a;return(_a=extendees.get(extendee.typeName))===null||_a===void 0?void 0:_a.get(no)},getService(typeName){let t=types.get(typeName);return t?.kind=="service"?t:void 0}}}var EDITION_PROTO2=998,EDITION_PROTO3=999,EDITION_UNSTABLE=9999,TYPE_STRING=9,TYPE_GROUP=10,TYPE_MESSAGE=11,TYPE_BYTES=12,TYPE_ENUM=14,LABEL_REPEATED=3,LABEL_REQUIRED=2,JS_STRING=1,IDEMPOTENCY_UNKNOWN=0,EXPLICIT=1,IMPLICIT=2,LEGACY_REQUIRED=3,PACKED=1,DELIMITED=2,OPEN=1,VERIFY=2;var maximumEdition=1001,featureDefaults={998:{fieldPresence:1,enumType:2,repeatedFieldEncoding:2,utf8Validation:3,messageEncoding:1,jsonFormat:2,enforceNamingStyle:2,defaultSymbolVisibility:1},999:{fieldPresence:2,enumType:1,repeatedFieldEncoding:1,utf8Validation:2,messageEncoding:1,jsonFormat:1,enforceNamingStyle:2,defaultSymbolVisibility:1},1e3:{fieldPresence:1,enumType:1,repeatedFieldEncoding:1,utf8Validation:2,messageEncoding:1,jsonFormat:1,enforceNamingStyle:2,defaultSymbolVisibility:1},1001:{fieldPresence:1,enumType:1,repeatedFieldEncoding:1,utf8Validation:2,messageEncoding:1,jsonFormat:1,enforceNamingStyle:1,defaultSymbolVisibility:2}};function addFile(proto,reg){var _a,_b;let file={kind:"file",proto,deprecated:(_b=(_a=proto.options)===null||_a===void 0?void 0:_a.deprecated)!==null&&_b!==void 0?_b:!1,edition:getFileEdition(proto),name:proto.name.replace(/\.proto$/,""),dependencies:findFileDependencies(proto,reg),enums:[],messages:[],extensions:[],services:[],toString(){return`file ${proto.name}`}},mapEntriesStore=new Map,mapEntries={get(typeName){return mapEntriesStore.get(typeName)},add(desc){var _a2;assert(((_a2=desc.proto.options)===null||_a2===void 0?void 0:_a2.mapEntry)===!0),mapEntriesStore.set(desc.typeName,desc)}};for(let enumProto of proto.enumType)addEnum(enumProto,file,void 0,reg);for(let messageProto of proto.messageType)addMessage(messageProto,file,void 0,reg,mapEntries);for(let serviceProto of proto.service)addService(serviceProto,file,reg);addExtensions(file,reg);for(let mapEntry of mapEntriesStore.values())addFields(mapEntry,reg,mapEntries);for(let message of file.messages)addFields(message,reg,mapEntries),addExtensions(message,reg);reg.addFile(file,!0)}function addExtensions(desc,reg){switch(desc.kind){case"file":for(let proto of desc.proto.extension){let ext=newField(proto,desc,reg);desc.extensions.push(ext),reg.add(ext)}break;case"message":for(let proto of desc.proto.extension){let ext=newField(proto,desc,reg);desc.nestedExtensions.push(ext),reg.add(ext)}for(let message of desc.nestedMessages)addExtensions(message,reg);break}}function addFields(message,reg,mapEntries){let allOneofs=message.proto.oneofDecl.map(proto=>newOneof(proto,message)),oneofsSeen=new Set;for(let proto of message.proto.field){let oneof=findOneof(proto,allOneofs),field=newField(proto,message,reg,oneof,mapEntries);message.fields.push(field),message.field[field.localName]=field,oneof===void 0?message.members.push(field):(oneof.fields.push(field),oneofsSeen.has(oneof)||(oneofsSeen.add(oneof),message.members.push(oneof)))}for(let oneof of allOneofs.filter(o=>oneofsSeen.has(o)))message.oneofs.push(oneof);for(let child of message.nestedMessages)addFields(child,reg,mapEntries)}function addEnum(proto,file,parent,reg){var _a,_b,_c,_d,_e;let sharedPrefix=findEnumSharedPrefix(proto.name,proto.value),desc={kind:"enum",proto,deprecated:(_b=(_a=proto.options)===null||_a===void 0?void 0:_a.deprecated)!==null&&_b!==void 0?_b:!1,file,parent,open:!0,name:proto.name,typeName:makeTypeName(proto,parent,file),value:{},values:[],sharedPrefix,toString(){return`enum ${this.typeName}`}};desc.open=isEnumOpen(desc),reg.add(desc);for(let p of proto.value){let name=p.name;desc.values.push(desc.value[p.number]={kind:"enum_value",proto:p,deprecated:(_d=(_c=p.options)===null||_c===void 0?void 0:_c.deprecated)!==null&&_d!==void 0?_d:!1,parent:desc,name,localName:safeObjectProperty(sharedPrefix==null?name:name.substring(sharedPrefix.length)),number:p.number,toString(){return`enum value ${desc.typeName}.${name}`}})}((_e=parent?.nestedEnums)!==null&&_e!==void 0?_e:file.enums).push(desc)}function addMessage(proto,file,parent,reg,mapEntries){var _a,_b,_c,_d;let desc={kind:"message",proto,deprecated:(_b=(_a=proto.options)===null||_a===void 0?void 0:_a.deprecated)!==null&&_b!==void 0?_b:!1,file,parent,name:proto.name,typeName:makeTypeName(proto,parent,file),fields:[],field:{},oneofs:[],members:[],nestedEnums:[],nestedMessages:[],nestedExtensions:[],toString(){return`message ${this.typeName}`}};((_c=proto.options)===null||_c===void 0?void 0:_c.mapEntry)===!0?mapEntries.add(desc):(((_d=parent?.nestedMessages)!==null&&_d!==void 0?_d:file.messages).push(desc),reg.add(desc));for(let enumProto of proto.enumType)addEnum(enumProto,file,desc,reg);for(let messageProto of proto.nestedType)addMessage(messageProto,file,desc,reg,mapEntries)}function addService(proto,file,reg){var _a,_b;let desc={kind:"service",proto,deprecated:(_b=(_a=proto.options)===null||_a===void 0?void 0:_a.deprecated)!==null&&_b!==void 0?_b:!1,file,name:proto.name,typeName:makeTypeName(proto,void 0,file),methods:[],method:{},toString(){return`service ${this.typeName}`}};file.services.push(desc),reg.add(desc);for(let methodProto of proto.method){let method=newMethod(methodProto,desc,reg);desc.methods.push(method),desc.method[method.localName]=method}}function newMethod(proto,parent,reg){var _a,_b,_c,_d;let methodKind;proto.clientStreaming&&proto.serverStreaming?methodKind="bidi_streaming":proto.clientStreaming?methodKind="client_streaming":proto.serverStreaming?methodKind="server_streaming":methodKind="unary";let input=reg.getMessage(trimLeadingDot(proto.inputType)),output=reg.getMessage(trimLeadingDot(proto.outputType));assert(input,`invalid MethodDescriptorProto: input_type ${proto.inputType} not found`),assert(output,`invalid MethodDescriptorProto: output_type ${proto.inputType} not found`);let name=proto.name;return{kind:"rpc",proto,deprecated:(_b=(_a=proto.options)===null||_a===void 0?void 0:_a.deprecated)!==null&&_b!==void 0?_b:!1,parent,name,localName:safeObjectProperty(name.length?safeObjectProperty(name[0].toLowerCase()+name.substring(1)):name),methodKind,input,output,idempotency:(_d=(_c=proto.options)===null||_c===void 0?void 0:_c.idempotencyLevel)!==null&&_d!==void 0?_d:IDEMPOTENCY_UNKNOWN,toString(){return`rpc ${parent.typeName}.${name}`}}}function newOneof(proto,parent){return{kind:"oneof",proto,deprecated:!1,parent,fields:[],name:proto.name,localName:safeObjectProperty(protoCamelCase(proto.name)),toString(){return`oneof ${parent.typeName}.${this.name}`}}}function newField(proto,parentOrFile,reg,oneof,mapEntries){var _a,_b,_c;let isExtension=mapEntries===void 0,field={kind:"field",proto,deprecated:(_b=(_a=proto.options)===null||_a===void 0?void 0:_a.deprecated)!==null&&_b!==void 0?_b:!1,name:proto.name,number:proto.number,scalar:void 0,message:void 0,enum:void 0,presence:getFieldPresence(proto,oneof,isExtension,parentOrFile),utf8Validation:isUtf8Validated(proto,parentOrFile),listKind:void 0,mapKind:void 0,mapKey:void 0,delimitedEncoding:void 0,packed:void 0,longAsString:!1,getDefaultValue:void 0},toStr;if(isExtension){let file=parentOrFile.kind=="file"?parentOrFile:parentOrFile.file,parent=parentOrFile.kind=="file"?void 0:parentOrFile,typeName=makeTypeName(proto,parent,file);field.kind="extension",field.file=file,field.parent=parent,field.oneof=void 0,field.typeName=typeName,field.jsonName=`[${typeName}]`,toStr=()=>`extension ${typeName}`;let extendee=reg.getMessage(trimLeadingDot(proto.extendee));assert(extendee,`invalid FieldDescriptorProto: extendee ${proto.extendee} not found`),field.extendee=extendee}else{let parent=parentOrFile;assert(parent.kind=="message"),field.parent=parent,field.oneof=oneof,field.localName=oneof?protoCamelCase(proto.name):safeObjectProperty(protoCamelCase(proto.name)),field.jsonName=proto.jsonName,toStr=()=>`field ${parent.typeName}.${proto.name}`}Object.defineProperty(field,"toString",{value:toStr,writable:!0,enumerable:!0,configurable:!0});let label=proto.label,type=proto.type,jstype=(_c=proto.options)===null||_c===void 0?void 0:_c.jstype;if(label===LABEL_REPEATED){let mapEntry=type==TYPE_MESSAGE?mapEntries?.get(trimLeadingDot(proto.typeName)):void 0;if(mapEntry){field.fieldKind="map";let{key,value}=findMapEntryFields(mapEntry);return field.mapKey=key.scalar,field.mapKind=value.fieldKind,field.message=value.message,field.delimitedEncoding=!1,field.enum=value.enum,field.scalar=value.scalar,field}switch(field.fieldKind="list",type){case TYPE_MESSAGE:case TYPE_GROUP:field.listKind="message",field.message=reg.getMessage(trimLeadingDot(proto.typeName)),assert(field.message),field.delimitedEncoding=isDelimitedEncoding(proto,parentOrFile);break;case TYPE_ENUM:field.listKind="enum",field.enum=reg.getEnum(trimLeadingDot(proto.typeName)),assert(field.enum);break;default:field.listKind="scalar",field.scalar=type,field.longAsString=jstype==JS_STRING;break}return field.packed=isPackedField(proto,parentOrFile),field}switch(type){case TYPE_MESSAGE:case TYPE_GROUP:field.fieldKind="message",field.message=reg.getMessage(trimLeadingDot(proto.typeName)),assert(field.message,`invalid FieldDescriptorProto: type_name ${proto.typeName} not found`),field.delimitedEncoding=isDelimitedEncoding(proto,parentOrFile),field.getDefaultValue=()=>{};break;case TYPE_ENUM:{let enumeration=reg.getEnum(trimLeadingDot(proto.typeName));assert(enumeration!==void 0,`invalid FieldDescriptorProto: type_name ${proto.typeName} not found`),field.fieldKind="enum",field.enum=reg.getEnum(trimLeadingDot(proto.typeName)),field.getDefaultValue=()=>unsafeIsSetExplicit(proto,"defaultValue")?parseTextFormatEnumValue(enumeration,proto.defaultValue):void 0;break}default:{field.fieldKind="scalar",field.scalar=type,field.longAsString=jstype==JS_STRING,field.getDefaultValue=()=>unsafeIsSetExplicit(proto,"defaultValue")?parseTextFormatScalarValue(type,proto.defaultValue):void 0;break}}return field}function getFileEdition(proto){switch(proto.syntax){case"":case"proto2":return EDITION_PROTO2;case"proto3":return EDITION_PROTO3;case"editions":if(proto.edition===EDITION_UNSTABLE)return maximumEdition;if(proto.edition in featureDefaults)return proto.edition;throw new Error(`${proto.name}: unsupported edition`);default:throw new Error(`${proto.name}: unsupported syntax "${proto.syntax}"`)}}function findFileDependencies(proto,reg){return proto.dependency.map(wantName=>{let dep=reg.getFile(wantName);if(!dep)throw new Error(`Cannot find ${wantName}, imported by ${proto.name}`);return dep})}function findEnumSharedPrefix(enumName,values){let prefix=camelToSnakeCase(enumName)+"_";for(let value of values){if(!value.name.toLowerCase().startsWith(prefix))return;let shortName=value.name.substring(prefix.length);if(shortName.length==0||/^\d/.test(shortName))return}return prefix}function camelToSnakeCase(camel){return(camel.substring(0,1)+camel.substring(1).replace(/[A-Z]/g,c=>"_"+c)).toLowerCase()}function makeTypeName(proto,parent,file){let typeName;return parent?typeName=`${parent.typeName}.${proto.name}`:file.proto.package.length>0?typeName=`${file.proto.package}.${proto.name}`:typeName=`${proto.name}`,typeName}function trimLeadingDot(typeName){return typeName.startsWith(".")?typeName.substring(1):typeName}function findOneof(proto,allOneofs){if(!unsafeIsSetExplicit(proto,"oneofIndex")||proto.proto3Optional)return;let oneof=allOneofs[proto.oneofIndex];return assert(oneof,`invalid FieldDescriptorProto: oneof #${proto.oneofIndex} for field #${proto.number} not found`),oneof}function getFieldPresence(proto,oneof,isExtension,parent){if(proto.label==LABEL_REQUIRED)return LEGACY_REQUIRED;if(proto.label==LABEL_REPEATED)return IMPLICIT;if(oneof||proto.proto3Optional||isExtension)return EXPLICIT;let resolved=resolveFeature("fieldPresence",{proto,parent});return resolved==IMPLICIT&&(proto.type==TYPE_MESSAGE||proto.type==TYPE_GROUP)?EXPLICIT:resolved}function isPackedField(proto,parent){if(proto.label!=LABEL_REPEATED)return!1;switch(proto.type){case TYPE_STRING:case TYPE_BYTES:case TYPE_GROUP:case TYPE_MESSAGE:return!1}let o=proto.options;return o&&unsafeIsSetExplicit(o,"packed")?o.packed:PACKED==resolveFeature("repeatedFieldEncoding",{proto,parent})}function findMapEntryFields(mapEntry){let key=mapEntry.fields.find(f=>f.number===1),value=mapEntry.fields.find(f=>f.number===2);return assert(key&&key.fieldKind=="scalar"&&key.scalar!=ScalarType.BYTES&&key.scalar!=ScalarType.FLOAT&&key.scalar!=ScalarType.DOUBLE&&value&&value.fieldKind!="list"&&value.fieldKind!="map"),{key,value}}function isEnumOpen(desc){var _a;return OPEN==resolveFeature("enumType",{proto:desc.proto,parent:(_a=desc.parent)!==null&&_a!==void 0?_a:desc.file})}function isDelimitedEncoding(proto,parent){return proto.type==TYPE_GROUP?!0:DELIMITED==resolveFeature("messageEncoding",{proto,parent})}function isUtf8Validated(proto,parent){return VERIFY==resolveFeature("utf8Validation",{proto,parent})}function resolveFeature(name,ref){var _a,_b;let featureSet=(_a=ref.proto.options)===null||_a===void 0?void 0:_a.features;if(featureSet){let val=featureSet[name];if(val!=0)return val}if("kind"in ref){if(ref.kind=="message")return resolveFeature(name,(_b=ref.parent)!==null&&_b!==void 0?_b:ref.file);let editionDefaults=featureDefaults[ref.edition];if(!editionDefaults)throw new Error(`feature default for edition ${ref.edition} not found`);return editionDefaults[name]}return resolveFeature(name,ref.parent)}function assert(condition,msg){if(!condition)throw new Error(msg)}function boot(boot2){let root=bootFileDescriptorProto(boot2);return root.messageType.forEach(restoreJsonNames),createFileRegistry(root,()=>{}).getFile(root.name)}function bootFileDescriptorProto(init){return Object.assign(Object.create({syntax:"",edition:0}),Object.assign(Object.assign({$typeName:"google.protobuf.FileDescriptorProto",dependency:[],publicDependency:[],weakDependency:[],optionDependency:[],service:[],extension:[]},init),{messageType:init.messageType.map(bootDescriptorProto),enumType:init.enumType.map(bootEnumDescriptorProto)}))}function bootDescriptorProto(init){var _a,_b,_c,_d,_e,_f,_g,_h;return Object.assign(Object.create({visibility:0}),{$typeName:"google.protobuf.DescriptorProto",name:init.name,field:(_b=(_a=init.field)===null||_a===void 0?void 0:_a.map(bootFieldDescriptorProto))!==null&&_b!==void 0?_b:[],extension:[],nestedType:(_d=(_c=init.nestedType)===null||_c===void 0?void 0:_c.map(bootDescriptorProto))!==null&&_d!==void 0?_d:[],enumType:(_f=(_e=init.enumType)===null||_e===void 0?void 0:_e.map(bootEnumDescriptorProto))!==null&&_f!==void 0?_f:[],extensionRange:(_h=(_g=init.extensionRange)===null||_g===void 0?void 0:_g.map(e=>Object.assign({$typeName:"google.protobuf.DescriptorProto.ExtensionRange"},e)))!==null&&_h!==void 0?_h:[],oneofDecl:[],reservedRange:[],reservedName:[]})}function bootFieldDescriptorProto(init){return Object.assign(Object.create({label:1,typeName:"",extendee:"",defaultValue:"",oneofIndex:0,jsonName:"",proto3Optional:!1}),Object.assign(Object.assign({$typeName:"google.protobuf.FieldDescriptorProto"},init),{options:init.options?bootFieldOptions(init.options):void 0}))}function bootFieldOptions(init){var _a,_b,_c;return Object.assign(Object.create({ctype:0,packed:!1,jstype:0,lazy:!1,unverifiedLazy:!1,deprecated:!1,weak:!1,debugRedact:!1,retention:0}),Object.assign(Object.assign({$typeName:"google.protobuf.FieldOptions"},init),{targets:(_a=init.targets)!==null&&_a!==void 0?_a:[],editionDefaults:(_c=(_b=init.editionDefaults)===null||_b===void 0?void 0:_b.map(e=>Object.assign({$typeName:"google.protobuf.FieldOptions.EditionDefault"},e)))!==null&&_c!==void 0?_c:[],uninterpretedOption:[]}))}function bootEnumDescriptorProto(init){return Object.assign(Object.create({visibility:0}),{$typeName:"google.protobuf.EnumDescriptorProto",name:init.name,reservedName:[],reservedRange:[],value:init.value.map(e=>Object.assign({$typeName:"google.protobuf.EnumValueDescriptorProto"},e))})}var nativeSetFromBase64=Uint8Array.prototype.setFromBase64;function base64Decode(base64Str){let len=base64Str.length,size=len-(len+3>>2);(len&3)==0&&base64Str[len-1]=="="&&(size-=base64Str[len-2]=="="?2:1);let bytes=new Uint8Array(size),written=-1;if(nativeSetFromBase64)try{let result=nativeSetFromBase64.call(bytes,base64Str);result.read==len&&(written=result.written)}catch{}return written<0&&(written=setFromBase64(bytes,base64Str)),written==size?bytes:bytes.subarray(0,written)}function setFromBase64(bytes,base64Str){let table=getDecodeTable(),bytePos=0,groupPos=0,b,p=0;for(let i=0;i<base64Str.length;i++){if(b=table[base64Str.charCodeAt(i)],b===void 0)switch(base64Str[i]){case"=":groupPos=0;case`
|
|
4
|
+
`:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string")}switch(groupPos){case 0:p=b,groupPos=1;break;case 1:bytes[bytePos++]=p<<2|(b&48)>>4,p=b,groupPos=2;break;case 2:bytes[bytePos++]=(p&15)<<4|(b&60)>>2,p=b,groupPos=3;break;case 3:bytes[bytePos++]=(p&3)<<6|b,groupPos=0;break}}if(groupPos==1)throw Error("invalid base64 string");return bytePos}var nativeToBase64=Uint8Array.prototype.toBase64;var encodeTableStd,encodeTableUrl,decodeTable;function getEncodeTable(encoding){return encodeTableStd||(encodeTableStd="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),encodeTableUrl=encodeTableStd.slice(0,-2).concat("-","_")),encoding=="url"?encodeTableUrl:encodeTableStd}function getDecodeTable(){if(!decodeTable){decodeTable=[];let encodeTable=getEncodeTable("std");for(let i=0;i<encodeTable.length;i++)decodeTable[encodeTable[i].charCodeAt(0)]=i;decodeTable[45]=encodeTable.indexOf("+"),decodeTable[95]=encodeTable.indexOf("/")}return decodeTable}var symbol=Symbol.for("@bufbuild/protobuf/text-encoding");function configureTextEncoding(textEncoding){var _a;globalThis[symbol]=Object.assign(Object.assign({},textEncoding),{encodeUtf8Into:(_a=textEncoding.encodeUtf8Into)!==null&&_a!==void 0?_a:emulateEncodeInto(textEncoding.encodeUtf8.bind(textEncoding))})}function getTextEncoding(){let globals=globalThis;if(!globals[symbol]){let textEncoder=new globals.TextEncoder,textDecoder=new globals.TextDecoder,textDecoderStrict,config={encodeUtf8(text){return textEncoder.encode(text)},decodeUtf8(bytes,strict){return strict?(textDecoderStrict||(textDecoderStrict=new globals.TextDecoder("utf-8",{fatal:!0})),textDecoderStrict.decode(bytes)):textDecoder.decode(bytes)},checkUtf8(text){try{return encodeURIComponent(text),!0}catch{return!1}}};textEncoder.encodeInto&&(config.encodeUtf8Into=textEncoder.encodeInto.bind(textEncoder));let nativeStringIsWellFormed=String.prototype.isWellFormed;nativeStringIsWellFormed&&(config.checkUtf8=text=>nativeStringIsWellFormed.call(text)),configureTextEncoding(config)}return globals[symbol]}function emulateEncodeInto(encodeUtf8){return(text,dest)=>{let bytes=encodeUtf8(text);return dest.set(bytes),{written:bytes.byteLength}}}var WireType;(function(WireType2){WireType2[WireType2.Varint=0]="Varint",WireType2[WireType2.Bit64=1]="Bit64",WireType2[WireType2.LengthDelimited=2]="LengthDelimited",WireType2[WireType2.StartGroup=3]="StartGroup",WireType2[WireType2.EndGroup=4]="EndGroup",WireType2[WireType2.Bit32=5]="Bit32"})(WireType||(WireType={}));var FLOAT32_MAX=34028234663852886e22,FLOAT32_MIN=-34028234663852886e22,UINT32_MAX=4294967295,INT32_MAX=2147483647,INT32_MIN=-2147483648,BinaryWriter=class{constructor(encodeUtf8){this.stackPos=[],this.encodeUtf8Into=encodeUtf8?emulateEncodeInto(encodeUtf8):getTextEncoding().encodeUtf8Into,this.buffer=EMPTY_BUFFER,this.viewCache=EMPTY_VIEW,this.pos=0}ensureCapacity(size){let required=this.pos+size;if(required>this.buffer.length){let newLen=this.buffer.length||INITIAL_SIZE;for(;newLen<required;)newLen*=2;let newBuf=new Uint8Array(newLen);this.pos>0&&newBuf.set(this.buffer),this.buffer=newBuf}}view(){let bytes=this.buffer,view=this.viewCache;if(view.byteLength===bytes.byteLength)return view;let newView=new DataView(bytes.buffer);return this.viewCache=newView,newView}finish(){let result=this.buffer.slice(0,this.pos);return this.pos=0,this.stackPos=[],result}fork(){return this.stackPos.push(this.pos),this.ensureCapacity(DEFAULT_LEN_PREFIX_SIZE),this.buffer[this.pos++]=0,this}join(){let forkPos=this.stackPos.pop();if(forkPos===void 0)throw new Error("invalid state, fork stack empty");let len=this.pos-forkPos-DEFAULT_LEN_PREFIX_SIZE,lenPrefixSize=varint32Size(len);return lenPrefixSize>DEFAULT_LEN_PREFIX_SIZE&&(this.ensureCapacity(lenPrefixSize-DEFAULT_LEN_PREFIX_SIZE),this.buffer.copyWithin(forkPos+lenPrefixSize,forkPos+DEFAULT_LEN_PREFIX_SIZE,this.pos)),this.pos=forkPos,this.uint32(len),this.pos+=len,this}tag(fieldNo,type){return this.uint32((fieldNo<<3|type)>>>0)}raw(chunk){return this.ensureCapacity(chunk.length),this.buffer.set(chunk,this.pos),this.pos+=chunk.length,this}uint32(value){if(assertUInt32(value),this.ensureCapacity(5),value<128)return this.buffer[this.pos++]=value,this;for(;value>127;)this.buffer[this.pos++]=value&127|128,value>>>=7;return this.buffer[this.pos++]=value,this}int32(value){if(assertInt32(value),value>=0)return this.uint32(value);this.ensureCapacity(10);for(let i=0;i<9;i++)this.buffer[this.pos++]=value&127|128,value>>=7;return this.buffer[this.pos++]=1,this}bool(value){return this.ensureCapacity(1),this.buffer[this.pos++]=value?1:0,this}bytes(value){return this.uint32(value.byteLength),this.raw(value)}string(value){typeof value!="string"&&(value=String(value));let len=value.length;if(len<=ASCII_MAX_LENGTH){this.ensureCapacity(len+1);let ascii=this.buffer,pos=this.pos;ascii[pos++]=len;let i=0;for(;i<len;i++){let code=value.charCodeAt(i);if(code>127)break;ascii[pos++]=code}if(i==len)return this.pos=pos,this}this.ensureCapacity(len*3+5);let lenPrefixSizeGuess=varint32Size(len),buf=this.buffer,start=this.pos,{written}=this.encodeUtf8Into(value,buf.subarray(start+lenPrefixSizeGuess)),lenPrefixSize=varint32Size(written);return lenPrefixSize!=lenPrefixSizeGuess&&buf.copyWithin(start+lenPrefixSize,start+lenPrefixSizeGuess,start+lenPrefixSizeGuess+written),this.uint32(written),this.pos+=written,this}float(value){return assertFloat32(value),this.ensureCapacity(4),this.view().setFloat32(this.pos,value,!0),this.pos+=4,this}double(value){return this.ensureCapacity(8),this.view().setFloat64(this.pos,value,!0),this.pos+=8,this}fixed32(value){return assertUInt32(value),this.ensureCapacity(4),this.view().setUint32(this.pos,value,!0),this.pos+=4,this}sfixed32(value){return assertInt32(value),this.ensureCapacity(4),this.view().setInt32(this.pos,value,!0),this.pos+=4,this}sint32(value){return assertInt32(value),this.uint32((value<<1^value>>31)>>>0)}sfixed64(value){let tc=protoInt64.enc(value);this.ensureCapacity(8);let view=this.view();return view.setInt32(this.pos,tc.lo,!0),view.setInt32(this.pos+4,tc.hi,!0),this.pos+=8,this}fixed64(value){let tc=protoInt64.uEnc(value);this.ensureCapacity(8);let view=this.view();return view.setInt32(this.pos,tc.lo,!0),view.setInt32(this.pos+4,tc.hi,!0),this.pos+=8,this}int64(value){let tc=protoInt64.enc(value);return this.writeVarint64(tc.lo,tc.hi)}sint64(value){let tc=protoInt64.enc(value),sign=tc.hi>>31,lo=tc.lo<<1^sign,hi=(tc.hi<<1|tc.lo>>>31)^sign;return this.writeVarint64(lo,hi)}uint64(value){let tc=protoInt64.uEnc(value);return this.writeVarint64(tc.lo,tc.hi)}writeVarint64(lo,hi){this.ensureCapacity(10);let buf=this.buffer,pos=this.pos;for(let i=0;i<28;i=i+7){let shift=lo>>>i,hasNext=!(!(shift>>>7)&&hi==0);if(buf[pos++]=(hasNext?shift|128:shift)&255,!hasNext)return this.pos=pos,this}let splitBits=lo>>>28&15|(hi&7)<<4,hasMoreBits=hi>>3!=0;if(buf[pos++]=(hasMoreBits?splitBits|128:splitBits)&255,!hasMoreBits)return this.pos=pos,this;for(let i=3;i<31;i=i+7){let shift=hi>>>i,hasNext=!!(shift>>>7);if(buf[pos++]=(hasNext?shift|128:shift)&255,!hasNext)return this.pos=pos,this}return buf[pos++]=hi>>>31&1,this.pos=pos,this}},INITIAL_SIZE=128,DEFAULT_LEN_PREFIX_SIZE=1,EMPTY_BUFFER=new Uint8Array(0),EMPTY_VIEW=new DataView(EMPTY_BUFFER.buffer),ASCII_MAX_LENGTH=32;function varint32Size(value){return value<128?1:value<16384?2:value<2097152?3:value<268435456?4:5}var BinaryReader=class{constructor(buf,decodeUtf8=getTextEncoding().decodeUtf8){this.decodeUtf8=decodeUtf8,this.varint64Lo=0,this.varint64Hi=0,this.varint64=varint64read,this.uint32=varint32read,this.buf=buf,this.len=buf.length,this.pos=0,this.view=new DataView(buf.buffer,buf.byteOffset,buf.byteLength)}tag(){let start=this.pos,tag=this.uint32(),bytesRead=this.pos-start;if(bytesRead>5||bytesRead==5&&this.buf[this.pos-1]>15)throw new Error("illegal tag: varint overflows uint32");let fieldNo=tag>>>3,wireType=tag&7;if(fieldNo<=0||wireType>5)throw new Error("illegal tag: field no "+fieldNo+" wire type "+wireType);return[fieldNo,wireType]}skip(wireType,fieldNo,recursionLimit=100){let start=this.pos;switch(wireType){case WireType.Varint:for(;this.buf[this.pos++]&128;);break;case WireType.Bit64:this.pos+=4;case WireType.Bit32:this.pos+=4;break;case WireType.LengthDelimited:let len=this.uint32();this.pos+=len;break;case WireType.StartGroup:if(recursionLimit<=0)throw new Error("maximum recursion depth reached");for(;;){let[fn,wt]=this.tag();if(wt===WireType.EndGroup){if(fieldNo!==void 0&&fn!==fieldNo)throw new Error("invalid end group tag");break}this.skip(wt,fn,recursionLimit-1)}break;default:throw new Error("cant skip wire type "+wireType)}return this.assertBounds(),this.buf.subarray(start,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let zze=this.uint32();return zze>>>1^-(zze&1)}int64(){return this.varint64(),protoInt64.dec(this.varint64Lo,this.varint64Hi)}uint64(){return this.varint64(),protoInt64.uDec(this.varint64Lo,this.varint64Hi)}sint64(){this.varint64();let lo=this.varint64Lo,hi=this.varint64Hi,s=-(lo&1);return lo=(lo>>>1|(hi&1)<<31)^s,hi=hi>>>1^s,protoInt64.dec(lo,hi)}bool(){let b=this.buf[this.pos];return b<128?(this.pos++,b!==0):(this.varint64(),this.varint64Lo!==0||this.varint64Hi!==0)}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return protoInt64.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return protoInt64.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let len=this.uint32(),start=this.pos;return this.pos+=len,this.assertBounds(),this.buf.subarray(start,start+len)}string(strict){let bytes=this.bytes(),len=bytes.length;if(len<=ASCII_MAX_LENGTH){let codes=new Array(len);for(let i=0;i<len;i++){let byte=bytes[i];if(byte>127)return this.decodeUtf8(bytes,strict);codes[i]=byte}return String.fromCharCode.apply(String,codes)}return this.decodeUtf8(bytes,strict)}};function assertInt32(arg){if(typeof arg=="string")arg=Number(arg);else if(typeof arg!="number")throw new Error("invalid int32: "+typeof arg);if(!Number.isInteger(arg)||arg>INT32_MAX||arg<INT32_MIN)throw new Error("invalid int32: "+arg)}function assertUInt32(arg){if(typeof arg=="string")arg=Number(arg);else if(typeof arg!="number")throw new Error("invalid uint32: "+typeof arg);if(!Number.isInteger(arg)||arg>UINT32_MAX||arg<0)throw new Error("invalid uint32: "+arg)}function assertFloat32(arg){if(typeof arg=="string"){let o=arg;if(arg=Number(arg),Number.isNaN(arg)&&o!=="NaN")throw new Error("invalid float32: "+o)}else if(typeof arg!="number")throw new Error("invalid float32: "+typeof arg);if(Number.isFinite(arg)&&(arg>FLOAT32_MAX||arg<FLOAT32_MIN))throw new Error("invalid float32: "+arg)}var FieldError=class extends Error{constructor(fieldOrOneof,message,name="FieldValueInvalidError"){super(message),this.name=name,this.field=()=>fieldOrOneof}};function isMessage(arg,schema){return arg!==null&&typeof arg=="object"&&"$typeName"in arg&&typeof arg.$typeName=="string"?schema===void 0?!0:schema.typeName===arg.$typeName:!1}function isObject(arg){return arg!==null&&typeof arg=="object"&&!Array.isArray(arg)}function isWrapperDesc(messageDesc2){let f=messageDesc2.fields[0];return isWrapperTypeName(messageDesc2.typeName)&&f!==void 0&&f.fieldKind=="scalar"&&f.name=="value"&&f.number==1}var wrapperTypeNames=new Set(["google.protobuf.DoubleValue","google.protobuf.FloatValue","google.protobuf.Int64Value","google.protobuf.UInt64Value","google.protobuf.Int32Value","google.protobuf.UInt32Value","google.protobuf.BoolValue","google.protobuf.StringValue","google.protobuf.BytesValue"]);function isWrapperTypeName(name){return wrapperTypeNames.has(name)}var EDITION_PROTO32=999,EDITION_PROTO22=998,IMPLICIT2=2;function create(schema,init){return isMessage(init,schema)?init:compiledCreate(schema)(init)}var compiledCreates=new WeakMap;function compiledCreate(desc){let compiled=compiledCreates.get(desc);return compiled===void 0&&(compiled=compileCreate(desc),compiledCreates.set(desc,compiled)),compiled}var INIT_SINGULAR=0,INIT_LIST=1,INIT_MAP=2,INIT_ONEOF=3;function compileCreate(desc){let typeName=desc.typeName,{properties,prototype}=compileInitMessage(desc);return init=>{let message;prototype!==void 0?(message=Object.create(prototype),message.$typeName=typeName):message={$typeName:typeName};for(let i=0;i<properties.length;i++){let property=properties[i],name=property.name,initValue=init?.[name];switch(property.kind){case INIT_SINGULAR:initValue!=null?message[name]=property.convert!==void 0?property.convert(initValue):initValue:property.constant!==void 0&&(message[name]=property.constant);break;case INIT_LIST:message[name]=property.convert!==void 0&&Array.isArray(initValue)?initValue.map(property.convert):initValue??[];break;case INIT_MAP:if(property.convert===void 0||!isObject(initValue))message[name]=initValue??{};else{let converted={},keys=Object.keys(initValue);for(let k=0;k<keys.length;k++)converted[keys[k]]=property.convert(initValue[keys[k]]);message[name]=converted}break;case INIT_ONEOF:{let oneofValue=initValue;if(oneofValue?.case!=null){let convert=property.convert.get(oneofValue.case);if(convert!==void 0){message[name]={case:oneofValue.case,value:convert(oneofValue.value)};break}}message[name]={case:void 0};break}}}return message}}function compileInitMessage(desc){var _a,_b;let properties=[],prototype={},usePrototype=needsPrototypeChain(desc);for(let member of desc.members){let name=member.localName;if(member.kind=="oneof"){properties.push({name,kind:INIT_ONEOF,constant:void 0,convert:compileConvertOneof(member)});continue}switch(member.fieldKind){case"message":{properties.push({name,kind:INIT_SINGULAR,constant:void 0,convert:compileConvertMessage(member)});break}case"list":{properties.push({name,kind:INIT_LIST,constant:void 0,convert:member.listKind=="message"?(_a=compileConvertMessage(member))!==null&&_a!==void 0?_a:(value=>value):member.scalar==ScalarType.BYTES?toU8Arr:void 0});break}case"map":{properties.push({name,kind:INIT_MAP,constant:void 0,convert:member.mapKind=="message"?(_b=compileConvertMessage(member))!==null&&_b!==void 0?_b:(value=>value):member.scalar==ScalarType.BYTES?toU8Arr:void 0});break}default:{let zeroValue=createZeroValue(member);properties.push({name,kind:INIT_SINGULAR,constant:member.presence==IMPLICIT2?zeroValue:void 0,convert:member.fieldKind=="scalar"&&member.scalar==ScalarType.BYTES?toU8Arr:void 0}),usePrototype&&(prototype[name]=zeroValue);break}}}return{properties,prototype:usePrototype?prototype:void 0}}function compileConvertOneof(oneof){let converters=new Map;for(let field of oneof.fields){let convert;field.fieldKind=="message"?convert=compileConvertMessage(field):field.fieldKind=="scalar"&&field.scalar==ScalarType.BYTES&&(convert=toU8Arr),converters.set(field.localName,convert??(value=>value))}return converters}function compileConvertMessage(field){if(field.fieldKind=="message"&&!field.oneof&&isWrapperDesc(field.message))return field.message.fields[0].scalar==ScalarType.BYTES?toU8Arr:void 0;if(field.message.typeName=="google.protobuf.Struct"&&field.parent.typeName!=="google.protobuf.Value")return;let messageDesc2=field.message,compiled;return value=>!isObject(value)||isMessage(value,messageDesc2)?value:(compiled??(compiled=compiledCreate(messageDesc2)),compiled(value))}function toU8Arr(value){return Array.isArray(value)?new Uint8Array(value):value}function needsPrototypeChain(desc){switch(desc.file.edition){case EDITION_PROTO32:return!1;case EDITION_PROTO22:return!0;default:return desc.fields.some(f=>f.presence!=IMPLICIT2&&f.fieldKind!="message"&&!f.oneof)}}function createZeroValue(field){let defaultValue=field.getDefaultValue();return defaultValue!==void 0?field.fieldKind=="scalar"&&field.longAsString?defaultValue.toString():defaultValue:field.fieldKind=="scalar"?scalarZeroValue(field.scalar,field.longAsString):field.enum.values[0].number}var NULL_VALUE=0;function localMessageMapper(field){if(usesJsonRepresentation(field))return{toMessage:local=>wktStructToReflect(local),toLocal:message=>wktStructToLocal(message)};if(field.fieldKind=="message"&&!field.oneof&&isWrapperDesc(field.message)){let wrapperDesc=field.message,valueLocalName=wrapperDesc.fields[0].localName;return{toMessage:local=>{let message=create(wrapperDesc);return local!==void 0&&(message[valueLocalName]=local),message},toLocal:message=>message[valueLocalName]}}let childDesc=field.message;return{toMessage:local=>local===void 0?create(childDesc):local,toLocal:message=>message}}function usesJsonRepresentation(field){return field.message.typeName=="google.protobuf.Struct"&&field.parent.typeName!="google.protobuf.Value"}function wktStructToReflect(json){let struct={$typeName:"google.protobuf.Struct",fields:{}};if(isObject(json))for(let k of Object.keys(json))struct.fields[k]=wktValueToReflect(json[k]);return struct}function wktStructToLocal(val){let json={};for(let k of Object.keys(val.fields))json[k]=wktValueToLocal(val.fields[k]);return json}function wktValueToLocal(val){switch(val.kind.case){case"structValue":return wktStructToLocal(val.kind.value);case"listValue":return val.kind.value.values.map(wktValueToLocal);case"nullValue":case void 0:return null;default:return val.kind.value}}function wktValueToReflect(json){let value={$typeName:"google.protobuf.Value",kind:{case:void 0}};switch(typeof json){case"number":value.kind={case:"numberValue",value:json};break;case"string":value.kind={case:"stringValue",value:json};break;case"boolean":value.kind={case:"boolValue",value:json};break;case"object":if(json===null)value.kind={case:"nullValue",value:NULL_VALUE};else if(Array.isArray(json)){let listValue={$typeName:"google.protobuf.ListValue",values:[]};if(Array.isArray(json))for(let e of json)listValue.values.push(wktValueToReflect(e));value.kind={case:"listValue",value:listValue}}else value.kind={case:"structValue",value:wktStructToReflect(json)};break}return value}var IMPLICIT3=2,LEGACY_REQUIRED2=3,writeDefaults={writeUnknownFields:!0};function makeWriteOptions(options){return options?Object.assign(Object.assign({},writeDefaults),options):writeDefaults}function toBinary(schema,message,options){let writer=new BinaryWriter;return compiledWriter(schema)(writer,makeWriteOptions(options),message),writer.finish()}var compiledWriters=new WeakMap;function compiledWriter(desc){let compiled=compiledWriters.get(desc);return compiled===void 0&&(compiled=compileMessage(desc)),compiled}function compileMessage(desc){let typeName=desc.typeName,sortedFields=desc.fields.concat().sort((a,b)=>a.number-b.number),foreignField=sortedFields[0],fieldWriters=[],compiled=(writer,opts,message)=>{if(message.$typeName!==typeName&&foreignField!==void 0)throw new FieldError(foreignField,`cannot use ${foreignField} with message ${message.$typeName}`,"ForeignFieldError");for(let i=0;i<fieldWriters.length;i++)fieldWriters[i](writer,opts,message);let unknown=message.$unknown;if(unknown!==void 0&&opts.writeUnknownFields)for(let i=0;i<unknown.length;i++){let{no,wireType,data}=unknown[i];writer.tag(no,wireType).raw(data)}};compiledWriters.set(desc,compiled);for(let field of sortedFields)fieldWriters.push(compileField(field));return compiled}function compileField(field){switch(field.fieldKind){case"message":case"scalar":case"enum":return compileSingularField(field);case"list":return compileListField(field);case"map":return compileMapField(field)}}function compileSingularField(field){let writeValue=compileSingularValue(field),localName=field.localName;if(field.oneof){let oneofLocalName=field.oneof.localName;return(writer,opts,message)=>{let oneof=message[oneofLocalName];oneof.case===localName&&writeValue(writer,opts,oneof.value)}}if(field.presence!=IMPLICIT3){let requiredError=field.presence==LEGACY_REQUIRED2?`cannot encode ${field} to binary: required field not set`:void 0;return(writer,opts,message)=>{let value=message[localName];if(value!==void 0&&Object.prototype.hasOwnProperty.call(message,localName))writeValue(writer,opts,value);else if(requiredError!==void 0)throw new Error(requiredError)}}if(field.fieldKind=="enum"){let zero=field.enum.values[0].number;return(writer,opts,message)=>{let value=message[localName];value!==zero&&writeValue(writer,opts,value)}}switch(field.scalar){case ScalarType.BOOL:return(writer,opts,message)=>{let value=message[localName];value!==!1&&writeValue(writer,opts,value)};case ScalarType.STRING:return(writer,opts,message)=>{let value=message[localName];value!==""&&writeValue(writer,opts,value)};case ScalarType.BYTES:return(writer,opts,message)=>{let value=message[localName];(!(value instanceof Uint8Array)||value.byteLength>0)&&writeValue(writer,opts,value)};case ScalarType.DOUBLE:case ScalarType.FLOAT:return(writer,opts,message)=>{let value=message[localName];Object.is(value,0)||writeValue(writer,opts,value)};default:return(writer,opts,message)=>{let value=message[localName];value!=0&&writeValue(writer,opts,value)}}}function compileSingularValue(field){switch(field.fieldKind){case"message":{let{toMessage}=localMessageMapper(field),writeChild=compileChildWriter(field);return(writer,opts,value)=>{writeChild(writer,opts,toMessage(value))}}case"scalar":case"enum":{let scalarType=field.fieldKind=="enum"?ScalarType.INT32:field.scalar,fieldNo=field.number,wireType=writeTypeOfScalar(scalarType),writeScalar=compileScalarValue(scalarType,field.parent.typeName,field.name);return(writer,opts,value)=>{writer.tag(fieldNo,wireType),writeScalar(writer,value)}}}}function compileListField(field){let localName=field.localName,fieldNo=field.number;switch(field.listKind){case"message":{let{toMessage}=localMessageMapper(field),writeChild=compileChildWriter(field);return(writer,opts,message)=>{let items=message[localName];for(let i=0;i<items.length;i++)writeChild(writer,opts,toMessage(items[i]))}}case"scalar":case"enum":{let scalarType=field.listKind=="enum"?ScalarType.INT32:field.scalar,writeScalar=compileScalarValue(scalarType,field.parent.typeName,field.name);if(field.packed)return(writer,opts,message)=>{let items=message[localName];if(items.length!=0){writer.tag(fieldNo,WireType.LengthDelimited).fork();for(let i=0;i<items.length;i++)writeScalar(writer,items[i]);writer.join()}};let wireType=writeTypeOfScalar(scalarType);return(writer,opts,message)=>{let items=message[localName];for(let i=0;i<items.length;i++)writer.tag(fieldNo,wireType),writeScalar(writer,items[i])}}}}function compileMapField(field){let localName=field.localName,fieldNo=field.number,writeKey=compileMapKey(field);if(field.mapKind=="message"){let{toMessage}=localMessageMapper(field),writeMessage=compiledWriter(field.message);return(writer,opts,message)=>{let record=message[localName],keys=Object.keys(record);for(let i=0;i<keys.length;i++){let key=keys[i];writer.tag(fieldNo,WireType.LengthDelimited).fork(),writeKey(writer,key),writer.tag(2,WireType.LengthDelimited).fork(),writeMessage(writer,opts,toMessage(record[key])),writer.join(),writer.join()}}}let scalarType=field.mapKind=="enum"?ScalarType.INT32:field.scalar,valueWireType=writeTypeOfScalar(scalarType),writeScalar=compileScalarValue(scalarType,field.parent.typeName,field.name);return(writer,opts,message)=>{let record=message[localName],keys=Object.keys(record);for(let i=0;i<keys.length;i++){let key=keys[i];writer.tag(fieldNo,WireType.LengthDelimited).fork(),writeKey(writer,key),writer.tag(2,valueWireType),writeScalar(writer,record[key]),writer.join()}}}function compileMapKey(field){let wireType=writeTypeOfScalar(field.mapKey),writeScalar=compileScalarValue(field.mapKey,field.parent.typeName,field.name),convertKey=compileMapKeyConverter(field.mapKey);return(writer,key)=>{writer.tag(1,wireType),writeScalar(writer,convertKey(key))}}function compileMapKeyConverter(type){switch(type){case ScalarType.STRING:return key=>key;case ScalarType.BOOL:return key=>key==="true"?!0:key==="false"?!1:key;case ScalarType.UINT64:case ScalarType.FIXED64:return key=>{try{return protoInt64.uParse(key)}catch{return key}};case ScalarType.INT64:case ScalarType.SFIXED64:case ScalarType.SINT64:return key=>{try{return protoInt64.parse(key)}catch{return key}};default:return key=>{let n=Number.parseInt(key);return Number.isFinite(n)?n:key}}}function compileScalarValue(type,messageName,fieldName){let writeScalar=compileScalarWrite(type);return(writer,value)=>{try{writeScalar(writer,value)}catch(e){throw e instanceof Error?new Error(`cannot encode field ${messageName}.${fieldName} to binary: ${e.message}`):e}}}function compileScalarWrite(type){switch(type){case ScalarType.STRING:return(writer,value)=>writer.string(value);case ScalarType.BOOL:return(writer,value)=>writer.bool(value);case ScalarType.DOUBLE:return(writer,value)=>writer.double(value);case ScalarType.FLOAT:return(writer,value)=>writer.float(value);case ScalarType.INT32:return(writer,value)=>writer.int32(value);case ScalarType.INT64:return(writer,value)=>writer.int64(value);case ScalarType.UINT64:return(writer,value)=>writer.uint64(value);case ScalarType.FIXED64:return(writer,value)=>writer.fixed64(value);case ScalarType.BYTES:return(writer,value)=>writer.bytes(value);case ScalarType.FIXED32:return(writer,value)=>writer.fixed32(value);case ScalarType.SFIXED32:return(writer,value)=>writer.sfixed32(value);case ScalarType.SFIXED64:return(writer,value)=>writer.sfixed64(value);case ScalarType.SINT64:return(writer,value)=>writer.sint64(value);case ScalarType.UINT32:return(writer,value)=>writer.uint32(value);case ScalarType.SINT32:return(writer,value)=>writer.sint32(value)}}function compileChildWriter(field){let fieldNo=field.number,writeMessage=compiledWriter(field.message);return field.delimitedEncoding?(writer,opts,child)=>{writer.tag(fieldNo,WireType.StartGroup),writeMessage(writer,opts,child),writer.tag(fieldNo,WireType.EndGroup)}:(writer,opts,child)=>{writer.tag(fieldNo,WireType.LengthDelimited).fork(),writeMessage(writer,opts,child),writer.join()}}function writeTypeOfScalar(type){switch(type){case ScalarType.BYTES:case ScalarType.STRING:return WireType.LengthDelimited;case ScalarType.DOUBLE:case ScalarType.FIXED64:case ScalarType.SFIXED64:return WireType.Bit64;case ScalarType.FIXED32:case ScalarType.SFIXED32:case ScalarType.FLOAT:return WireType.Bit32;default:return WireType.Varint}}function messageDesc(file,path,...paths){return paths.reduce((acc,cur)=>acc.nestedMessages[cur],file.messages[path])}var file_google_protobuf_descriptor=boot({name:"google/protobuf/descriptor.proto",package:"google.protobuf",messageType:[{name:"FileDescriptorSet",field:[{name:"file",number:1,type:11,label:3,typeName:".google.protobuf.FileDescriptorProto"}],extensionRange:[{start:536e6,end:536000001}]},{name:"FileDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"package",number:2,type:9,label:1},{name:"dependency",number:3,type:9,label:3},{name:"public_dependency",number:10,type:5,label:3},{name:"weak_dependency",number:11,type:5,label:3},{name:"option_dependency",number:15,type:9,label:3},{name:"message_type",number:4,type:11,label:3,typeName:".google.protobuf.DescriptorProto"},{name:"enum_type",number:5,type:11,label:3,typeName:".google.protobuf.EnumDescriptorProto"},{name:"service",number:6,type:11,label:3,typeName:".google.protobuf.ServiceDescriptorProto"},{name:"extension",number:7,type:11,label:3,typeName:".google.protobuf.FieldDescriptorProto"},{name:"options",number:8,type:11,label:1,typeName:".google.protobuf.FileOptions"},{name:"source_code_info",number:9,type:11,label:1,typeName:".google.protobuf.SourceCodeInfo"},{name:"syntax",number:12,type:9,label:1},{name:"edition",number:14,type:14,label:1,typeName:".google.protobuf.Edition"}]},{name:"DescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"field",number:2,type:11,label:3,typeName:".google.protobuf.FieldDescriptorProto"},{name:"extension",number:6,type:11,label:3,typeName:".google.protobuf.FieldDescriptorProto"},{name:"nested_type",number:3,type:11,label:3,typeName:".google.protobuf.DescriptorProto"},{name:"enum_type",number:4,type:11,label:3,typeName:".google.protobuf.EnumDescriptorProto"},{name:"extension_range",number:5,type:11,label:3,typeName:".google.protobuf.DescriptorProto.ExtensionRange"},{name:"oneof_decl",number:8,type:11,label:3,typeName:".google.protobuf.OneofDescriptorProto"},{name:"options",number:7,type:11,label:1,typeName:".google.protobuf.MessageOptions"},{name:"reserved_range",number:9,type:11,label:3,typeName:".google.protobuf.DescriptorProto.ReservedRange"},{name:"reserved_name",number:10,type:9,label:3},{name:"visibility",number:11,type:14,label:1,typeName:".google.protobuf.SymbolVisibility"}],nestedType:[{name:"ExtensionRange",field:[{name:"start",number:1,type:5,label:1},{name:"end",number:2,type:5,label:1},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.ExtensionRangeOptions"}]},{name:"ReservedRange",field:[{name:"start",number:1,type:5,label:1},{name:"end",number:2,type:5,label:1}]}]},{name:"ExtensionRangeOptions",field:[{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"},{name:"declaration",number:2,type:11,label:3,typeName:".google.protobuf.ExtensionRangeOptions.Declaration",options:{retention:2}},{name:"features",number:50,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"verification",number:3,type:14,label:1,typeName:".google.protobuf.ExtensionRangeOptions.VerificationState",defaultValue:"UNVERIFIED",options:{retention:2}}],nestedType:[{name:"Declaration",field:[{name:"number",number:1,type:5,label:1},{name:"full_name",number:2,type:9,label:1},{name:"type",number:3,type:9,label:1},{name:"reserved",number:5,type:8,label:1},{name:"repeated",number:6,type:8,label:1}]}],enumType:[{name:"VerificationState",value:[{name:"DECLARATION",number:0},{name:"UNVERIFIED",number:1}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"FieldDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"number",number:3,type:5,label:1},{name:"label",number:4,type:14,label:1,typeName:".google.protobuf.FieldDescriptorProto.Label"},{name:"type",number:5,type:14,label:1,typeName:".google.protobuf.FieldDescriptorProto.Type"},{name:"type_name",number:6,type:9,label:1},{name:"extendee",number:2,type:9,label:1},{name:"default_value",number:7,type:9,label:1},{name:"oneof_index",number:9,type:5,label:1},{name:"json_name",number:10,type:9,label:1},{name:"options",number:8,type:11,label:1,typeName:".google.protobuf.FieldOptions"},{name:"proto3_optional",number:17,type:8,label:1}],enumType:[{name:"Type",value:[{name:"TYPE_DOUBLE",number:1},{name:"TYPE_FLOAT",number:2},{name:"TYPE_INT64",number:3},{name:"TYPE_UINT64",number:4},{name:"TYPE_INT32",number:5},{name:"TYPE_FIXED64",number:6},{name:"TYPE_FIXED32",number:7},{name:"TYPE_BOOL",number:8},{name:"TYPE_STRING",number:9},{name:"TYPE_GROUP",number:10},{name:"TYPE_MESSAGE",number:11},{name:"TYPE_BYTES",number:12},{name:"TYPE_UINT32",number:13},{name:"TYPE_ENUM",number:14},{name:"TYPE_SFIXED32",number:15},{name:"TYPE_SFIXED64",number:16},{name:"TYPE_SINT32",number:17},{name:"TYPE_SINT64",number:18}]},{name:"Label",value:[{name:"LABEL_OPTIONAL",number:1},{name:"LABEL_REPEATED",number:3},{name:"LABEL_REQUIRED",number:2}]}]},{name:"OneofDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"options",number:2,type:11,label:1,typeName:".google.protobuf.OneofOptions"}]},{name:"EnumDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"value",number:2,type:11,label:3,typeName:".google.protobuf.EnumValueDescriptorProto"},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.EnumOptions"},{name:"reserved_range",number:4,type:11,label:3,typeName:".google.protobuf.EnumDescriptorProto.EnumReservedRange"},{name:"reserved_name",number:5,type:9,label:3},{name:"visibility",number:6,type:14,label:1,typeName:".google.protobuf.SymbolVisibility"}],nestedType:[{name:"EnumReservedRange",field:[{name:"start",number:1,type:5,label:1},{name:"end",number:2,type:5,label:1}]}]},{name:"EnumValueDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"number",number:2,type:5,label:1},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.EnumValueOptions"}]},{name:"ServiceDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"method",number:2,type:11,label:3,typeName:".google.protobuf.MethodDescriptorProto"},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.ServiceOptions"}]},{name:"MethodDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"input_type",number:2,type:9,label:1},{name:"output_type",number:3,type:9,label:1},{name:"options",number:4,type:11,label:1,typeName:".google.protobuf.MethodOptions"},{name:"client_streaming",number:5,type:8,label:1,defaultValue:"false"},{name:"server_streaming",number:6,type:8,label:1,defaultValue:"false"}]},{name:"FileOptions",field:[{name:"java_package",number:1,type:9,label:1},{name:"java_outer_classname",number:8,type:9,label:1},{name:"java_multiple_files",number:10,type:8,label:1,defaultValue:"false",options:{}},{name:"java_generate_equals_and_hash",number:20,type:8,label:1,options:{deprecated:!0}},{name:"java_string_check_utf8",number:27,type:8,label:1,defaultValue:"false"},{name:"optimize_for",number:9,type:14,label:1,typeName:".google.protobuf.FileOptions.OptimizeMode",defaultValue:"SPEED"},{name:"go_package",number:11,type:9,label:1},{name:"cc_generic_services",number:16,type:8,label:1,defaultValue:"false"},{name:"java_generic_services",number:17,type:8,label:1,defaultValue:"false"},{name:"py_generic_services",number:18,type:8,label:1,defaultValue:"false"},{name:"deprecated",number:23,type:8,label:1,defaultValue:"false"},{name:"cc_enable_arenas",number:31,type:8,label:1,defaultValue:"true"},{name:"objc_class_prefix",number:36,type:9,label:1},{name:"csharp_namespace",number:37,type:9,label:1},{name:"swift_prefix",number:39,type:9,label:1},{name:"php_class_prefix",number:40,type:9,label:1},{name:"php_namespace",number:41,type:9,label:1},{name:"php_metadata_namespace",number:44,type:9,label:1},{name:"ruby_package",number:45,type:9,label:1},{name:"features",number:50,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],enumType:[{name:"OptimizeMode",value:[{name:"SPEED",number:1},{name:"CODE_SIZE",number:2},{name:"LITE_RUNTIME",number:3}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"MessageOptions",field:[{name:"message_set_wire_format",number:1,type:8,label:1,defaultValue:"false"},{name:"no_standard_descriptor_accessor",number:2,type:8,label:1,defaultValue:"false"},{name:"deprecated",number:3,type:8,label:1,defaultValue:"false"},{name:"map_entry",number:7,type:8,label:1},{name:"deprecated_legacy_json_field_conflicts",number:11,type:8,label:1,options:{deprecated:!0}},{name:"features",number:12,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"FieldOptions",field:[{name:"ctype",number:1,type:14,label:1,typeName:".google.protobuf.FieldOptions.CType",defaultValue:"STRING"},{name:"packed",number:2,type:8,label:1},{name:"jstype",number:6,type:14,label:1,typeName:".google.protobuf.FieldOptions.JSType",defaultValue:"JS_NORMAL"},{name:"lazy",number:5,type:8,label:1,defaultValue:"false"},{name:"unverified_lazy",number:15,type:8,label:1,defaultValue:"false"},{name:"deprecated",number:3,type:8,label:1,defaultValue:"false"},{name:"weak",number:10,type:8,label:1,defaultValue:"false",options:{deprecated:!0}},{name:"debug_redact",number:16,type:8,label:1,defaultValue:"false"},{name:"retention",number:17,type:14,label:1,typeName:".google.protobuf.FieldOptions.OptionRetention"},{name:"targets",number:19,type:14,label:3,typeName:".google.protobuf.FieldOptions.OptionTargetType"},{name:"edition_defaults",number:20,type:11,label:3,typeName:".google.protobuf.FieldOptions.EditionDefault"},{name:"features",number:21,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"feature_support",number:22,type:11,label:1,typeName:".google.protobuf.FieldOptions.FeatureSupport"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],nestedType:[{name:"EditionDefault",field:[{name:"edition",number:3,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"value",number:2,type:9,label:1}]},{name:"FeatureSupport",field:[{name:"edition_introduced",number:1,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"edition_deprecated",number:2,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"deprecation_warning",number:3,type:9,label:1},{name:"edition_removed",number:4,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"removal_error",number:5,type:9,label:1}]}],enumType:[{name:"CType",value:[{name:"STRING",number:0},{name:"CORD",number:1},{name:"STRING_PIECE",number:2}]},{name:"JSType",value:[{name:"JS_NORMAL",number:0},{name:"JS_STRING",number:1},{name:"JS_NUMBER",number:2}]},{name:"OptionRetention",value:[{name:"RETENTION_UNKNOWN",number:0},{name:"RETENTION_RUNTIME",number:1},{name:"RETENTION_SOURCE",number:2}]},{name:"OptionTargetType",value:[{name:"TARGET_TYPE_UNKNOWN",number:0},{name:"TARGET_TYPE_FILE",number:1},{name:"TARGET_TYPE_EXTENSION_RANGE",number:2},{name:"TARGET_TYPE_MESSAGE",number:3},{name:"TARGET_TYPE_FIELD",number:4},{name:"TARGET_TYPE_ONEOF",number:5},{name:"TARGET_TYPE_ENUM",number:6},{name:"TARGET_TYPE_ENUM_ENTRY",number:7},{name:"TARGET_TYPE_SERVICE",number:8},{name:"TARGET_TYPE_METHOD",number:9}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"OneofOptions",field:[{name:"features",number:1,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"EnumOptions",field:[{name:"allow_alias",number:2,type:8,label:1},{name:"deprecated",number:3,type:8,label:1,defaultValue:"false"},{name:"deprecated_legacy_json_field_conflicts",number:6,type:8,label:1,options:{deprecated:!0}},{name:"features",number:7,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"EnumValueOptions",field:[{name:"deprecated",number:1,type:8,label:1,defaultValue:"false"},{name:"features",number:2,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"debug_redact",number:3,type:8,label:1,defaultValue:"false"},{name:"feature_support",number:4,type:11,label:1,typeName:".google.protobuf.FieldOptions.FeatureSupport"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"ServiceOptions",field:[{name:"features",number:34,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"deprecated",number:33,type:8,label:1,defaultValue:"false"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"MethodOptions",field:[{name:"deprecated",number:33,type:8,label:1,defaultValue:"false"},{name:"idempotency_level",number:34,type:14,label:1,typeName:".google.protobuf.MethodOptions.IdempotencyLevel",defaultValue:"IDEMPOTENCY_UNKNOWN"},{name:"features",number:35,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],enumType:[{name:"IdempotencyLevel",value:[{name:"IDEMPOTENCY_UNKNOWN",number:0},{name:"NO_SIDE_EFFECTS",number:1},{name:"IDEMPOTENT",number:2}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"UninterpretedOption",field:[{name:"name",number:2,type:11,label:3,typeName:".google.protobuf.UninterpretedOption.NamePart"},{name:"identifier_value",number:3,type:9,label:1},{name:"positive_int_value",number:4,type:4,label:1},{name:"negative_int_value",number:5,type:3,label:1},{name:"double_value",number:6,type:1,label:1},{name:"string_value",number:7,type:12,label:1},{name:"aggregate_value",number:8,type:9,label:1}],nestedType:[{name:"NamePart",field:[{name:"name_part",number:1,type:9,label:2},{name:"is_extension",number:2,type:8,label:2}]}]},{name:"FeatureSet",field:[{name:"field_presence",number:1,type:14,label:1,typeName:".google.protobuf.FeatureSet.FieldPresence",options:{retention:1,targets:[4,1],editionDefaults:[{value:"EXPLICIT",edition:900},{value:"IMPLICIT",edition:999},{value:"EXPLICIT",edition:1e3}]}},{name:"enum_type",number:2,type:14,label:1,typeName:".google.protobuf.FeatureSet.EnumType",options:{retention:1,targets:[6,1],editionDefaults:[{value:"CLOSED",edition:900},{value:"OPEN",edition:999}]}},{name:"repeated_field_encoding",number:3,type:14,label:1,typeName:".google.protobuf.FeatureSet.RepeatedFieldEncoding",options:{retention:1,targets:[4,1],editionDefaults:[{value:"EXPANDED",edition:900},{value:"PACKED",edition:999}]}},{name:"utf8_validation",number:4,type:14,label:1,typeName:".google.protobuf.FeatureSet.Utf8Validation",options:{retention:1,targets:[4,1],editionDefaults:[{value:"NONE",edition:900},{value:"VERIFY",edition:999}]}},{name:"message_encoding",number:5,type:14,label:1,typeName:".google.protobuf.FeatureSet.MessageEncoding",options:{retention:1,targets:[4,1],editionDefaults:[{value:"LENGTH_PREFIXED",edition:900}]}},{name:"json_format",number:6,type:14,label:1,typeName:".google.protobuf.FeatureSet.JsonFormat",options:{retention:1,targets:[3,6,1],editionDefaults:[{value:"LEGACY_BEST_EFFORT",edition:900},{value:"ALLOW",edition:999}]}},{name:"enforce_naming_style",number:7,type:14,label:1,typeName:".google.protobuf.FeatureSet.EnforceNamingStyle",options:{retention:2,targets:[1,2,3,4,5,6,7,8,9],editionDefaults:[{value:"STYLE_LEGACY",edition:900},{value:"STYLE2024",edition:1001}]}},{name:"default_symbol_visibility",number:8,type:14,label:1,typeName:".google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility",options:{retention:2,targets:[1],editionDefaults:[{value:"EXPORT_ALL",edition:900},{value:"EXPORT_TOP_LEVEL",edition:1001}]}}],nestedType:[{name:"VisibilityFeature",enumType:[{name:"DefaultSymbolVisibility",value:[{name:"DEFAULT_SYMBOL_VISIBILITY_UNKNOWN",number:0},{name:"EXPORT_ALL",number:1},{name:"EXPORT_TOP_LEVEL",number:2},{name:"LOCAL_ALL",number:3},{name:"STRICT",number:4}]}]}],enumType:[{name:"FieldPresence",value:[{name:"FIELD_PRESENCE_UNKNOWN",number:0},{name:"EXPLICIT",number:1},{name:"IMPLICIT",number:2},{name:"LEGACY_REQUIRED",number:3}]},{name:"EnumType",value:[{name:"ENUM_TYPE_UNKNOWN",number:0},{name:"OPEN",number:1},{name:"CLOSED",number:2}]},{name:"RepeatedFieldEncoding",value:[{name:"REPEATED_FIELD_ENCODING_UNKNOWN",number:0},{name:"PACKED",number:1},{name:"EXPANDED",number:2}]},{name:"Utf8Validation",value:[{name:"UTF8_VALIDATION_UNKNOWN",number:0},{name:"VERIFY",number:2},{name:"NONE",number:3}]},{name:"MessageEncoding",value:[{name:"MESSAGE_ENCODING_UNKNOWN",number:0},{name:"LENGTH_PREFIXED",number:1},{name:"DELIMITED",number:2}]},{name:"JsonFormat",value:[{name:"JSON_FORMAT_UNKNOWN",number:0},{name:"ALLOW",number:1},{name:"LEGACY_BEST_EFFORT",number:2}]},{name:"EnforceNamingStyle",value:[{name:"ENFORCE_NAMING_STYLE_UNKNOWN",number:0},{name:"STYLE2024",number:1},{name:"STYLE_LEGACY",number:2}]}],extensionRange:[{start:1e3,end:9995},{start:9995,end:1e4},{start:1e4,end:10001}]},{name:"FeatureSetDefaults",field:[{name:"defaults",number:1,type:11,label:3,typeName:".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault"},{name:"minimum_edition",number:4,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"maximum_edition",number:5,type:14,label:1,typeName:".google.protobuf.Edition"}],nestedType:[{name:"FeatureSetEditionDefault",field:[{name:"edition",number:3,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"overridable_features",number:4,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"fixed_features",number:5,type:11,label:1,typeName:".google.protobuf.FeatureSet"}]}]},{name:"SourceCodeInfo",field:[{name:"location",number:1,type:11,label:3,typeName:".google.protobuf.SourceCodeInfo.Location"}],nestedType:[{name:"Location",field:[{name:"path",number:1,type:5,label:3,options:{packed:!0}},{name:"span",number:2,type:5,label:3,options:{packed:!0}},{name:"leading_comments",number:3,type:9,label:1},{name:"trailing_comments",number:4,type:9,label:1},{name:"leading_detached_comments",number:6,type:9,label:3}]}],extensionRange:[{start:536e6,end:536000001}]},{name:"GeneratedCodeInfo",field:[{name:"annotation",number:1,type:11,label:3,typeName:".google.protobuf.GeneratedCodeInfo.Annotation"}],nestedType:[{name:"Annotation",field:[{name:"path",number:1,type:5,label:3,options:{packed:!0}},{name:"source_file",number:2,type:9,label:1},{name:"begin",number:3,type:5,label:1},{name:"end",number:4,type:5,label:1},{name:"semantic",number:5,type:14,label:1,typeName:".google.protobuf.GeneratedCodeInfo.Annotation.Semantic"}],enumType:[{name:"Semantic",value:[{name:"NONE",number:0},{name:"SET",number:1},{name:"ALIAS",number:2}]}]}]}],enumType:[{name:"Edition",value:[{name:"EDITION_UNKNOWN",number:0},{name:"EDITION_LEGACY",number:900},{name:"EDITION_PROTO2",number:998},{name:"EDITION_PROTO3",number:999},{name:"EDITION_2023",number:1e3},{name:"EDITION_2024",number:1001},{name:"EDITION_UNSTABLE",number:9999},{name:"EDITION_1_TEST_ONLY",number:1},{name:"EDITION_2_TEST_ONLY",number:2},{name:"EDITION_99997_TEST_ONLY",number:99997},{name:"EDITION_99998_TEST_ONLY",number:99998},{name:"EDITION_99999_TEST_ONLY",number:99999},{name:"EDITION_MAX",number:2147483647}]},{name:"SymbolVisibility",value:[{name:"VISIBILITY_UNSET",number:0},{name:"VISIBILITY_LOCAL",number:1},{name:"VISIBILITY_EXPORT",number:2}]}]});var FileDescriptorProtoSchema=messageDesc(file_google_protobuf_descriptor,1);var ExtensionRangeOptions_VerificationState;(function(ExtensionRangeOptions_VerificationState2){ExtensionRangeOptions_VerificationState2[ExtensionRangeOptions_VerificationState2.DECLARATION=0]="DECLARATION",ExtensionRangeOptions_VerificationState2[ExtensionRangeOptions_VerificationState2.UNVERIFIED=1]="UNVERIFIED"})(ExtensionRangeOptions_VerificationState||(ExtensionRangeOptions_VerificationState={}));var FieldDescriptorProto_Type;(function(FieldDescriptorProto_Type2){FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.DOUBLE=1]="DOUBLE",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.FLOAT=2]="FLOAT",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.INT64=3]="INT64",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.UINT64=4]="UINT64",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.INT32=5]="INT32",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.FIXED64=6]="FIXED64",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.FIXED32=7]="FIXED32",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.BOOL=8]="BOOL",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.STRING=9]="STRING",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.GROUP=10]="GROUP",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.MESSAGE=11]="MESSAGE",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.BYTES=12]="BYTES",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.UINT32=13]="UINT32",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.ENUM=14]="ENUM",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.SFIXED32=15]="SFIXED32",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.SFIXED64=16]="SFIXED64",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.SINT32=17]="SINT32",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.SINT64=18]="SINT64"})(FieldDescriptorProto_Type||(FieldDescriptorProto_Type={}));var FieldDescriptorProto_Label;(function(FieldDescriptorProto_Label2){FieldDescriptorProto_Label2[FieldDescriptorProto_Label2.OPTIONAL=1]="OPTIONAL",FieldDescriptorProto_Label2[FieldDescriptorProto_Label2.REPEATED=3]="REPEATED",FieldDescriptorProto_Label2[FieldDescriptorProto_Label2.REQUIRED=2]="REQUIRED"})(FieldDescriptorProto_Label||(FieldDescriptorProto_Label={}));var FileOptions_OptimizeMode;(function(FileOptions_OptimizeMode2){FileOptions_OptimizeMode2[FileOptions_OptimizeMode2.SPEED=1]="SPEED",FileOptions_OptimizeMode2[FileOptions_OptimizeMode2.CODE_SIZE=2]="CODE_SIZE",FileOptions_OptimizeMode2[FileOptions_OptimizeMode2.LITE_RUNTIME=3]="LITE_RUNTIME"})(FileOptions_OptimizeMode||(FileOptions_OptimizeMode={}));var FieldOptions_CType;(function(FieldOptions_CType2){FieldOptions_CType2[FieldOptions_CType2.STRING=0]="STRING",FieldOptions_CType2[FieldOptions_CType2.CORD=1]="CORD",FieldOptions_CType2[FieldOptions_CType2.STRING_PIECE=2]="STRING_PIECE"})(FieldOptions_CType||(FieldOptions_CType={}));var FieldOptions_JSType;(function(FieldOptions_JSType2){FieldOptions_JSType2[FieldOptions_JSType2.JS_NORMAL=0]="JS_NORMAL",FieldOptions_JSType2[FieldOptions_JSType2.JS_STRING=1]="JS_STRING",FieldOptions_JSType2[FieldOptions_JSType2.JS_NUMBER=2]="JS_NUMBER"})(FieldOptions_JSType||(FieldOptions_JSType={}));var FieldOptions_OptionRetention;(function(FieldOptions_OptionRetention2){FieldOptions_OptionRetention2[FieldOptions_OptionRetention2.RETENTION_UNKNOWN=0]="RETENTION_UNKNOWN",FieldOptions_OptionRetention2[FieldOptions_OptionRetention2.RETENTION_RUNTIME=1]="RETENTION_RUNTIME",FieldOptions_OptionRetention2[FieldOptions_OptionRetention2.RETENTION_SOURCE=2]="RETENTION_SOURCE"})(FieldOptions_OptionRetention||(FieldOptions_OptionRetention={}));var FieldOptions_OptionTargetType;(function(FieldOptions_OptionTargetType2){FieldOptions_OptionTargetType2[FieldOptions_OptionTargetType2.TARGET_TYPE_UNKNOWN=0]="TARGET_TYPE_UNKNOWN",FieldOptions_OptionTargetType2[FieldOptions_OptionTargetType2.TARGET_TYPE_FILE=1]="TARGET_TYPE_FILE",FieldOptions_OptionTargetType2[FieldOptions_OptionTargetType2.TARGET_TYPE_EXTENSION_RANGE=2]="TARGET_TYPE_EXTENSION_RANGE",FieldOptions_OptionTargetType2[FieldOptions_OptionTargetType2.TARGET_TYPE_MESSAGE=3]="TARGET_TYPE_MESSAGE",FieldOptions_OptionTargetType2[FieldOptions_OptionTargetType2.TARGET_TYPE_FIELD=4]="TARGET_TYPE_FIELD",FieldOptions_OptionTargetType2[FieldOptions_OptionTargetType2.TARGET_TYPE_ONEOF=5]="TARGET_TYPE_ONEOF",FieldOptions_OptionTargetType2[FieldOptions_OptionTargetType2.TARGET_TYPE_ENUM=6]="TARGET_TYPE_ENUM",FieldOptions_OptionTargetType2[FieldOptions_OptionTargetType2.TARGET_TYPE_ENUM_ENTRY=7]="TARGET_TYPE_ENUM_ENTRY",FieldOptions_OptionTargetType2[FieldOptions_OptionTargetType2.TARGET_TYPE_SERVICE=8]="TARGET_TYPE_SERVICE",FieldOptions_OptionTargetType2[FieldOptions_OptionTargetType2.TARGET_TYPE_METHOD=9]="TARGET_TYPE_METHOD"})(FieldOptions_OptionTargetType||(FieldOptions_OptionTargetType={}));var MethodOptions_IdempotencyLevel;(function(MethodOptions_IdempotencyLevel2){MethodOptions_IdempotencyLevel2[MethodOptions_IdempotencyLevel2.IDEMPOTENCY_UNKNOWN=0]="IDEMPOTENCY_UNKNOWN",MethodOptions_IdempotencyLevel2[MethodOptions_IdempotencyLevel2.NO_SIDE_EFFECTS=1]="NO_SIDE_EFFECTS",MethodOptions_IdempotencyLevel2[MethodOptions_IdempotencyLevel2.IDEMPOTENT=2]="IDEMPOTENT"})(MethodOptions_IdempotencyLevel||(MethodOptions_IdempotencyLevel={}));var FeatureSet_VisibilityFeature_DefaultSymbolVisibility;(function(FeatureSet_VisibilityFeature_DefaultSymbolVisibility2){FeatureSet_VisibilityFeature_DefaultSymbolVisibility2[FeatureSet_VisibilityFeature_DefaultSymbolVisibility2.DEFAULT_SYMBOL_VISIBILITY_UNKNOWN=0]="DEFAULT_SYMBOL_VISIBILITY_UNKNOWN",FeatureSet_VisibilityFeature_DefaultSymbolVisibility2[FeatureSet_VisibilityFeature_DefaultSymbolVisibility2.EXPORT_ALL=1]="EXPORT_ALL",FeatureSet_VisibilityFeature_DefaultSymbolVisibility2[FeatureSet_VisibilityFeature_DefaultSymbolVisibility2.EXPORT_TOP_LEVEL=2]="EXPORT_TOP_LEVEL",FeatureSet_VisibilityFeature_DefaultSymbolVisibility2[FeatureSet_VisibilityFeature_DefaultSymbolVisibility2.LOCAL_ALL=3]="LOCAL_ALL",FeatureSet_VisibilityFeature_DefaultSymbolVisibility2[FeatureSet_VisibilityFeature_DefaultSymbolVisibility2.STRICT=4]="STRICT"})(FeatureSet_VisibilityFeature_DefaultSymbolVisibility||(FeatureSet_VisibilityFeature_DefaultSymbolVisibility={}));var FeatureSet_FieldPresence;(function(FeatureSet_FieldPresence2){FeatureSet_FieldPresence2[FeatureSet_FieldPresence2.FIELD_PRESENCE_UNKNOWN=0]="FIELD_PRESENCE_UNKNOWN",FeatureSet_FieldPresence2[FeatureSet_FieldPresence2.EXPLICIT=1]="EXPLICIT",FeatureSet_FieldPresence2[FeatureSet_FieldPresence2.IMPLICIT=2]="IMPLICIT",FeatureSet_FieldPresence2[FeatureSet_FieldPresence2.LEGACY_REQUIRED=3]="LEGACY_REQUIRED"})(FeatureSet_FieldPresence||(FeatureSet_FieldPresence={}));var FeatureSet_EnumType;(function(FeatureSet_EnumType2){FeatureSet_EnumType2[FeatureSet_EnumType2.ENUM_TYPE_UNKNOWN=0]="ENUM_TYPE_UNKNOWN",FeatureSet_EnumType2[FeatureSet_EnumType2.OPEN=1]="OPEN",FeatureSet_EnumType2[FeatureSet_EnumType2.CLOSED=2]="CLOSED"})(FeatureSet_EnumType||(FeatureSet_EnumType={}));var FeatureSet_RepeatedFieldEncoding;(function(FeatureSet_RepeatedFieldEncoding2){FeatureSet_RepeatedFieldEncoding2[FeatureSet_RepeatedFieldEncoding2.REPEATED_FIELD_ENCODING_UNKNOWN=0]="REPEATED_FIELD_ENCODING_UNKNOWN",FeatureSet_RepeatedFieldEncoding2[FeatureSet_RepeatedFieldEncoding2.PACKED=1]="PACKED",FeatureSet_RepeatedFieldEncoding2[FeatureSet_RepeatedFieldEncoding2.EXPANDED=2]="EXPANDED"})(FeatureSet_RepeatedFieldEncoding||(FeatureSet_RepeatedFieldEncoding={}));var FeatureSet_Utf8Validation;(function(FeatureSet_Utf8Validation2){FeatureSet_Utf8Validation2[FeatureSet_Utf8Validation2.UTF8_VALIDATION_UNKNOWN=0]="UTF8_VALIDATION_UNKNOWN",FeatureSet_Utf8Validation2[FeatureSet_Utf8Validation2.VERIFY=2]="VERIFY",FeatureSet_Utf8Validation2[FeatureSet_Utf8Validation2.NONE=3]="NONE"})(FeatureSet_Utf8Validation||(FeatureSet_Utf8Validation={}));var FeatureSet_MessageEncoding;(function(FeatureSet_MessageEncoding2){FeatureSet_MessageEncoding2[FeatureSet_MessageEncoding2.MESSAGE_ENCODING_UNKNOWN=0]="MESSAGE_ENCODING_UNKNOWN",FeatureSet_MessageEncoding2[FeatureSet_MessageEncoding2.LENGTH_PREFIXED=1]="LENGTH_PREFIXED",FeatureSet_MessageEncoding2[FeatureSet_MessageEncoding2.DELIMITED=2]="DELIMITED"})(FeatureSet_MessageEncoding||(FeatureSet_MessageEncoding={}));var FeatureSet_JsonFormat;(function(FeatureSet_JsonFormat2){FeatureSet_JsonFormat2[FeatureSet_JsonFormat2.JSON_FORMAT_UNKNOWN=0]="JSON_FORMAT_UNKNOWN",FeatureSet_JsonFormat2[FeatureSet_JsonFormat2.ALLOW=1]="ALLOW",FeatureSet_JsonFormat2[FeatureSet_JsonFormat2.LEGACY_BEST_EFFORT=2]="LEGACY_BEST_EFFORT"})(FeatureSet_JsonFormat||(FeatureSet_JsonFormat={}));var FeatureSet_EnforceNamingStyle;(function(FeatureSet_EnforceNamingStyle2){FeatureSet_EnforceNamingStyle2[FeatureSet_EnforceNamingStyle2.ENFORCE_NAMING_STYLE_UNKNOWN=0]="ENFORCE_NAMING_STYLE_UNKNOWN",FeatureSet_EnforceNamingStyle2[FeatureSet_EnforceNamingStyle2.STYLE2024=1]="STYLE2024",FeatureSet_EnforceNamingStyle2[FeatureSet_EnforceNamingStyle2.STYLE_LEGACY=2]="STYLE_LEGACY"})(FeatureSet_EnforceNamingStyle||(FeatureSet_EnforceNamingStyle={}));var GeneratedCodeInfo_Annotation_Semantic;(function(GeneratedCodeInfo_Annotation_Semantic2){GeneratedCodeInfo_Annotation_Semantic2[GeneratedCodeInfo_Annotation_Semantic2.NONE=0]="NONE",GeneratedCodeInfo_Annotation_Semantic2[GeneratedCodeInfo_Annotation_Semantic2.SET=1]="SET",GeneratedCodeInfo_Annotation_Semantic2[GeneratedCodeInfo_Annotation_Semantic2.ALIAS=2]="ALIAS"})(GeneratedCodeInfo_Annotation_Semantic||(GeneratedCodeInfo_Annotation_Semantic={}));var Edition;(function(Edition2){Edition2[Edition2.EDITION_UNKNOWN=0]="EDITION_UNKNOWN",Edition2[Edition2.EDITION_LEGACY=900]="EDITION_LEGACY",Edition2[Edition2.EDITION_PROTO2=998]="EDITION_PROTO2",Edition2[Edition2.EDITION_PROTO3=999]="EDITION_PROTO3",Edition2[Edition2.EDITION_2023=1e3]="EDITION_2023",Edition2[Edition2.EDITION_2024=1001]="EDITION_2024",Edition2[Edition2.EDITION_UNSTABLE=9999]="EDITION_UNSTABLE",Edition2[Edition2.EDITION_1_TEST_ONLY=1]="EDITION_1_TEST_ONLY",Edition2[Edition2.EDITION_2_TEST_ONLY=2]="EDITION_2_TEST_ONLY",Edition2[Edition2.EDITION_99997_TEST_ONLY=99997]="EDITION_99997_TEST_ONLY",Edition2[Edition2.EDITION_99998_TEST_ONLY=99998]="EDITION_99998_TEST_ONLY",Edition2[Edition2.EDITION_99999_TEST_ONLY=99999]="EDITION_99999_TEST_ONLY",Edition2[Edition2.EDITION_MAX=2147483647]="EDITION_MAX"})(Edition||(Edition={}));var SymbolVisibility;(function(SymbolVisibility2){SymbolVisibility2[SymbolVisibility2.VISIBILITY_UNSET=0]="VISIBILITY_UNSET",SymbolVisibility2[SymbolVisibility2.VISIBILITY_LOCAL=1]="VISIBILITY_LOCAL",SymbolVisibility2[SymbolVisibility2.VISIBILITY_EXPORT=2]="VISIBILITY_EXPORT"})(SymbolVisibility||(SymbolVisibility={}));function makeReadContext(options){return Object.assign(Object.assign({readUnknownFields:!0,recursionLimit:100},options),{depth:0})}function fromBinary(schema,bytes,options){let message=create(schema);return compiledReader(schema).read(message,new BinaryReader(bytes),makeReadContext(options),bytes.byteLength),message}var compiledReaders=new WeakMap;function compiledReader(desc){let compiled=compiledReaders.get(desc);return compiled===void 0&&(compiled=compileMessage2(desc)),compiled}function compileMessage2(desc){let descString=String(desc),fieldReaders=new Map,compiled={read:compileMessageReader(descString,fieldReaders),readGroup:compileGroupReader(descString,fieldReaders)};compiledReaders.set(desc,compiled);for(let field of desc.fields)fieldReaders.set(field.number,compileFieldReader(field));return compiled}function compileMessageReader(descString,fieldReaders){return(message,reader,ctx,length)=>{var _a;if(++ctx.depth>ctx.recursionLimit)throw new Error(`cannot decode ${descString} from binary: maximum recursion depth of ${ctx.recursionLimit} reached`);let end=reader.pos+length,unknownFields=(_a=message.$unknown)!==null&&_a!==void 0?_a:[];for(;reader.pos<end;){let[fieldNo,wireType]=reader.tag(),fieldReader=fieldReaders.get(fieldNo);if(fieldReader===void 0){let data=reader.skip(wireType,fieldNo,ctx.recursionLimit-ctx.depth);ctx.readUnknownFields&&unknownFields.push({no:fieldNo,wireType,data});continue}fieldReader(message,reader,ctx,wireType)}unknownFields.length>0&&(message.$unknown=unknownFields),ctx.depth--}}function compileGroupReader(descString,fieldReaders){return(message,reader,ctx,fieldNo)=>{var _a;if(++ctx.depth>ctx.recursionLimit)throw new Error(`cannot decode ${descString} from binary: maximum recursion depth of ${ctx.recursionLimit} reached`);let recordFieldNo,wireType,unknownFields=(_a=message.$unknown)!==null&&_a!==void 0?_a:[];for(;reader.pos<reader.len&&([recordFieldNo,wireType]=reader.tag(),wireType!=WireType.EndGroup);){let fieldReader=fieldReaders.get(recordFieldNo);if(fieldReader===void 0){let data=reader.skip(wireType,recordFieldNo,ctx.recursionLimit-ctx.depth);ctx.readUnknownFields&&unknownFields.push({no:recordFieldNo,wireType,data});continue}fieldReader(message,reader,ctx,wireType)}if(wireType!=WireType.EndGroup||recordFieldNo!==fieldNo)throw new Error("invalid end group tag");unknownFields.length>0&&(message.$unknown=unknownFields),ctx.depth--}}function compileFieldReader(field){switch(field.fieldKind){case"scalar":return compileScalarFieldReader(field);case"enum":return compileEnumFieldReader(field);case"message":return compileMessageFieldReader(field);case"list":return compileListFieldReader(field);case"map":return compileMapFieldReader(field)}}function compileScalarFieldReader(field){let readScalar=compileScalarReader(field.scalar,field.utf8Validation,field.longAsString),localName=field.localName;if(field.oneof){let oneofLocalName=field.oneof.localName;return(message,reader)=>{message[oneofLocalName]={case:localName,value:readScalar(reader)}}}return(message,reader)=>{message[localName]=readScalar(reader)}}function compileEnumFieldReader(field){var _a;let localName=field.localName,oneofLocalName=(_a=field.oneof)===null||_a===void 0?void 0:_a.localName;if(field.enum.open)return oneofLocalName!==void 0?(message,reader)=>{message[oneofLocalName]={case:localName,value:reader.int32()}}:(message,reader)=>{message[localName]=reader.int32()};let values=field.enum.values,fieldNo=field.number;return(message,reader,ctx,wireType)=>{var _a2;let val=reader.int32();if(values.some(v=>v.number===val))oneofLocalName!==void 0?message[oneofLocalName]={case:localName,value:val}:message[localName]=val;else if(ctx.readUnknownFields){let bytes=[];varint32write(val,bytes);let unknownFields=(_a2=message.$unknown)!==null&&_a2!==void 0?_a2:[];unknownFields.push({no:fieldNo,wireType,data:new Uint8Array(bytes)}),message.$unknown=unknownFields}}}function compileMessageFieldReader(field){let localName=field.localName,{toMessage,toLocal}=localMessageMapper(field),readChild=compileChildReader(field);if(field.oneof){let oneofLocalName=field.oneof.localName;return(message,reader,ctx)=>{let oneof=message[oneofLocalName],child=toMessage(oneof.case===localName?oneof.value:void 0);readChild(child,reader,ctx),message[oneofLocalName]={case:localName,value:toLocal(child)}}}return(message,reader,ctx)=>{let child=toMessage(message[localName]);readChild(child,reader,ctx),message[localName]=toLocal(child)}}function compileChildReader(field){let compiledChild=compiledReader(field.message);if(field.delimitedEncoding){let fieldNo=field.number;return(child,reader,ctx)=>compiledChild.readGroup(child,reader,ctx,fieldNo)}return(child,reader,ctx)=>compiledChild.read(child,reader,ctx,reader.uint32())}function compileListFieldReader(field){let localName=field.localName;if(field.listKind=="message"){let{toMessage,toLocal}=localMessageMapper(field),readChild=compileChildReader(field);return(message,reader,ctx)=>{let child=toMessage(void 0);readChild(child,reader,ctx),message[localName].push(toLocal(child))}}let scalarType=field.listKind=="enum"?ScalarType.INT32:field.scalar,longAsString=field.listKind=="scalar"?field.longAsString:!1,readScalar=compileScalarReader(scalarType,field.utf8Validation,longAsString),packedPossible=scalarType!=ScalarType.STRING&&scalarType!=ScalarType.BYTES;return(message,reader,ctx,wireType)=>{let items=message[localName];if(wireType==WireType.LengthDelimited&&packedPossible){let end=reader.uint32()+reader.pos;for(;reader.pos<end;)items.push(readScalar(reader))}else items.push(readScalar(reader))}}function compileMapFieldReader(field){let localName=field.localName,readKey=compileScalarReader(field.mapKey,field.utf8Validation,!1),keyZero=scalarZeroValue(field.mapKey,!1),readValue,valueDefault;switch(field.mapKind){case"scalar":{let scalar=field.scalar,readScalar=compileScalarReader(scalar,field.utf8Validation,!1);if(readValue=reader=>readScalar(reader),scalar==ScalarType.BYTES)valueDefault=()=>new Uint8Array(0);else{let zero=scalarZeroValue(scalar,!1);valueDefault=()=>zero}break}case"enum":{let zero=field.enum.values[0].number;readValue=reader=>reader.int32(),valueDefault=()=>zero;break}case"message":{let{toMessage,toLocal}=localMessageMapper(field),readChild=compiledReader(field.message).read;readValue=(reader,ctx)=>{let child=toMessage(void 0);return readChild(child,reader,ctx,reader.uint32()),toLocal(child)},valueDefault=()=>toLocal(toMessage(void 0));break}}return(message,reader,ctx)=>{let record=message[localName],key,val,len=reader.uint32(),end=reader.pos+len;for(;reader.pos<end;){let[fieldNo]=reader.tag();switch(fieldNo){case 1:key=readKey(reader);break;case 2:val=readValue(reader,ctx);break}}key===void 0&&(key=keyZero),val===void 0&&(val=valueDefault()),record[key]=val}}function compileScalarReader(type,utf8Validation,longAsString){switch(type){case ScalarType.STRING:return reader=>reader.string(utf8Validation);case ScalarType.BOOL:return reader=>reader.bool();case ScalarType.DOUBLE:return reader=>reader.double();case ScalarType.FLOAT:return reader=>reader.float();case ScalarType.INT32:return reader=>reader.int32();case ScalarType.INT64:return longAsString?reader=>String(reader.int64()):reader=>reader.int64();case ScalarType.UINT64:return longAsString?reader=>String(reader.uint64()):reader=>reader.uint64();case ScalarType.FIXED64:return longAsString?reader=>String(reader.fixed64()):reader=>reader.fixed64();case ScalarType.BYTES:return reader=>reader.bytes();case ScalarType.FIXED32:return reader=>reader.fixed32();case ScalarType.SFIXED32:return reader=>reader.sfixed32();case ScalarType.SFIXED64:return longAsString?reader=>String(reader.sfixed64()):reader=>reader.sfixed64();case ScalarType.SINT64:return longAsString?reader=>String(reader.sint64()):reader=>reader.sint64();case ScalarType.UINT32:return reader=>reader.uint32();case ScalarType.SINT32:return reader=>reader.sint32()}}function fileDesc(b64,imports){var _a;let root=fromBinary(FileDescriptorProtoSchema,base64Decode(b64));return root.messageType.forEach(restoreJsonNames),root.dependency=(_a=imports?.map(f=>f.proto.name))!==null&&_a!==void 0?_a:[],createFileRegistry(root,protoFileName=>imports?.find(f=>f.proto.name===protoFileName)).getFile(root.name)}var file_cascade=fileDesc("Cg1jYXNjYWRlLnByb3RvEhFleGEuYXBpX3NlcnZlcl9wYiKBAwoITWV0YWRhdGESEAoIaWRlX25hbWUYASABKAkSGQoRZXh0ZW5zaW9uX3ZlcnNpb24YAiABKAkSDwoHYXBpX2tleRgDIAEoCRIOCgZsb2NhbGUYBCABKAkSCgoCb3MYBSABKAkSGQoRZGlzYWJsZV90ZWxlbWV0cnkYBiABKAgSEwoLaWRlX3ZlcnNpb24YByABKAkSEAoIaGFyZHdhcmUYCCABKAkSEgoKcmVxdWVzdF9pZBgJIAEoBBISCgpzZXNzaW9uX2lkGAogASgJEhYKDmV4dGVuc2lvbl9uYW1lGAwgASgJEhAKCHVzZXJfand0GBUgASgJEhUKDWZvcmNlX3RlYW1faWQYFiABKAkSGgoSZGV2aWNlX2ZpbmdlcnByaW50GBggASgJEhAKCGlkZV90eXBlGBwgASgJEkIKGHN1cHBvcnRlZF9tb2RlbF9kaXNwbGF5cxgeIAMoDjIgLmV4YS5hcGlfc2VydmVyX3BiLkRpc3BsYXlPcHRpb24ikQEKDENoYXRUb29sQ2FsbBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhYKDmFyZ3VtZW50c19qc29uGAMgASgJEhgKEGludmFsaWRfanNvbl9zdHIYBCABKAkSGAoQaW52YWxpZF9qc29uX2VychgFIAEoCRIbChNpc19jdXN0b21fdG9vbF9jYWxsGAYgASgIIkYKDkNoYXRUb29sQ2hvaWNlEhUKC29wdGlvbl9uYW1lGAEgASgJSAASEwoJdG9vbF9uYW1lGAIgASgJSABCCAoGY2hvaWNlImQKFUNvbXB1dGVyVXNlVG9vbENvbmZpZxIYChBkaXNwbGF5X3dpZHRoX3B4GAEgASgFEhkKEWRpc3BsYXlfaGVpZ2h0X3B4GAIgASgFEhYKDmRpc3BsYXlfbnVtYmVyGAMgASgFIsACChJDaGF0VG9vbERlZmluaXRpb24SDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIaChJqc29uX3NjaGVtYV9zdHJpbmcYAyABKAkSHwoXYXR0cmlidXRpb25fZmllbGRfbmFtZXMYBSADKAkSEwoLc2VydmVyX25hbWUYBiABKAkSGwoOcmVhZF9vbmx5X2hpbnQYByABKAhIAIgBARJFChNjb21wdXRlcl91c2VfY29uZmlnGAggASgLMiguZXhhLmFwaV9zZXJ2ZXJfcGIuQ29tcHV0ZXJVc2VUb29sQ29uZmlnEhsKDmlzX2N1c3RvbV90b29sGAkgASgISAGIAQESDgoGc3RyaWN0GAwgASgIQhEKD19yZWFkX29ubHlfaGludEIRCg9faXNfY3VzdG9tX3Rvb2wiRwoSUHJvbXB0Q2FjaGVPcHRpb25zEjEKBHR5cGUYASABKA4yIy5leGEuYXBpX3NlcnZlcl9wYi5DYWNoZUNvbnRyb2xUeXBlIkQKCUltYWdlRGF0YRITCgtiYXNlNjRfZGF0YRgBIAEoCRIRCgltaW1lX3R5cGUYAiABKAkSDwoHY2FwdGlvbhgDIAEoCSLWAwoRQ2hhdE1lc3NhZ2VQcm9tcHQSEgoKbWVzc2FnZV9pZBgBIAEoCRI0CgZzb3VyY2UYAiABKA4yJC5leGEuYXBpX3NlcnZlcl9wYi5DaGF0TWVzc2FnZVNvdXJjZRIOCgZwcm9tcHQYAyABKAkSEgoKbnVtX3Rva2VucxgEIAEoDRIfChdzYWZlX2Zvcl9jb2RlX3RlbGVtZXRyeRgFIAEoCBIzCgp0b29sX2NhbGxzGAYgAygLMh8uZXhhLmFwaV9zZXJ2ZXJfcGIuQ2hhdFRvb2xDYWxsEhQKDHRvb2xfY2FsbF9pZBgHIAEoCRJDChRwcm9tcHRfY2FjaGVfb3B0aW9ucxgIIAEoCzIlLmV4YS5hcGlfc2VydmVyX3BiLlByb21wdENhY2hlT3B0aW9ucxIcChR0b29sX3Jlc3VsdF9pc19lcnJvchgJIAEoCBIsCgZpbWFnZXMYCiADKAsyHC5leGEuYXBpX3NlcnZlcl9wYi5JbWFnZURhdGESEAoIdGhpbmtpbmcYCyABKAkSEQoJc2lnbmF0dXJlGAwgASgJEhkKEXRoaW5raW5nX3JlZGFjdGVkGA0gASgIEhYKDnNpZ25hdHVyZV90eXBlGBIgASgJIowCChdDb21wbGV0aW9uQ29uZmlndXJhdGlvbhIXCg9udW1fY29tcGxldGlvbnMYASABKAQSEgoKbWF4X3Rva2VucxgCIAEoBBIUCgxtYXhfbmV3bGluZXMYAyABKAQSGwoTbWluX2xvZ19wcm9iYWJpbGl0eRgEIAEoARITCgt0ZW1wZXJhdHVyZRgFIAEoARIZChFmaXJzdF90ZW1wZXJhdHVyZRgGIAEoARINCgV0b3BfaxgHIAEoBBINCgV0b3BfcBgIIAEoARIVCg1zdG9wX3BhdHRlcm5zGAkgAygJEgwKBHNlZWQYCiABKAQSHgoWZmltX2VvdF9wcm9iX3RocmVzaG9sZBgLIAEoASLUAQoPTW9kZWxVc2FnZVN0YXRzEhQKDGlucHV0X3Rva2VucxgCIAEoBBIVCg1vdXRwdXRfdG9rZW5zGAMgASgEEhoKEmNhY2hlX3dyaXRlX3Rva2VucxgEIAEoBBIZChFjYWNoZV9yZWFkX3Rva2VucxgFIAEoBBISCgptZXNzYWdlX2lkGAcgASgJEhEKCW1vZGVsX3VpZBgJIAEoCRIZChFiaWxsaW5nX21vZGVsX3VpZBgKIAEoCRIbChNyZXF1ZXN0ZWRfbW9kZWxfdWlkGAsgASgJIowGChVHZXRDaGF0TWVzc2FnZVJlcXVlc3QSLQoIbWV0YWRhdGEYASABKAsyGy5leGEuYXBpX3NlcnZlcl9wYi5NZXRhZGF0YRIOCgZwcm9tcHQYAiABKAkSQgoUY2hhdF9tZXNzYWdlX3Byb21wdHMYAyADKAsyJC5leGEuYXBpX3NlcnZlcl9wYi5DaGF0TWVzc2FnZVByb21wdBIfChd1c2VfaW50ZXJuYWxfY2hhdF9tb2RlbBgFIAEoCBI/CgxyZXF1ZXN0X3R5cGUYByABKA4yKS5leGEuYXBpX3NlcnZlcl9wYi5DaGF0TWVzc2FnZVJlcXVlc3RUeXBlEkEKDWNvbmZpZ3VyYXRpb24YCCABKAsyKi5leGEuYXBpX3NlcnZlcl9wYi5Db21wbGV0aW9uQ29uZmlndXJhdGlvbhI0CgV0b29scxgKIAMoCzIlLmV4YS5hcGlfc2VydmVyX3BiLkNoYXRUb29sRGVmaW5pdGlvbhIjChtkaXNhYmxlX3BhcmFsbGVsX3Rvb2xfY2FsbHMYCyABKAgSNgoLdG9vbF9jaG9pY2UYDCABKAsyIS5leGEuYXBpX3NlcnZlcl9wYi5DaGF0VG9vbENob2ljZRJKChtzeXN0ZW1fcHJvbXB0X2NhY2hlX29wdGlvbnMYDSABKAsyJS5leGEuYXBpX3NlcnZlcl9wYi5Qcm9tcHRDYWNoZU9wdGlvbnMSFwoPY2hhdF9tb2RlbF9uYW1lGA4gASgJEhIKCmNhc2NhZGVfaWQYECABKAkSEQoJcHJvbXB0X2lkGBEgASgJEkIKDHBsYW5uZXJfbW9kZRgUIAEoDjIsLmV4YS5hcGlfc2VydmVyX3BiLkNvbnZlcnNhdGlvbmFsUGxhbm5lck1vZGUSFgoOY2hhdF9tb2RlbF91aWQYFSABKAkSFAoMZXhlY3V0aW9uX2lkGBYgASgJEiEKFG1vZGVsX2Fzc2lnbm1lbnRfand0GBogASgJSACIAQFCFwoVX21vZGVsX2Fzc2lnbm1lbnRfand0Iu8DChZHZXRDaGF0TWVzc2FnZVJlc3BvbnNlEhIKCm1lc3NhZ2VfaWQYASABKAkSEgoKZGVsdGFfdGV4dBgDIAEoCRIUCgxkZWx0YV90b2tlbnMYBCABKA0SMgoLc3RvcF9yZWFzb24YBSABKA4yHS5leGEuYXBpX3NlcnZlcl9wYi5TdG9wUmVhc29uEjkKEGRlbHRhX3Rvb2xfY2FsbHMYBiADKAsyHy5leGEuYXBpX3NlcnZlcl9wYi5DaGF0VG9vbENhbGwSMQoFdXNhZ2UYByABKAsyIi5leGEuYXBpX3NlcnZlcl9wYi5Nb2RlbFVzYWdlU3RhdHMSFgoOZGVsdGFfdGhpbmtpbmcYCSABKAkSFwoPZGVsdGFfc2lnbmF0dXJlGAogASgJEhkKEXRoaW5raW5nX3JlZGFjdGVkGAsgASgIEhMKC2NyZWRpdF9jb3N0GA4gASgFEhEKCW91dHB1dF9pZBgPIAEoCRISCgpyZXF1ZXN0X2lkGBEgASgJEh0KFWNvbW1pdHRlZF9jcmVkaXRfY29zdBgSIAEoBRIaChJjb21taXR0ZWRfYWN1X2Nvc3QYFiABKAESHQoQYWN0dWFsX21vZGVsX3VpZBgXIAEoCUgAiAEBQhMKEV9hY3R1YWxfbW9kZWxfdWlkIjoKDE1vZGVsT3JBbGlhcxIPCgVtb2RlbBgBIAEoCUgAEg8KBWFsaWFzGAIgASgJSABCCAoGY2hvaWNlIoYBCg1Nb2RlbEZlYXR1cmVzEhcKD3N1cHBvcnRzX2ltYWdlcxgLIAEoCBIbChNzdXBwb3J0c190b29sX2NhbGxzGAwgASgIEhkKEXN1cHBvcnRzX3RoaW5raW5nGA8gASgIEiQKHHN1cHBvcnRzX3BhcmFsbGVsX3Rvb2xfY2FsbHMYFSABKAgixgEKCU1vZGVsSW5mbxI4Cg5tb2RlbF9mZWF0dXJlcxgGIAEoCzIgLmV4YS5hcGlfc2VydmVyX3BiLk1vZGVsRmVhdHVyZXMSGQoRbWF4X291dHB1dF90b2tlbnMYDSABKAUSEQoJbW9kZWxfdWlkGBEgASgJEjgKDmRpc3BsYXlfb3B0aW9uGBYgASgOMiAuZXhhLmFwaV9zZXJ2ZXJfcGIuRGlzcGxheU9wdGlvbhIXCg9pc19tb2RlbF9yb3V0ZXIYGSABKAgiugEKDk1vZGVsRGltZW5zaW9uEg0KBWxhYmVsGAEgASgJEg0KBXZhbHVlGAIgASgCEhMKC2Rlbm9taW5hdG9yGAMgASgJEhEKCW1pbl9yYW5nZRgEIAEoAhIRCgltYXhfcmFuZ2UYBSABKAISMwoEa2luZBgGIAEoDjIlLmV4YS5hcGlfc2VydmVyX3BiLk1vZGVsRGltZW5zaW9uS2luZBIRCgRpbmZvGAcgASgJSACIAQFCBwoFX2luZm8iNwoYTW9kZWxGYW1pbHlNZXRhZGF0YVZhbHVlEg0KBW9yZGVyGAEgASgFEgwKBG5hbWUYAiABKAkiYwoYTW9kZWxGYW1pbHlNZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRI6CgV2YWx1ZRgCIAEoCzIrLmV4YS5hcGlfc2VydmVyX3BiLk1vZGVsRmFtaWx5TWV0YWRhdGFWYWx1ZSKTAQoTTW9kZWxGYW1pbHlNZXRhZGF0YRIaChJtb2RlbF9mYW1pbHlfbGFiZWwYASABKAkSPAoHZW50cmllcxgCIAMoCzIrLmV4YS5hcGlfc2VydmVyX3BiLk1vZGVsRmFtaWx5TWV0YWRhdGFFbnRyeRIiChppc19kZWZhdWx0X21vZGVsX2luX2ZhbWlseRgDIAEoCCK2BAoRQ2xpZW50TW9kZWxDb25maWcSDQoFbGFiZWwYASABKAkSNwoObW9kZWxfb3JfYWxpYXMYAiABKAsyHy5leGEuYXBpX3NlcnZlcl9wYi5Nb2RlbE9yQWxpYXMSGQoRY3JlZGl0X211bHRpcGxpZXIYAyABKAISEAoIZGlzYWJsZWQYBCABKAgSFwoPc3VwcG9ydHNfaW1hZ2VzGAUgASgIEhIKCmlzX3ByZW1pdW0YByABKAgSDwoHaXNfYmV0YRgJIAEoCBIWCg5pc19yZWNvbW1lbmRlZBgLIAEoCBIOCgZpc19uZXcYDyABKAgSEgoKbWF4X3Rva2VucxgSIAEoBRIbChNpc19jYXBhY2l0eV9saW1pdGVkGBQgASgIEhEKCW1vZGVsX3VpZBgWIAEoCRIwCgptb2RlbF9pbmZvGBcgASgLMhwuZXhhLmFwaV9zZXJ2ZXJfcGIuTW9kZWxJbmZvEhgKC2Rlc2NyaXB0aW9uGBsgASgJSACIAQESRQoVbW9kZWxfZmFtaWx5X21ldGFkYXRhGB4gASgLMiYuZXhhLmFwaV9zZXJ2ZXJfcGIuTW9kZWxGYW1pbHlNZXRhZGF0YRIiChppc19kZWZhdWx0X21vZGVsX2luX2ZhbWlseRgfIAEoCBI7ChBtb2RlbF9kaW1lbnNpb25zGCAgAygLMiEuZXhhLmFwaV9zZXJ2ZXJfcGIuTW9kZWxEaW1lbnNpb25CDgoMX2Rlc2NyaXB0aW9uIkoKGUdldENsaU1vZGVsQ29uZmlnc1JlcXVlc3QSLQoIbWV0YWRhdGEYASABKAsyGy5leGEuYXBpX3NlcnZlcl9wYi5NZXRhZGF0YSJgChpHZXRDbGlNb2RlbENvbmZpZ3NSZXNwb25zZRJCChRjbGllbnRfbW9kZWxfY29uZmlncxgBIAMoCzIkLmV4YS5hcGlfc2VydmVyX3BiLkNsaWVudE1vZGVsQ29uZmlnIkIKEUdldFVzZXJKd3RSZXF1ZXN0Ei0KCG1ldGFkYXRhGAEgASgLMhsuZXhhLmFwaV9zZXJ2ZXJfcGIuTWV0YWRhdGEiRQoSR2V0VXNlckp3dFJlc3BvbnNlEhAKCHVzZXJfand0GAEgASgJEh0KFWN1c3RvbV9hcGlfc2VydmVyX3VybBgCIAEoCSJSCg9Nb2RlbEFzc2lnbm1lbnQSFgoOYXNzaWdubWVudF9qd3QYASABKAkSEQoJbW9kZWxfdWlkGAIgASgJEhQKDGhhcm5lc3NfdWlkcxgDIAMoCSK0AQoSQXNzaWduTW9kZWxSZXF1ZXN0Ei0KCG1ldGFkYXRhGAEgASgLMhsuZXhhLmFwaV9zZXJ2ZXJfcGIuTWV0YWRhdGESGAoQbW9kZWxfcm91dGVyX3VpZBgCIAEoCRISCgpjYXNjYWRlX2lkGAMgASgJEkEKE2NoYXRfbWVzc2FnZV9wcm9tcHQYBSABKAsyJC5leGEuYXBpX3NlcnZlcl9wYi5DaGF0TWVzc2FnZVByb21wdCJNChNBc3NpZ25Nb2RlbFJlc3BvbnNlEjYKCmFzc2lnbm1lbnQYASABKAsyIi5leGEuYXBpX3NlcnZlcl9wYi5Nb2RlbEFzc2lnbm1lbnQqWAoQQ2FjaGVDb250cm9sVHlwZRIiCh5DQUNIRV9DT05UUk9MX1RZUEVfVU5TUEVDSUZJRUQQABIgChxDQUNIRV9DT05UUk9MX1RZUEVfRVBIRU1FUkFMEAEq3AEKEUNoYXRNZXNzYWdlU291cmNlEiMKH0NIQVRfTUVTU0FHRV9TT1VSQ0VfVU5TUEVDSUZJRUQQABIcChhDSEFUX01FU1NBR0VfU09VUkNFX1VTRVIQARIeChpDSEFUX01FU1NBR0VfU09VUkNFX1NZU1RFTRACEh8KG0NIQVRfTUVTU0FHRV9TT1VSQ0VfVU5LTk9XThADEhwKGENIQVRfTUVTU0FHRV9TT1VSQ0VfVE9PTBAEEiUKIUNIQVRfTUVTU0FHRV9TT1VSQ0VfU1lTVEVNX1BST01QVBAFKokCChZDaGF0TWVzc2FnZVJlcXVlc3RUeXBlEikKJUNIQVRfTUVTU0FHRV9SRVFVRVNUX1RZUEVfVU5TUEVDSUZJRUQQABIlCiFDSEFUX01FU1NBR0VfUkVRVUVTVF9UWVBFX0dFTkVSQUwQARIrCidDSEFUX01FU1NBR0VfUkVRVUVTVF9UWVBFX0NPTlRFWFRfQ0hFQ0sQAhIiCh5DSEFUX01FU1NBR0VfUkVRVUVTVF9UWVBFX1BMQU4QAxIlCiFDSEFUX01FU1NBR0VfUkVRVUVTVF9UWVBFX0NPTU1BTkQQBBIlCiFDSEFUX01FU1NBR0VfUkVRVUVTVF9UWVBFX0NBU0NBREUQBSq5AwoKU3RvcFJlYXNvbhIbChdTVE9QX1JFQVNPTl9VTlNQRUNJRklFRBAAEhoKFlNUT1BfUkVBU09OX0lOQ09NUExFVEUQARIcChhTVE9QX1JFQVNPTl9TVE9QX1BBVFRFUk4QAhIaChZTVE9QX1JFQVNPTl9NQVhfVE9LRU5TEAMSHAoYU1RPUF9SRUFTT05fTUlOX0xPR19QUk9CEAQSHAoYU1RPUF9SRUFTT05fTUFYX05FV0xJTkVTEAUSGgoWU1RPUF9SRUFTT05fRVhJVF9TQ09QRRAGEicKI1NUT1BfUkVBU09OX05PTkZJTklURV9MT0dJVF9PUl9QUk9CEAcSKQolU1RPUF9SRUFTT05fRklSU1RfTk9OX1dISVRFU1BBQ0VfTElORRAIEhcKE1NUT1BfUkVBU09OX1BBUlRJQUwQCRIdChlTVE9QX1JFQVNPTl9GVU5DVElPTl9DQUxMEAoSHgoaU1RPUF9SRUFTT05fQ09OVEVOVF9GSUxURVIQCxIdChlTVE9QX1JFQVNPTl9OT05fSU5TRVJUSU9OEAwSFQoRU1RPUF9SRUFTT05fRVJST1IQDSq+AgoZQ29udmVyc2F0aW9uYWxQbGFubmVyTW9kZRIrCidDT05WRVJTQVRJT05BTF9QTEFOTkVSX01PREVfVU5TUEVDSUZJRUQQABInCiNDT05WRVJTQVRJT05BTF9QTEFOTkVSX01PREVfREVGQVVMVBABEikKJUNPTlZFUlNBVElPTkFMX1BMQU5ORVJfTU9ERV9SRUFEX09OTFkQAhInCiNDT05WRVJTQVRJT05BTF9QTEFOTkVSX01PREVfTk9fVE9PTBADEicKI0NPTlZFUlNBVElPTkFMX1BMQU5ORVJfTU9ERV9FWFBMT1JFEAQSKAokQ09OVkVSU0FUSU9OQUxfUExBTk5FUl9NT0RFX1BMQU5OSU5HEAUSJAogQ09OVkVSU0FUSU9OQUxfUExBTk5FUl9NT0RFX0FVVE8QBiqSAgoNRGlzcGxheU9wdGlvbhIeChpESVNQTEFZX09QVElPTl9VTlNQRUNJRklFRBAAEhgKFERJU1BMQVlfT1BUSU9OX0FSRU5BEAESJAogRElTUExBWV9PUFRJT05fQkFUVExFX0dST1VQX09OTFkQAhIfChtESVNQTEFZX09QVElPTl9NT0RFTF9ST1VURVIQAxIfChtESVNQTEFZX09QVElPTl9RVUlDS19SRVZJRVcQBBIjCh9ESVNQTEFZX09QVElPTl9JTlRFUk5BTF9ERUZBVUxUEAYSHwobRElTUExBWV9PUFRJT05fVU5DTEFTU0lGSUVEEAcSGQoVRElTUExBWV9PUFRJT05fTk9STUFMEAgqfgoSTW9kZWxEaW1lbnNpb25LaW5kEiQKIE1PREVMX0RJTUVOU0lPTl9LSU5EX1VOU1BFQ0lGSUVEEAASHQoZTU9ERUxfRElNRU5TSU9OX0tJTkRfQ09TVBABEiMKH01PREVMX0RJTUVOU0lPTl9LSU5EX0NPU1RfRlVaWlkQAmIGcHJvdG8z"),MetadataSchema=messageDesc(file_cascade,0),ChatToolCallSchema=messageDesc(file_cascade,1);var ChatToolDefinitionSchema=messageDesc(file_cascade,4),PromptCacheOptionsSchema=messageDesc(file_cascade,5),ImageDataSchema=messageDesc(file_cascade,6),ChatMessagePromptSchema=messageDesc(file_cascade,7),CompletionConfigurationSchema=messageDesc(file_cascade,8);var GetChatMessageRequestSchema=messageDesc(file_cascade,10),GetChatMessageResponseSchema=messageDesc(file_cascade,11);var GetUserJwtRequestSchema=messageDesc(file_cascade,22),GetUserJwtResponseSchema=messageDesc(file_cascade,23);var AssignModelRequestSchema=messageDesc(file_cascade,25),AssignModelResponseSchema=messageDesc(file_cascade,26),CacheControlType={UNSPECIFIED:0,EPHEMERAL:1};var ChatMessageSource={UNSPECIFIED:0,USER:1,SYSTEM:2,UNKNOWN:3,TOOL:4,SYSTEM_PROMPT:5};var ChatMessageRequestType={UNSPECIFIED:0,GENERAL:1,CONTEXT_CHECK:2,PLAN:3,COMMAND:4,CASCADE:5};var StopReason={UNSPECIFIED:0,INCOMPLETE:1,STOP_PATTERN:2,MAX_TOKENS:3,MIN_LOG_PROB:4,MAX_NEWLINES:5,EXIT_SCOPE:6,NONFINITE_LOGIT_OR_PROB:7,FIRST_NON_WHITESPACE_LINE:8,PARTIAL:9,FUNCTION_CALL:10,CONTENT_FILTER:11,NON_INSERTION:12,ERROR:13};var ConversationalPlannerMode={UNSPECIFIED:0,DEFAULT:1,READ_ONLY:2,NO_TOOL:3,EXPLORE:4,PLANNING:5,AUTO:6};var DisplayOption={UNSPECIFIED:0,ARENA:1,BATTLE_GROUP_ONLY:2,MODEL_ROUTER:3,QUICK_REVIEW:4,INTERNAL_DEFAULT:6,UNCLASSIFIED:7,NORMAL:8};var import_partial_json=__toESM(require_dist(),1),VALID_JSON_ESCAPES=new Set(['"',"\\","/","b","f","n","r","t","u"]);function isControlCharacter(char){let codePoint=char.codePointAt(0);return codePoint!==void 0&&codePoint>=0&&codePoint<=31}function escapeControlCharacter(char){switch(char){case"\b":return"\\b";case"\f":return"\\f";case`
|
|
5
|
+
`:return"\\n";case"\r":return"\\r";case" ":return"\\t";default:return`\\u${char.codePointAt(0)?.toString(16).padStart(4,"0")??"0000"}`}}function repairJson(json){let repaired="",inString=!1;for(let index=0;index<json.length;index++){let char=json[index];if(!inString){repaired+=char,char==='"'&&(inString=!0);continue}if(char==='"'){repaired+=char,inString=!1;continue}if(char==="\\"){let nextChar=json[index+1];if(nextChar===void 0){repaired+="\\\\";continue}if(nextChar==="u"){let unicodeDigits=json.slice(index+2,index+6);if(/^[0-9a-fA-F]{4}$/.test(unicodeDigits)){repaired+=`\\u${unicodeDigits}`,index+=5;continue}}if(VALID_JSON_ESCAPES.has(nextChar)){repaired+=`\\${nextChar}`,index+=1;continue}repaired+="\\\\";continue}repaired+=isControlCharacter(char)?escapeControlCharacter(char):char}return repaired}function parseJsonWithRepair(json){try{return JSON.parse(json)}catch(error){let repairedJson=repairJson(json);if(repairedJson!==json)return JSON.parse(repairedJson);throw error}}function parseStreamingJson(partialJson){if(!partialJson||partialJson.trim()==="")return{};try{return parseJsonWithRepair(partialJson)}catch{try{return(0,import_partial_json.parse)(partialJson)??{}}catch{try{return(0,import_partial_json.parse)(repairJson(partialJson))??{}}catch{return{}}}}}function createDevinStreamState(){return{textIndex:void 0,thinkingIndex:void 0,toolCalls:new Map,activeToolCallId:void 0}}function applyDevinResponse(message,output,events,state){message.messageId&&!output.responseId&&(output.responseId=message.messageId),message.actualModelUid&&(output.responseModel=message.actualModelUid),message.deltaThinking&&appendThinking(message,output,events,state),message.deltaText&&appendText(message.deltaText,output,events,state);for(let call of message.deltaToolCalls)appendToolCall(call,output,events,state);message.usage&&applyUsage(message,output),message.stopReason!==StopReason.UNSPECIFIED&&(output.stopReason=mapStopReason(message.stopReason))}function appendThinking(message,output,events,state){state.textIndex!==void 0&&closeText(output,events,state),state.thinkingIndex===void 0&&(output.content.push({type:"thinking",thinking:"",...message.thinkingRedacted?{redacted:!0}:{}}),state.thinkingIndex=output.content.length-1,events.push({type:"thinking_start",contentIndex:state.thinkingIndex,partial:output}));let block=output.content[state.thinkingIndex];block?.type==="thinking"&&(block.thinking+=message.deltaThinking,message.deltaSignature&&(block.thinkingSignature=message.deltaSignature),events.push({type:"thinking_delta",contentIndex:state.thinkingIndex,delta:message.deltaThinking,partial:output}))}function appendText(delta,output,events,state){state.thinkingIndex!==void 0&&closeThinking(output,events,state),state.textIndex===void 0&&(output.content.push({type:"text",text:""}),state.textIndex=output.content.length-1,events.push({type:"text_start",contentIndex:state.textIndex,partial:output}));let block=output.content[state.textIndex];block?.type==="text"&&(block.text+=delta,events.push({type:"text_delta",contentIndex:state.textIndex,delta,partial:output}))}function appendToolCall(call,output,events,state){state.textIndex!==void 0&&closeText(output,events,state),state.thinkingIndex!==void 0&&closeThinking(output,events,state);let toolCallId=call.id||state.activeToolCallId;if(!toolCallId)return;state.activeToolCallId=toolCallId;let entry=state.toolCalls.get(toolCallId);if(entry===void 0){let block2={type:"toolCall",id:toolCallId,name:call.name,arguments:{}};output.content.push(block2),entry={contentIndex:output.content.length-1,argumentsJson:""},state.toolCalls.set(toolCallId,entry),events.push({type:"toolcall_start",contentIndex:entry.contentIndex,partial:output})}let block=output.content[entry.contentIndex];if(block?.type!=="toolCall"||(call.name&&(block.name=call.name),!call.argumentsJson))return;let accumulated=call.argumentsJson.startsWith(entry.argumentsJson)?call.argumentsJson:entry.argumentsJson+call.argumentsJson,delta=accumulated.slice(entry.argumentsJson.length);entry.argumentsJson=accumulated,block.arguments=parseStreamingJson(accumulated),delta&&events.push({type:"toolcall_delta",contentIndex:entry.contentIndex,delta,partial:output})}function closeText(output,events,state){let index=state.textIndex;if(index===void 0)return;let block=output.content[index];state.textIndex=void 0,block?.type==="text"&&events.push({type:"text_end",contentIndex:index,content:block.text,partial:output})}function closeThinking(output,events,state){let index=state.thinkingIndex;if(index===void 0)return;let block=output.content[index];state.thinkingIndex=void 0,block?.type==="thinking"&&events.push({type:"thinking_end",contentIndex:index,content:block.thinking,partial:output})}function applyUsage(message,output){let usage=message.usage;usage&&(output.usage.input=Number(usage.inputTokens),output.usage.output=Number(usage.outputTokens),output.usage.cacheRead=Number(usage.cacheReadTokens),output.usage.cacheWrite=Number(usage.cacheWriteTokens),output.usage.totalTokens=output.usage.input+output.usage.output+output.usage.cacheRead+output.usage.cacheWrite)}function mapStopReason(reason){switch(reason){case StopReason.FUNCTION_CALL:return"toolUse";case StopReason.MAX_TOKENS:case StopReason.MAX_NEWLINES:return"length";case StopReason.ERROR:case StopReason.CONTENT_FILTER:return"error";default:return"stop"}}import{gunzipSync,gzipSync}from"node:zlib";var DEVIN_DEFAULT_BASE_URL="https://server.codeium.com",DEVIN_CHAT_MESSAGE_PATH="/exa.api_server_pb.ApiServerService/GetChatMessage";var DEVIN_ASSIGN_MODEL_PATH="/exa.api_server_pb.ApiServerService/AssignModel",DEVIN_USER_JWT_PATH="/exa.auth_pb.AuthService/GetUserJwt",DEVIN_CHAT_HEADERS={"content-type":"application/connect+proto","connect-protocol-version":"1","connect-content-encoding":"gzip","accept-encoding":"identity","user-agent":"connect-go/1.18.1 (go1.26.3)","connect-accept-encoding":"gzip"},DEVIN_UNARY_HEADERS={"content-type":"application/proto","connect-protocol-version":"1",accept:"*/*"},DEVIN_COMPRESSED_FLAG=1,DEVIN_TRAILER_FLAG=2,DEVIN_MAX_FRAME_PAYLOAD=64*1024*1024;function encodeDevinFrame(schema,message){let payload=gzipSync(toBinary(schema,message)),frame=new Uint8Array(5+payload.byteLength);return frame[0]=DEVIN_COMPRESSED_FLAG,new DataView(frame.buffer).setUint32(1,payload.byteLength,!1),frame.set(payload,5),frame}async function*decodeDevinFrames(body,schema){let pending=new Uint8Array(0),reader=body.getReader();try{for(;;){let{done,value}=await reader.read();for(value&&value.byteLength>0&&(pending=append(pending,value));pending.byteLength>=5;){let length=new DataView(pending.buffer,pending.byteOffset,pending.byteLength).getUint32(1,!1);if(length>DEVIN_MAX_FRAME_PAYLOAD)throw new Error(`Devin Connect frame length ${length} exceeds the ${DEVIN_MAX_FRAME_PAYLOAD}-byte cap`);if(pending.byteLength<5+length)break;let flags=pending[0]??0,raw=pending.subarray(5,5+length),payload=(flags&DEVIN_COMPRESSED_FLAG)===0?copyOf(raw):copyOf(gunzipSync(raw));pending=pending.subarray(5+length),yield(flags&DEVIN_TRAILER_FLAG)===0?{message:fromBinary(schema,payload)}:{trailer:new TextDecoder().decode(payload)}}if(done)break}}finally{reader.releaseLock()}}function copyOf(source){let out=new Uint8Array(source.byteLength);return out.set(source),out}function append(head,tail){if(head.byteLength===0)return tail;let out=new Uint8Array(head.byteLength+tail.byteLength);return out.set(head,0),out.set(tail,head.byteLength),out}var DEVIN_SESSION_TOKEN_PREFIX="devin-session-token$",DEVIN_OS=process.platform==="darwin"?"darwin":process.platform==="win32"?"windows":"linux",DEVIN_LOCALE="en",DEVIN_CLI_IDENTITY={ideName:"devin-cli",ideType:"chisel",ideVersion:"3000.6.2",extensionName:"chisel",extensionVersion:"3000.6.2",locale:DEVIN_LOCALE,os:DEVIN_OS};var DEVIN_SUPPORTED_MODEL_DISPLAYS=[DisplayOption.MODEL_ROUTER,DisplayOption.QUICK_REVIEW,DisplayOption.INTERNAL_DEFAULT,DisplayOption.UNCLASSIFIED,DisplayOption.NORMAL];function normalizeDevinSessionToken(apiKey){return apiKey?apiKey.startsWith(DEVIN_SESSION_TOKEN_PREFIX)?apiKey:`${DEVIN_SESSION_TOKEN_PREFIX}${apiKey}`:""}function devinCliMetadata(apiKey,userJwt=""){return create(MetadataSchema,{...DEVIN_CLI_IDENTITY,apiKey:normalizeDevinSessionToken(apiKey),userJwt})}import{createHash}from"node:crypto";function deterministicUuid(seed){let hex=createHash("sha256").update(seed).digest("hex");return`${hex.slice(0,8)}-${hex.slice(8,12)}-${hex.slice(12,16)}-${hex.slice(16,20)}-${hex.slice(20,32)}`}var DEVIN_DEFAULT_STOP_PATTERNS=["<|user|>","<|bot|>","<|context_request|>","<|endoftext|>","<|end_of_turn|>"],DEFAULT_MAX_TOKENS=64e3,DEFAULT_TEMPERATURE=.4,MIN_TEMPERATURE=1e-4;function buildDevinChatRequest(input){let temperature=Math.max(input.temperature??DEFAULT_TEMPERATURE,MIN_TEMPERATURE),stopPatterns=[...DEVIN_DEFAULT_STOP_PATTERNS,...input.stopSequences??[]];return create(GetChatMessageRequestSchema,{metadata:devinCliMetadata(input.apiKey,input.userJwt??""),prompt:input.context.systemPrompt??"",chatMessagePrompts:mapHistory(input.context.messages,input.cascadeId,input.model),requestType:ChatMessageRequestType.CASCADE,plannerMode:ConversationalPlannerMode.DEFAULT,chatModelUid:input.assignment?.modelUid??input.model.upstreamModelId??input.model.id,...input.assignment?{modelAssignmentJwt:input.assignment.assignmentJwt}:{},cascadeId:input.cascadeId,executionId:crypto.randomUUID(),tools:(input.context.tools??[]).map(toolDefinition),toolChoice:{choice:{case:"optionName",value:"auto"}},systemPromptCacheOptions:create(PromptCacheOptionsSchema,{type:CacheControlType.EPHEMERAL}),disableParallelToolCalls:input.model.compat?.supportsParallelToolCalls!==!0,configuration:create(CompletionConfigurationSchema,{numCompletions:1n,maxTokens:BigInt(input.maxTokens??input.model.maxTokens??DEFAULT_MAX_TOKENS),maxNewlines:200n,temperature,firstTemperature:temperature,topK:50n,topP:input.topP??1,stopPatterns,fimEotProbThreshold:1})})}function buildDevinRouterPrompt(messages){for(let index=messages.length-1;index>=0;index--){let message=messages[index];if(message?.role==="user")return userPrompt(message,"")}}function toolDefinition(tool){return create(ChatToolDefinitionSchema,{name:tool.name,description:tool.description,jsonSchemaString:JSON.stringify(tool.parameters??{}),strict:!1})}function mapHistory(messages,cascadeId,model){let prompts=[];for(let[index,message]of messages.entries()){let seed=`${cascadeId}\0${index}\0${message.role}`;if(message.role==="user")prompts.push(userPrompt(message,deterministicUuid(seed)));else if(message.role==="assistant"){let prompt=assistantPrompt(message,model,`bot-${deterministicUuid(seed)}`);prompt&&prompts.push(prompt)}else message.role==="toolResult"&&prompts.push(toolResultPrompt(message,deterministicUuid(`${seed}\0${message.toolCallId}`)))}return prompts}function userPrompt(message,messageId){let{text,images}=splitContent(typeof message.content=="string"?[]:message.content);return create(ChatMessagePromptSchema,{messageId,source:ChatMessageSource.USER,prompt:typeof message.content=="string"?message.content:text,images})}function assistantPrompt(message,model,fallbackId){let native=message.api===model.api&&message.provider===model.provider&&message.model===model.id,text="",thinking="",signature="",toolCalls=[];for(let block of message.content)block.type==="text"?text+=block.text:block.type==="thinking"?(thinking+=block.thinking,native&&!signature&&block.thinkingSignature&&(signature=block.thinkingSignature)):block.type==="toolCall"&&toolCalls.push(create(ChatToolCallSchema,{id:block.id,name:block.name,argumentsJson:JSON.stringify(block.arguments??{})}));if(!(!text&&!thinking&&!signature&&toolCalls.length===0))return create(ChatMessagePromptSchema,{messageId:native&&message.responseId?message.responseId:fallbackId,source:ChatMessageSource.SYSTEM,prompt:text,thinking,signature,signatureType:"",toolCalls})}function toolResultPrompt(message,messageId){let{text,images}=splitContent(message.content);return create(ChatMessagePromptSchema,{messageId,source:ChatMessageSource.TOOL,prompt:text,images,toolCallId:message.toolCallId,toolResultIsError:message.isError===!0})}function splitContent(content){let text="",images=[];for(let block of content)block.type==="text"?text+=block.text:images.push(create(ImageDataSchema,{base64Data:block.data,mimeType:block.mimeType}));return{text,images}}function readDevinTrailerError(trailer){let text=trailer.trim();if(!text)return;let parsed;try{parsed=JSON.parse(text)}catch{return}if(!isRecord(parsed)||!isRecord(parsed.error))return;let code=typeof parsed.error.code=="string"?parsed.error.code:"",message=typeof parsed.error.message=="string"?parsed.error.message:"";if(!code&&!message)return;let detail2=summarizeDetails(parsed.error.details);return{code,message,formatted:`Devin stream error${code?` ${code}`:""}: ${message}${detail2?` [details: ${detail2}]`:""}`}}function summarizeDetails(details){if(!Array.isArray(details)||details.length===0)return;let parts=[];for(let entry of details){if(!isRecord(entry))continue;let type=typeof entry.type=="string"&&entry.type?entry.type:void 0,evidence=evidenceOf(entry),part=type&&evidence?`${type}: ${evidence}`:type??evidence;part&&parts.push(part)}let summary=parts.join("; ");if(summary)return summary.length>2e3?`${summary.slice(0,2e3)}\u2026`:summary}function evidenceOf(entry){if(entry.debug!==void 0){if(typeof entry.debug=="string")return entry.debug;try{return JSON.stringify(entry.debug)}catch{return}}return typeof entry.value=="string"&&entry.value?entry.value:void 0}function isRecord(value){return typeof value=="object"&&value!==null&&!Array.isArray(value)}var DevinUnaryError=class extends Error{constructor(rpc,status,detail2){super(`Devin ${rpc} failed (HTTP ${status})${detail2?`: ${detail2}`:""}`),this.name="DevinUnaryError",this.rpc=rpc,this.status=status}};async function postDevinUnary(input){let response=await fetch(input.baseUrl+input.path,{method:"POST",headers:DEVIN_UNARY_HEADERS,body:copyOf2(toBinary(input.requestSchema,create(input.requestSchema,input.request))),signal:input.signal}),payload=new Uint8Array(await response.arrayBuffer());if(!response.ok)throw new DevinUnaryError(rpcName(input.path),response.status,new TextDecoder().decode(payload).slice(0,500));let decoded=await decodeDevinUnary(input.responseSchema,payload);if(!decoded)throw new DevinUnaryError(rpcName(input.path),response.status,"response is not a protobuf message");return decoded}async function decodeDevinUnary(schema,payload){try{return fromBinary(schema,payload)}catch{try{return fromBinary(schema,await gunzip(payload))}catch{return}}}async function gunzip(payload){let inflated=new Blob([copyOf2(payload)]).stream().pipeThrough(new DecompressionStream("gzip"));return new Uint8Array(await new Response(inflated).arrayBuffer())}function rpcName(path){return path.slice(path.lastIndexOf("/")+1)}function copyOf2(source){let out=new Uint8Array(source.byteLength);return out.set(source),out}var stream=(model,context,options)=>{let events=new AssistantMessageEventStream;return run(model,context,events,options),events},streamSimple=stream;async function run(model,context,events,options){let output={role:"assistant",content:[],api:"devin-agent",provider:model.provider,model:model.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"stop",timestamp:Date.now()},state=createDevinStreamState(),signal=options?.signal;try{events.push({type:"start",partial:output});let baseUrl=(model.baseUrl||DEVIN_DEFAULT_BASE_URL).replace(/\/+$/,""),cascadeId=options?.cascadeId??crypto.randomUUID(),session=await mintUserJwt(baseUrl,options?.apiKey,signal),assignment=model.compat?.modelRouter===!0?await assignModel(model,context,session.chatBaseUrl,cascadeId,options?.apiKey,signal):void 0;assignment&&(output.responseModel=assignment.modelUid);let request=buildDevinChatRequest({model,context,apiKey:options?.apiKey,userJwt:session.userJwt,cascadeId,...assignment?{assignment}:{},...options?.maxTokens!==void 0?{maxTokens:options.maxTokens}:{},...options?.temperature!==void 0?{temperature:options.temperature}:{}}),response=await fetch(session.chatBaseUrl+DEVIN_CHAT_MESSAGE_PATH,{method:"POST",headers:DEVIN_CHAT_HEADERS,body:encodeDevinFrame(GetChatMessageRequestSchema,request),signal});if(await options?.onResponse?.({status:response.status,headers:headersOf(response)},model),!response.ok||!response.body)throw new Error(`Devin request failed (HTTP ${response.status})${await detail(response)}`);for await(let frame of decodeDevinFrames(response.body,GetChatMessageResponseSchema))if(frame.message&&applyDevinResponse(frame.message,output,events,state),frame.trailer!==void 0){let rejection=readDevinTrailerError(frame.trailer);if(rejection)throw new Error(rejection.formatted)}if(finalizeBlocks(output,events,state),output.stopReason==="stop"&&output.content.some(isToolCall)&&(output.stopReason="toolUse"),output.stopReason==="error"){output.errorMessage??="Devin ended the turn with a server error or a content filter",events.push({type:"error",reason:"error",error:output}),events.end();return}events.push({type:"done",reason:doneReasonOf(output.stopReason),message:output}),events.end()}catch(error){finalizeBlocks(output,events,state);let aborted=signal?.aborted===!0||error instanceof Error&&error.name==="AbortError";output.stopReason=aborted?"aborted":"error",output.errorMessage=aborted?"Request was aborted":messageOf(error),events.push({type:"error",reason:output.stopReason,error:output}),events.end()}}async function mintUserJwt(baseUrl,apiKey,signal){let response=await postDevinUnary({baseUrl,path:DEVIN_USER_JWT_PATH,requestSchema:GetUserJwtRequestSchema,request:{metadata:devinCliMetadata(apiKey)},responseSchema:GetUserJwtResponseSchema,...signal?{signal}:{}});if(!response.userJwt)throw new Error("Devin GetUserJwt returned an empty user JWT");let customHost=response.customApiServerUrl.trim().replace(/\/+$/,"");return{userJwt:response.userJwt,chatBaseUrl:customHost||baseUrl}}async function assignModel(model,context,baseUrl,cascadeId,apiKey,signal){let routerPrompt=buildDevinRouterPrompt(context.messages),assignment=(await postDevinUnary({baseUrl,path:DEVIN_ASSIGN_MODEL_PATH,requestSchema:AssignModelRequestSchema,request:{metadata:devinCliMetadata(apiKey),modelRouterUid:model.upstreamModelId??model.id,cascadeId,...routerPrompt?{chatMessagePrompt:routerPrompt}:{}},responseSchema:AssignModelResponseSchema,...signal?{signal}:{}})).assignment;if(!assignment?.modelUid||!assignment.assignmentJwt)throw new Error("Devin AssignModel returned no model uid and assignment JWT");return{modelUid:assignment.modelUid,assignmentJwt:assignment.assignmentJwt}}function doneReasonOf(stopReason){switch(stopReason){case"length":return"length";case"toolUse":return"toolUse";default:return"stop"}}function headersOf(response){let headers={};return response.headers.forEach((value,key)=>{headers[key]=value}),headers}function isToolCall(content){return content.type==="toolCall"}function finalizeBlocks(output,events,state){if(state.thinkingIndex!==void 0){let block=output.content[state.thinkingIndex];block?.type==="thinking"&&events.push({type:"thinking_end",contentIndex:state.thinkingIndex,content:block.thinking,partial:output}),state.thinkingIndex=void 0}if(state.textIndex!==void 0){let block=output.content[state.textIndex];block?.type==="text"&&events.push({type:"text_end",contentIndex:state.textIndex,content:block.text,partial:output}),state.textIndex=void 0}for(let[,entry]of state.toolCalls){let block=output.content[entry.contentIndex];block?.type==="toolCall"&&events.push({type:"toolcall_end",contentIndex:entry.contentIndex,toolCall:block,partial:output})}state.toolCalls.clear()}async function detail(response){try{let body=await response.text();return body?`: ${body.slice(0,500)}`:""}catch{return""}}function messageOf(error){return error instanceof Error?error.message:String(error)}export{stream,streamSimple};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url); { const __piWorkerThreads = require("node:worker_threads"); if (typeof __piWorkerThreads.markAsUncloneable !== "function") { __piWorkerThreads.markAsUncloneable = () => {}; } }
|
|
2
|
+
var __require=(x=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(x,{get:(a,b)=>(typeof require<"u"?require:a)[b]}):x)(function(x){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+x+'" is not supported')});import{createServer}from"node:http";var procEnvCache=null;function getBunSandboxEnvValue(name){if(!(typeof process>"u"||!process.versions?.bun||Object.keys(process.env).length>0)){if(procEnvCache===null){procEnvCache=new Map;try{let{readFileSync}=__require("node:fs"),data=readFileSync("/proc/self/environ","utf-8");for(let entry of data.split("\0")){let idx=entry.indexOf("=");idx>0&&procEnvCache.set(entry.slice(0,idx),entry.slice(idx+1))}}catch{}}return procEnvCache.get(name)}}function getProviderEnvValue(name,env){return env?.[name]||(typeof process<"u"?process.env[name]:void 0)||getBunSandboxEnvValue(name)||void 0}var DEVIN_TOKEN_URL="https://api.devin.ai/auth/cli/token";function decodeJwtExpiry(token){let payload=token.split(".")[1];if(!payload)return;let base64=payload.replaceAll("-","+").replaceAll("_","/"),padded=base64.padEnd(base64.length+(4-base64.length%4)%4,"=");try{let exp=JSON.parse(atob(padded)).exp;if(typeof exp=="number"&&Number.isFinite(exp)&&exp>0)return Math.trunc(exp*1e3)}catch{}}function errorDetail(body){if(typeof body.error_description=="string")return body.error_description;if(typeof body.message=="string")return body.message;if(typeof body.error=="string")return body.error;if(body.error&&typeof body.error=="object"&&!Array.isArray(body.error)){let message=body.error.message;if(typeof message=="string")return message}}function devinCredential(token){return{type:"oauth",access:token,refresh:token,expires:decodeJwtExpiry(token)??Date.now()+31536e6}}async function exchangeDevinAuthorizationCode(code,verifier,signal){if(signal.aborted)throw new Error("Login cancelled");let controller=new AbortController,onAbort=()=>controller.abort(signal.reason);signal.addEventListener("abort",onAbort,{once:!0});let timeout=setTimeout(()=>controller.abort(new Error("Devin OAuth token exchange timed out")),3e4),response,body={};try{response=await fetch(DEVIN_TOKEN_URL,{method:"POST",headers:{accept:"application/json","content-type":"application/json"},body:JSON.stringify({code,code_verifier:verifier}),signal:controller.signal});try{let parsed=await response.json();parsed&&typeof parsed=="object"&&!Array.isArray(parsed)&&(body=parsed)}catch{if(response.ok)throw new Error("Devin OAuth returned invalid JSON")}}catch(error){throw signal.aborted?new Error("Login cancelled"):controller.signal.aborted?new Error("Devin OAuth token exchange timed out"):error}finally{clearTimeout(timeout),signal.removeEventListener("abort",onAbort)}if(!response.ok){let detail=errorDetail(body);throw new Error(`Devin OAuth token exchange failed (HTTP ${response.status})${detail?`: ${detail}`:""}`)}if(typeof body.token!="string"||body.token.length===0)throw new Error('Devin OAuth response carries no "token"');return devinCredential(body.token)}var LOGO_SVG='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 800" aria-hidden="true"><path fill="#fff" fill-rule="evenodd" d="M165.29 165.29 H517.36 V400 H400 V517.36 H282.65 V634.72 H165.29 Z M282.65 282.65 V400 H400 V282.65 Z"/><path fill="#fff" d="M517.36 400 H634.72 V634.72 H517.36 Z"/></svg>';function escapeHtml(value){return value.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'")}function renderPage(options){let title=escapeHtml(options.title),heading=escapeHtml(options.heading),message=escapeHtml(options.message),details=options.details?escapeHtml(options.details):void 0;return`<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="utf-8" />
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
7
|
+
<title>${title}</title>
|
|
8
|
+
<style>
|
|
9
|
+
:root {
|
|
10
|
+
--text: #fafafa;
|
|
11
|
+
--text-dim: #a1a1aa;
|
|
12
|
+
--page-bg: #09090b;
|
|
13
|
+
--font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
14
|
+
--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
|
15
|
+
}
|
|
16
|
+
* { box-sizing: border-box; }
|
|
17
|
+
html { color-scheme: dark; }
|
|
18
|
+
body {
|
|
19
|
+
margin: 0;
|
|
20
|
+
min-height: 100vh;
|
|
21
|
+
display: flex;
|
|
22
|
+
align-items: center;
|
|
23
|
+
justify-content: center;
|
|
24
|
+
padding: 24px;
|
|
25
|
+
background: var(--page-bg);
|
|
26
|
+
color: var(--text);
|
|
27
|
+
font-family: var(--font-sans);
|
|
28
|
+
text-align: center;
|
|
29
|
+
}
|
|
30
|
+
main {
|
|
31
|
+
width: 100%;
|
|
32
|
+
max-width: 560px;
|
|
33
|
+
display: flex;
|
|
34
|
+
flex-direction: column;
|
|
35
|
+
align-items: center;
|
|
36
|
+
justify-content: center;
|
|
37
|
+
}
|
|
38
|
+
.logo {
|
|
39
|
+
width: 72px;
|
|
40
|
+
height: 72px;
|
|
41
|
+
display: block;
|
|
42
|
+
margin-bottom: 24px;
|
|
43
|
+
}
|
|
44
|
+
h1 {
|
|
45
|
+
margin: 0 0 10px;
|
|
46
|
+
font-size: 28px;
|
|
47
|
+
line-height: 1.15;
|
|
48
|
+
font-weight: 650;
|
|
49
|
+
color: var(--text);
|
|
50
|
+
}
|
|
51
|
+
p {
|
|
52
|
+
margin: 0;
|
|
53
|
+
line-height: 1.7;
|
|
54
|
+
color: var(--text-dim);
|
|
55
|
+
font-size: 15px;
|
|
56
|
+
}
|
|
57
|
+
.details {
|
|
58
|
+
margin-top: 16px;
|
|
59
|
+
font-family: var(--font-mono);
|
|
60
|
+
font-size: 13px;
|
|
61
|
+
color: var(--text-dim);
|
|
62
|
+
white-space: pre-wrap;
|
|
63
|
+
word-break: break-word;
|
|
64
|
+
}
|
|
65
|
+
</style>
|
|
66
|
+
</head>
|
|
67
|
+
<body>
|
|
68
|
+
<main>
|
|
69
|
+
<div class="logo">${LOGO_SVG}</div>
|
|
70
|
+
<h1>${heading}</h1>
|
|
71
|
+
<p>${message}</p>
|
|
72
|
+
${details?`<div class="details">${details}</div>`:""}
|
|
73
|
+
</main>
|
|
74
|
+
</body>
|
|
75
|
+
</html>`}function oauthSuccessHtml(message){return renderPage({title:"Authentication successful",heading:"Authentication successful",message})}function oauthErrorHtml(message,details){return renderPage({title:"Authentication failed",heading:"Authentication failed",message,details})}var DEVIN_CALLBACK_PORT=59653,DEVIN_CALLBACK_PATH="/callback";function callbackHost(){return getProviderEnvValue("PI_OAUTH_CALLBACK_HOST")||"127.0.0.1"}function sendHtml(response,status,html){response.statusCode=status,response.setHeader("content-type","text/html; charset=utf-8"),response.setHeader("cache-control","no-store"),response.end(html)}async function startDevinCallbackServer(input){if(input.signal.aborted)throw new Error("Login cancelled");let host=callbackHost(),resolveCredential=()=>{},rejectCredential=()=>{},credential=new Promise((resolve,reject)=>{resolveCredential=resolve,rejectCredential=reject}),claimed=!1,settled=!1,timeout,onAbort,close=()=>{timeout&&clearTimeout(timeout),onAbort&&input.signal.removeEventListener("abort",onAbort),server.close()},finish=result=>{settled||(settled=!0,close(),"credential"in result?resolveCredential(result.credential):rejectCredential(result.error))},server=createServer((request,response)=>{(async()=>{let requestUrl=new URL(request.url??"/",`http://${host}`);if(request.method!=="GET"||requestUrl.pathname!==DEVIN_CALLBACK_PATH){sendHtml(response,404,oauthErrorHtml("OAuth callback route not found."));return}if(claimed||settled){sendHtml(response,409,oauthErrorHtml("This OAuth callback has already been used."));return}let oauthError=requestUrl.searchParams.get("error");if(oauthError){let description=requestUrl.searchParams.get("error_description")??oauthError;sendHtml(response,400,oauthErrorHtml("Devin authorization was denied.",description)),finish({error:new Error(`Devin authorization failed: ${description}`)});return}if((requestUrl.searchParams.get("state")??"")!==input.state){sendHtml(response,400,oauthErrorHtml("Devin authorization state mismatch.")),finish({error:new Error("Devin OAuth callback state mismatch")});return}let code=requestUrl.searchParams.get("code");if(!code){sendHtml(response,400,oauthErrorHtml("Devin returned no authorization code."));return}claimed=!0;try{let result=await exchangeDevinAuthorizationCode(code,input.verifier,input.signal);sendHtml(response,200,oauthSuccessHtml("Signed in to Devin. You may now close this page.")),finish({credential:result})}catch(error){let message=error instanceof Error?error.message:"Unknown token exchange error";sendHtml(response,502,oauthErrorHtml("Devin token exchange failed.",message)),finish({error:error instanceof Error?error:new Error(message)})}})()});if(await new Promise((resolve,reject)=>{server.once("error",reject),server.listen(DEVIN_CALLBACK_PORT,host,()=>{server.removeListener("error",reject),resolve()})}),server.on("error",error=>finish({error})),onAbort=()=>finish({error:new Error("Login cancelled")}),input.signal.addEventListener("abort",onAbort,{once:!0}),input.signal.aborted)throw close(),new Error("Login cancelled");return timeout=setTimeout(()=>finish({error:new Error("Devin OAuth login timed out")}),input.loginTimeoutMs),{callbackUrl:`http://${host}:${DEVIN_CALLBACK_PORT}${DEVIN_CALLBACK_PATH}`,close,cancelWait:()=>{claimed||finish({credential:null})},waitForCredential:()=>credential}}function base64urlEncode(bytes){let binary="";for(let byte of bytes)binary+=String.fromCharCode(byte);return btoa(binary).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}async function generatePKCE(){let verifierBytes=new Uint8Array(32);crypto.getRandomValues(verifierBytes);let verifier=base64urlEncode(verifierBytes),data=new TextEncoder().encode(verifier),hashBuffer=await crypto.subtle.digest("SHA-256",data),challenge=base64urlEncode(new Uint8Array(hashBuffer));return{verifier,challenge}}var AUTHORIZE_URL="https://app.devin.ai/auth/cli/continue",LOGIN_TIMEOUT_MS=300*1e3;function parseAuthorizationInput(input){let value=input.trim();if(value){try{return new URL(value).searchParams.get("code")??void 0}catch{}return value.includes("code=")?new URLSearchParams(value).get("code")??void 0:value}}function authorizeUrl(input){let url=new URL(AUTHORIZE_URL);return url.search=new URLSearchParams({response_type:"code",redirect_uri:input.redirectUri,code_challenge:input.challenge,code_challenge_method:"S256",state:input.state,prompt:"select_account"}).toString(),url.toString()}async function loginDevin(interaction){let{verifier,challenge}=await generatePKCE(),state=crypto.randomUUID(),callback=await startDevinCallbackServer({state,verifier,signal:interaction.signal,loginTimeoutMs:LOGIN_TIMEOUT_MS}),manualAbort=new AbortController,manualInput,manualError;try{interaction.notify({type:"progress",message:`Listening for the Devin OAuth callback on ${callback.callbackUrl}`}),interaction.notify({type:"auth_url",url:authorizeUrl({redirectUri:callback.callbackUrl,challenge,state}),instructions:"Sign in to Devin in your browser. If the browser is on another machine, paste the final redirect URL here."});let manualPromise=interaction.prompt({type:"manual_code",message:"Complete sign-in in your browser, or paste the authorization code / redirect URL here:",placeholder:callback.callbackUrl,signal:manualAbort.signal}).then(input=>{manualInput=input,callback.cancelWait()}).catch(error=>{manualError=error instanceof Error?error:new Error(String(error)),callback.cancelWait()}),credential=await callback.waitForCredential();if(manualError)throw manualError;if(credential)return credential;if(await manualPromise,manualError)throw manualError;let code=manualInput?parseAuthorizationInput(manualInput):void 0;if(!code)throw new Error("Missing authorization code");return interaction.notify({type:"progress",message:"Exchanging the authorization code for a Devin token..."}),await exchangeDevinAuthorizationCode(code,verifier,interaction.signal)}finally{manualAbort.abort(),callback.close()}}var devinOAuth={name:"Devin",isSubscription:!0,loginLabel:"Sign in with Devin",login:loginDevin,async refresh(credential,_signal){return credential},async toAuth(credential){return{apiKey:credential.access}}};export{devinOAuth};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url); { const __piWorkerThreads = require("node:worker_threads"); if (typeof __piWorkerThreads.markAsUncloneable !== "function") { __piWorkerThreads.markAsUncloneable = () => {}; } }
|
|
2
|
-
import{helpFlagsScope,isPlainHelpRequest,resolveHelpProjectTrust,tryPrintHelpWithoutEngine}from"./chunk-
|
|
2
|
+
import{helpFlagsScope,isPlainHelpRequest,resolveHelpProjectTrust,tryPrintHelpWithoutEngine}from"./chunk-UAYBYTFN.js";import"./chunk-QPIXPR6I.js";import"./chunk-HGAX6JZ7.js";import"./chunk-26UBFF6N.js";import"./chunk-3P23SBT3.js";import"./chunk-H5RK2RYZ.js";import"./chunk-TDTKQR7C.js";import"./chunk-VR4X5O2Z.js";export{helpFlagsScope,isPlainHelpRequest,resolveHelpProjectTrust,tryPrintHelpWithoutEngine};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url); { const __piWorkerThreads = require("node:worker_threads"); if (typeof __piWorkerThreads.markAsUncloneable !== "function") { __piWorkerThreads.markAsUncloneable = () => {}; } }
|
|
2
|
+
import{parseHostArgs,runHostCommand}from"./chunk-IUZUN32Z.js";import"./chunk-P7PWCGLJ.js";import"./chunk-U6Z6OBX4.js";import"./chunk-LF3XTYYF.js";import"./chunk-HSH674C6.js";import"./chunk-HGAX6JZ7.js";import"./chunk-26UBFF6N.js";import"./chunk-H5RK2RYZ.js";import"./chunk-TDTKQR7C.js";import"./chunk-VR4X5O2Z.js";export{parseHostArgs,runHostCommand};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url); { const __piWorkerThreads = require("node:worker_threads"); if (typeof __piWorkerThreads.markAsUncloneable !== "function") { __piWorkerThreads.markAsUncloneable = () => {}; } }
|
|
3
|
-
import{DEFAULT_HOST_IDLE_EXIT_MS,HOST_COLD_START_ENV,HOST_IDLE_EXIT_MS_ENV,INTERNAL_SUPERVISOR_FLAG,IdleExitDecider,classifyChildExit,createInternalSocketPath,findInternalSupervisorArgs,parseColdStart,parseIdleExitMs,parseSupervisorArgs,resolveCliMainPath,resolveHostChildLaunch,resolveHostPolicy,runHostSupervisor,spawnableChildLaunch}from"./chunk-
|
|
3
|
+
import{DEFAULT_HOST_IDLE_EXIT_MS,HOST_COLD_START_ENV,HOST_IDLE_EXIT_MS_ENV,INTERNAL_SUPERVISOR_FLAG,IdleExitDecider,classifyChildExit,createInternalSocketPath,findInternalSupervisorArgs,parseColdStart,parseIdleExitMs,parseSupervisorArgs,resolveCliMainPath,resolveHostChildLaunch,resolveHostPolicy,runHostSupervisor,spawnableChildLaunch}from"./chunk-LF3XTYYF.js";import"./chunk-HSH674C6.js";import"./chunk-HGAX6JZ7.js";import"./chunk-26UBFF6N.js";import"./chunk-H5RK2RYZ.js";import"./chunk-TDTKQR7C.js";import"./chunk-VR4X5O2Z.js";export{DEFAULT_HOST_IDLE_EXIT_MS,HOST_COLD_START_ENV,HOST_IDLE_EXIT_MS_ENV,INTERNAL_SUPERVISOR_FLAG,IdleExitDecider,classifyChildExit,createInternalSocketPath,findInternalSupervisorArgs,parseColdStart,parseIdleExitMs,parseSupervisorArgs,resolveCliMainPath,resolveHostChildLaunch,resolveHostPolicy,runHostSupervisor,spawnableChildLaunch};
|