kaijibot 2026.7.7-1 → 2026.7.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/.buildstamp +1 -1
  2. package/dist/build-info.json +3 -3
  3. package/dist/cli-startup-metadata.json +1 -1
  4. package/dist/control-ui/assets/{agents-BuACACE9.js → agents-RU2VKJCA.js} +2 -2
  5. package/dist/control-ui/assets/{anthropic-DH6FiJ_W.js → anthropic-17T0WCif.js} +2 -2
  6. package/dist/control-ui/assets/{azure-openai-responses-DpOwevJs.js → azure-openai-responses-CdtO9bUf.js} +2 -2
  7. package/dist/control-ui/assets/{cognitive-6KCHIzKg.js → cognitive-CaaG5owa.js} +2 -2
  8. package/dist/control-ui/assets/{cognitive-shared-B8AP3LeI.js → cognitive-shared-eDlosSnJ.js} +2 -2
  9. package/dist/control-ui/assets/{corrections-bxFx9e2N.js → corrections-Dj8U7UJx.js} +2 -2
  10. package/dist/control-ui/assets/{cron-CkgjS7MD.js → cron-BY1O45y0.js} +2 -2
  11. package/dist/control-ui/assets/{evolution-DCLqYMzQ.js → evolution-CT8Iz0S4.js} +2 -2
  12. package/dist/control-ui/assets/{history-C-cVd4nY.js → history-DO10syFs.js} +2 -2
  13. package/dist/control-ui/assets/index-CStp06RP.css +1 -0
  14. package/dist/control-ui/assets/{index-PlnK9Z5S.js → index-T9pDybqW.js} +4 -4
  15. package/dist/control-ui/assets/{insights-4-Kx2iuJ.js → insights-BJ4T51V1.js} +2 -2
  16. package/dist/control-ui/assets/{mistral-C_i_dY99.js → mistral-DCeq_Ler.js} +2 -2
  17. package/dist/control-ui/assets/{openai-codex-responses-CAYMEYIi.js → openai-codex-responses-ms4748Cz.js} +2 -2
  18. package/dist/control-ui/assets/{openai-completions-DMlLdzgc.js → openai-completions-BvAblE8o.js} +2 -2
  19. package/dist/control-ui/assets/{openai-responses-WrNp72xh.js → openai-responses-DK8cn8Ds.js} +2 -2
  20. package/dist/control-ui/assets/{openai-responses-shared-B6wdZedF.js → openai-responses-shared-D1zYh7h3.js} +2 -2
  21. package/dist/control-ui/assets/{presenter-TzBAwYV1.js → presenter-C5KxvyyW.js} +2 -2
  22. package/dist/control-ui/index.html +2 -2
  23. package/dist/extensions/diffs/.kaijibot-runtime-deps-stamp.json +1 -1
  24. package/dist/extensions/feishu/.kaijibot-runtime-deps-stamp.json +1 -1
  25. package/dist/extensions/kindle-portal/.kaijibot-runtime-deps-stamp.json +1 -1
  26. package/dist/extensions/webhooks/.kaijibot-runtime-deps-stamp.json +1 -1
  27. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  28. package/package.json +1 -1
  29. package/dist/control-ui/assets/index-BHEJLbGm.css +0 -1
package/dist/.buildstamp CHANGED
@@ -1 +1 @@
1
- {"builtAt":1783392464094,"head":"5a69e3c4e950d073261f38b12bce1cf168700ce1"}
1
+ {"builtAt":1783390532800,"head":"9eff66a2b8cc84ac7bee847dcdd3f054ab492e2b"}
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2026.7.7-1",
3
- "commit": "5a69e3c4e950d073261f38b12bce1cf168700ce1",
4
- "builtAt": "2026-07-07T02:48:26.073Z"
2
+ "version": "2026.7.7",
3
+ "commit": "9eff66a2b8cc84ac7bee847dcdd3f054ab492e2b",
4
+ "builtAt": "2026-07-07T02:16:15.388Z"
5
5
  }
@@ -14,5 +14,5 @@
14
14
  ],
15
15
  "channelCatalogSignature": "a99b78ac99491ac5c8d64c4a6973088cc21688cb",
16
16
  "rootHelpBundleSignature": "43e6763380b40ff6230a031a36a17f68e6bd1a47",
17
- "rootHelpText": "\n👾 KaijiBot 2026.7.7-1 (5a69e3c) — 思维的边界,就是世界的边界。\n\nUsage: kaijibot [options] [command]\n\nOptions:\n --container <name> Run the CLI inside a running Podman/Docker container\n named <name> (default: env KAIJIBOT_CONTAINER)\n --dev Dev profile: isolate state under ~/.kaijibot-dev, default\n gateway port 19001, and shift derived ports\n (browser/canvas)\n -h, --help Display help for command\n --log-level <level> Global log level override for file + console\n (silent|fatal|error|warn|info|debug|trace)\n --no-color Disable ANSI colors\n --profile <name> Use a named profile (isolates\n KAIJIBOT_STATE_DIR/KAIJIBOT_CONFIG_PATH under\n ~/.kaijibot-<name>)\n -V, --version output the version number\n\nCommands:\n Hint: commands suffixed with * have subcommands. Run <command> --help for details.\n acp * Agent Control Protocol tools\n agent Run one agent turn via the Gateway\n agents * Manage isolated agents (workspaces, auth, routing)\n android-install Set up KaijiBot on Android/Termux (auto-installs\n packages, boot script, battery settings)\n approvals * Manage exec approvals (gateway or node host)\n backup * Create and verify local backup archives for KaijiBot\n state\n capability * Run provider-backed inference commands (fallback alias:\n infer)\n channels * Manage connected chat channels (Telegram, Discord, etc.)\n clawbot * Legacy clawbot command aliases\n completion Generate shell completion script\n config * Non-interactive config helpers\n (get/set/unset/file/validate). Default: starts guided\n setup.\n configure Interactive configuration for credentials, channels,\n gateway, and agent defaults\n cron * Manage cron jobs via the Gateway scheduler\n daemon * Gateway service (legacy alias)\n dashboard Open the Control UI with your current token\n devices * Device pairing + token management\n directory * Lookup contact and group IDs (self, peers, groups) for\n supported chat channels\n dns * DNS helpers for wide-area discovery (Tailscale + CoreDNS)\n docs Search the live KaijiBot docs\n doctor Health checks + quick fixes for the gateway and channels\n gateway * Run, inspect, and query the WebSocket Gateway\n health Fetch health from the running gateway\n help Display help for command\n hooks * Manage internal agent hooks\n infer * Run provider-backed inference commands\n logs Tail gateway file logs via RPC\n mcp * Manage KaijiBot MCP config and channel bridge\n memory Search, inspect, and reindex memory files\n message * Send, read, and manage messages\n migrate Migrate data from OpenClaw or legacy installations to\n KaijiBot\n models * Discover, scan, and configure models\n node * Run and manage the headless node host service\n nodes * Manage gateway-owned node pairing and node commands\n onboard Interactive onboarding for gateway, workspace, and skills\n pairing * Secure DM pairing (approve inbound requests)\n plugins * Manage KaijiBot plugins and extensions\n qa * Run QA scenarios and launch the private QA debugger UI\n qr Generate mobile pairing QR/setup code\n reset Reset local config/state (keeps the CLI installed)\n sandbox * Manage sandbox containers for agent isolation\n secrets * Secrets runtime reload controls\n security * Security tools and local config audits\n sessions * List stored conversation sessions\n setup Initialize local config and agent workspace\n skills * List and inspect available skills\n soul * Manage soul presets (MBTI-based personality profiles)\n status Show channel health and recent session recipients\n system * System events, heartbeat, and presence\n tasks * Inspect durable background task state\n tui Open a terminal UI connected to the Gateway\n uninstall Uninstall the gateway service + local data (CLI remains)\n update * Update KaijiBot and inspect update channel status\n webhooks * Webhook helpers and integrations\n\nExamples:\n kaijibot models --help\n Show detailed help for the models command.\n kaijibot channels login --verbose\n Link personal WhatsApp Web and show QR + connection logs.\n kaijibot message send --target +15555550123 --message \"Hi\" --json\n Send via your web session and print JSON result.\n kaijibot gateway --port 18789\n Run the WebSocket Gateway locally.\n kaijibot --dev gateway\n Run a dev Gateway (isolated state/config) on ws://127.0.0.1:19001.\n kaijibot gateway --force\n Kill anything bound to the default gateway port, then start it.\n kaijibot gateway ...\n Gateway control via WebSocket.\n kaijibot agent --to +15555550123 --message \"Run summary\" --deliver\n Talk directly to the agent using the Gateway; optionally send the WhatsApp reply.\n kaijibot message send --channel feishu --target ou_xxx --message \"Hi\"\n Send via your Telegram bot.\n\nDocs: https://gitee.com/kaiji1126/kaijibot/blob/main/docs/cli.md\n\n"
17
+ "rootHelpText": "\n👾 KaijiBot 2026.7.7 (9eff66a) — 思维的边界,就是世界的边界。\n\nUsage: kaijibot [options] [command]\n\nOptions:\n --container <name> Run the CLI inside a running Podman/Docker container\n named <name> (default: env KAIJIBOT_CONTAINER)\n --dev Dev profile: isolate state under ~/.kaijibot-dev, default\n gateway port 19001, and shift derived ports\n (browser/canvas)\n -h, --help Display help for command\n --log-level <level> Global log level override for file + console\n (silent|fatal|error|warn|info|debug|trace)\n --no-color Disable ANSI colors\n --profile <name> Use a named profile (isolates\n KAIJIBOT_STATE_DIR/KAIJIBOT_CONFIG_PATH under\n ~/.kaijibot-<name>)\n -V, --version output the version number\n\nCommands:\n Hint: commands suffixed with * have subcommands. Run <command> --help for details.\n acp * Agent Control Protocol tools\n agent Run one agent turn via the Gateway\n agents * Manage isolated agents (workspaces, auth, routing)\n android-install Set up KaijiBot on Android/Termux (auto-installs\n packages, boot script, battery settings)\n approvals * Manage exec approvals (gateway or node host)\n backup * Create and verify local backup archives for KaijiBot\n state\n capability * Run provider-backed inference commands (fallback alias:\n infer)\n channels * Manage connected chat channels (Telegram, Discord, etc.)\n clawbot * Legacy clawbot command aliases\n completion Generate shell completion script\n config * Non-interactive config helpers\n (get/set/unset/file/validate). Default: starts guided\n setup.\n configure Interactive configuration for credentials, channels,\n gateway, and agent defaults\n cron * Manage cron jobs via the Gateway scheduler\n daemon * Gateway service (legacy alias)\n dashboard Open the Control UI with your current token\n devices * Device pairing + token management\n directory * Lookup contact and group IDs (self, peers, groups) for\n supported chat channels\n dns * DNS helpers for wide-area discovery (Tailscale + CoreDNS)\n docs Search the live KaijiBot docs\n doctor Health checks + quick fixes for the gateway and channels\n gateway * Run, inspect, and query the WebSocket Gateway\n health Fetch health from the running gateway\n help Display help for command\n hooks * Manage internal agent hooks\n infer * Run provider-backed inference commands\n logs Tail gateway file logs via RPC\n mcp * Manage KaijiBot MCP config and channel bridge\n memory Search, inspect, and reindex memory files\n message * Send, read, and manage messages\n migrate Migrate data from OpenClaw or legacy installations to\n KaijiBot\n models * Discover, scan, and configure models\n node * Run and manage the headless node host service\n nodes * Manage gateway-owned node pairing and node commands\n onboard Interactive onboarding for gateway, workspace, and skills\n pairing * Secure DM pairing (approve inbound requests)\n plugins * Manage KaijiBot plugins and extensions\n qa * Run QA scenarios and launch the private QA debugger UI\n qr Generate mobile pairing QR/setup code\n reset Reset local config/state (keeps the CLI installed)\n sandbox * Manage sandbox containers for agent isolation\n secrets * Secrets runtime reload controls\n security * Security tools and local config audits\n sessions * List stored conversation sessions\n setup Initialize local config and agent workspace\n skills * List and inspect available skills\n soul * Manage soul presets (MBTI-based personality profiles)\n status Show channel health and recent session recipients\n system * System events, heartbeat, and presence\n tasks * Inspect durable background task state\n tui Open a terminal UI connected to the Gateway\n uninstall Uninstall the gateway service + local data (CLI remains)\n update * Update KaijiBot and inspect update channel status\n webhooks * Webhook helpers and integrations\n\nExamples:\n kaijibot models --help\n Show detailed help for the models command.\n kaijibot channels login --verbose\n Link personal WhatsApp Web and show QR + connection logs.\n kaijibot message send --target +15555550123 --message \"Hi\" --json\n Send via your web session and print JSON result.\n kaijibot gateway --port 18789\n Run the WebSocket Gateway locally.\n kaijibot --dev gateway\n Run a dev Gateway (isolated state/config) on ws://127.0.0.1:19001.\n kaijibot gateway --force\n Kill anything bound to the default gateway port, then start it.\n kaijibot gateway ...\n Gateway control via WebSocket.\n kaijibot agent --to +15555550123 --message \"Run summary\" --deliver\n Talk directly to the agent using the Gateway; optionally send the WhatsApp reply.\n kaijibot message send --channel feishu --target ou_xxx --message \"Hi\"\n Send via your Telegram bot.\n\nDocs: https://gitee.com/kaiji1126/kaijibot/blob/main/docs/cli.md\n\n"
18
18
  }
@@ -1,4 +1,4 @@
1
- import{i as e,n as t}from"./lit-Cl9PTnWs.js";import{r as n}from"./i18n-Ber8EPgj.js";import{t as r}from"./preload-helper-Chd9yIcd.js";import{A as i,C as a,D as o,E as s,L as c,M as l,O as u,S as d,T as f,_ as p,b as m,c as h,d as g,f as _,g as v,h as y,j as b,k as x,l as S,m as C,p as w,s as T,u as E,v as D,w as O,x as k,y as A}from"./index-PlnK9Z5S.js";import{i as j,n as M,r as N,t as P}from"./presenter-TzBAwYV1.js";import"./skills-shared-LpxcIiNt.js";var F=``,I=0;function L(r){let{agent:i,configForm:s,agentFilesList:c,configLoading:l,configSaving:u,configDirty:f,onConfigReload:p,onConfigSave:m,onModelChange:g,onModelFallbacksChange:_,onSelectPanel:v}=r,y=A(s,i.id),b=i.model,x=(c&&c.agentId===i.id?c.workspace:null)||y.entry?.workspace||y.defaults?.workspace||i.workspace||`default`,S=y.entry?.model?d(y.entry?.model):y.defaults?.model?d(y.defaults?.model):d(b),w=d(y.defaults?.model??b),T=a(y.entry?.model),O=a(y.defaults?.model)||(w===`-`?null:D(w))||(s?null:a(b)),j=T??O??null,M=k(y.entry?.model)??k(y.defaults?.model)??(s?null:k(b))??[],N=Array.isArray(y.entry?.skills)?y.entry?.skills:null,P=N?.length??null,L=!!(r.defaultId&&i.id===r.defaultId),R=!s||l||u,z=new Set(r.configuredProviders??[]),B=r.modelCatalog.filter(e=>!e.provider||z.has(e.provider)),V=C(B),H=o(V.keys());if(!F&&j){let e=j.indexOf(`/`);F=e>0?j.slice(0,e):j}!F&&H.length>0&&(F=H[0]);let U=V.get(F)??[],W=e=>{let t=M.filter((t,n)=>n!==e);_(i.id,t)};return e`
1
+ import{i as e,n as t}from"./lit-Cl9PTnWs.js";import{r as n}from"./i18n-Ber8EPgj.js";import{t as r}from"./preload-helper-Chd9yIcd.js";import{A as i,C as a,D as o,E as s,L as c,M as l,O as u,S as d,T as f,_ as p,b as m,c as h,d as g,f as _,g as v,h as y,j as b,k as x,l as S,m as C,p as w,s as T,u as E,v as D,w as O,x as k,y as A}from"./index-T9pDybqW.js";import{i as j,n as M,r as N,t as P}from"./presenter-C5KxvyyW.js";import"./skills-shared-LpxcIiNt.js";var F=``,I=0;function L(r){let{agent:i,configForm:s,agentFilesList:c,configLoading:l,configSaving:u,configDirty:f,onConfigReload:p,onConfigSave:m,onModelChange:g,onModelFallbacksChange:_,onSelectPanel:v}=r,y=A(s,i.id),b=i.model,x=(c&&c.agentId===i.id?c.workspace:null)||y.entry?.workspace||y.defaults?.workspace||i.workspace||`default`,S=y.entry?.model?d(y.entry?.model):y.defaults?.model?d(y.defaults?.model):d(b),w=d(y.defaults?.model??b),T=a(y.entry?.model),O=a(y.defaults?.model)||(w===`-`?null:D(w))||(s?null:a(b)),j=T??O??null,M=k(y.entry?.model)??k(y.defaults?.model)??(s?null:k(b))??[],N=Array.isArray(y.entry?.skills)?y.entry?.skills:null,P=N?.length??null,L=!!(r.defaultId&&i.id===r.defaultId),R=!s||l||u,z=new Set(r.configuredProviders??[]),B=r.modelCatalog.filter(e=>!e.provider||z.has(e.provider)),V=C(B),H=o(V.keys());if(!F&&j){let e=j.indexOf(`/`);F=e>0?j.slice(0,e):j}!F&&H.length>0&&(F=H[0]);let U=V.get(F)??[],W=e=>{let t=M.filter((t,n)=>n!==e);_(i.id,t)};return e`
2
2
  <section class="card">
3
3
  <div class="card-title">Overview</div>
4
4
  <div class="card-sub">Workspace paths and identity metadata.</div>
@@ -764,4 +764,4 @@ ${e}
764
764
  <span class="agent-card__metric-label">${n}</span>${r}
765
765
  </span>
766
766
  `}export{ve as renderAgents};
767
- //# sourceMappingURL=agents-BuACACE9.js.map
767
+ //# sourceMappingURL=agents-RU2VKJCA.js.map
@@ -1,4 +1,4 @@
1
- import{n as e,t}from"./event-stream-BzGVPQTQ.js";import{n,t as r}from"./index-PlnK9Z5S.js";import{t as i}from"./headers-5EYI0_pl.js";import{t as a}from"./sanitize-unicode-BhyPmlyt.js";import{i as o,n as s,t as c}from"./github-copilot-headers-CMb2BbzT.js";import{n as l,r as u,t as d}from"./transform-messages-k0lyAmgl.js";function f(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n}function p(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)}var m=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return m=e.randomUUID.bind(e),e.randomUUID();let t=new Uint8Array(1),n=e?()=>e.getRandomValues(t)[0]:()=>Math.random()*255&255;return`10000000-1000-4000-8000-100000000000`.replace(/[018]/g,e=>(e^n()&15>>e/4).toString(16))};function h(e){return typeof e==`object`&&!!e&&(`name`in e&&e.name===`AbortError`||`message`in e&&String(e.message).includes(`FetchRequestCanceledException`))}var g=e=>{if(e instanceof Error)return e;if(typeof e==`object`&&e){try{if(Object.prototype.toString.call(e)===`[object Error]`){let t=Error(e.message,e.cause?{cause:e.cause}:{});return e.stack&&(t.stack=e.stack),e.cause&&!t.cause&&(t.cause=e.cause),e.name&&(t.name=e.name),t}}catch{}try{return Error(JSON.stringify(e))}catch{}}return Error(e)},_=class extends Error{},v=class e extends _{constructor(t,n,r,i,a){super(`${e.makeMessage(t,n,r)}`),this.status=t,this.headers=i,this.requestID=i?.get(`request-id`),this.error=n,this.type=a??null}static makeMessage(e,t,n){let r=t?.message?typeof t.message==`string`?t.message:JSON.stringify(t.message):t?JSON.stringify(t):n;return e&&r?`${e} ${r}`:e?`${e} status code (no body)`:r||`(no status code or body)`}static generate(t,n,r,i){if(!t||!i)return new ee({message:r,cause:g(n)});let a=n,o=a?.error?.type;return t===400?new ne(t,a,r,i,o):t===401?new re(t,a,r,i,o):t===403?new ie(t,a,r,i,o):t===404?new ae(t,a,r,i,o):t===409?new oe(t,a,r,i,o):t===422?new se(t,a,r,i,o):t===429?new ce(t,a,r,i,o):t>=500?new le(t,a,r,i,o):new e(t,a,r,i,o)}},y=class extends v{constructor({message:e}={}){super(void 0,void 0,e||`Request was aborted.`,void 0)}},ee=class extends v{constructor({message:e,cause:t}){super(void 0,void 0,e||`Connection error.`,void 0),t&&(this.cause=t)}},te=class extends ee{constructor({message:e}={}){super({message:e??`Request timed out.`})}},ne=class extends v{},re=class extends v{},ie=class extends v{},ae=class extends v{},oe=class extends v{},se=class extends v{},ce=class extends v{},le=class extends v{},ue=/^[a-z][a-z0-9+.-]*:/i,de=e=>ue.test(e),fe=e=>(fe=Array.isArray,fe(e)),pe=fe;function me(e){return typeof e==`object`?e??{}:{}}function he(e){if(!e)return!0;for(let t in e)return!1;return!0}function ge(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var _e=(e,t)=>{if(typeof t!=`number`||!Number.isInteger(t))throw new _(`${e} must be an integer`);if(t<0)throw new _(`${e} must be a positive integer`);return t},ve=e=>{try{return JSON.parse(e)}catch{return}},ye=e=>new Promise(t=>setTimeout(t,e)),b=`0.81.0`,be=()=>typeof window<`u`&&window.document!==void 0&&typeof navigator<`u`;function xe(){return typeof Deno<`u`&&Deno.build!=null?`deno`:typeof EdgeRuntime<`u`?`edge`:Object.prototype.toString.call(globalThis.process===void 0?0:globalThis.process)===`[object process]`?`node`:`unknown`}var Se=()=>{let e=xe();if(e===`deno`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":b,"X-Stainless-OS":Te(Deno.build.os),"X-Stainless-Arch":we(Deno.build.arch),"X-Stainless-Runtime":`deno`,"X-Stainless-Runtime-Version":typeof Deno.version==`string`?Deno.version:Deno.version?.deno??`unknown`};if(typeof EdgeRuntime<`u`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":b,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":`edge`,"X-Stainless-Runtime-Version":globalThis.process.version};if(e===`node`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":b,"X-Stainless-OS":Te(globalThis.process.platform??`unknown`),"X-Stainless-Arch":we(globalThis.process.arch??`unknown`),"X-Stainless-Runtime":`node`,"X-Stainless-Runtime-Version":globalThis.process.version??`unknown`};let t=Ce();return t?{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":b,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`unknown`,"X-Stainless-Runtime":`browser:${t.browser}`,"X-Stainless-Runtime-Version":t.version}:{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":b,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`unknown`,"X-Stainless-Runtime":`unknown`,"X-Stainless-Runtime-Version":`unknown`}};function Ce(){if(typeof navigator>`u`||!navigator)return null;for(let{key:e,pattern:t}of[{key:`edge`,pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`ie`,pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`ie`,pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`chrome`,pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`firefox`,pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`safari`,pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}]){let n=t.exec(navigator.userAgent);if(n)return{browser:e,version:`${n[1]||0}.${n[2]||0}.${n[3]||0}`}}return null}var we=e=>e===`x32`?`x32`:e===`x86_64`||e===`x64`?`x64`:e===`arm`?`arm`:e===`aarch64`||e===`arm64`?`arm64`:e?`other:${e}`:`unknown`,Te=e=>(e=e.toLowerCase(),e.includes(`ios`)?`iOS`:e===`android`?`Android`:e===`darwin`?`MacOS`:e===`win32`?`Windows`:e===`freebsd`?`FreeBSD`:e===`openbsd`?`OpenBSD`:e===`linux`?`Linux`:e?`Other:${e}`:`Unknown`),Ee,De=()=>Ee??=Se();function Oe(){if(typeof fetch<`u`)return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function ke(...e){let t=globalThis.ReadableStream;if(t===void 0)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new t(...e)}function Ae(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return ke({start(){},async pull(e){let{done:n,value:r}=await t.next();n?e.close():e.enqueue(r)},async cancel(){await t.return?.()}})}function je(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{async next(){try{let e=await t.read();return e?.done&&t.releaseLock(),e}catch(e){throw t.releaseLock(),e}},async return(){let e=t.cancel();return t.releaseLock(),await e,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function Me(e){if(typeof e!=`object`||!e)return;if(e[Symbol.asyncIterator]){await e[Symbol.asyncIterator]().return?.();return}let t=e.getReader(),n=t.cancel();t.releaseLock(),await n}var Ne=({headers:e,body:t})=>({bodyHeaders:{"content-type":`application/json`},body:JSON.stringify(t)});function Pe(e){return Object.entries(e).filter(([e,t])=>t!==void 0).map(([e,t])=>{if(typeof t==`string`||typeof t==`number`||typeof t==`boolean`)return`${encodeURIComponent(e)}=${encodeURIComponent(t)}`;if(t===null)return`${encodeURIComponent(e)}=`;throw new _(`Cannot stringify type ${typeof t}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join(`&`)}function Fe(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}var Ie;function Le(e){let t;return(Ie??=(t=new globalThis.TextEncoder,t.encode.bind(t)))(e)}var Re;function ze(e){let t;return(Re??=(t=new globalThis.TextDecoder,t.decode.bind(t)))(e)}var x,S,C=class{constructor(){x.set(this,void 0),S.set(this,void 0),f(this,x,new Uint8Array,`f`),f(this,S,null,`f`)}decode(e){if(e==null)return[];let t=e instanceof ArrayBuffer?new Uint8Array(e):typeof e==`string`?Le(e):e;f(this,x,Fe([p(this,x,`f`),t]),`f`);let n=[],r;for(;(r=Be(p(this,x,`f`),p(this,S,`f`)))!=null;){if(r.carriage&&p(this,S,`f`)==null){f(this,S,r.index,`f`);continue}if(p(this,S,`f`)!=null&&(r.index!==p(this,S,`f`)+1||r.carriage)){n.push(ze(p(this,x,`f`).subarray(0,p(this,S,`f`)-1))),f(this,x,p(this,x,`f`).subarray(p(this,S,`f`)),`f`),f(this,S,null,`f`);continue}let e=p(this,S,`f`)===null?r.preceding:r.preceding-1,t=ze(p(this,x,`f`).subarray(0,e));n.push(t),f(this,x,p(this,x,`f`).subarray(r.index),`f`),f(this,S,null,`f`)}return n}flush(){return p(this,x,`f`).length?this.decode(`
1
+ import{n as e,t}from"./event-stream-BzGVPQTQ.js";import{n,t as r}from"./index-T9pDybqW.js";import{t as i}from"./headers-5EYI0_pl.js";import{t as a}from"./sanitize-unicode-BhyPmlyt.js";import{i as o,n as s,t as c}from"./github-copilot-headers-CMb2BbzT.js";import{n as l,r as u,t as d}from"./transform-messages-k0lyAmgl.js";function f(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n}function p(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)}var m=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return m=e.randomUUID.bind(e),e.randomUUID();let t=new Uint8Array(1),n=e?()=>e.getRandomValues(t)[0]:()=>Math.random()*255&255;return`10000000-1000-4000-8000-100000000000`.replace(/[018]/g,e=>(e^n()&15>>e/4).toString(16))};function h(e){return typeof e==`object`&&!!e&&(`name`in e&&e.name===`AbortError`||`message`in e&&String(e.message).includes(`FetchRequestCanceledException`))}var g=e=>{if(e instanceof Error)return e;if(typeof e==`object`&&e){try{if(Object.prototype.toString.call(e)===`[object Error]`){let t=Error(e.message,e.cause?{cause:e.cause}:{});return e.stack&&(t.stack=e.stack),e.cause&&!t.cause&&(t.cause=e.cause),e.name&&(t.name=e.name),t}}catch{}try{return Error(JSON.stringify(e))}catch{}}return Error(e)},_=class extends Error{},v=class e extends _{constructor(t,n,r,i,a){super(`${e.makeMessage(t,n,r)}`),this.status=t,this.headers=i,this.requestID=i?.get(`request-id`),this.error=n,this.type=a??null}static makeMessage(e,t,n){let r=t?.message?typeof t.message==`string`?t.message:JSON.stringify(t.message):t?JSON.stringify(t):n;return e&&r?`${e} ${r}`:e?`${e} status code (no body)`:r||`(no status code or body)`}static generate(t,n,r,i){if(!t||!i)return new ee({message:r,cause:g(n)});let a=n,o=a?.error?.type;return t===400?new ne(t,a,r,i,o):t===401?new re(t,a,r,i,o):t===403?new ie(t,a,r,i,o):t===404?new ae(t,a,r,i,o):t===409?new oe(t,a,r,i,o):t===422?new se(t,a,r,i,o):t===429?new ce(t,a,r,i,o):t>=500?new le(t,a,r,i,o):new e(t,a,r,i,o)}},y=class extends v{constructor({message:e}={}){super(void 0,void 0,e||`Request was aborted.`,void 0)}},ee=class extends v{constructor({message:e,cause:t}){super(void 0,void 0,e||`Connection error.`,void 0),t&&(this.cause=t)}},te=class extends ee{constructor({message:e}={}){super({message:e??`Request timed out.`})}},ne=class extends v{},re=class extends v{},ie=class extends v{},ae=class extends v{},oe=class extends v{},se=class extends v{},ce=class extends v{},le=class extends v{},ue=/^[a-z][a-z0-9+.-]*:/i,de=e=>ue.test(e),fe=e=>(fe=Array.isArray,fe(e)),pe=fe;function me(e){return typeof e==`object`?e??{}:{}}function he(e){if(!e)return!0;for(let t in e)return!1;return!0}function ge(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var _e=(e,t)=>{if(typeof t!=`number`||!Number.isInteger(t))throw new _(`${e} must be an integer`);if(t<0)throw new _(`${e} must be a positive integer`);return t},ve=e=>{try{return JSON.parse(e)}catch{return}},ye=e=>new Promise(t=>setTimeout(t,e)),b=`0.81.0`,be=()=>typeof window<`u`&&window.document!==void 0&&typeof navigator<`u`;function xe(){return typeof Deno<`u`&&Deno.build!=null?`deno`:typeof EdgeRuntime<`u`?`edge`:Object.prototype.toString.call(globalThis.process===void 0?0:globalThis.process)===`[object process]`?`node`:`unknown`}var Se=()=>{let e=xe();if(e===`deno`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":b,"X-Stainless-OS":Te(Deno.build.os),"X-Stainless-Arch":we(Deno.build.arch),"X-Stainless-Runtime":`deno`,"X-Stainless-Runtime-Version":typeof Deno.version==`string`?Deno.version:Deno.version?.deno??`unknown`};if(typeof EdgeRuntime<`u`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":b,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":`edge`,"X-Stainless-Runtime-Version":globalThis.process.version};if(e===`node`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":b,"X-Stainless-OS":Te(globalThis.process.platform??`unknown`),"X-Stainless-Arch":we(globalThis.process.arch??`unknown`),"X-Stainless-Runtime":`node`,"X-Stainless-Runtime-Version":globalThis.process.version??`unknown`};let t=Ce();return t?{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":b,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`unknown`,"X-Stainless-Runtime":`browser:${t.browser}`,"X-Stainless-Runtime-Version":t.version}:{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":b,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`unknown`,"X-Stainless-Runtime":`unknown`,"X-Stainless-Runtime-Version":`unknown`}};function Ce(){if(typeof navigator>`u`||!navigator)return null;for(let{key:e,pattern:t}of[{key:`edge`,pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`ie`,pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`ie`,pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`chrome`,pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`firefox`,pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`safari`,pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}]){let n=t.exec(navigator.userAgent);if(n)return{browser:e,version:`${n[1]||0}.${n[2]||0}.${n[3]||0}`}}return null}var we=e=>e===`x32`?`x32`:e===`x86_64`||e===`x64`?`x64`:e===`arm`?`arm`:e===`aarch64`||e===`arm64`?`arm64`:e?`other:${e}`:`unknown`,Te=e=>(e=e.toLowerCase(),e.includes(`ios`)?`iOS`:e===`android`?`Android`:e===`darwin`?`MacOS`:e===`win32`?`Windows`:e===`freebsd`?`FreeBSD`:e===`openbsd`?`OpenBSD`:e===`linux`?`Linux`:e?`Other:${e}`:`Unknown`),Ee,De=()=>Ee??=Se();function Oe(){if(typeof fetch<`u`)return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function ke(...e){let t=globalThis.ReadableStream;if(t===void 0)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new t(...e)}function Ae(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return ke({start(){},async pull(e){let{done:n,value:r}=await t.next();n?e.close():e.enqueue(r)},async cancel(){await t.return?.()}})}function je(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{async next(){try{let e=await t.read();return e?.done&&t.releaseLock(),e}catch(e){throw t.releaseLock(),e}},async return(){let e=t.cancel();return t.releaseLock(),await e,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function Me(e){if(typeof e!=`object`||!e)return;if(e[Symbol.asyncIterator]){await e[Symbol.asyncIterator]().return?.();return}let t=e.getReader(),n=t.cancel();t.releaseLock(),await n}var Ne=({headers:e,body:t})=>({bodyHeaders:{"content-type":`application/json`},body:JSON.stringify(t)});function Pe(e){return Object.entries(e).filter(([e,t])=>t!==void 0).map(([e,t])=>{if(typeof t==`string`||typeof t==`number`||typeof t==`boolean`)return`${encodeURIComponent(e)}=${encodeURIComponent(t)}`;if(t===null)return`${encodeURIComponent(e)}=`;throw new _(`Cannot stringify type ${typeof t}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join(`&`)}function Fe(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}var Ie;function Le(e){let t;return(Ie??=(t=new globalThis.TextEncoder,t.encode.bind(t)))(e)}var Re;function ze(e){let t;return(Re??=(t=new globalThis.TextDecoder,t.decode.bind(t)))(e)}var x,S,C=class{constructor(){x.set(this,void 0),S.set(this,void 0),f(this,x,new Uint8Array,`f`),f(this,S,null,`f`)}decode(e){if(e==null)return[];let t=e instanceof ArrayBuffer?new Uint8Array(e):typeof e==`string`?Le(e):e;f(this,x,Fe([p(this,x,`f`),t]),`f`);let n=[],r;for(;(r=Be(p(this,x,`f`),p(this,S,`f`)))!=null;){if(r.carriage&&p(this,S,`f`)==null){f(this,S,r.index,`f`);continue}if(p(this,S,`f`)!=null&&(r.index!==p(this,S,`f`)+1||r.carriage)){n.push(ze(p(this,x,`f`).subarray(0,p(this,S,`f`)-1))),f(this,x,p(this,x,`f`).subarray(p(this,S,`f`)),`f`),f(this,S,null,`f`);continue}let e=p(this,S,`f`)===null?r.preceding:r.preceding-1,t=ze(p(this,x,`f`).subarray(0,e));n.push(t),f(this,x,p(this,x,`f`).subarray(r.index),`f`),f(this,S,null,`f`)}return n}flush(){return p(this,x,`f`).length?this.decode(`
2
2
  `):[]}};x=new WeakMap,S=new WeakMap,C.NEWLINE_CHARS=new Set([`
3
3
  `,`\r`]),C.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function Be(e,t){for(let n=t??0;n<e.length;n++){if(e[n]===10)return{preceding:n,index:n+1,carriage:!1};if(e[n]===13)return{preceding:n,index:n+1,carriage:!0}}return null}function Ve(e){for(let t=0;t<e.length-1;t++){if(e[t]===10&&e[t+1]===10||e[t]===13&&e[t+1]===13)return t+2;if(e[t]===13&&e[t+1]===10&&t+3<e.length&&e[t+2]===13&&e[t+3]===10)return t+4}return-1}var He={off:0,error:200,warn:300,info:400,debug:500},Ue=(e,t,n)=>{if(e){if(ge(He,e))return e;w(n).warn(`${t} was set to ${JSON.stringify(e)}, expected one of ${JSON.stringify(Object.keys(He))}`)}};function We(){}function Ge(e,t,n){return!t||He[e]>He[n]?We:t[e].bind(t)}var Ke={error:We,warn:We,info:We,debug:We},qe=new WeakMap;function w(e){let t=e.logger,n=e.logLevel??`off`;if(!t)return Ke;let r=qe.get(t);if(r&&r[0]===n)return r[1];let i={error:Ge(`error`,t,n),warn:Ge(`warn`,t,n),info:Ge(`info`,t,n),debug:Ge(`debug`,t,n)};return qe.set(t,[n,i]),i}var T=e=>(e.options&&(e.options={...e.options},delete e.options.headers),e.headers&&=Object.fromEntries((e.headers instanceof Headers?[...e.headers]:Object.entries(e.headers)).map(([e,t])=>[e,e.toLowerCase()===`x-api-key`||e.toLowerCase()===`authorization`||e.toLowerCase()===`cookie`||e.toLowerCase()===`set-cookie`?`***`:t])),`retryOfRequestLogID`in e&&(e.retryOfRequestLogID&&(e.retryOf=e.retryOfRequestLogID),delete e.retryOfRequestLogID),e),Je,Ye=class e{constructor(e,t,n){this.iterator=e,Je.set(this,void 0),this.controller=t,f(this,Je,n,`f`)}static fromSSEResponse(t,n,r){let i=!1,a=r?w(r):console;async function*o(){if(i)throw new _("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");i=!0;let e=!1;try{for await(let e of Xe(t,n)){if(e.event===`completion`)try{yield JSON.parse(e.data)}catch(t){throw a.error(`Could not parse message into JSON:`,e.data),a.error(`From chunk:`,e.raw),t}if(e.event===`message_start`||e.event===`message_delta`||e.event===`message_stop`||e.event===`content_block_start`||e.event===`content_block_delta`||e.event===`content_block_stop`)try{yield JSON.parse(e.data)}catch(t){throw a.error(`Could not parse message into JSON:`,e.data),a.error(`From chunk:`,e.raw),t}if(e.event!==`ping`&&e.event===`error`){let n=ve(e.data)??e.data,r=n?.error?.type;throw new v(void 0,n,void 0,t.headers,r)}}e=!0}catch(e){if(h(e))return;throw e}finally{e||n.abort()}}return new e(o,n,r)}static fromReadableStream(t,n,r){let i=!1;async function*a(){let e=new C,n=je(t);for await(let t of n)for(let n of e.decode(t))yield n;for(let t of e.flush())yield t}async function*o(){if(i)throw new _("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");i=!0;let e=!1;try{for await(let t of a())e||t&&(yield JSON.parse(t));e=!0}catch(e){if(h(e))return;throw e}finally{e||n.abort()}}return new e(o,n,r)}[(Je=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let t=[],n=[],r=this.iterator(),i=e=>({next:()=>{if(e.length===0){let e=r.next();t.push(e),n.push(e)}return e.shift()}});return[new e(()=>i(t),this.controller,p(this,Je,`f`)),new e(()=>i(n),this.controller,p(this,Je,`f`))]}toReadableStream(){let e=this,t;return ke({async start(){t=e[Symbol.asyncIterator]()},async pull(e){try{let{value:n,done:r}=await t.next();if(r)return e.close();let i=Le(JSON.stringify(n)+`
4
4
  `);e.enqueue(i)}catch(t){e.error(t)}},async cancel(){await t.return?.()}})}};async function*Xe(e,t){if(!e.body)throw t.abort(),globalThis.navigator!==void 0&&globalThis.navigator.product===`ReactNative`?new _(`The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api`):new _(`Attempted to iterate over a response with no body`);let n=new Qe,r=new C,i=je(e.body);for await(let e of Ze(i))for(let t of r.decode(e)){let e=n.decode(t);e&&(yield e)}for(let e of r.flush()){let t=n.decode(e);t&&(yield t)}}async function*Ze(e){let t=new Uint8Array;for await(let n of e){if(n==null)continue;let e=n instanceof ArrayBuffer?new Uint8Array(n):typeof n==`string`?Le(n):n,r=new Uint8Array(t.length+e.length);r.set(t),r.set(e,t.length),t=r;let i;for(;(i=Ve(t))!==-1;)yield t.slice(0,i),t=t.slice(i)}t.length>0&&(yield t)}var Qe=class{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith(`\r`)&&(e=e.substring(0,e.length-1)),!e){if(!this.event&&!this.data.length)return null;let e={event:this.event,data:this.data.join(`
@@ -37,4 +37,4 @@ new Anthropic({ apiKey, dangerouslyAllowBrowser: true });
37
37
  `),raw:[...e.raw]};return e.event=null,e.data=[],e.raw=[],t}function Tr(e,t){if(e===``)return wr(t);if(t.raw.push(e),e.startsWith(`:`))return null;let n=e.indexOf(`:`),r=n===-1?e:e.slice(0,n),i=n===-1?``:e.slice(n+1);return i.startsWith(` `)&&(i=i.slice(1)),r===`event`?t.event=i:r===`data`&&t.data.push(i),null}function Er(e){let t=e.indexOf(`\r`),n=e.indexOf(`
38
38
  `);return t===-1?n:n===-1?t:Math.min(t,n)}function Dr(e){let t=Er(e);if(t===-1)return null;let n=t+1;return e[t]===`\r`&&e[n]===`
39
39
  `&&(n+=1),{line:e.slice(0,t),rest:e.slice(n)}}async function*Or(e,t){let n=e.getReader(),r=new TextDecoder,i={event:null,data:[],raw:[]},a=``;try{for(;;){if(t?.aborted)throw Error(`Request was aborted`);let{value:e,done:o}=await n.read();if(o)break;a+=r.decode(e,{stream:!0});let s=Dr(a);for(;s;){a=s.rest;let e=Tr(s.line,i);e&&(yield e),s=Dr(a)}}a+=r.decode();let e=Dr(a);for(;e;){a=e.rest;let t=Tr(e.line,i);t&&(yield t),e=Dr(a)}if(a.length>0){let e=Tr(a,i);e&&(yield e)}let o=wr(i);o&&(yield o)}finally{n.releaseLock()}}async function*kr(e,t){if(!e.body)throw Error(`Attempted to iterate over an Anthropic response with no body`);let n=!1,i=!1;for await(let a of Or(e.body,t)){if(a.event===`error`)throw Error(a.data);if(Cr.has(a.event??``))try{let e=r(a.data);e.type===`message_start`?n=!0:e.type===`message_stop`&&(i=!0),yield e}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Could not parse Anthropic SSE event ${a.event}: ${t}; data=${a.data}; raw=${a.raw.join(`\\n`)}`)}}if(n&&!i)throw Error(`Anthropic stream ended before message_stop`)}var Ar=(r,a,o)=>{let l=new t;return(async()=>{let t={role:`assistant`,content:[],api:r.api,provider:r.provider,model:r.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()};try{let u,d;if(o?.client)u=o.client,d=!1;else{let e=o?.apiKey;if(!e)throw Error(`No API key for provider: ${r.provider}`);let t;if(r.provider===`github-copilot`){let e=s(a.messages);t=c({messages:a.messages,hasImages:e})}let n=(o?.cacheRetention??fr())===`none`?void 0:o?.sessionId,i=Pr(r,e,o?.interleavedThinking??!0,Rr(r,a),o?.headers,t,n);u=i.client,d=i.isOAuthToken}let f=Fr(r,a,d,o),p=await o?.onPayload?.(f,r);p!==void 0&&(f=p);let m={...o?.signal?{signal:o.signal}:{},...o?.timeoutMs===void 0?{}:{timeout:o.timeoutMs},maxRetries:o?.maxRetries??0},h=await u.messages.create({...f,stream:!0},m).asResponse();await o?.onResponse?.({status:h.status,headers:i(h.headers)},r),l.push({type:`start`,partial:t});let g=t.content;for await(let i of kr(h,o?.signal))if(i.type===`message_start`)t.responseId=i.message.id,t.usage.input=i.message.usage.input_tokens||0,t.usage.output=i.message.usage.output_tokens||0,t.usage.cacheRead=i.message.usage.cache_read_input_tokens||0,t.usage.cacheWrite=i.message.usage.cache_creation_input_tokens||0,t.usage.cacheWrite1h=i.message.usage.cache_creation?.ephemeral_1h_input_tokens||0,t.usage.totalTokens=t.usage.input+t.usage.output+t.usage.cacheRead+t.usage.cacheWrite,e(r,t.usage);else if(i.type===`content_block_start`){if(i.content_block.type===`text`){let e={type:`text`,text:``,index:i.index};t.content.push(e),l.push({type:`text_start`,contentIndex:t.content.length-1,partial:t})}else if(i.content_block.type===`thinking`){let e={type:`thinking`,thinking:``,thinkingSignature:``,index:i.index};t.content.push(e),l.push({type:`thinking_start`,contentIndex:t.content.length-1,partial:t})}else if(i.content_block.type===`redacted_thinking`){let e={type:`thinking`,thinking:`[Reasoning redacted]`,thinkingSignature:i.content_block.data,redacted:!0,index:i.index};t.content.push(e),l.push({type:`thinking_start`,contentIndex:t.content.length-1,partial:t})}else if(i.content_block.type===`tool_use`){let e={type:`toolCall`,id:i.content_block.id,name:d?_r(i.content_block.name,a.tools):i.content_block.name,arguments:i.content_block.input??{},partialJson:``,index:i.index};t.content.push(e),l.push({type:`toolcall_start`,contentIndex:t.content.length-1,partial:t})}}else if(i.type===`content_block_delta`){if(i.delta.type===`text_delta`){let e=g.findIndex(e=>e.index===i.index),n=g[e];n&&n.type===`text`&&(n.text+=i.delta.text,l.push({type:`text_delta`,contentIndex:e,delta:i.delta.text,partial:t}))}else if(i.delta.type===`thinking_delta`){let e=g.findIndex(e=>e.index===i.index),n=g[e];n&&n.type===`thinking`&&(n.thinking+=i.delta.thinking,l.push({type:`thinking_delta`,contentIndex:e,delta:i.delta.thinking,partial:t}))}else if(i.delta.type===`input_json_delta`){let e=g.findIndex(e=>e.index===i.index),r=g[e];r&&r.type===`toolCall`&&(r.partialJson+=i.delta.partial_json,r.arguments=n(r.partialJson),l.push({type:`toolcall_delta`,contentIndex:e,delta:i.delta.partial_json,partial:t}))}else if(i.delta.type===`signature_delta`){let e=g[g.findIndex(e=>e.index===i.index)];e&&e.type===`thinking`&&(e.thinkingSignature=e.thinkingSignature||``,e.thinkingSignature+=i.delta.signature)}}else if(i.type===`content_block_stop`){let e=g.findIndex(e=>e.index===i.index),r=g[e];r&&(delete r.index,r.type===`text`?l.push({type:`text_end`,contentIndex:e,content:r.text,partial:t}):r.type===`thinking`?l.push({type:`thinking_end`,contentIndex:e,content:r.thinking,partial:t}):r.type===`toolCall`&&(r.arguments=n(r.partialJson),delete r.partialJson,l.push({type:`toolcall_end`,contentIndex:e,toolCall:r,partial:t})))}else if(i.type===`message_delta`){if(i.delta.stop_reason){let e=Br(i.delta.stop_reason,i.delta.stop_details);t.stopReason=e.stopReason,e.errorMessage&&(t.errorMessage=e.errorMessage)}i.usage.input_tokens!=null&&(t.usage.input=i.usage.input_tokens),i.usage.output_tokens!=null&&(t.usage.output=i.usage.output_tokens),i.usage.cache_read_input_tokens!=null&&(t.usage.cacheRead=i.usage.cache_read_input_tokens),i.usage.cache_creation_input_tokens!=null&&(t.usage.cacheWrite=i.usage.cache_creation_input_tokens),t.usage.totalTokens=t.usage.input+t.usage.output+t.usage.cacheRead+t.usage.cacheWrite,e(r,t.usage)}if(o?.signal?.aborted)throw Error(`Request was aborted`);if(t.stopReason===`aborted`||t.stopReason===`error`)throw Error(t.errorMessage||`An unknown error occurred`);l.push({type:`done`,reason:t.stopReason,message:t}),l.end()}catch(e){for(let e of t.content)delete e.index,delete e.partialJson;t.stopReason=o?.signal?.aborted?`aborted`:`error`,t.errorMessage=e instanceof Error?e.message:JSON.stringify(e),l.push({type:`error`,reason:t.stopReason,error:t}),l.end()}})(),l};function jr(e,t){let n=t?e.thinkingLevelMap?.[t]:void 0;if(typeof n==`string`)return n;switch(t){case`minimal`:case`low`:return`low`;case`medium`:return`medium`;case`high`:return`high`;default:return`high`}}var Mr=(e,t,n)=>{let r=n?.apiKey;if(!r)throw Error(`No API key for provider: ${e.provider}`);let i=u(e,n,r);if(!n?.reasoning)return Ar(e,t,{...i,thinkingEnabled:!1});if(e.compat?.forceAdaptiveThinking===!0){let r=jr(e,n.reasoning);return Ar(e,t,{...i,thinkingEnabled:!0,effort:r})}let a=l(i.maxTokens,e.maxTokens,n.reasoning,n.thinkingBudgets);return Ar(e,t,{...i,maxTokens:a.maxTokens,thinkingEnabled:!0,thinkingBudgetTokens:a.thinkingBudget})};function Nr(e){return e.includes(`sk-ant-oat`)}function Pr(e,t,n,r,i,a,s){let c=n&&e.compat?.forceAdaptiveThinking!==!0,l=[];if(r&&l.push(yr),c&&l.push(br),e.provider===`cloudflare-ai-gateway`)return{client:new $({apiKey:null,authToken:null,baseURL:o(e),dangerouslyAllowBrowser:!0,defaultHeaders:Sr({accept:`application/json`,"anthropic-dangerous-direct-browser-access":`true`,"cf-aig-authorization":`Bearer ${t}`,"x-api-key":null,Authorization:null,...l.length>0?{"anthropic-beta":l.join(`,`)}:{}},e.headers,i)}),isOAuthToken:!1};if(e.provider===`github-copilot`)return{client:new $({apiKey:null,authToken:t,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:Sr({accept:`application/json`,"anthropic-dangerous-direct-browser-access":`true`,...l.length>0?{"anthropic-beta":l.join(`,`)}:{}},e.headers,a,i)}),isOAuthToken:!1};if(Nr(t))return{client:new $({apiKey:null,authToken:t,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:Sr({accept:`application/json`,"anthropic-dangerous-direct-browser-access":`true`,"anthropic-beta":[`claude-code-20250219`,`oauth-2025-04-20`,...l].join(`,`),"user-agent":`claude-cli/${mr}`,"x-app":`cli`},e.headers,i)}),isOAuthToken:!0};let u=s&&xr(e).sendSessionAffinityHeaders?{"x-session-affinity":s}:{};return{client:new $({apiKey:t,authToken:null,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:Sr({accept:`application/json`,"anthropic-dangerous-direct-browser-access":`true`,...l.length>0?{"anthropic-beta":l.join(`,`)}:{}},u,e.headers,i)}),isOAuthToken:!1}}function Fr(e,t,n,r){let{cacheControl:i}=pr(e,r?.cacheRetention),o=xr(e),s={model:e.id,messages:Lr(t.messages,e,n,i,o.allowEmptySignature),max_tokens:r?.maxTokens??e.maxTokens,stream:!0};if(n?(s.system=[{type:`text`,text:`You are Claude Code, Anthropic's official CLI for Claude.`,...i?{cache_control:i}:{}}],t.systemPrompt&&s.system.push({type:`text`,text:a(t.systemPrompt),...i?{cache_control:i}:{}})):t.systemPrompt&&(s.system=[{type:`text`,text:a(t.systemPrompt),...i?{cache_control:i}:{}}]),r?.temperature!==void 0&&!r?.thinkingEnabled&&o.supportsTemperature&&(s.temperature=r.temperature),t.tools&&t.tools.length>0&&(s.tools=zr(t.tools,n,o.supportsEagerToolInputStreaming,o.supportsCacheControlOnTools?i:void 0)),e.reasoning)if(r?.thinkingEnabled){let t=r.thinkingDisplay??`summarized`;e.compat?.forceAdaptiveThinking===!0?(s.thinking={type:`adaptive`,display:t},r.effort&&(s.output_config=(r.effort,{effort:r.effort}))):s.thinking={type:`enabled`,budget_tokens:r.thinkingBudgetTokens||1024,display:t}}else r?.thinkingEnabled===!1&&e.thinkingLevelMap?.off!==null&&(s.thinking={type:`disabled`});if(r?.metadata){let e=r.metadata.user_id;typeof e==`string`&&(s.metadata={user_id:e})}return r?.toolChoice&&(typeof r.toolChoice==`string`?s.tool_choice={type:r.toolChoice}:s.tool_choice=r.toolChoice),s}function Ir(e){return e.replace(/[^a-zA-Z0-9_-]/g,`_`).slice(0,64)}function Lr(e,t,n,r,i=!1){let o=[],s=d(e,t,Ir);for(let e=0;e<s.length;e++){let t=s[e];if(t.role===`user`)if(typeof t.content==`string`)t.content.trim().length>0&&o.push({role:`user`,content:a(t.content)});else{let e=t.content.map(e=>e.type===`text`?{type:`text`,text:a(e.text)}:{type:`image`,source:{type:`base64`,media_type:e.mimeType,data:e.data}}).filter(e=>e.type===`text`?e.text.trim().length>0:!0);if(e.length===0)continue;o.push({role:`user`,content:e})}else if(t.role===`assistant`){let e=[];for(let r of t.content)if(r.type===`text`){if(r.text.trim().length===0)continue;e.push({type:`text`,text:a(r.text)})}else if(r.type===`thinking`){if(r.redacted){e.push({type:`redacted_thinking`,data:r.thinkingSignature});continue}if(r.thinking.trim().length===0)continue;!r.thinkingSignature||r.thinkingSignature.trim().length===0?e.push(i?{type:`thinking`,thinking:a(r.thinking),signature:``}:{type:`text`,text:a(r.thinking)}):e.push({type:`thinking`,thinking:a(r.thinking),signature:r.thinkingSignature})}else r.type===`toolCall`&&e.push({type:`tool_use`,id:r.id,name:n?gr(r.name):r.name,input:r.arguments??{}});if(e.length===0)continue;o.push({role:`assistant`,content:e})}else if(t.role===`toolResult`){let n=[];n.push({type:`tool_result`,tool_use_id:t.toolCallId,content:vr(t.content),is_error:t.isError});let r=e+1;for(;r<s.length&&s[r].role===`toolResult`;){let e=s[r];n.push({type:`tool_result`,tool_use_id:e.toolCallId,content:vr(e.content),is_error:e.isError}),r++}e=r-1,o.push({role:`user`,content:n})}}if(r&&o.length>0){let e=o[o.length-1];if(e.role===`user`)if(Array.isArray(e.content)){let t=e.content[e.content.length-1];t&&(t.type===`text`||t.type===`image`||t.type===`tool_result`)&&(t.cache_control=r)}else typeof e.content==`string`&&(e.content=[{type:`text`,text:e.content,cache_control:r}])}return o}function Rr(e,t){return!!t.tools?.length&&!xr(e).supportsEagerToolInputStreaming}function zr(e,t,n,r){return e?e.map((i,a)=>{let o=i.parameters;return{name:t?gr(i.name):i.name,description:i.description,...n?{eager_input_streaming:!0}:{},input_schema:{type:`object`,properties:o.properties??{},required:o.required??[]},...r&&a===e.length-1?{cache_control:r}:{}}}):[]}function Br(e,t){switch(e){case`end_turn`:return{stopReason:`stop`};case`max_tokens`:return{stopReason:`length`};case`tool_use`:return{stopReason:`toolUse`};case`refusal`:return{stopReason:`error`,errorMessage:t?.explanation||`The model refused to complete the request`};case`pause_turn`:return{stopReason:`stop`};case`stop_sequence`:return{stopReason:`stop`};case`sensitive`:return{stopReason:`error`};default:throw Error(`Unhandled stop reason: ${e}`)}}export{Ar as streamAnthropic,Mr as streamSimpleAnthropic};
40
- //# sourceMappingURL=anthropic-DH6FiJ_W.js.map
40
+ //# sourceMappingURL=anthropic-17T0WCif.js.map
@@ -1,2 +1,2 @@
1
- import{r as e,t}from"./event-stream-BzGVPQTQ.js";import{t as n}from"./headers-5EYI0_pl.js";import{r}from"./transform-messages-k0lyAmgl.js";import{t as i}from"./openai-Bf1npfRy.js";import{t as a}from"./openai-prompt-cache-CErE62Yt.js";import{n as o,r as s,t as c}from"./openai-responses-shared-B6wdZedF.js";var l=`v1`,u=new Set([`openai`,`openai-codex`,`opencode`,`azure-openai-responses`]);function d(e){let t=new Map;if(!e)return t;for(let n of e.split(`,`)){let e=n.trim();if(!e)continue;let[r,i]=e.split(`=`,2);!r||!i||t.set(r.trim(),i.trim())}return t}function f(e,t){return t?.azureDeploymentName?t.azureDeploymentName:d({}.AZURE_OPENAI_DEPLOYMENT_NAME_MAP).get(e.id)||e.id}function p(e){if(e instanceof Error){let t=e.status,n=typeof t==`number`?t:void 0;return n===void 0?e.message:`Azure OpenAI API error (${n}): ${e.message}`}try{return JSON.stringify(e)}catch{return String(e)}}var m=(e,r,i)=>{let a=new t;return(async()=>{let t=f(e,i),o={role:`assistant`,content:[],api:`azure-openai-responses`,provider:e.provider,model:e.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()};try{let c=i?.apiKey;if(!c)throw Error(`No API key for provider: ${e.provider}`);let l=y(e,c,i),u=b(e,r,i,t),d=await i?.onPayload?.(u,e);d!==void 0&&(u=d);let f={...i?.signal?{signal:i.signal}:{},...i?.timeoutMs===void 0?{}:{timeout:i.timeoutMs},maxRetries:i?.maxRetries??0},{data:p,response:m}=await l.responses.create(u,f).withResponse();if(await i?.onResponse?.({status:m.status,headers:n(m.headers)},e),a.push({type:`start`,partial:o}),await s(p,o,a,e),i?.signal?.aborted)throw Error(`Request was aborted`);if(o.stopReason===`aborted`||o.stopReason===`error`)throw Error(`An unknown error occurred`);a.push({type:`done`,reason:o.stopReason,message:o}),a.end()}catch(e){for(let e of o.content)delete e.index,delete e.partialJson;o.stopReason=i?.signal?.aborted?`aborted`:`error`,o.errorMessage=p(e),a.push({type:`error`,reason:o.stopReason,error:o}),a.end()}})(),a},h=(t,n,i)=>{let a=i?.apiKey;if(!a)throw Error(`No API key for provider: ${t.provider}`);let o=r(t,i,a),s=i?.reasoning?e(t,i.reasoning):void 0,c=s===`off`?void 0:s;return m(t,n,{...o,reasoningEffort:c})};function g(e){let t=e.trim().replace(/\/+$/,``),n;try{n=new URL(t)}catch{throw Error(`Invalid Azure OpenAI base URL: ${e}`)}let r=n.hostname.endsWith(`.openai.azure.com`)||n.hostname.endsWith(`.cognitiveservices.azure.com`),i=n.pathname.replace(/\/+$/,``);return r&&(i===``||i===`/`||i===`/openai`)&&(n.pathname=`/openai/v1`,n.search=``),n.toString().replace(/\/+$/,``)}function _(e){return`https://${e}.openai.azure.com/openai/v1`}function v(e,t){let n=t?.azureApiVersion||{}.AZURE_OPENAI_API_VERSION||l,r=t?.azureBaseUrl?.trim()||{}.AZURE_OPENAI_BASE_URL?.trim()||void 0,i=t?.azureResourceName||{}.AZURE_OPENAI_RESOURCE_NAME,a=r;if(!a&&i&&(a=_(i)),!a&&e.baseUrl&&(a=e.baseUrl),!a)throw Error(`Azure OpenAI base URL is required. Set AZURE_OPENAI_BASE_URL or AZURE_OPENAI_RESOURCE_NAME, or pass azureBaseUrl, azureResourceName, or model.baseUrl.`);return{baseUrl:g(a),apiVersion:n}}function y(e,t,n){let r={...e.headers};n?.headers&&Object.assign(r,n.headers);let{baseUrl:a,apiVersion:o}=v(e,n);return new i({apiKey:t,apiVersion:o,dangerouslyAllowBrowser:!0,defaultHeaders:r,baseURL:a})}function b(e,t,n,r){let i={model:r,input:c(e,t,u),stream:!0,prompt_cache_key:a(n?.sessionId),store:!1};return n?.maxTokens&&(i.max_output_tokens=n?.maxTokens),n?.temperature!==void 0&&(i.temperature=n?.temperature),t.tools&&t.tools.length>0&&(i.tools=o(t.tools)),e.reasoning&&(n?.reasoningEffort||n?.reasoningSummary?(i.reasoning={effort:n?.reasoningEffort?e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort:`medium`,summary:n?.reasoningSummary||`auto`},i.include=[`reasoning.encrypted_content`]):e.thinkingLevelMap?.off!==null&&(i.reasoning={effort:e.thinkingLevelMap?.off??`none`})),i}export{m as streamAzureOpenAIResponses,h as streamSimpleAzureOpenAIResponses};
2
- //# sourceMappingURL=azure-openai-responses-DpOwevJs.js.map
1
+ import{r as e,t}from"./event-stream-BzGVPQTQ.js";import{t as n}from"./headers-5EYI0_pl.js";import{r}from"./transform-messages-k0lyAmgl.js";import{t as i}from"./openai-Bf1npfRy.js";import{t as a}from"./openai-prompt-cache-CErE62Yt.js";import{n as o,r as s,t as c}from"./openai-responses-shared-D1zYh7h3.js";var l=`v1`,u=new Set([`openai`,`openai-codex`,`opencode`,`azure-openai-responses`]);function d(e){let t=new Map;if(!e)return t;for(let n of e.split(`,`)){let e=n.trim();if(!e)continue;let[r,i]=e.split(`=`,2);!r||!i||t.set(r.trim(),i.trim())}return t}function f(e,t){return t?.azureDeploymentName?t.azureDeploymentName:d({}.AZURE_OPENAI_DEPLOYMENT_NAME_MAP).get(e.id)||e.id}function p(e){if(e instanceof Error){let t=e.status,n=typeof t==`number`?t:void 0;return n===void 0?e.message:`Azure OpenAI API error (${n}): ${e.message}`}try{return JSON.stringify(e)}catch{return String(e)}}var m=(e,r,i)=>{let a=new t;return(async()=>{let t=f(e,i),o={role:`assistant`,content:[],api:`azure-openai-responses`,provider:e.provider,model:e.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()};try{let c=i?.apiKey;if(!c)throw Error(`No API key for provider: ${e.provider}`);let l=y(e,c,i),u=b(e,r,i,t),d=await i?.onPayload?.(u,e);d!==void 0&&(u=d);let f={...i?.signal?{signal:i.signal}:{},...i?.timeoutMs===void 0?{}:{timeout:i.timeoutMs},maxRetries:i?.maxRetries??0},{data:p,response:m}=await l.responses.create(u,f).withResponse();if(await i?.onResponse?.({status:m.status,headers:n(m.headers)},e),a.push({type:`start`,partial:o}),await s(p,o,a,e),i?.signal?.aborted)throw Error(`Request was aborted`);if(o.stopReason===`aborted`||o.stopReason===`error`)throw Error(`An unknown error occurred`);a.push({type:`done`,reason:o.stopReason,message:o}),a.end()}catch(e){for(let e of o.content)delete e.index,delete e.partialJson;o.stopReason=i?.signal?.aborted?`aborted`:`error`,o.errorMessage=p(e),a.push({type:`error`,reason:o.stopReason,error:o}),a.end()}})(),a},h=(t,n,i)=>{let a=i?.apiKey;if(!a)throw Error(`No API key for provider: ${t.provider}`);let o=r(t,i,a),s=i?.reasoning?e(t,i.reasoning):void 0,c=s===`off`?void 0:s;return m(t,n,{...o,reasoningEffort:c})};function g(e){let t=e.trim().replace(/\/+$/,``),n;try{n=new URL(t)}catch{throw Error(`Invalid Azure OpenAI base URL: ${e}`)}let r=n.hostname.endsWith(`.openai.azure.com`)||n.hostname.endsWith(`.cognitiveservices.azure.com`),i=n.pathname.replace(/\/+$/,``);return r&&(i===``||i===`/`||i===`/openai`)&&(n.pathname=`/openai/v1`,n.search=``),n.toString().replace(/\/+$/,``)}function _(e){return`https://${e}.openai.azure.com/openai/v1`}function v(e,t){let n=t?.azureApiVersion||{}.AZURE_OPENAI_API_VERSION||l,r=t?.azureBaseUrl?.trim()||{}.AZURE_OPENAI_BASE_URL?.trim()||void 0,i=t?.azureResourceName||{}.AZURE_OPENAI_RESOURCE_NAME,a=r;if(!a&&i&&(a=_(i)),!a&&e.baseUrl&&(a=e.baseUrl),!a)throw Error(`Azure OpenAI base URL is required. Set AZURE_OPENAI_BASE_URL or AZURE_OPENAI_RESOURCE_NAME, or pass azureBaseUrl, azureResourceName, or model.baseUrl.`);return{baseUrl:g(a),apiVersion:n}}function y(e,t,n){let r={...e.headers};n?.headers&&Object.assign(r,n.headers);let{baseUrl:a,apiVersion:o}=v(e,n);return new i({apiKey:t,apiVersion:o,dangerouslyAllowBrowser:!0,defaultHeaders:r,baseURL:a})}function b(e,t,n,r){let i={model:r,input:c(e,t,u),stream:!0,prompt_cache_key:a(n?.sessionId),store:!1};return n?.maxTokens&&(i.max_output_tokens=n?.maxTokens),n?.temperature!==void 0&&(i.temperature=n?.temperature),t.tools&&t.tools.length>0&&(i.tools=o(t.tools)),e.reasoning&&(n?.reasoningEffort||n?.reasoningSummary?(i.reasoning={effort:n?.reasoningEffort?e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort:`medium`,summary:n?.reasoningSummary||`auto`},i.include=[`reasoning.encrypted_content`]):e.thinkingLevelMap?.off!==null&&(i.reasoning={effort:e.thinkingLevelMap?.off??`none`})),i}export{m as streamAzureOpenAIResponses,h as streamSimpleAzureOpenAIResponses};
2
+ //# sourceMappingURL=azure-openai-responses-CdtO9bUf.js.map
@@ -1,4 +1,4 @@
1
- import{i as e,n as t}from"./lit-Cl9PTnWs.js";import{r as n}from"./i18n-Ber8EPgj.js";import{P as r}from"./index-PlnK9Z5S.js";import{a as i,i as a,n as o,o as s,r as c,s as l,t as u}from"./cognitive-shared-B8AP3LeI.js";var d={new:`color: var(--info); border-color: rgba(59,130,246,0.35); background: rgba(59,130,246,0.08);`,active:`color: var(--ok); border-color: rgba(34,197,94,0.35); background: rgba(34,197,94,0.08);`,dormant:`color: var(--warn); border-color: rgba(245,158,11,0.35); background: rgba(245,158,11,0.08);`,lapsed:`color: var(--muted); border-color: var(--border); background: var(--secondary);`};function f(n){return n?e`<span
1
+ import{i as e,n as t}from"./lit-Cl9PTnWs.js";import{r as n}from"./i18n-Ber8EPgj.js";import{P as r}from"./index-T9pDybqW.js";import{a as i,i as a,n as o,o as s,r as c,s as l,t as u}from"./cognitive-shared-eDlosSnJ.js";var d={new:`color: var(--info); border-color: rgba(59,130,246,0.35); background: rgba(59,130,246,0.08);`,active:`color: var(--ok); border-color: rgba(34,197,94,0.35); background: rgba(34,197,94,0.08);`,dormant:`color: var(--warn); border-color: rgba(245,158,11,0.35); background: rgba(245,158,11,0.08);`,lapsed:`color: var(--muted); border-color: var(--border); background: var(--secondary);`};function f(n){return n?e`<span
2
2
  style="display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;border:1px solid;${d[n]??d.dormant}"
3
3
  >${n}</span
4
4
  >`:t}function p(e){return!e||typeof e!=`object`?null:e}function m(n){let{identity:i,domains:a,recentFocus:s,rapport:c,lifecycle:u}=n,d=Object.entries(a),p=i.communicationStyle;return e`
@@ -171,4 +171,4 @@ import{i as e,n as t}from"./lit-Cl9PTnWs.js";import{r as n}from"./i18n-Ber8EPgj.
171
171
  </div>
172
172
  </section>
173
173
  `:a(i({list:r,selectedUserId:t.userId,selectedAgentId:t.agentId,onUserSelect:t.onUserSelect,onRefresh:t.onRefresh,headerTitle:`Users`,emptyMessage:`No persona data yet. Start a conversation to build cognitive profiles.`}),o?m(o):c(`Select a user to view their persona`,`Click a user card on the left to explore their cognitive profile.`),!!o,()=>t.onUserSelect(``,``),`${t.agentId??``} / ${o?.identity?.displayName||s(t.userId)}`)}export{h as renderCognitive};
174
- //# sourceMappingURL=cognitive-6KCHIzKg.js.map
174
+ //# sourceMappingURL=cognitive-CaaG5owa.js.map
@@ -1,4 +1,4 @@
1
- import{i as e,n as t}from"./lit-Cl9PTnWs.js";import{P as n}from"./index-PlnK9Z5S.js";function r(e){return e?e.startsWith(`ou_`)&&e.length>12?e.slice(0,12)+`…`:e:``}var i={emergent:`color: var(--info); border-color: rgba(59,130,246,0.35); background: rgba(59,130,246,0.08);`,stable:`color: var(--ok); border-color: rgba(34,197,94,0.35); background: rgba(34,197,94,0.08);`,declining:`color: var(--warn); border-color: rgba(245,158,11,0.35); background: rgba(245,158,11,0.08);`,dormant:`color: var(--muted); border-color: var(--border); background: var(--secondary);`,revived:`color: #f97316; border-color: rgba(249,115,22,0.35); background: rgba(249,115,22,0.08);`};function a(n){return n?e`<span
1
+ import{i as e,n as t}from"./lit-Cl9PTnWs.js";import{P as n}from"./index-T9pDybqW.js";function r(e){return e?e.startsWith(`ou_`)&&e.length>12?e.slice(0,12)+`…`:e:``}var i={emergent:`color: var(--info); border-color: rgba(59,130,246,0.35); background: rgba(59,130,246,0.08);`,stable:`color: var(--ok); border-color: rgba(34,197,94,0.35); background: rgba(34,197,94,0.08);`,declining:`color: var(--warn); border-color: rgba(245,158,11,0.35); background: rgba(245,158,11,0.08);`,dormant:`color: var(--muted); border-color: var(--border); background: var(--secondary);`,revived:`color: #f97316; border-color: rgba(249,115,22,0.35); background: rgba(249,115,22,0.08);`};function a(n){return n?e`<span
2
2
  style="display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:500;border:1px solid;${i[n]??i.dormant}"
3
3
  >${n}</span
4
4
  >`:t}function o(t){let n=Math.max(0,Math.min(1,typeof t==`number`&&Number.isFinite(t)?t:0)),r=Math.round(n*100),i=r>=70?`var(--ok)`:r>=40?`var(--warn)`:`var(--danger)`;return e`
@@ -89,4 +89,4 @@ import{i as e,n as t}from"./lit-Cl9PTnWs.js";import{P as n}from"./index-PlnK9Z5S
89
89
  </div>
90
90
  </section>
91
91
  `}export{c as a,u as i,a as n,r as o,l as r,o as s,s as t};
92
- //# sourceMappingURL=cognitive-shared-B8AP3LeI.js.map
92
+ //# sourceMappingURL=cognitive-shared-eDlosSnJ.js.map
@@ -1,4 +1,4 @@
1
- import{i as e}from"./lit-Cl9PTnWs.js";import{r as t}from"./i18n-Ber8EPgj.js";import{a as n,i as r,r as i,t as a}from"./cognitive-shared-B8AP3LeI.js";var o=90,s=864e5;function c(e){let n=Date.now()-e;if(n<0)return t(`common.justNow`)??`刚刚`;let r=Math.floor(n/6e4);if(r<1)return t(`common.justNow`)??`刚刚`;if(r<60)return`${r}分钟前`;let i=Math.floor(r/60);if(i<24)return`${i}小时前`;let a=Math.floor(i/24);return a<30?`${a}天前`:`${Math.floor(a/30)}个月前`}function l(e){let t=(Date.now()-e)/s;return Math.max(0,Math.round(o-t))}function u(t){return e`<span class="pill ${t===`self`?`info`:`warning`}">${t===`self`?`Agent`:`用户`}</span>`}function d(t){let n=l(t.createdAt),r=n<=7?`danger`:n<=30?`warning`:``;return e`
1
+ import{i as e}from"./lit-Cl9PTnWs.js";import{r as t}from"./i18n-Ber8EPgj.js";import{a as n,i as r,r as i,t as a}from"./cognitive-shared-eDlosSnJ.js";var o=90,s=864e5;function c(e){let n=Date.now()-e;if(n<0)return t(`common.justNow`)??`刚刚`;let r=Math.floor(n/6e4);if(r<1)return t(`common.justNow`)??`刚刚`;if(r<60)return`${r}分钟前`;let i=Math.floor(r/60);if(i<24)return`${i}小时前`;let a=Math.floor(i/24);return a<30?`${a}天前`:`${Math.floor(a/30)}个月前`}function l(e){let t=(Date.now()-e)/s;return Math.max(0,Math.round(o-t))}function u(t){return e`<span class="pill ${t===`self`?`info`:`warning`}">${t===`self`?`Agent`:`用户`}</span>`}function d(t){let n=l(t.createdAt),r=n<=7?`danger`:n<=30?`warning`:``;return e`
2
2
  <div class="card" style="padding: 12px;">
3
3
  <div style="display:flex; align-items:center; gap:8px; margin-bottom:8px; flex-wrap:wrap;">
4
4
  <span class="pill" style="color:var(--text);">${t.domain}</span>
@@ -45,4 +45,4 @@ import{i as e}from"./lit-Cl9PTnWs.js";import{r as t}from"./i18n-Ber8EPgj.js";imp
45
45
  <div class="stack">${c.map(e=>d(e))}</div>
46
46
  </div>
47
47
  `:i(`请选择一个用户查看纠错记录`,`点击左侧用户卡片查看纠错历史。`),r(l,u,!!o.userId,()=>o.onUserSelect(``,``),`${o.agentId??``} / ${o.userId??``}`)}export{f as renderCorrections};
48
- //# sourceMappingURL=corrections-bxFx9e2N.js.map
48
+ //# sourceMappingURL=corrections-Dj8U7UJx.js.map
@@ -1,4 +1,4 @@
1
- import{i as e,n as t}from"./lit-Cl9PTnWs.js";import{r as n}from"./i18n-Ber8EPgj.js";import{F as r,N as i}from"./index-PlnK9Z5S.js";import{i as a,n as o}from"./presenter-TzBAwYV1.js";var s=e=>e??t;function c(e){let t=[`last`,...e.channels.filter(Boolean)],n=e.form.deliveryChannel?.trim();n&&!t.includes(n)&&t.push(n);let r=new Set;return t.filter(e=>r.has(e)?!1:(r.add(e),!0))}function l(e,t){if(t===`last`)return`last`;let n=e.channelMeta?.find(e=>e.id===t);return n?.label?n.label:e.channelLabels?.[t]??t}function u(n,r){let i=Array.from(new Set(r.map(e=>e.trim()).filter(Boolean)));return i.length===0?t:e`<datalist id=${n}>
1
+ import{i as e,n as t}from"./lit-Cl9PTnWs.js";import{r as n}from"./i18n-Ber8EPgj.js";import{F as r,N as i}from"./index-T9pDybqW.js";import{i as a,n as o}from"./presenter-C5KxvyyW.js";var s=e=>e??t;function c(e){let t=[`last`,...e.channels.filter(Boolean)],n=e.form.deliveryChannel?.trim();n&&!t.includes(n)&&t.push(n);let r=new Set;return t.filter(e=>r.has(e)?!1:(r.add(e),!0))}function l(e,t){if(t===`last`)return`last`;let n=e.channelMeta?.find(e=>e.id===t);return n?.label?n.label:e.channelLabels?.[t]??t}function u(n,r){let i=Array.from(new Set(r.map(e=>e.trim()).filter(Boolean)));return i.length===0?t:e`<datalist id=${n}>
2
2
  ${i.map(t=>e`<option value=${t}></option> `)}
3
3
  </datalist>`}function d(e){return`cron-error-${e}`}function f(e){return e===`name`?`cron-name`:e===`scheduleAt`?`cron-schedule-at`:e===`everyAmount`?`cron-every-amount`:e===`cronExpr`?`cron-cron-expr`:e===`staggerAmount`?`cron-stagger-amount`:e===`payloadText`?`cron-payload-text`:e===`payloadModel`?`cron-payload-model`:e===`payloadThinking`?`cron-payload-thinking`:e===`timeoutSeconds`?`cron-timeout-seconds`:e===`failureAlertAfter`?`cron-failure-alert-after`:e===`failureAlertCooldownSeconds`?`cron-failure-alert-cooldown-seconds`:`cron-delivery-to`}function p(e,t,r){return e===`payloadText`?t.payloadKind===`systemEvent`?n(`cron.form.mainTimelineMessage`):n(`cron.form.assistantTaskPrompt`):e===`deliveryTo`?n(r===`webhook`?`cron.form.webhookUrl`:`cron.form.to`):{name:n(`cron.form.fieldName`),scheduleAt:n(`cron.form.runAt`),everyAmount:n(`cron.form.every`),cronExpr:n(`cron.form.expression`),staggerAmount:n(`cron.form.staggerWindow`),payloadText:n(`cron.form.assistantTaskPrompt`),payloadModel:n(`cron.form.model`),payloadThinking:n(`cron.form.thinking`),timeoutSeconds:n(`cron.form.timeoutSeconds`),deliveryTo:n(`cron.form.to`),failureAlertAfter:`Failure alert after`,failureAlertCooldownSeconds:`Failure alert cooldown`}[e]}function m(e,t,n){let r=[`name`,`scheduleAt`,`everyAmount`,`cronExpr`,`staggerAmount`,`payloadText`,`payloadModel`,`payloadThinking`,`timeoutSeconds`,`deliveryTo`,`failureAlertAfter`,`failureAlertCooldownSeconds`],i=[];for(let a of r){let r=e[a];r&&i.push({key:a,label:p(a,t,n),message:r,inputId:f(a)})}return i}function h(e){let t=document.getElementById(e);t instanceof HTMLElement&&(t.scrollIntoView?.({block:`center`,behavior:`smooth`}),t.focus())}function g(r,i=!1){return e`<span>
4
4
  ${r}
@@ -741,4 +741,4 @@ import{i as e,n as t}from"./lit-Cl9PTnWs.js";import{r as n}from"./i18n-Ber8EPgj.
741
741
  <div class="cron-help cron-span-2">${n(`cron.form.jitterHelp`)}</div>
742
742
  </div>
743
743
  `}function S(r,i){return r?e`<div id=${s(i)} class="cron-help cron-error">${n(r)}</div>`:t}function C(e){return typeof e!=`number`||!Number.isFinite(e)?n(`common.na`):r(e)}export{_ as renderCron};
744
- //# sourceMappingURL=cron-CkgjS7MD.js.map
744
+ //# sourceMappingURL=cron-BY1O45y0.js.map
@@ -1,4 +1,4 @@
1
- import{i as e,n as t}from"./lit-Cl9PTnWs.js";import{r as n}from"./i18n-Ber8EPgj.js";import{a as r,i,r as a,t as o}from"./cognitive-shared-B8AP3LeI.js";function s(e){let t=Date.now()-e;if(t<0)return n(`common.justNow`)??`刚刚`;let r=Math.floor(t/1e3);if(r<60)return n(`common.justNow`)??`刚刚`;let i=Math.floor(r/60);if(i<60)return`${i}分钟前`;let a=Math.floor(i/60);if(a<24)return`${a}小时前`;let o=Math.floor(a/24);return o<30?`${o}天前`:`${Math.floor(o/30)}个月前`}function c(e){if(e<1e3)return`${e}ms`;let t=e/1e3;return t<60?`${t.toFixed(1)}s`:`${Math.floor(t/60)}m ${Math.floor(t%60)}s`}function l(e){return e>=.7?`color: #ef4444; border-color: rgba(239,68,68,0.3); background: rgba(239,68,68,0.08);`:e>=.4?`color: #eab308; border-color: rgba(234,179,8,0.3); background: rgba(234,179,8,0.08);`:`color: var(--muted);`}function u(t){if(!t)return e`<span class="pill" style="opacity:0.6;">无回应</span>`;let{label:n,style:r}={accepted:{label:`已接受`,style:`color: #22c55e; border-color: rgba(34,197,94,0.3); background: rgba(34,197,94,0.08);`},modified:{label:`已修改`,style:`color: #eab308; border-color: rgba(234,179,8,0.3); background: rgba(234,179,8,0.08);`},rejected:{label:`已拒绝`,style:`color: #ef4444; border-color: rgba(239,68,68,0.3); background: rgba(239,68,68,0.08);`}}[t];return e`<span class="pill" style="${r}">${n}</span>`}function d(t){let{label:n,style:r}={success:{label:`成功`,style:`color: #22c55e; border-color: rgba(34,197,94,0.3); background: rgba(34,197,94,0.08);`},failure:{label:`失败`,style:`color: #ef4444; border-color: rgba(239,68,68,0.3); background: rgba(239,68,68,0.08);`},skipped:{label:`已跳过`,style:`color: var(--muted); opacity: 0.6;`}}[t];return e`<span class="pill" style="${r}">${n}</span>`}function f(n){return n.length===0?e`<div class="callout info">暂无进化记录。</div>`:e`
1
+ import{i as e,n as t}from"./lit-Cl9PTnWs.js";import{r as n}from"./i18n-Ber8EPgj.js";import{a as r,i,r as a,t as o}from"./cognitive-shared-eDlosSnJ.js";function s(e){let t=Date.now()-e;if(t<0)return n(`common.justNow`)??`刚刚`;let r=Math.floor(t/1e3);if(r<60)return n(`common.justNow`)??`刚刚`;let i=Math.floor(r/60);if(i<60)return`${i}分钟前`;let a=Math.floor(i/60);if(a<24)return`${a}小时前`;let o=Math.floor(a/24);return o<30?`${o}天前`:`${Math.floor(o/30)}个月前`}function c(e){if(e<1e3)return`${e}ms`;let t=e/1e3;return t<60?`${t.toFixed(1)}s`:`${Math.floor(t/60)}m ${Math.floor(t%60)}s`}function l(e){return e>=.7?`color: #ef4444; border-color: rgba(239,68,68,0.3); background: rgba(239,68,68,0.08);`:e>=.4?`color: #eab308; border-color: rgba(234,179,8,0.3); background: rgba(234,179,8,0.08);`:`color: var(--muted);`}function u(t){if(!t)return e`<span class="pill" style="opacity:0.6;">无回应</span>`;let{label:n,style:r}={accepted:{label:`已接受`,style:`color: #22c55e; border-color: rgba(34,197,94,0.3); background: rgba(34,197,94,0.08);`},modified:{label:`已修改`,style:`color: #eab308; border-color: rgba(234,179,8,0.3); background: rgba(234,179,8,0.08);`},rejected:{label:`已拒绝`,style:`color: #ef4444; border-color: rgba(239,68,68,0.3); background: rgba(239,68,68,0.08);`}}[t];return e`<span class="pill" style="${r}">${n}</span>`}function d(t){let{label:n,style:r}={success:{label:`成功`,style:`color: #22c55e; border-color: rgba(34,197,94,0.3); background: rgba(34,197,94,0.08);`},failure:{label:`失败`,style:`color: #ef4444; border-color: rgba(239,68,68,0.3); background: rgba(239,68,68,0.08);`},skipped:{label:`已跳过`,style:`color: var(--muted); opacity: 0.6;`}}[t];return e`<span class="pill" style="${r}">${n}</span>`}function f(n){return n.length===0?e`<div class="callout info">暂无进化记录。</div>`:e`
2
2
  <div style="position: relative; padding-left: 24px;">
3
3
  <!-- Vertical timeline line -->
4
4
  <div
@@ -158,4 +158,4 @@ import{i as e,n as t}from"./lit-Cl9PTnWs.js";import{r as n}from"./i18n-Ber8EPgj.
158
158
  </div>
159
159
  </div>
160
160
  `,!0,()=>t.onUserSelect(``,``),`${t.agentId??``} / ${t.userId??``}`)}export{m as renderEvolution};
161
- //# sourceMappingURL=evolution-DCLqYMzQ.js.map
161
+ //# sourceMappingURL=evolution-CT8Iz0S4.js.map
@@ -1,4 +1,4 @@
1
- import{i as e,n as t}from"./lit-Cl9PTnWs.js";import{r as n}from"./i18n-Ber8EPgj.js";import{F as r,M as i}from"./index-PlnK9Z5S.js";function a(e){switch(e){case`user`:return`User`;case`assistant`:return`Assistant`;case`tool`:return`Tool`;case`system`:return`System`;default:return e}}function o(e){switch(e){case`user`:return`pill accent`;case`assistant`:return`pill`;case`tool`:return`pill muted`;case`system`:return`pill dim`;default:return`pill`}}function s(e){if(typeof e==`string`)return e;if(Array.isArray(e))return e.filter(e=>typeof e==`object`&&!!e).map(e=>e.type===`text`&&typeof e.text==`string`?e.text:``).filter(Boolean).join(`
1
+ import{i as e,n as t}from"./lit-Cl9PTnWs.js";import{r as n}from"./i18n-Ber8EPgj.js";import{F as r,M as i}from"./index-T9pDybqW.js";function a(e){switch(e){case`user`:return`User`;case`assistant`:return`Assistant`;case`tool`:return`Tool`;case`system`:return`System`;default:return e}}function o(e){switch(e){case`user`:return`pill accent`;case`assistant`:return`pill`;case`tool`:return`pill muted`;case`system`:return`pill dim`;default:return`pill`}}function s(e){if(typeof e==`string`)return e;if(Array.isArray(e))return e.filter(e=>typeof e==`object`&&!!e).map(e=>e.type===`text`&&typeof e.text==`string`?e.text:``).filter(Boolean).join(`
2
2
  `);if(e==null)return``;try{return typeof e==`object`?JSON.stringify(e):String(e)}catch{return``}}function c(e){return e==null||!Number.isFinite(e)?``:r(e)}function l(e){if(!e)return``;let t=e.split(`:`);if(t.length>=2){let e=t[1];if(t.length>=3){let n=t[2];return n===`main`?`${e} / main`:n.startsWith(`ou_`)?`${e} / ${n.slice(0,12)}…`:n===`cron`?`${e} / 定时任务`:`${e} / ${n.slice(0,20)}`}return e}return e.slice(0,30)}function u(n,r,a,o){let s=n.label||n.displayName||``,u=c(n.updatedAt),d=l(n.key);return e`
3
3
  <div
4
4
  class="card ${r?`selected`:``}"
@@ -80,4 +80,4 @@ import{i as e,n as t}from"./lit-Cl9PTnWs.js";import{r as n}from"./i18n-Ber8EPgj.
80
80
  </div>
81
81
  </section>
82
82
  `}function p(e,t){if(!t.trim())return e;let n=t.toLowerCase();return e.filter(e=>{let t=e.key.toLowerCase(),r=(e.label??e.displayName??``).toLowerCase();return t.includes(n)||r.includes(n)})}export{f as renderHistory};
83
- //# sourceMappingURL=history-C-cVd4nY.js.map
83
+ //# sourceMappingURL=history-DO10syFs.js.map