@theoremjs/studio 0.3.1 → 0.3.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.
Files changed (40) hide show
  1. package/README.md +1 -0
  2. package/package.json +3 -3
  3. package/page/assets/{Banner-ChigGVCM.js → Banner-BISz3nXA.js} +2 -2
  4. package/page/assets/{ContextMenu-BcXTDSnA.js → ContextMenu-CBu9H-9H.js} +2 -2
  5. package/page/assets/{ToolResultCharts-DsbzvrBK.js → ToolResultCharts-CgshSv9Q.js} +1 -1
  6. package/page/assets/{TraceInspector-B34qMQJH.js → TraceInspector-_yZiz05W.js} +1 -1
  7. package/page/assets/{TraceOverview-Drp2Sl4p.js → TraceOverview-BPO-HIYK.js} +1 -1
  8. package/page/assets/{_virtual_studio-type-sources-B0u0_Vhq.js → _virtual_studio-type-sources-ByxqQaOG.js} +10 -7
  9. package/page/assets/browser-engine-CYq9DQAM.js +9 -0
  10. package/page/assets/{browser-transport-Bn77Eq5d.js → browser-transport-D-2jDYe7.js} +3 -3
  11. package/page/assets/{compile-egress-CGwmX2BX.js → compile-egress-BSxOdX4K.js} +1 -1
  12. package/page/assets/{encode-files-Dq98bb-f.js → encode-files-Bc3HJyAh.js} +1 -1
  13. package/page/assets/{export-agent-wlS68_dE.js → export-agent-C3yyzXH8.js} +1 -1
  14. package/page/assets/{guardrail-tester-BHcoZE5K.js → guardrail-tester-Gut5xK4a.js} +1 -1
  15. package/page/assets/host-patterns-C9RMP16Q.js +1 -0
  16. package/page/assets/{index-BmHkdZXS.js → index-CvvmFKgS.js} +6 -6
  17. package/page/assets/{live-ingress-DsA4_80F.js → live-ingress-lDUGPwth.js} +1 -1
  18. package/page/assets/{live-messages-B19ZuTGI.js → live-messages-CnkL4GWi.js} +1 -1
  19. package/page/assets/{reader-CN15b9m8.js → reader-BOCCYaRp.js} +1 -1
  20. package/page/assets/{shaped-data-BO_JTcQq.js → shaped-data-BcarWqd5.js} +2 -2
  21. package/page/assets/{stub-DDddt29Y.js → stub-DhdcU_Ew.js} +1 -1
  22. package/page/assets/{studio-code-pane-BSXwNg0B.js → studio-code-pane-C_SAbcOa.js} +3 -3
  23. package/page/assets/{studio-console-C1hyAfeb.js → studio-console-DZwlEsvr.js} +1 -1
  24. package/page/assets/{studio-decision-CZDF06ic.js → studio-decision-B0FnCAXA.js} +1 -1
  25. package/page/assets/{studio-embedding-SqSYd_e1.js → studio-embedding-CmA51HVo.js} +1 -1
  26. package/page/assets/{studio-host-console-BlbRUrR_.js → studio-host-console-By7hqu2l.js} +2 -2
  27. package/page/assets/{studio-live-Dd0AEV_k.js → studio-live-BrcVQcyV.js} +1 -1
  28. package/page/assets/{studio-map-BIIZcltt.js → studio-map-B_xSia-z.js} +1 -1
  29. package/page/assets/{studio-type-checker-Cp6IxLBp.js → studio-type-checker-BOvxudki.js} +1 -1
  30. package/page/assets/{tool-schema-BF2BK9h8.js → tool-schema-idaOe2nI.js} +8 -8
  31. package/page/assets/{trace-record-C-XxCjSg.js → trace-record-C3zNksA_.js} +1 -1
  32. package/page/assets/{tree-D1IYOD_9.js → tree-DqyAMsbI.js} +1 -1
  33. package/page/assets/{turn-client-BMBqw-ho.js → turn-client-Du3Um3Mg.js} +1 -1
  34. package/page/assets/types-BhfXQCLx.js +1 -0
  35. package/page/assets/{use-one-call-BtrXMol7.js → use-one-call-Hcs8YBp1.js} +1 -1
  36. package/page/assets/{workspace-BMzjmPeQ.js → workspace-DZALqEDX.js} +1 -1
  37. package/page/index.html +15 -15
  38. package/page/assets/browser-engine-rJc_aHJo.js +0 -9
  39. package/page/assets/host-patterns-DCz9Cmrt.js +0 -1
  40. package/page/assets/types-CBmpjaet.js +0 -1
@@ -1 +1 @@
1
- import{C as e,Dt as t,H as n,Kt as r,S as i,V as a,cn as o,dn as s,ln as c,un as l,x as u}from"./shaped-data-BO_JTcQq.js";var d=/^data:([^;,]+);base64,/;function f(e){if(typeof(e.mime_type??e.mimeType)==`string`&&typeof e.data==`string`)return`data`;if(typeof e.media_type==`string`&&typeof e.b64_json==`string`)return`b64_json`}var p=`sha256`,m=`text_sha256`;async function h(e){let t=await s(e);return t?{kind:p,hash:t.hash}:{kind:m,hash:await l(e)}}async function g(e){let t=d.exec(e);if(!t)return e;let{kind:n,hash:r}=await h(e.slice(t[0].length));return`data:${t[1]};${n},${r}`}async function _(e){let t=f(e),n,r=await Promise.all(Object.entries(e).map(async([e,r])=>{if(e===t&&typeof r==`string`){let{kind:t,hash:i}=await h(r);return n=t,[e,i]}return[e,await v(r)]})),i=Object.fromEntries(r);return n&&(i.dataKind=n),i}function v(e){return typeof e==`string`?g(e):Array.isArray(e)?Promise.all(e.map(e=>v(e))):e&&typeof e==`object`?_(e):Promise.resolve(e)}function y(e,n){return n.reduce((e,n)=>t(e,n),e)}function b(e,t){return t.some(Boolean)?c(e,e=>y(e,t)):e}async function x(e,t){return b(await v(e),t)}var S=`https://github.com/open-telemetry/semantic-conventions-genai/tree/8ffdf56`,C=`content_sha256`,w=`json_sha256`,T=[`gen_ai.usage.`,`theorem.usage.`],E={"theorem.upstream.row":`upstreamLog`,"theorem.wire.request":`outboundWire`,"theorem.guardrail":`guardrailDecisions`},D=`raw`,O=`match`,k=[`injection`,`tool_instructions`];function A(e,t){return e===!0||e!==!1&&e[t]}function j(e,{scrub:t,detect:i}){let{sensitive:s,injection:c}=t;return r(e,[...s?n(e,o,s,i):[],...A(s,`host`)?a(e,i):[],...c?n(e,k,c,i):[]])}async function M(e,t){let n=await l(e);return t.content[n]=e,t.known.set(e,n),n}function N(e,t){let{[t]:n,...r}=e;return r}async function P(t,n){if(i(t)){let e=y(j(t.$content,n),n.canaries);return{...N(t,`$content`),[C]:await M(e,n)}}if(u(t)){let e=N(t,`$bytes`),n=await s(t.$bytes);return n?{...e,content_sha256:n.hash,bytes:n.bytes}:{...e,invalid_base64:!0,text_sha256:await l(t.$bytes)}}return e(t)?t:await R(t,e=>P(e,n))}function F(e,t){return typeof e==`string`?t(e):Array.isArray(e)?e.map(e=>F(e,t)):e&&typeof e==`object`?Object.fromEntries(Object.entries(e).map(([e,n])=>[e,F(n,t)])):e}function I(e,t){return F(e,e=>{let n=j(e,t),r=t.known.get(n);return r?{[C]:r}:n})}async function L(t,n){if(e(t)){let e=await x(t.$json,n.canaries),r=JSON.stringify(I(e,n)),i=await l(r);return n.content[i]=r,{...N(t,`$json`),[w]:i}}return await R(t,e=>L(e,n))}async function R(e,t){if(Array.isArray(e))return await Promise.all(e.map(t));if(e&&typeof e==`object`){let n=await Promise.all(Object.entries(e).map(async([e,n])=>[e,await t(n)]));return Object.fromEntries(n)}return e}async function z(e,t){let n=await Promise.all(Object.entries(e).map(async([e,n])=>[e,await t(n)]));return Object.fromEntries(n)}async function B(e,t){let n=await Promise.all(e.events.map(async e=>({...e,attributes:await z(e.attributes,t)})));return{...e,attributes:await z(e.attributes,t),events:n}}function V(e,t){return t.usage?e:Object.fromEntries(Object.entries(e).filter(([e])=>!T.some(t=>e.startsWith(t))))}function H(e){return e.map(e=>{if(!e||typeof e!=`object`||Array.isArray(e))return e;let{[O]:t,...n}=e;return n})}function U(e,t){let n=E[e.name];if(n&&!t[n])return;if(e.name===`theorem.grounding`&&!t.evidenceRaw){let{[D]:t,...n}=e.attributes;return{...e,attributes:n}}let{hits:r}=e.attributes;return e.name===`theorem.guardrail`&&!t.guardrailMatchPreview&&Array.isArray(r)?{...e,attributes:{...e.attributes,hits:H(r)}}:e}function W(e,t){return{...e,attributes:V(e.attributes,t),events:e.events.flatMap(e=>U(e,t)??[])}}function G(e){return Object.entries(e).flatMap(([e,t])=>t?[e]:[])}async function K(e){let{policy:t}=e,n={scrub:t.scrub,detect:t.detect,canaries:A(t.scrub.canary,`theorem`)?e.canaries??[]:[],content:{},known:new Map},r=e.spans.map(e=>W(e,t.include)),[i]=r;i&&(i.attributes={...i.attributes,"theorem.record.include":G(t.include),"theorem.record.scrub":G(t.scrub)});let a=await Promise.all(r.map(e=>B(e,e=>P(e,n)))),o=await Promise.all(a.map(e=>B(e,e=>L(e,n))));return{v:3,schemaUrl:S,resource:{...t.resource},...e.metadata?{metadata:e.metadata}:{},spans:o,content:n.content}}function q(e,t){if(Array.isArray(t))return t.map(t=>q(e,t));if(!t||typeof t!=`object`)return t;let n=Object.fromEntries(Object.entries(t).map(([t,n])=>[t,q(e,n)])),{[C]:r,[w]:i,...a}=n,o=typeof r==`string`?e.content[r]:void 0;if(o!==void 0)return Object.keys(a).length===0?o:{...a,content:o};let s=typeof i==`string`?e.content[i]:void 0;if(s===void 0)return n;let c=q(e,JSON.parse(s));return Object.keys(a).length===0?c:c&&typeof c==`object`&&!Array.isArray(c)?{...c,...a}:n}export{q as n,K as t};
1
+ import{C as e,Dt as t,H as n,Kt as r,S as i,V as a,cn as o,dn as s,ln as c,un as l,x as u}from"./shaped-data-BcarWqd5.js";var d=/^data:([^;,]+);base64,/;function f(e){if(typeof(e.mime_type??e.mimeType)==`string`&&typeof e.data==`string`)return`data`;if(typeof e.media_type==`string`&&typeof e.b64_json==`string`)return`b64_json`}var p=`sha256`,m=`text_sha256`;async function h(e){let t=await s(e);return t?{kind:p,hash:t.hash}:{kind:m,hash:await l(e)}}async function g(e){let t=d.exec(e);if(!t)return e;let{kind:n,hash:r}=await h(e.slice(t[0].length));return`data:${t[1]};${n},${r}`}async function _(e){let t=f(e),n,r=await Promise.all(Object.entries(e).map(async([e,r])=>{if(e===t&&typeof r==`string`){let{kind:t,hash:i}=await h(r);return n=t,[e,i]}return[e,await v(r)]})),i=Object.fromEntries(r);return n&&(i.dataKind=n),i}function v(e){return typeof e==`string`?g(e):Array.isArray(e)?Promise.all(e.map(e=>v(e))):e&&typeof e==`object`?_(e):Promise.resolve(e)}function y(e,n){return n.reduce((e,n)=>t(e,n),e)}function b(e,t){return t.some(Boolean)?c(e,e=>y(e,t)):e}async function x(e,t){return b(await v(e),t)}var S=`https://github.com/open-telemetry/semantic-conventions-genai/tree/8ffdf56`,C=`content_sha256`,w=`json_sha256`,T=[`gen_ai.usage.`,`theorem.usage.`],E={"theorem.upstream.row":`upstreamLog`,"theorem.wire.request":`outboundWire`,"theorem.guardrail":`guardrailDecisions`},D=`raw`,O=`match`,k=[`injection`,`tool_instructions`];function A(e,t){return e===!0||e!==!1&&e[t]}function j(e,{scrub:t,detect:i}){let{sensitive:s,injection:c}=t;return r(e,[...s?n(e,o,s,i):[],...A(s,`host`)?a(e,i):[],...c?n(e,k,c,i):[]])}async function M(e,t){let n=await l(e);return t.content[n]=e,t.known.set(e,n),n}function N(e,t){let{[t]:n,...r}=e;return r}async function P(t,n){if(i(t)){let e=y(j(t.$content,n),n.canaries);return{...N(t,`$content`),[C]:await M(e,n)}}if(u(t)){let e=N(t,`$bytes`),n=await s(t.$bytes);return n?{...e,content_sha256:n.hash,bytes:n.bytes}:{...e,invalid_base64:!0,text_sha256:await l(t.$bytes)}}return e(t)?t:await R(t,e=>P(e,n))}function F(e,t){return typeof e==`string`?t(e):Array.isArray(e)?e.map(e=>F(e,t)):e&&typeof e==`object`?Object.fromEntries(Object.entries(e).map(([e,n])=>[e,F(n,t)])):e}function I(e,t){return F(e,e=>{let n=j(e,t),r=t.known.get(n);return r?{[C]:r}:n})}async function L(t,n){if(e(t)){let e=await x(t.$json,n.canaries),r=JSON.stringify(I(e,n)),i=await l(r);return n.content[i]=r,{...N(t,`$json`),[w]:i}}return await R(t,e=>L(e,n))}async function R(e,t){if(Array.isArray(e))return await Promise.all(e.map(t));if(e&&typeof e==`object`){let n=await Promise.all(Object.entries(e).map(async([e,n])=>[e,await t(n)]));return Object.fromEntries(n)}return e}async function z(e,t){let n=await Promise.all(Object.entries(e).map(async([e,n])=>[e,await t(n)]));return Object.fromEntries(n)}async function B(e,t){let n=await Promise.all(e.events.map(async e=>({...e,attributes:await z(e.attributes,t)})));return{...e,attributes:await z(e.attributes,t),events:n}}function V(e,t){return t.usage?e:Object.fromEntries(Object.entries(e).filter(([e])=>!T.some(t=>e.startsWith(t))))}function H(e){return e.map(e=>{if(!e||typeof e!=`object`||Array.isArray(e))return e;let{[O]:t,...n}=e;return n})}function U(e,t){let n=E[e.name];if(n&&!t[n])return;if(e.name===`theorem.grounding`&&!t.evidenceRaw){let{[D]:t,...n}=e.attributes;return{...e,attributes:n}}let{hits:r}=e.attributes;return e.name===`theorem.guardrail`&&!t.guardrailMatchPreview&&Array.isArray(r)?{...e,attributes:{...e.attributes,hits:H(r)}}:e}function W(e,t){return{...e,attributes:V(e.attributes,t),events:e.events.flatMap(e=>U(e,t)??[])}}function G(e){return Object.entries(e).flatMap(([e,t])=>t?[e]:[])}async function K(e){let{policy:t}=e,n={scrub:t.scrub,detect:t.detect,canaries:A(t.scrub.canary,`theorem`)?e.canaries??[]:[],content:{},known:new Map},r=e.spans.map(e=>W(e,t.include)),[i]=r;i&&(i.attributes={...i.attributes,"theorem.record.include":G(t.include),"theorem.record.scrub":G(t.scrub)});let a=await Promise.all(r.map(e=>B(e,e=>P(e,n)))),o=await Promise.all(a.map(e=>B(e,e=>L(e,n))));return{v:3,schemaUrl:S,resource:{...t.resource},...e.metadata?{metadata:e.metadata}:{},spans:o,content:n.content}}function q(e,t){if(Array.isArray(t))return t.map(t=>q(e,t));if(!t||typeof t!=`object`)return t;let n=Object.fromEntries(Object.entries(t).map(([t,n])=>[t,q(e,n)])),{[C]:r,[w]:i,...a}=n,o=typeof r==`string`?e.content[r]:void 0;if(o!==void 0)return Object.keys(a).length===0?o:{...a,content:o};let s=typeof i==`string`?e.content[i]:void 0;if(s===void 0)return n;let c=q(e,JSON.parse(s));return Object.keys(a).length===0?c:c&&typeof c==`object`&&!Array.isArray(c)?{...c,...a}:n}export{q as n,K as t};
@@ -1,3 +1,3 @@
1
- import{$n as e,C as t,M as n,Wt as r,_r as i,cn as a,cr as o,h as ee,ir as s,j as c,mr as l,n as u,p as d,pn as te,qn as ne,sr as re,t as ie,y as f,z as ae,zt as p}from"./tool-schema-BF2BK9h8.js";import{En as m,Sn as h,qt as g,rn as oe,tn as se}from"./shaped-data-BO_JTcQq.js";import{a as ce,r as _}from"./live-ingress-DsA4_80F.js";var le=[{id:`identity`,profilePath:`identity`,role:`root`,optional:!1,editor:`structural`,label:`Identity`,ownsFields:[`profile.id`,`profile.type`]},{id:`models`,profilePath:`models`,role:`spine`,optional:!1,editor:`structural`,label:`Models`,ownsFields:[`profile.defaultModel`,`profile.allowModelSelect`,`profile.maxSteps`,`providerContinuation`]},{id:`modelBinding`,profilePath:`models.*`,role:`branch`,parent:`models`,optional:!1,editor:`structural`,label:`Model binding`},{id:`decision`,profilePath:`decision`,role:`spine`,optional:!1,editor:`structural`,label:`Decision`,ownsFields:[`inputs`]},{id:`image`,profilePath:`image`,role:`spine`,optional:!1,editor:`structural`,label:`Image`},{id:`speech`,profilePath:`speech`,role:`spine`,optional:!1,editor:`structural`,label:`Speech`},{id:`live`,profilePath:`live`,role:`spine`,optional:!1,editor:`structural`,label:`Live`},{id:`tools`,profilePath:`tools`,role:`spine`,optional:!1,editor:`structural`,label:`Tools`},{id:`toolSpec`,profilePath:`tools.allow`,role:`branch`,parent:`tools`,optional:!0,editor:`structural`,label:`Tool`},{id:`inputs`,profilePath:`inputs`,role:`spine`,optional:!1,editor:`structural`,label:`Inputs`},{id:`outputs`,profilePath:`outputs`,role:`spine`,optional:!0,editor:`structural`,label:`Outputs`},{id:`turnBehaviour`,profilePath:`turnBehaviour`,role:`spine`,optional:!0,editor:`structural`,label:`Turn behaviour`},{id:`guardrails`,profilePath:`guardrails`,role:`spine`,optional:!0,editor:`structural`,label:`Guardrails`},{id:`observability`,profilePath:`observability`,role:`spine`,optional:!0,editor:`structural`,label:`Observability`},{id:`labels`,profilePath:`labels`,role:`spine`,optional:!0,editor:`structural`,label:`Labels`}],ue={identity:l,inputs:i(`inputs`).filter(e=>e!==`decision`)},v=le.map(e=>({...e,profileTypes:ue[e.id]??i(e.profilePath)}));function de(e){return v.find(t=>t.id===e)}function fe(e){return e.modelBindings.length>1}function pe(e){return e.modelBindings.some(t=>t.provider!==`local`&&!n(e.providers,t).keySlot)}function me(e,t){let r={provider:t.provider,keySlot:t.keySlot||e.models.key,fallbackKeySlot:t.fallbackKeySlot||e.models.fallbackKey},i=n(e.providers,r);return{...i,given:{keySlot:!!i.keySlot&&!r.keySlot,fallbackKeySlot:!!i.fallbackKeySlot&&!r.fallbackKeySlot}}}function he(e){let t=e.efforts.map(({alias:e})=>e.trim()).filter(Boolean);return new Set(t).size>1}function ge(e){return e.attachmentsAccept.length>0||e.voiceAccept.length>0}var y=e,b={compactMaxTokens:32e3,compactAt:.75,compactKeep:4},x={"continue.instruction":`turnBehaviour`,"canary.bind_note":`guardrails`,"quota.exhausted":`guardrails`,"repair.default_guidance":`outputs`,"egress.default_repair_guidance":`guardrails`,"egress.refusal":`guardrails`};function S(e){return`${e}-${crypto.randomUUID().slice(0,8)}`}function C(e){return{key:S(`model`),modelId:`fast`,protocol:`openRouter`,provider:`openrouter`,apiId:``,options:{},timeoutMs:null,efforts:[],defaultEffort:``,allowEffortSelect:!1,summaries:null,maxOutputTokens:null,temperature:null,builtInTools:[],...e}}var w=`Studio stub tool — returns a fixed result.`;function T(e){return{key:S(`tool`),toolName:`my_tool`,toolType:`function`,description:w,category:`studio`,access:s[0],permission:o[0],loadTier:re[0],paths:[`*`],inputJson:ie,outputJson:u,...e}}function E(e,t,n){return(!e.description.trim()||e.description===w)&&n?{agentKey:t,description:`Asks ${n} and returns its answer.`}:{agentKey:t}}function D(){return{name:``,kind:`words`,pattern:``,flags:``,words:[]}}function O(){return{key:``,label:``,at:m(h,()=>`ignore`),patterns:[D()],hint:``}}function k(){let e=te(void 0);return{canaryBindNote:``,detect:m(g,t=>({...e.detect[t]})),sources:Object.fromEntries(se.map(e=>[e,{theorem:!0,patterns:[],hint:``}])),own:[],quotaEnabled:!1,quotaPerDay:null,quotaMessage:``,allow:{ungiven_images:{hosts:[],fromTools:!0},ungiven_links:{hosts:[],fromTools:!0}},innocentNames:[],blockedReplyOnBlock:``,blockedReplyMaxRetries:null,egressRepairGuidance:``,egressRefusal:``,allowPrivateNetworks:!1,allowedHosts:[],allowedSchemes:[],taintAfterRemoteRead:``,taintRemoteDestination:``}}function A(){let e=ce({});return{writeTo:d,destination:d,sampleRate:e.sampleRate,include:{...e.include},scrub:{sensitive:!!e.scrub.sensitive,injection:!!e.scrub.injection,canary:!!e.scrub.canary},retainForDays:null,rotateAfterMiB:null,resourceJson:``}}function j(e){return e.map(([e,t])=>({key:S(`criterion`),label:e,text:t}))}function M(){return{contract:`guardrails.tool_call.v1`,maxStateBytes:null,questions:[{key:S(`question`),id:`verdict`,type:`choice`,instructions:`Given what the user asked for and what the call would do, should it run?`,criteria:j([[`allow`,`Safe, and what the user asked for.`],[`flag`,`Probably fine, but unusual or sensitive enough for a person to look first.`],[`block`,`Harmful, or clearly beyond what the user asked for.`]])},{key:S(`question`),id:`risk`,type:`score`,instructions:`How much harm would this call do if it were wrong?`,criteria:j([[``,`Low: reversible, and affects only the user.`],[``,`High: hard to undo, or affects other people or money.`]])}],images:[]}}var N=JSON.stringify({context:`The user asked the agent to tidy up old screenshots on their desktop.`,tool_call:{name:`delete_files`,path:`~/Documents`,recursive:!0},outcome:`Would delete 1,284 files, including tax_return_2025.pdf.`},null,2),P=JSON.stringify(`The user asked to tidy screenshots. The proposed call recursively deletes 1,284 files, including a tax return.`),F=`To clear your desktop, select the screenshots and move them to the Trash. Empty the Trash to delete them for good.(Screen captures save to the desktop by default. You can change where they go in the Screenshot app's Options menu.(Press Command-Shift-5 to record the screen or capture a window. Recordings are saved as movie files next to your screenshots.(Stacks group desktop files by kind, date or tag, so a cluttered desktop folds into a few piles you can open one at a time.(Deleted files stay in the Trash for 30 days. Drag a file out of the Trash to put it back where it was.(When your disk is almost full, open Storage settings and review the largest files. Old downloads and installers are safe to remove.(Offloading unused apps frees space and keeps their documents. Reinstalling an app brings its data back.(Photos you have backed up can be optimised so the originals live in the cloud and smaller copies stay on the device.(Your plan renews on the same date each month. You can see the next charge under Billing, then Upcoming invoices.(To get a refund, open the invoice and choose Request refund. Charges from the last 14 days are refunded in full.(Update your card under Billing, then Payment methods. The new card is used for the next renewal, not for past invoices.(Annual plans cost two months less than paying monthly. Switching mid-term credits the unused months to the new plan.(Invoices are emailed as PDFs and list your company name and tax number. Edit those details before the invoice is issued.(Turn on two-step verification under Security. You will be asked for a code from your authenticator app each time you sign in on a new device.(If you forget your password, choose Forgot password on the sign-in page. The reset link expires after one hour.(Review signed-in devices under Security and sign out any you don't recognise. This ends their sessions immediately.(Passkeys replace your password with your fingerprint or face. Create one under Security, then Passkeys.(To close your account, export your data first. Closing deletes your workspace after a 30-day grace period.(Share a folder by choosing Share, then entering an email address. Viewers can read; editors can change and delete.(Public links work for anyone who has them. Set an expiry date, or turn the link off to stop sharing at once.(Transfer ownership of a folder before you leave a team, or its contents will be archived with your account.(Lisbon has mild, wet winters and warm, dry summers. Expect highs near 28 °C in August.(The best months for the Algarve coast are May, June and September, when the beaches are warm and the crowds are thin.(Trams in Lisbon climb the steep hills of Alfama and Graça. Line 28 is the famous one, and the busiest.(For a crisp pizza base, preheat the oven and the baking tray together at the highest setting for at least thirty minutes.(Rest steak for five minutes after cooking so the juices settle back into the meat instead of running onto the board.`.split(`(`).join(`
1
+ import{$n as e,C as t,M as n,Wt as r,_r as i,cn as a,cr as o,h as ee,ir as s,j as c,mr as l,n as u,p as d,pn as te,qn as ne,sr as re,t as ie,y as f,z as ae,zt as p}from"./tool-schema-idaOe2nI.js";import{En as m,Sn as h,qt as g,rn as oe,tn as se}from"./shaped-data-BcarWqd5.js";import{a as ce,r as _}from"./live-ingress-lDUGPwth.js";var le=[{id:`identity`,profilePath:`identity`,role:`root`,optional:!1,editor:`structural`,label:`Identity`,ownsFields:[`profile.id`,`profile.type`]},{id:`models`,profilePath:`models`,role:`spine`,optional:!1,editor:`structural`,label:`Models`,ownsFields:[`profile.defaultModel`,`profile.allowModelSelect`,`profile.maxSteps`,`providerContinuation`]},{id:`modelBinding`,profilePath:`models.*`,role:`branch`,parent:`models`,optional:!1,editor:`structural`,label:`Model binding`},{id:`decision`,profilePath:`decision`,role:`spine`,optional:!1,editor:`structural`,label:`Decision`,ownsFields:[`inputs`]},{id:`image`,profilePath:`image`,role:`spine`,optional:!1,editor:`structural`,label:`Image`},{id:`speech`,profilePath:`speech`,role:`spine`,optional:!1,editor:`structural`,label:`Speech`},{id:`live`,profilePath:`live`,role:`spine`,optional:!1,editor:`structural`,label:`Live`},{id:`tools`,profilePath:`tools`,role:`spine`,optional:!1,editor:`structural`,label:`Tools`},{id:`toolSpec`,profilePath:`tools.allow`,role:`branch`,parent:`tools`,optional:!0,editor:`structural`,label:`Tool`},{id:`inputs`,profilePath:`inputs`,role:`spine`,optional:!1,editor:`structural`,label:`Inputs`},{id:`outputs`,profilePath:`outputs`,role:`spine`,optional:!0,editor:`structural`,label:`Outputs`},{id:`turnBehaviour`,profilePath:`turnBehaviour`,role:`spine`,optional:!0,editor:`structural`,label:`Turn behaviour`},{id:`guardrails`,profilePath:`guardrails`,role:`spine`,optional:!0,editor:`structural`,label:`Guardrails`},{id:`observability`,profilePath:`observability`,role:`spine`,optional:!0,editor:`structural`,label:`Observability`},{id:`labels`,profilePath:`labels`,role:`spine`,optional:!0,editor:`structural`,label:`Labels`}],ue={identity:l,inputs:i(`inputs`).filter(e=>e!==`decision`)},v=le.map(e=>({...e,profileTypes:ue[e.id]??i(e.profilePath)}));function de(e){return v.find(t=>t.id===e)}function fe(e){return e.modelBindings.length>1}function pe(e){return e.modelBindings.some(t=>t.provider!==`local`&&!n(e.providers,t).keySlot)}function me(e,t){let r={provider:t.provider,keySlot:t.keySlot||e.models.key,fallbackKeySlot:t.fallbackKeySlot||e.models.fallbackKey},i=n(e.providers,r);return{...i,given:{keySlot:!!i.keySlot&&!r.keySlot,fallbackKeySlot:!!i.fallbackKeySlot&&!r.fallbackKeySlot}}}function he(e){let t=e.efforts.map(({alias:e})=>e.trim()).filter(Boolean);return new Set(t).size>1}function ge(e){return e.attachmentsAccept.length>0||e.voiceAccept.length>0}var y=e,b={compactMaxTokens:32e3,compactAt:.75,compactKeep:4},x={"continue.instruction":`turnBehaviour`,"canary.bind_note":`guardrails`,"quota.exhausted":`guardrails`,"repair.default_guidance":`outputs`,"egress.default_repair_guidance":`guardrails`,"egress.refusal":`guardrails`};function S(e){return`${e}-${crypto.randomUUID().slice(0,8)}`}function C(e){return{key:S(`model`),modelId:`fast`,protocol:`openRouter`,provider:`openrouter`,apiId:``,options:{},timeoutMs:null,efforts:[],defaultEffort:``,allowEffortSelect:!1,summaries:null,maxOutputTokens:null,temperature:null,builtInTools:[],...e}}var w=`Studio stub tool — returns a fixed result.`;function T(e){return{key:S(`tool`),toolName:`my_tool`,toolType:`function`,description:w,category:`studio`,access:s[0],permission:o[0],loadTier:re[0],paths:[`*`],inputJson:ie,outputJson:u,...e}}function E(e,t,n){return(!e.description.trim()||e.description===w)&&n?{agentKey:t,description:`Asks ${n} and returns its answer.`}:{agentKey:t}}function D(){return{name:``,kind:`words`,pattern:``,flags:``,words:[]}}function O(){return{key:``,label:``,at:m(h,()=>`ignore`),patterns:[D()],hint:``}}function k(){let e=te(void 0);return{canaryBindNote:``,detect:m(g,t=>({...e.detect[t]})),sources:Object.fromEntries(se.map(e=>[e,{theorem:!0,patterns:[],hint:``}])),own:[],quotaEnabled:!1,quotaPerDay:null,quotaMessage:``,allow:{ungiven_images:{hosts:[],fromTools:!0},ungiven_links:{hosts:[],fromTools:!0}},innocentNames:[],blockedReplyOnBlock:``,blockedReplyMaxRetries:null,egressRepairGuidance:``,egressRefusal:``,allowPrivateNetworks:!1,allowedHosts:[],allowedSchemes:[],taintAfterRemoteRead:``,taintRemoteDestination:``}}function A(){let e=ce({});return{writeTo:d,destination:d,sampleRate:e.sampleRate,include:{...e.include},scrub:{sensitive:!!e.scrub.sensitive,injection:!!e.scrub.injection,canary:!!e.scrub.canary},retainForDays:null,rotateAfterMiB:null,resourceJson:``}}function j(e){return e.map(([e,t])=>({key:S(`criterion`),label:e,text:t}))}function M(){return{contract:`guardrails.tool_call.v1`,maxStateBytes:null,questions:[{key:S(`question`),id:`verdict`,type:`choice`,instructions:`Given what the user asked for and what the call would do, should it run?`,criteria:j([[`allow`,`Safe, and what the user asked for.`],[`flag`,`Probably fine, but unusual or sensitive enough for a person to look first.`],[`block`,`Harmful, or clearly beyond what the user asked for.`]])},{key:S(`question`),id:`risk`,type:`score`,instructions:`How much harm would this call do if it were wrong?`,criteria:j([[``,`Low: reversible, and affects only the user.`],[``,`High: hard to undo, or affects other people or money.`]])}],images:[]}}var N=JSON.stringify({context:`The user asked the agent to tidy up old screenshots on their desktop.`,tool_call:{name:`delete_files`,path:`~/Documents`,recursive:!0},outcome:`Would delete 1,284 files, including tax_return_2025.pdf.`},null,2),P=JSON.stringify(`The user asked to tidy screenshots. The proposed call recursively deletes 1,284 files, including a tax return.`),F=`To clear your desktop, select the screenshots and move them to the Trash. Empty the Trash to delete them for good.(Screen captures save to the desktop by default. You can change where they go in the Screenshot app's Options menu.(Press Command-Shift-5 to record the screen or capture a window. Recordings are saved as movie files next to your screenshots.(Stacks group desktop files by kind, date or tag, so a cluttered desktop folds into a few piles you can open one at a time.(Deleted files stay in the Trash for 30 days. Drag a file out of the Trash to put it back where it was.(When your disk is almost full, open Storage settings and review the largest files. Old downloads and installers are safe to remove.(Offloading unused apps frees space and keeps their documents. Reinstalling an app brings its data back.(Photos you have backed up can be optimised so the originals live in the cloud and smaller copies stay on the device.(Your plan renews on the same date each month. You can see the next charge under Billing, then Upcoming invoices.(To get a refund, open the invoice and choose Request refund. Charges from the last 14 days are refunded in full.(Update your card under Billing, then Payment methods. The new card is used for the next renewal, not for past invoices.(Annual plans cost two months less than paying monthly. Switching mid-term credits the unused months to the new plan.(Invoices are emailed as PDFs and list your company name and tax number. Edit those details before the invoice is issued.(Turn on two-step verification under Security. You will be asked for a code from your authenticator app each time you sign in on a new device.(If you forget your password, choose Forgot password on the sign-in page. The reset link expires after one hour.(Review signed-in devices under Security and sign out any you don't recognise. This ends their sessions immediately.(Passkeys replace your password with your fingerprint or face. Create one under Security, then Passkeys.(To close your account, export your data first. Closing deletes your workspace after a 30-day grace period.(Share a folder by choosing Share, then entering an email address. Viewers can read; editors can change and delete.(Public links work for anyone who has them. Set an expiry date, or turn the link off to stop sharing at once.(Transfer ownership of a folder before you leave a team, or its contents will be archived with your account.(Lisbon has mild, wet winters and warm, dry summers. Expect highs near 28 °C in August.(The best months for the Algarve coast are May, June and September, when the beaches are warm and the crowds are thin.(Trams in Lisbon climb the steep hills of Alfama and Graça. Line 28 is the famous one, and the busiest.(For a crisp pizza base, preheat the oven and the baking tray together at the highest setting for at least thirty minutes.(Rest steak for five minutes after cooking so the juices settle back into the meat instead of running onto the board.`.split(`(`).join(`
2
2
 
3
3
  `),I=`How do I delete every screenshot on my desktop?`;function L(e,t=`choice`){let n=K(`question`,e.decision.questions.map(e=>e.id),e=>`question_${e}`);return{key:S(`question`),id:n,type:t,instructions:``,criteria:z(t)}}function R(e,t,n){let r=t.replace(/\.[^.]*$/,``).toLowerCase().replace(/[^a-z0-9]+/g,`_`).replace(/^_|_$/g,``)||`image`,i=K(r,e.decision.images.map(e=>e.name),e=>`${r}_${e}`);return{key:S(`image`),name:i,...n}}function z(e){return e===`noul`||e===`box`?[]:j(e===`choice`?[[`yes`,``],[`no`,``]]:[[``,``],[``,``]])}function _e(){return{identity:{agentId:``,profileType:``,handle:``,system:``,systemByRoleJson:``},included:[`observability`,`labels`],models:{defaultModel:``,allowModelSelect:!1,maxSteps:null,key:``},modelBindings:[],providers:[...t],tools:{t2Loader:``,parallel:!1},toolSpecs:[],inputs:{text:!0,attachmentsAccept:[],voiceAccept:[],maxFiles:null,maxBytes:null,maxTurnBytes:null,limitsByMimeJson:``,slotsJson:``,contextFrom:[],contextMaxChars:null},outputs:{mode:`text`,schemaId:``,schemaJson:``,streamMode:``,streamThoughts:!0,validationEnabled:!1,maxRetries:null,itemRules:{},repairGuidance:``},turnBehaviour:{resumeEnabled:!1,allowContinue:[],autoContinue:[],maxContinues:null,continueInstruction:``,allowSteering:r({type:`text`}),atStepLimit:`stop`},guardrails:k(),observability:A(),image:{aspectRatio:``,resolution:``,mimeType:``,quality:``,background:``,n:null,seed:null,outputCompression:null,includeText:!1,references:[]},speech:{voice:``,style:``,speed:null,format:``},live:{ingressAudio:_(`audio`),ingressVideo:_(`video`),ingressText:_(`text`),voice:``,sessionResumption:!1,greeting:``,resumedPrompt:``,resumedAfterMs:null,contextCompression:!1,compressionTriggerTokens:null,compressionTargetTokens:null,transcriptionInput:!1,transcriptionOutput:!1,vadActivityHandling:``,vadStartSensitivity:``,vadEndSensitivity:``,vadPrefixPaddingMs:null,vadSilenceDurationMs:null},decision:M(),labels:{}}}var ve=new Set([`guardrails`]);function B(e,t){return e.profileTypes.includes(t)&&!(t===`decision`&&ve.has(e.id))}function V(e){let t=e.identity.profileType;if(!t)return[`identity`];let n=new Set(e.included);return v.filter(e=>e.role!==`branch`&&B(e,t)&&(!e.optional||n.has(e.id))).map(e=>e.id)}function H(e,t){let n=e.identity.profileType;return n!==``&&i(t).includes(n)}function ye(e){return H(e,`identity.system`)&&oe(e.guardrails.detect,`canary_leak`)}function be(e){let t=e.identity.profileType;return t!==``&&p.includes(t)}function U(e){let t=e.identity.profileType;return t?v.filter(n=>n.role===`spine`&&n.optional&&B(n,t)&&!e.included.includes(n.id)).map(e=>e.id):[]}function xe(e){return{...e,attachmentsAccept:e.attachmentsAccept.filter(e=>a(ne,e)),voiceAccept:[]}}function Se(e,t,n){let r=e.modelBindings.find(e=>e.key===t);return r?{...e,models:n.modelId!==void 0&&e.models.defaultModel===r.modelId?{...e.models,defaultModel:n.modelId}:e.models,modelBindings:e.modelBindings.map(e=>e.key===t?{...e,...n}:e)}:e}function W(e,t){if(t.some(t=>t.modelId===e))return e;let[n,...r]=t;return n&&!r.length?n.modelId:``}function Ce(e,t){if(!e.modelBindings.find(e=>e.key===t))return e;let n=e.modelBindings.filter(e=>e.key!==t);return{...e,models:{...e.models,defaultModel:W(e.models.defaultModel,n)},modelBindings:n}}function G(e,t){let n=e.identity.profileType,r=n&&n!==`host`?n:`text`,i=e.modelBindings.map(e=>e.modelId),a=f(r,t),o=K(a.modelId,i,e=>`${a.modelId}${e}`);return C({...a,modelId:o})}function we(e){return T({toolName:K(`my_tool`,e.toolSpecs.map(e=>e.toolName),e=>`my_tool_${e}`)})}function K(e,t,n){let r=new Set(t),i=e;for(let e=2;r.has(i);e++)i=n(e);return i}function Te(e,t,n){if(t===`host`)return{...e,identity:{...e.identity,profileType:t}};let r=e.modelBindings.filter(r=>{let i=c(e.providers,t,r),a=e.providers.find(e=>e.id===r.provider);return ae(a,t,r.protocol)&&!Oe(n,t,i)}),i={...e,identity:{...e.identity,profileType:t},modelBindings:r},a=r.length?r:[G(i,n?.start)],o=!e.models.key&&pe({...i,modelBindings:a}),s=t===`speech`&&!e.speech.voice.trim()&&a.some(n=>ee(c(e.providers,t,n)));return{...i,inputs:t===`image`?xe(e.inputs):e.inputs,...s?{speech:{...e.speech,voice:Ee}}:{},models:{...e.models,defaultModel:W(e.models.defaultModel,a),key:o?ke:e.models.key},modelBindings:a}}var Ee=`Kore`,De=[`text`,`image`,`speech`,`live`,`decision`];function Oe(e,t,n){if(!e)return!1;let r=t=>e.models(t,n.definition).some(e=>e.id===n.apiId.trim());return!r(t)&&De.some(e=>e!==t&&r(e))}var ke=`slot_a`;function Ae(e,t){return U(e).includes(t)?{...e,included:[...e.included,t]}:e}function je(e,t){return{...e,included:e.included.filter(e=>e!==t)}}function q(e){return`modelBinding:${e}`}var J=`toolSpec:`;function Y(e){return`${J}${e}`}function X(e){return e.startsWith(J)?e.slice(9):void 0}var Z=`provider:`;function Me(e){return`${Z}${e}`}function Ne(e){return e.startsWith(Z)?e.slice(9):void 0}var Pe=new Map(v.map(e=>[e.id,e.label]));function Q(e){return Pe.get(e)??e}function Fe(e,t){let[n,r]=t.split(`:`,2);if(n===`modelBinding`&&r!==void 0)return e.modelBindings.some(e=>e.key===r)?{facet:n,key:r}:void 0;let i=X(t);if(i!==void 0)return e.toolSpecs.some(e=>e.key===i)?{facet:`toolSpec`,key:i}:void 0;let a=V(e);if(r===void 0&&a.includes(t))return{facet:t}}function Ie(e,t){return t===`models`?e.modelBindings.map(e=>({id:q(e.key),ref:{facet:`modelBinding`,key:e.key},label:e.modelId.trim()||Q(`modelBinding`),children:[]})):t===`tools`?$(e.toolSpecs):[]}function $(e){return e.map(e=>({id:Y(e.key),ref:{facet:`toolSpec`,key:e.key},label:e.toolName.trim()||Q(`toolSpec`),children:[]}))}function Le(e){let t=V(e).filter(e=>e!==`identity`).map(t=>({id:t,ref:{facet:t},label:Q(t),children:Ie(e,t)}));return{id:`identity`,ref:{facet:`identity`},label:e.identity.agentId.trim()||Q(`identity`),children:t}}export{G as A,he as B,je as C,z as D,Ae as E,Ce as F,ge as H,Te as I,be as L,D as M,we as N,R as O,ye as P,Se as R,S,U as T,v as U,fe as V,de as W,_e as _,Le as a,H as b,$ as c,I as d,F as f,E as g,y as h,Fe as i,O as j,L as k,b as l,x as m,Ne as n,X as o,P as p,Me as r,Y as s,q as t,N as u,C as v,K as w,V as x,T as y,me as z};
@@ -1,2 +1,2 @@
1
- import{Lt as e,jn as t}from"./tool-schema-BF2BK9h8.js";import{c as n}from"./host-patterns-DCz9Cmrt.js";import{A as r,Mn as i,en as a}from"./shaped-data-BO_JTcQq.js";import{P as o,yt as s}from"./reader-CN15b9m8.js";import{r as c}from"./encode-files-Dq98bb-f.js";function l(e,t){let r=typeof t==`string`?t.trim():``;if(!r)throw new n(`request`,`A typed credential must be a non-empty string`);if(e===`bearer`)return{type:`bearer`,token:r};if(e===`api_key`)return{type:`api_key`,key:r};throw new n(`request`,`A '${e}' sign-in takes no typed credential; the host's callback saves it`)}function u(e,t){if(!e)throw new n(`request`,`a typed credential answers only a sign-in gate`);return{slot:e.slot,credential:l(e.authType,t)}}var d=18e5;function ee(e,t){let r=t??d;if(!Number.isFinite(r)||r<=0)throw new n(`config`,`${e} gateTtlMs must be a positive number of milliseconds; got ${r}.`);return r}function te(e,t,n){return t-e>=n}var f=[`approve`,`deny`,`abandon`];function p(e,t=!1){return e.decision===`approve`?{granted:!0,...e.edited?{edited:e.edited}:{},...t?{signIn:t}:{}}:{granted:!1,cause:e.decision===`deny`?`declined`:`abandoned`,...t?{signIn:t}:{}}}function m(e,t,n){return n!==`session_consent`||e.includes(t)?[...e]:[...e,t]}function h(e,t,r){let{callId:i,decision:a,input:o,secret:s,page:c}=e;if((o!==void 0||s!==void 0||c!==void 0)&&a!==`approve`)throw new n(`request`,`only an approval takes edited input, a secret, or a page answer (call ${i})`);if(a!==`approve`)return{resume:p({decision:a},t.auth!==void 0),input:t.arguments,sessionPermissions:[...r]};let l=s===void 0?void 0:u(t.auth,s);return{resume:{...p(o===void 0?{decision:a}:{decision:a,edited:{from:t.arguments}},t.auth!==void 0),...t.gateKind?{gateKind:t.gateKind}:{}},input:o??t.arguments,sessionPermissions:m(r,t.name,t.permission),...l?{typed:l}:{},...c?{page:c}:{}}}var ne={'"':`"`,"\\":`\\`,"/":`/`,b:`\b`,f:`\f`,n:`
1
+ import{Lt as e,jn as t}from"./tool-schema-idaOe2nI.js";import{c as n}from"./host-patterns-C9RMP16Q.js";import{A as r,Mn as i,en as a}from"./shaped-data-BcarWqd5.js";import{P as o,yt as s}from"./reader-BOCCYaRp.js";import{r as c}from"./encode-files-Bc3HJyAh.js";function l(e,t){let r=typeof t==`string`?t.trim():``;if(!r)throw new n(`request`,`A typed credential must be a non-empty string`);if(e===`bearer`)return{type:`bearer`,token:r};if(e===`api_key`)return{type:`api_key`,key:r};throw new n(`request`,`A '${e}' sign-in takes no typed credential; the host's callback saves it`)}function u(e,t){if(!e)throw new n(`request`,`a typed credential answers only a sign-in gate`);return{slot:e.slot,credential:l(e.authType,t)}}var d=18e5;function ee(e,t){let r=t??d;if(!Number.isFinite(r)||r<=0)throw new n(`config`,`${e} gateTtlMs must be a positive number of milliseconds; got ${r}.`);return r}function te(e,t,n){return t-e>=n}var f=[`approve`,`deny`,`abandon`];function p(e,t=!1){return e.decision===`approve`?{granted:!0,...e.edited?{edited:e.edited}:{},...t?{signIn:t}:{}}:{granted:!1,cause:e.decision===`deny`?`declined`:`abandoned`,...t?{signIn:t}:{}}}function m(e,t,n){return n!==`session_consent`||e.includes(t)?[...e]:[...e,t]}function h(e,t,r){let{callId:i,decision:a,input:o,secret:s,page:c}=e;if((o!==void 0||s!==void 0||c!==void 0)&&a!==`approve`)throw new n(`request`,`only an approval takes edited input, a secret, or a page answer (call ${i})`);if(a!==`approve`)return{resume:p({decision:a},t.auth!==void 0),input:t.arguments,sessionPermissions:[...r]};let l=s===void 0?void 0:u(t.auth,s);return{resume:{...p(o===void 0?{decision:a}:{decision:a,edited:{from:t.arguments}},t.auth!==void 0),...t.gateKind?{gateKind:t.gateKind}:{}},input:o??t.arguments,sessionPermissions:m(r,t.name,t.permission),...l?{typed:l}:{},...c?{page:c}:{}}}var ne={'"':`"`,"\\":`\\`,"/":`/`,b:`\b`,f:`\f`,n:`
2
2
  `,r:`\r`,t:` `};function g(e,t){let n=``,r=t+1;for(;r<e.length;){let t=e.charAt(r);if(t===`"`)return{text:n,end:r+1};if(t!==`\\`){n+=t,r++;continue}if(r+1>=e.length)break;let i=e.charAt(r+1);if(i===`u`){let t=e.slice(r+2,r+6);if(t.length<4)break;if(/^[0-9a-fA-F]{4}$/.test(t)){n+=String.fromCharCode(Number.parseInt(t,16)),r+=6;continue}}n+=ne[i]??i,r+=2}return{text:n}}function _(e,t){let n=t;for(;/\s/.test(e.charAt(n));)n++;return n}function v(e,t){if(e.charAt(t)===`"`){let n=g(e,t);return n.end===void 0?void 0:y(e,t,n.end)}let n=0;for(let r=t;r<e.length;r++){let i=e.charAt(r);if(i===`"`){let t=g(e,r).end;if(t===void 0)return;r=t-1}else if(i===`{`||i===`[`)n++;else if(i===`}`||i===`]`){if(n===0)return y(e,t,r);if(n--,n===0)return y(e,t,r+1)}else if(i===`,`&&n===0)return y(e,t,r)}}function y(e,t,n){try{return{value:JSON.parse(e.slice(t,n)),end:n}}catch{return}}function b(e){let t={},n=_(e,0);if(e.charAt(n)!==`{`)return t;for(n++;;){if(n=_(e,n),e.charAt(n)===`,`&&(n=_(e,n+1)),e.charAt(n)!==`"`)return t;let r=g(e,n);if(r.end===void 0||(n=_(e,r.end),e.charAt(n)!==`:`)||(n=_(e,n+1),n>=e.length))return t;let i=v(e,n);if(!i)return e.charAt(n)===`"`&&(t[r.text]=g(e,n).text),t;t[r.text]=i.value,n=i.end}}function x(e,t){if(t.phase===void 0)return{name:t.name,callId:t.callId,...t.operationId?{operationId:t.operationId}:{},arguments:t.arguments,...t.reasoning?{reasoning:t.reasoning}:{},...t.stepId?{stepId:t.stepId}:{},artifacts:[]};if(e===void 0)throw new n(`bad_response`,`Tool event '${t.phase}' for call '${t.callId}' arrived before the call.`);if(e.callId!==t.callId||e.name!==t.name)throw new n(`bad_response`,i(`error.bad_response`));switch(t.phase){case`running`:{let{endedAt:n,outputDraft:r,...i}=e;return{...i,state:t,startedAt:t.at,...t.edited?{edited:t.edited}:{},...t.activity?{activity:t.activity}:{}}}case`complete`:return{...S(e),state:t,endedAt:t.at,...t.activityPast?{activityPast:t.activityPast}:{}};case`error`:return{...S(e),state:t,endedAt:t.at,...t.activityPast?{activityPast:t.activityPast}:{}};case`cancel`:case`gate`:return{...S(e),state:t,endedAt:t.at};case`draft`:return{...e,outputDraft:(e.outputDraft??``)+t.text};case`artifact`:return{...e,artifacts:[...e.artifacts,t.artifact]};case`dispatch`:case`progress`:case`trace`:case`warning`:return e}}function S(e){let{outputDraft:t,...n}=e;return n}function C(e,t){return{arguments:{},artifacts:[],...e,name:t.name,callId:t.callId,draft:(e?.draft??``)+t.text}}function re(e){let t=new Map;for(let n of e){if(n.type===`tool_draft`){t.set(n.callId,C(t.get(n.callId),n));continue}if(n.type!==`tool`)continue;let{tool:e}=n,r=e.operationId??e.callId;e.phase===void 0&&t.get(e.callId)?.draft!==void 0&&t.delete(e.callId),t.set(r,x(t.get(r),e))}return[...t.values()]}function ie(e){return(e.state?.phase===`gate`?e.state.gate.preparedArguments:void 0)??e.edited?.to??e.arguments}function ae(e,t){return e.type!==`tool`||e.tool.callId!==t?!1:e.tool.phase===`complete`||e.tool.phase===`error`}var oe={avif:`image/avif`,gif:`image/gif`,heic:`image/heic`,heif:`image/heif`,jpeg:`image/jpeg`,jpg:`image/jpeg`,png:`image/png`,svg:`image/svg+xml`,webp:`image/webp`,mp4:`video/mp4`,webm:`video/webm`,mov:`video/quicktime`,ogv:`video/ogg`,mp3:`audio/mpeg`,m4a:`audio/mp4`,ogg:`audio/ogg`,wav:`audio/wav`};function se(e){let t=e.split(`/`).pop()??e,n=t.lastIndexOf(`.`);return n<=0||n===t.length-1?void 0:oe[t.slice(n+1).toLowerCase()]}function ce(e){let t=e.trim();if(t.length===0)return;let n;try{n=new URL(t)}catch{return}if(n.protocol!==`http:`&&n.protocol!==`https:`)return;let r=se(n.pathname);if(r)return{url:n.href,mimeType:r}}var le=/^(.*)\/thumb(\/.+\/([^/]+))\/(\d+)px-\3(?:\.[a-z0-9]+)?$/i;function ue(e){let t=new URL(e),n=t.hostname.split(`.`).slice(-2).join(`.`);for(let e of[...t.searchParams.keys()])e.startsWith(`utm_`)&&t.searchParams.delete(e);let r=le.exec(t.pathname);return{key:`${n}${r?`${r[1]}${r[2]}`:t.pathname}${t.search}`,width:r?Number(r[4]):1/0}}function de(e){let t=new Map,n=[],r=e=>{if(typeof e==`string`){let r=ce(e);if(!r)return;let i=ue(r.url),a=t.get(i.key);if(!a){t.set(i.key,{index:n.length,largest:i.width,smallest:i.width}),n.push(r);return}let o=n[a.index];i.width>a.largest?(a.largest=i.width,n[a.index]={...o,url:r.url,previewUrl:o.previewUrl??o.url}):i.width<a.smallest&&(a.smallest=i.width,n[a.index]={...o,previewUrl:r.url})}else if(Array.isArray(e))for(let t of e)r(t);else if(typeof e==`object`&&e)for(let t of Object.values(e))r(t)};return r(e),n}var w=0;function T(e){return e===`user`?`user-${globalThis.crypto.randomUUID()}`:(w+=1,`${e}-${String(w)}`)}function E(e,t){return e?.kind===t}function D(e,t,n,r){let i=e.at(-1);E(i,t)?i.text+=n:e.push({id:T(r),kind:t,text:n})}function O(e,t){let n=e.at(-1),r=n?.kind===`text`||n?.kind===`thought`;e.splice(r?e.length-1:e.length,0,t)}function k(e,t){return e.find(e=>e.kind===`tool`&&e.id===t)}function A(e,t){let n=`tool-${t.operationId??t.callId}`,r=k(e,n),i=x(r?.tool,t);if(r){r.tool=i;return}let a=t.phase===void 0?k(e,`tool-${t.callId}`):void 0;a?.tool.draft===void 0?e.push({id:n,kind:`tool`,tool:i}):(a.id=n,a.tool=i)}function j(e,t){let n=`tool-${t.callId}`,r=k(e,n),i=C(r?.tool,t);r?r.tool=i:e.push({id:n,kind:`tool`,tool:i})}function M(e){return e.findLast(e=>e.kind===`structured`&&e.draft!==void 0)}function N(e,t,n){let r=M(e),i=(r?.draft??``)+t;r?(r.draft=i,r.value=b(i)):e.push({id:T(n),kind:`structured`,value:b(i),draft:i})}function P(e,t,n){let r=M(e);r?(r.value=t,delete r.draft):e.push({id:T(n),kind:`structured`,value:t})}function F(e,t){return e.type===t.type?e.placeId&&t.placeId?e.placeId===t.placeId:e.uri===t.uri:!1}function I(e,t,n){let r=e.find(e=>e.kind===`citation`&&e.callId===t.callId),i=r?[...r.sources]:[];for(let e of t.sources)i.some(t=>F(t,e))||i.push(e);r?r.sources=i:e.push({id:T(n),kind:`citation`,sources:i,...t.callId===void 0?{}:{callId:t.callId}})}function L(e,t,n,r){if(t.phase===`complete`&&t.output!==void 0)for(let i of de(t.output))r.has(i.url)||(r.add(i.url),e.push({id:T(n),kind:`media`,mimeType:i.mimeType,url:i.url,...i.previewUrl?{previewUrl:i.previewUrl}:{}}))}function R(e,t=`user`){let n=[],r=e.text?.trim();r&&n.push({id:T(t),kind:`user-text`,text:r});for(let r of e.attachments??[])n.push({id:T(t),kind:`user-attachment`,name:r.name,mimeType:r.mimeType,sizeBytes:r.sizeBytes,...r.data===void 0?{}:{data:r.data}});for(let r of e.voice??[])n.push({id:T(t),kind:`user-voice`,name:r.name,mimeType:r.mimeType,sizeBytes:r.sizeBytes,...r.data===void 0?{}:{data:r.data}});return n}function z(e,n={}){let r=n.idPrefix??`turn`,i=n.showThoughts??!0;w=0;let a=[],o=new Set;for(let n of t(e))switch(n.type){case`thought`:i&&n.text&&D(a,`thought`,n.text,r);break;case`text`:n.text&&D(a,`text`,n.text,r);break;case`tool_draft`:j(a,n);break;case`tool`:A(a,n.tool),L(a,n.tool,r,o);break;case`structured_draft`:N(a,n.text,r);break;case`structured`:P(a,n.structured,r);break;case`media`:n.media&&a.push({id:T(r),kind:`media`,mimeType:n.media.mimeType,data:n.media.data});break;case`grounding`:a.push({id:T(r),kind:`grounding`,grounding:n.grounding});break;case`citation`:I(a,n,r);break;case`evidence`:a.push({id:T(r),kind:`evidence`,evidence:n.evidence});break;case`guardrail`:O(a,{id:T(r),kind:`guardrail`,guardrail:n.guardrail});break;case`error`:n.error&&a.push({id:T(r),kind:`error`,message:n.error});break;case`done`:a.push({id:T(r),kind:`turn-done`,stop:n.stop,tokens:n.tokens,interactionId:n.interactionId,compaction:n.compaction!==void 0})}return a}function B(e){if(!e)return a;let{detect:t,patterns:n}=e;if(!n)return t;let r=Object.fromEntries(Object.entries(n).map(([e,{theorem:t}])=>[e,{theorem:t,matchers:[]}]));return{...t,sources:r}}function V(e,t){if(e.text===void 0)return e;let n=r(e.text,`user`,B(t));return{...e,text:n.text??e.text}}function H(e,t,n){let r=o(e,t);if(!r.ok)return{ok:!1,issues:r.issues};let i=V(t,n);return{ok:!0,draft:i,blocks:R(i)}}function U(e,t){if(t)return e.models[t]}function W(e){return!!(e.allowModelSelect&&Object.keys(e.models).length>=2)}function G(e,t){let n=U(e,t);return n?.allowEffortSelect?Object.keys(n.efforts??{}).length>=2:!1}function K(e,t){let n=U(e,t);if(!n?.efforts)return;let r=n.defaultEffort?.trim();return r&&n.efforts[r]?r:Object.keys(n.efforts)[0]}function fe(e){return W(e)?Object.entries(e.models).map(([e,t])=>({id:e,label:t.apiId})):[]}function pe(e,t){if(!G(e,t))return[];let n=U(e,t);return n?.efforts?Object.entries(n.efforts).map(([e,t])=>({alias:e,level:t})):[]}function me(e){let t=new Set;for(let n of e)if(n.type===`tool`&&n.tool.phase===`complete`)for(let e of s(n.tool.output)??[])t.add(e);return[...t]}function he(t){let n=e(t,e=>e.type===`done`&&e.tools!==void 0);return n?.type===`done`?n.tools:void 0}function q(e){return e?.streaming?.streamThoughts!==!1}function J(e){return e.defaultModel??Object.keys(e.models)[0]}function ge(e,t,n){let r=t.model!==void 0&&Object.hasOwn(e.models,t.model)&&(n===void 0||t.model!==J(n))?t.model:J(e),i=r===void 0?void 0:e.models[r]?.efforts;return{model:r,effort:r===t.model&&t.effort!==void 0&&i!==void 0&&Object.hasOwn(i,t.effort)&&(n===void 0||t.effort!==K(n,r))?t.effort:K(e,r)}}function Y(e){if(!e.operationId)throw new n(`request`,i(`session.gate_expired`));return e.operationId}function _e(e,t){return t.selectedModel??J(e)}function ve(e,t,n){if(!n||!Object.hasOwn(e.models,n))return;let r=e.models[n];if(r.allowEffortSelect)return t.selectedEffort??r.defaultEffort}function X(e,t){let n=_e(e,t),r=e.allowModelSelect?n:void 0,i=ve(e,t,n);return{...r?{model:r}:{},...i?{effort:i}:{}}}function Z(e,t,n){return{name:n.name,input:n.input,...n.gateKind?{gateKind:n.gateKind}:{},sessionPermissions:n.sessionPermissions??t.sessionPermissions,...t.toolSnapshot?{snapshot:t.toolSnapshot}:{},...t.promotedToolIds.length?{promoted:[...t.promotedToolIds]}:{},...X(e,t)}}function Q(e){return{...e.conversation?{conversation:e.conversation}:{},...e.turnId?{turnId:e.turnId}:{}}}function ye(e,t,n,r={}){let i=(r.walkAway?.calls??[]).map(e=>({callId:e.callId,operationId:Y(e)}));return{...Q(r),...X(e,t),input:n,...i.length?{abandon:i}:{},replay:{sessionPermissions:t.sessionPermissions}}}function be(e,t,n,r={}){return{...Q(r),gateId:n.gateId,operationId:n.operationId,decision:n.decision,...n.secret===void 0?{}:{secret:n.secret},...n.page===void 0?{}:{page:n.page},replay:Z(e,t,{...n,gateKind:n.gateKind??(t.gatedTool?.callId===n.gateId?t.gatedTool.gateKind:void 0)})}}function $(e,t){return H(e.inputs,t,e.guardrails)}function xe(e,t,n,r=[]){return $(e,{...t.trim()?{text:t}:{},...n.length?{attachments:c(n)}:{},...r.length?{voice:c(r)}:{}})}function Se(e,t){return z(t,{showThoughts:q(e.outputs)})}export{h as C,m as D,p as E,f as S,ee as T,z as _,xe as a,ie as b,q as c,K as d,G as f,H as g,W as h,Y as i,me as l,fe as m,ye as n,$ as o,pe as p,Se as r,ge as s,be as t,he as u,x as v,te as w,re as x,ae as y};
@@ -0,0 +1 @@
1
+ import{lr as e}from"./tool-schema-idaOe2nI.js";var t=e.filter(e=>e!==`builtin`),n=`Tool type must be ${t.join(`, `).replace(/, ([^,]+)$/,`, or $1`)}.`;export{n,t};
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{c as t,u as n}from"./themeProps-3IqahpCr.js";import{t as r}from"./VStack-CkVMcNiK.js";import{n as i}from"./StackItem-CQviqAfM.js";import{H as a,c as o,j as s,l as c}from"./browser-transport-Bn77Eq5d.js";import{t as l}from"./Icon-JrysT8aU.js";import{t as u}from"./IconButton-DlOGzJIX.js";import{t as d}from"./Text-bum6zWWx.js";import{n as f,o as p}from"./labels-provider-4TIWDvsE.js";import{n as m}from"./Card-Lp-0P5eL.js";import{t as h}from"./Tooltip-BH9xiRMl.js";import{n as g,t as _}from"./arrive-DvbqpeRS.js";import{d as v}from"./reader-CN15b9m8.js";import{_ as y,b,v as x,x as S}from"./studio-console-C1hyAfeb.js";import{c as C,i as w}from"./trace-patterns-DnYJa0nI.js";import{t as T}from"./CardWall-CBRLdDZW.js";var E=e(n(),1),D=t(),O=`var(--duration-medium) var(--ease-standard)`,k=12;function A(){let e=m();return(0,E.useMemo)(()=>({percent:new Intl.NumberFormat(e,{style:`percent`,maximumFractionDigits:0}),decimal:new Intl.NumberFormat(e,{maximumFractionDigits:2}),usd:new Intl.NumberFormat(e,{style:`currency`,currency:`USD`,maximumSignificantDigits:2})}),[e])}function j(e){return C(e?`clear`:`shade2`)}function M({value:e,isLead:t}){return(0,D.jsx)(`div`,{style:{height:k,width:`${String(Math.max(e,.01)*100)}%`,borderRadius:4,background:j(t),transition:`width ${O}`}})}function N({title:e,aside:t,detail:n,answer:a}){let o=f(),s=A(),c=Object.entries(a.probabilities).sort(([,e],[,t])=>t-e);return(0,D.jsx)(w,{title:e,aside:t,detail:n,value:a.choice,note:o(`@theorem.decision.confidence`,{percent:s.percent.format(a.confidence)}),children:(0,D.jsx)(r,{gap:2,role:`list`,children:c.map(([e,t])=>(0,D.jsxs)(r,{gap:1,role:`listitem`,"aria-label":o(`@theorem.decision.option`,{label:e,percent:s.percent.format(t)}),children:[(0,D.jsxs)(i,{gap:2,hAlign:`between`,"aria-hidden":!0,children:[(0,D.jsx)(d,{type:`supporting`,color:`secondary`,maxLines:1,children:e}),(0,D.jsx)(d,{type:`supporting`,hasTabularNumbers:!0,children:s.percent.format(t)})]}),(0,D.jsx)(M,{value:t,isLead:e===a.choice})]},e))})})}var P=56;function F(e){let t=e.split(/[:—–]\s/)[0]?.trim()??``;return t&&t.length<=32&&t!==e?t:e}function I({title:e,aside:t,detail:n,answer:i,labels:a}){let o=f(),s=A(),c=a.length,l=Math.min(c-1,Math.max(0,Math.round(i.score)));return(0,D.jsx)(w,{title:e,aside:t,detail:n,value:a[l]===void 0?s.decimal.format(i.score):F(a[l]),note:[o(`@theorem.decision.score_of`,{score:s.decimal.format(i.score),max:s.decimal.format(c-1)}),o(`@theorem.decision.confidence`,{percent:s.percent.format(i.confidence)})].join(` · `),children:(0,D.jsxs)(r,{gap:1,children:[(0,D.jsxs)(`div`,{"aria-hidden":!0,style:{position:`relative`,display:`flex`,alignItems:`flex-end`,gap:4,height:P},children:[a.map((e,t)=>(0,D.jsx)(`div`,{style:{flex:1,height:`${String(Math.max(.04,i.probabilities[String(t)]??0)*100)}%`,borderRadius:4,background:j(t===l),transition:`height ${O}`}},`${String(t)}:${e}`)),(0,D.jsx)(`div`,{style:{position:`absolute`,insetBlock:-4,left:`${String((i.score+.5)/c*100)}%`,width:0,borderInlineStart:`1.5px dashed var(--color-text-secondary)`,transition:`left ${O}`}})]}),(0,D.jsx)(`div`,{style:{display:`flex`,gap:4},children:a.map((e,t)=>(0,D.jsx)(`div`,{style:{flex:1,minWidth:0},title:e,children:(0,D.jsx)(d,{type:`supporting`,color:`secondary`,maxLines:1,children:F(e)})},`${String(t)}:${e}`))}),(0,D.jsx)(`span`,{style:{position:`absolute`,width:1,height:1,overflow:`hidden`,clipPath:`inset(50%)`},children:a.map((e,t)=>o(`@theorem.decision.option`,{label:e,percent:s.percent.format(i.probabilities[String(t)]??0)})).join(`; `)})]})})}function L({title:e,aside:t,detail:n,answer:r}){let i=A();return(0,D.jsx)(w,{title:e,aside:t,detail:n,value:i.decimal.format(r.noul)})}var R=72,z=168;function B(e){let[t,n]=(0,E.useState)(null);return(0,E.useEffect)(()=>{let t=new Image;t.onload=()=>{n({width:t.naturalWidth,height:t.naturalHeight})},t.src=e},[e]),t}function V(e,t){let n=e.style.color;e.style.color=`var(${t})`;let r=getComputedStyle(e).color;return e.style.color=n,r}function H({source:e,box:t,caption:n}){let r=f(),i=b(e),a=B(i),[s,l]=(0,E.useState)(null);if(!a)return null;let u=x(t),d=a.width*(t.right-t.left)/(a.height*(t.bottom-t.top)),p=r(`@theorem.decision.open_box`);return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(h,{content:p,children:(0,D.jsx)(c,{label:p,padding:0,onClick:e=>{let n={outline:V(e.currentTarget,`--color-accent`),shade:V(e.currentTarget,`--color-overlay`)};S(i,t,n).then(l)},children:(0,D.jsx)(`div`,{role:`img`,"aria-label":r(`@theorem.decision.box_in`),style:{position:`relative`,overflow:`hidden`,aspectRatio:String(d),height:z,maxWidth:`100%`,borderRadius:4},children:(0,D.jsx)(`img`,{src:i,alt:``,style:{position:`absolute`,width:`${String(u.width)}%`,height:`${String(u.height)}%`,left:`${String(u.left)}%`,top:`${String(u.top)}%`,maxWidth:`none`}})})})}),(0,D.jsx)(o,{isOpen:s!==null,onOpenChange:e=>{e||l(null)},media:{src:s??i,alt:r(`@theorem.decision.box_marked`),caption:n},hasZoom:!0})]})}function U({title:e,aside:t,detail:n,answer:r,field:i,asked:a}){let o=f(),s=a&&y(a.images,a.state,i),c=A(),{top:l,bottom:u,left:d,right:p}=r.box,m=o(`@theorem.decision.box_edges`,{left:c.percent.format(d),top:c.percent.format(l),right:c.percent.format(p),bottom:c.percent.format(u)});return(0,D.jsx)(w,{title:e,aside:t,detail:n,value:m,note:o(`@theorem.decision.confidence`,{percent:c.percent.format(r.confidence)}),children:s?(0,D.jsx)(H,{source:s,box:r.box,caption:`${e}: ${m}`}):(0,D.jsx)(`div`,{"aria-hidden":!0,style:{position:`relative`,height:R,borderRadius:4,border:`1px solid var(--color-border)`},children:(0,D.jsx)(`div`,{style:{position:`absolute`,insetInlineStart:`${String(d*100)}%`,insetBlockStart:`${String(l*100)}%`,width:`${String((p-d)*100)}%`,height:`${String((u-l)*100)}%`,borderRadius:2,background:j(!0),transition:`all ${O}`}})})})}function W({question:e,answer:t,asked:n,onQuestion:r,detail:i}){let o=f(),s=`${e.id} · ${o(`@theorem.decision.type.${e.type}`)}`;if(!t)return null;let c=o(`@theorem.decision.edit_question`,{question:e.id}),d={title:s,detail:i,aside:r?(0,D.jsx)(u,{label:c,tooltip:c,size:`sm`,variant:`ghost`,icon:(0,D.jsx)(l,{icon:a,size:`xsm`,color:`secondary`}),onClick:()=>{r(e.id)}}):void 0};return t.type===`choice`?(0,D.jsx)(N,{...d,answer:t}):t.type===`score`?(0,D.jsx)(I,{...d,answer:t,labels:e.labels}):t.type===`noul`?(0,D.jsx)(L,{...d,answer:t}):(0,D.jsx)(U,{...d,answer:t,field:e.field,asked:n})}function G({model:e,usage:t,elapsedMs:n,isStale:i,tokens:a,children:o}){let s=f(),c=A();return(0,D.jsx)(g,{children:(0,D.jsxs)(r,{gap:3,style:{opacity:i?.5:1,transition:`opacity ${O}`},"aria-busy":i,children:[o,(0,D.jsx)(_,{children:(0,D.jsx)(d,{type:`supporting`,color:`secondary`,hasTabularNumbers:!0,children:p(s,c.usd,{model:e,usage:t,elapsedMs:n,tokens:a})})})]},n??0)})}function K({iface:e,result:t,elapsedMs:n,isStale:r,asked:i,onQuestion:a,questionText:o}){let s=f();return(0,D.jsx)(G,{model:t.model,usage:t.usage,elapsedMs:n,isStale:r,tokens:e=>s(`@theorem.decision.tokens`,{count:e}),children:(0,D.jsx)(T,{minWidth:260,children:e.questions.map(e=>(0,D.jsx)(_,{children:(0,D.jsx)(W,{question:e,answer:t.answers[e.id],asked:i,onQuestion:a,detail:o?.[e.id]})},e.id))})})}var q={status:`idle`,result:null,elapsedMs:null,startedAt:null,failure:null};function J(e,t){for(let n of t??[])e.traces?.push(n)}function Y(e,t,n){let[r,i]=(0,E.useState)(q),a=(0,E.useRef)(null);(0,E.useEffect)(()=>()=>a.current?.abort(),[]);let o=(0,E.useCallback)(()=>{a.current?.abort(),a.current=null,i(e=>e.status===t?{...e,status:e.result?`done`:`idle`,startedAt:null}:e)},[t]),c=(0,E.useCallback)(async(...r)=>{a.current?.abort();let o=new AbortController;a.current=o,i(e=>({status:t,result:e.result,elapsedMs:e.elapsedMs,startedAt:Date.now(),failure:null}));let c=performance.now();try{let t=await n(e,o.signal,...r);if(o.signal.aborted)return;J(e,t.traces),i({status:`done`,result:t.result,elapsedMs:performance.now()-c,startedAt:null,failure:null})}catch(t){if(o.signal.aborted)return;J(e,v(t)),i(e=>({...e,status:`error`,startedAt:null,failure:s(t)}))}finally{a.current===o&&(a.current=null)}},[e,t,n]);return{...r,call:c,cancel:o}}export{A as a,K as i,G as n,M as r,Y as t};
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{c as t,u as n}from"./themeProps-3IqahpCr.js";import{t as r}from"./VStack-CkVMcNiK.js";import{n as i}from"./StackItem-CQviqAfM.js";import{H as a,c as o,j as s,l as c}from"./browser-transport-D-2jDYe7.js";import{t as l}from"./Icon-JrysT8aU.js";import{t as u}from"./IconButton-DlOGzJIX.js";import{t as d}from"./Text-bum6zWWx.js";import{n as f,o as p}from"./labels-provider-4TIWDvsE.js";import{n as m}from"./Card-Lp-0P5eL.js";import{t as h}from"./Tooltip-BH9xiRMl.js";import{n as g,t as _}from"./arrive-DvbqpeRS.js";import{d as v}from"./reader-BOCCYaRp.js";import{_ as y,b,v as x,x as S}from"./studio-console-DZwlEsvr.js";import{c as C,i as w}from"./trace-patterns-DnYJa0nI.js";import{t as T}from"./CardWall-CBRLdDZW.js";var E=e(n(),1),D=t(),O=`var(--duration-medium) var(--ease-standard)`,k=12;function A(){let e=m();return(0,E.useMemo)(()=>({percent:new Intl.NumberFormat(e,{style:`percent`,maximumFractionDigits:0}),decimal:new Intl.NumberFormat(e,{maximumFractionDigits:2}),usd:new Intl.NumberFormat(e,{style:`currency`,currency:`USD`,maximumSignificantDigits:2})}),[e])}function j(e){return C(e?`clear`:`shade2`)}function M({value:e,isLead:t}){return(0,D.jsx)(`div`,{style:{height:k,width:`${String(Math.max(e,.01)*100)}%`,borderRadius:4,background:j(t),transition:`width ${O}`}})}function N({title:e,aside:t,detail:n,answer:a}){let o=f(),s=A(),c=Object.entries(a.probabilities).sort(([,e],[,t])=>t-e);return(0,D.jsx)(w,{title:e,aside:t,detail:n,value:a.choice,note:o(`@theorem.decision.confidence`,{percent:s.percent.format(a.confidence)}),children:(0,D.jsx)(r,{gap:2,role:`list`,children:c.map(([e,t])=>(0,D.jsxs)(r,{gap:1,role:`listitem`,"aria-label":o(`@theorem.decision.option`,{label:e,percent:s.percent.format(t)}),children:[(0,D.jsxs)(i,{gap:2,hAlign:`between`,"aria-hidden":!0,children:[(0,D.jsx)(d,{type:`supporting`,color:`secondary`,maxLines:1,children:e}),(0,D.jsx)(d,{type:`supporting`,hasTabularNumbers:!0,children:s.percent.format(t)})]}),(0,D.jsx)(M,{value:t,isLead:e===a.choice})]},e))})})}var P=56;function F(e){let t=e.split(/[:—–]\s/)[0]?.trim()??``;return t&&t.length<=32&&t!==e?t:e}function I({title:e,aside:t,detail:n,answer:i,labels:a}){let o=f(),s=A(),c=a.length,l=Math.min(c-1,Math.max(0,Math.round(i.score)));return(0,D.jsx)(w,{title:e,aside:t,detail:n,value:a[l]===void 0?s.decimal.format(i.score):F(a[l]),note:[o(`@theorem.decision.score_of`,{score:s.decimal.format(i.score),max:s.decimal.format(c-1)}),o(`@theorem.decision.confidence`,{percent:s.percent.format(i.confidence)})].join(` · `),children:(0,D.jsxs)(r,{gap:1,children:[(0,D.jsxs)(`div`,{"aria-hidden":!0,style:{position:`relative`,display:`flex`,alignItems:`flex-end`,gap:4,height:P},children:[a.map((e,t)=>(0,D.jsx)(`div`,{style:{flex:1,height:`${String(Math.max(.04,i.probabilities[String(t)]??0)*100)}%`,borderRadius:4,background:j(t===l),transition:`height ${O}`}},`${String(t)}:${e}`)),(0,D.jsx)(`div`,{style:{position:`absolute`,insetBlock:-4,left:`${String((i.score+.5)/c*100)}%`,width:0,borderInlineStart:`1.5px dashed var(--color-text-secondary)`,transition:`left ${O}`}})]}),(0,D.jsx)(`div`,{style:{display:`flex`,gap:4},children:a.map((e,t)=>(0,D.jsx)(`div`,{style:{flex:1,minWidth:0},title:e,children:(0,D.jsx)(d,{type:`supporting`,color:`secondary`,maxLines:1,children:F(e)})},`${String(t)}:${e}`))}),(0,D.jsx)(`span`,{style:{position:`absolute`,width:1,height:1,overflow:`hidden`,clipPath:`inset(50%)`},children:a.map((e,t)=>o(`@theorem.decision.option`,{label:e,percent:s.percent.format(i.probabilities[String(t)]??0)})).join(`; `)})]})})}function L({title:e,aside:t,detail:n,answer:r}){let i=A();return(0,D.jsx)(w,{title:e,aside:t,detail:n,value:i.decimal.format(r.noul)})}var R=72,z=168;function B(e){let[t,n]=(0,E.useState)(null);return(0,E.useEffect)(()=>{let t=new Image;t.onload=()=>{n({width:t.naturalWidth,height:t.naturalHeight})},t.src=e},[e]),t}function V(e,t){let n=e.style.color;e.style.color=`var(${t})`;let r=getComputedStyle(e).color;return e.style.color=n,r}function H({source:e,box:t,caption:n}){let r=f(),i=b(e),a=B(i),[s,l]=(0,E.useState)(null);if(!a)return null;let u=x(t),d=a.width*(t.right-t.left)/(a.height*(t.bottom-t.top)),p=r(`@theorem.decision.open_box`);return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(h,{content:p,children:(0,D.jsx)(c,{label:p,padding:0,onClick:e=>{let n={outline:V(e.currentTarget,`--color-accent`),shade:V(e.currentTarget,`--color-overlay`)};S(i,t,n).then(l)},children:(0,D.jsx)(`div`,{role:`img`,"aria-label":r(`@theorem.decision.box_in`),style:{position:`relative`,overflow:`hidden`,aspectRatio:String(d),height:z,maxWidth:`100%`,borderRadius:4},children:(0,D.jsx)(`img`,{src:i,alt:``,style:{position:`absolute`,width:`${String(u.width)}%`,height:`${String(u.height)}%`,left:`${String(u.left)}%`,top:`${String(u.top)}%`,maxWidth:`none`}})})})}),(0,D.jsx)(o,{isOpen:s!==null,onOpenChange:e=>{e||l(null)},media:{src:s??i,alt:r(`@theorem.decision.box_marked`),caption:n},hasZoom:!0})]})}function U({title:e,aside:t,detail:n,answer:r,field:i,asked:a}){let o=f(),s=a&&y(a.images,a.state,i),c=A(),{top:l,bottom:u,left:d,right:p}=r.box,m=o(`@theorem.decision.box_edges`,{left:c.percent.format(d),top:c.percent.format(l),right:c.percent.format(p),bottom:c.percent.format(u)});return(0,D.jsx)(w,{title:e,aside:t,detail:n,value:m,note:o(`@theorem.decision.confidence`,{percent:c.percent.format(r.confidence)}),children:s?(0,D.jsx)(H,{source:s,box:r.box,caption:`${e}: ${m}`}):(0,D.jsx)(`div`,{"aria-hidden":!0,style:{position:`relative`,height:R,borderRadius:4,border:`1px solid var(--color-border)`},children:(0,D.jsx)(`div`,{style:{position:`absolute`,insetInlineStart:`${String(d*100)}%`,insetBlockStart:`${String(l*100)}%`,width:`${String((p-d)*100)}%`,height:`${String((u-l)*100)}%`,borderRadius:2,background:j(!0),transition:`all ${O}`}})})})}function W({question:e,answer:t,asked:n,onQuestion:r,detail:i}){let o=f(),s=`${e.id} · ${o(`@theorem.decision.type.${e.type}`)}`;if(!t)return null;let c=o(`@theorem.decision.edit_question`,{question:e.id}),d={title:s,detail:i,aside:r?(0,D.jsx)(u,{label:c,tooltip:c,size:`sm`,variant:`ghost`,icon:(0,D.jsx)(l,{icon:a,size:`xsm`,color:`secondary`}),onClick:()=>{r(e.id)}}):void 0};return t.type===`choice`?(0,D.jsx)(N,{...d,answer:t}):t.type===`score`?(0,D.jsx)(I,{...d,answer:t,labels:e.labels}):t.type===`noul`?(0,D.jsx)(L,{...d,answer:t}):(0,D.jsx)(U,{...d,answer:t,field:e.field,asked:n})}function G({model:e,usage:t,elapsedMs:n,isStale:i,tokens:a,children:o}){let s=f(),c=A();return(0,D.jsx)(g,{children:(0,D.jsxs)(r,{gap:3,style:{opacity:i?.5:1,transition:`opacity ${O}`},"aria-busy":i,children:[o,(0,D.jsx)(_,{children:(0,D.jsx)(d,{type:`supporting`,color:`secondary`,hasTabularNumbers:!0,children:p(s,c.usd,{model:e,usage:t,elapsedMs:n,tokens:a})})})]},n??0)})}function K({iface:e,result:t,elapsedMs:n,isStale:r,asked:i,onQuestion:a,questionText:o}){let s=f();return(0,D.jsx)(G,{model:t.model,usage:t.usage,elapsedMs:n,isStale:r,tokens:e=>s(`@theorem.decision.tokens`,{count:e}),children:(0,D.jsx)(T,{minWidth:260,children:e.questions.map(e=>(0,D.jsx)(_,{children:(0,D.jsx)(W,{question:e,answer:t.answers[e.id],asked:i,onQuestion:a,detail:o?.[e.id]})},e.id))})})}var q={status:`idle`,result:null,elapsedMs:null,startedAt:null,failure:null};function J(e,t){for(let n of t??[])e.traces?.push(n)}function Y(e,t,n){let[r,i]=(0,E.useState)(q),a=(0,E.useRef)(null);(0,E.useEffect)(()=>()=>a.current?.abort(),[]);let o=(0,E.useCallback)(()=>{a.current?.abort(),a.current=null,i(e=>e.status===t?{...e,status:e.result?`done`:`idle`,startedAt:null}:e)},[t]),c=(0,E.useCallback)(async(...r)=>{a.current?.abort();let o=new AbortController;a.current=o,i(e=>({status:t,result:e.result,elapsedMs:e.elapsedMs,startedAt:Date.now(),failure:null}));let c=performance.now();try{let t=await n(e,o.signal,...r);if(o.signal.aborted)return;J(e,t.traces),i({status:`done`,result:t.result,elapsedMs:performance.now()-c,startedAt:null,failure:null})}catch(t){if(o.signal.aborted)return;J(e,v(t)),i(e=>({...e,status:`error`,startedAt:null,failure:s(t)}))}finally{a.current===o&&(a.current=null)}},[e,t,n]);return{...r,call:c,cancel:o}}export{A as a,K as i,G as n,M as r,Y as t};
@@ -1 +1 @@
1
- import{S as e,_ as t,a as n,c as r,i,n as a,o,r as s,s as c,w as l}from"./tree-D1IYOD_9.js";function u(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function d(e){let t=e=>{if(Array.isArray(e))return e.map(t);if(!u(e))return e;let n=Object.keys(e).filter(t=>e[t]!==void 0).sort();return Object.fromEntries(n.map(n=>[n,t(e[n])]))};return JSON.stringify(t(e))??`undefined`}var f=`agent:`;function p(e,t=`identity`){return t===`identity`?`${f}${e}`:`${f}${e}/${t}`}function m(e){if(!e.startsWith(f))return;let t=e.slice(6),n=t.indexOf(`/`);return n<0?{key:t,inner:`identity`}:{key:t.slice(0,n),inner:t.slice(n+1)}}function h(e,t){return o(t)===void 0?p(e,t):t}function g(e,t){let n=o(t);if(n!==void 0)return e.toolSpecs.some(e=>e.key===n)?{tool:n}:void 0;let r=a(t);if(r!==void 0)return e.providers.some(e=>e.id===r)?{provider:r}:void 0;let s=m(t),c=s&&e.agents.find(e=>e.key===s.key);if(!s||!c||o(s.inner)!==void 0)return;let l=i(_(c,[],e.providers),s.inner);return l?{agent:c.key,ref:l}:void 0}function _(e,t,n){let{key:r,tools:{allow:i,...a},...o}=e,s=new Map(t.map(e=>[e.key,e]));return{...o,providers:n,tools:a,toolSpecs:i.flatMap(e=>s.get(e)??[])}}function ee(e,t){let n=e.agents.find(e=>e.key===t);return n&&_(n,e.toolSpecs,e.providers)}function v(t,n=e(`agent`)){let{toolSpecs:r,tools:i,providers:a,...o}=t;return{...o,key:n,tools:{...i,allow:r.map(e=>e.key)}}}function y(e,t){let n=new Map(t.map(e=>[e.key,e])),r=new Set(e.map(e=>e.key)),i=t.filter(e=>!r.has(e.key));return!e.some(e=>(n.get(e.key)??e)!==e)&&i.length===0?e:[...e.map(e=>n.get(e.key)??e),...i]}function b(e,t,n){return e.agents.map(e=>e.key===t?n(e):e)}var x=e=>e.key,S=e=>e.id;function C(e){let t=Object.fromEntries(e.agents.map(t=>[t.key,e.starts.agents[t.key]??t])),n=new Map(e.toolSpecs.map(e=>[e.key,e])),r=new Set([...n.keys(),...Object.values(t).flatMap(e=>e.tools.allow)]),i={};for(let t of r){let r=e.starts.tools[t]??n.get(t);r&&(i[t]=r)}let a=Object.fromEntries(e.providers.map(t=>[t.id,e.starts.providers[t.id]??t]));for(let n of Object.values(t).flatMap(w)){let t=e.starts.providers[n];t&&!(n in a)&&(a[n]=t)}return{...e,starts:{agents:t,tools:i,providers:a}}}var w=e=>e.modelBindings.map(e=>e.provider);function T(e,t){let n=new Set(e.providers.map(S)),r=[...new Set(t.flatMap(w))].flatMap(t=>{let r=e.starts.providers[t];return r&&!n.has(t)?[r]:[]});return r.length?[...e.providers,...r]:e.providers}function E(e,t){let n=e.agents.find(e=>e.key===t);return n?C({...e,starts:{...e.starts,agents:{...e.starts.agents,[t]:n}}}):e}function te(e,t,n,r){if(!e.agents.some(e=>e.key===t))return e;let i=r?y(e.toolSpecs,[...r]):e.toolSpecs;return C({...e,toolSpecs:y(i,n.toolSpecs),agents:b(e,t,()=>v(n,t))})}function ne(e,t){let n=e.agents.find(e=>e.key===t);return n&&{..._(n,[],e.providers),toolSpecs:e.toolSpecs}}function re(e,t,n){if(!e.agents.find(e=>e.key===t))return e;let r=new Set(n.toolSpecs.map(e=>e.key)),i=new Set(e.toolSpecs.map(e=>e.key)),a=n.toolSpecs.filter(e=>!i.has(e.key)).map(e=>e.key),o=e=>e.filter(e=>r.has(e)),{toolSpecs:s,providers:c,tools:l,...u}=n;return C({...e,toolSpecs:n.toolSpecs,agents:e.agents.map(e=>e.key===t?{...u,key:t,tools:{...l,allow:[...o(e.tools.allow),...a]}}:e.tools.allow.every(e=>r.has(e))?e:{...e,tools:{...e.tools,allow:o(e.tools.allow)}})})}function D(e,n=t()){let r=new Map(e.toolSpecs.map(e=>[e.toolName,e.key])),i=n.identity.agentId.trim(),a=e.agents.map(e=>e.identity.agentId),o=i&&l(i,a,e=>`${i}_${e}`),s=v({...n,identity:{...n.identity,agentId:o}});return s.tools.allow=n.toolSpecs.map(e=>r.get(e.toolName)??e.key),C({...e,agents:[...e.agents,s],toolSpecs:[...e.toolSpecs,...n.toolSpecs.filter(e=>!r.has(e.toolName))],selected:p(s.key)})}function O(t,n){let r=t.agents.findIndex(e=>e.key===n),i=t.agents[r];if(!i)return t;let a=i.identity.agentId.trim()||`agent`,o=t.agents.map(e=>e.identity.agentId),s={...structuredClone(i),key:e(`agent`)};s.identity.agentId=l(`${a}_copy`,o,e=>`${a}_copy${e}`);let c=[...t.agents];return c.splice(r+1,0,s),C({...t,agents:c,selected:p(s.key)})}function k(e,t){let n=e.agents.findIndex(e=>e.key===t);if(n<0||e.agents.length===1)return e;let r=e.agents[n+1]??e.agents[n-1];if(!r)return e;let i=new Set(e.toolSpecs.filter(e=>e.toolType===`agent`&&e.agentKey===t).map(e=>e.key)),a=e.agents.filter(e=>e.key!==t).map(e=>({...e,tools:{...e.tools,allow:e.tools.allow.filter(e=>!i.has(e))},modelBindings:e.modelBindings.map(e=>e.compactWith===t?{...e,compactWith:void 0}:e)})),o=m(e.selected)?.key===t||[...i].some(t=>e.selected===c(t));return C({...e,agents:a,toolSpecs:e.toolSpecs.filter(e=>!i.has(e.key)),selected:o?p(r.key):e.selected,chatWith:e.chatWith===t?r.key:e.chatWith})}function A(e,t,n,r){let i=e.agents.find(e=>e.key===t);if(!i||!e.toolSpecs.some(e=>e.key===n)||i.tools.allow.includes(n)===r)return e;let a=r?[...i.tools.allow,n]:i.tools.allow.filter(e=>e!==n);return{...e,agents:b(e,t,()=>({...i,tools:{...i.tools,allow:a}}))}}function j(e,t){if(!e.toolSpecs.some(e=>e.key===t))return e;let n=e.agents.map(e=>e.tools.allow.includes(t)?{...e,tools:{...e.tools,allow:e.tools.allow.filter(e=>e!==t)}}:e);return C({...e,agents:n,toolSpecs:e.toolSpecs.filter(e=>e.key!==t),selected:e.selected===c(t)?p(e.agents[0]?.key??``):e.selected})}var M=(e,t)=>d(e)===d(t),N=e=>typeof e==`object`&&!!e&&!Array.isArray(e);function ie(e){let{agents:t,tools:n,providers:r}=e.starts;return e.agents.every(e=>M(e,t[e.key]))&&e.toolSpecs.every(e=>M(e,n[e.key]))&&e.providers.every(e=>M(e,r[e.id]))&&Object.keys(n).length===e.toolSpecs.length}function ae(e){return{...e,starts:{agents:Object.fromEntries(e.agents.map(e=>[e.key,e])),tools:Object.fromEntries(e.toolSpecs.map(e=>[e.key,e])),providers:Object.fromEntries(e.providers.map(e=>[e.id,e]))}}}function P(e,t,n,r){return{...e,identity:{...e.identity,agentId:t},tools:{...e.tools,allow:e.tools.allow.filter(e=>n.has(e))},modelBindings:e.modelBindings.map(e=>e.compactWith&&!r.has(e.compactWith)?{...e,compactWith:void 0}:e)}}function oe(e,t){let n=e.starts.agents[t],r=e.agents.find(e=>e.key===t);if(!n||!r)return e;let i=new Set(e.agents.map(e=>e.key)),a=new Set(e.toolSpecs.map(e=>e.key)),o=e.toolSpecs.map(e=>e.toolName),s=[];for(let t of n.tools.allow){let n=e.starts.tools[t];if(a.has(t)||!n||n.toolType===`agent`&&!i.has(n.agentKey??``))continue;let r=l(n.toolName,o,e=>`${n.toolName}_${e}`);o.push(r),s.push({...n,toolName:r})}let c=s.length?[...e.toolSpecs,...s]:e.toolSpecs,u=new Set(c.map(e=>e.key)),d=n.identity.agentId,f=e.agents.filter(e=>e.key!==t).map(e=>e.identity.agentId),m=P(n,d&&l(d,f,e=>`${d}_${e}`),u,i);if(s.length===0&&M(m,r))return e;let h=T(e,[n]),_={...e,agents:b(e,t,()=>m),toolSpecs:c,providers:h};return g(_,_.selected)?_:{..._,selected:p(t)}}function se(e){let{starts:t}=e,n=new Set(e.agents.map(e=>e.key)),r=new Map(e.toolSpecs.map(e=>[e.key,t.tools[e.key]??e]));for(let i of e.agents)for(let e of t.agents[i.key]?.tools.allow??[]){let i=t.tools[e];i&&!r.has(e)&&(i.toolType!==`agent`||n.has(i.agentKey??``))&&r.set(e,i)}let i=[],a=[...r.values()].map(e=>{let t=l(e.toolName,i,t=>`${e.toolName}_${t}`);return i.push(t),t===e.toolName?e:{...e,toolName:t}}),o=[],s=e.agents.map(e=>{let i=t.agents[e.key]??e,a=i.identity.agentId,s=a&&l(a,o,e=>`${a}_${e}`);return o.push(s),P(i,s,r,n)}),c=T(e,s).map(e=>t.providers[e.id]??e);if(M(s,e.agents)&&M(a,e.toolSpecs)&&M(c,e.providers))return e;let u={...e,agents:s,toolSpecs:a,providers:c},d=s[0];return g(u,u.selected)||!d?u:{...u,selected:p(d.key)}}function F(e,t){let n=new Map(Object.values(t.starts.agents).map(e=>[e.identity.agentId,e.key])),r=new Map(Object.values(t.starts.tools).map(e=>[e.toolName,e.key])),i=JSON.stringify(e),a=(e,t)=>{t!==void 0&&t!==e&&(i=i.split(e).join(t))};for(let t of e.agents)a(t.key,n.get(t.identity.agentId));for(let t of e.toolSpecs)a(t.key,r.get(t.toolName));let o=JSON.parse(i);return{...o,selected:g(o,t.selected)?t.selected:o.selected,chatWith:o.agents.some(e=>e.key===t.chatWith)?t.chatWith:o.chatWith}}function ce(e,t){let n=F(t,e),r=(e,t,n,r,i)=>{let a=new Map(r.map(t=>[e(t),t])),o=new Set([...t.map(e),...Object.keys(n)]),s=t.map(t=>M(t,n[e(t)])?a.get(e(t))??t:t),c=s.filter(t=>!(e(t)in i)).map(t=>[e(t),n[e(t)]??t]);return{held:[...s,...r.filter(t=>!o.has(e(t)))],starts:{...Object.fromEntries(c),...i}}},i=r(x,e.agents,e.starts.agents,n.agents,n.starts.agents),a=r(x,e.toolSpecs,e.starts.tools,n.toolSpecs,n.starts.tools),o=r(S,e.providers,e.starts.providers,n.providers,n.starts.providers);return{...e,agents:i.held,toolSpecs:a.held,providers:o.held,starts:{agents:i.starts,tools:a.starts,providers:o.starts}}}function I(e){let t=new Map,n=e=>{if(Array.isArray(e))for(let t of e)n(t);else if(typeof e==`object`&&e)for(let[r,i]of Object.entries(e))r!==`key`||typeof i!=`string`?n(i):t.has(i)||t.set(i,`#${t.size}`)},r=e=>typeof e==`string`?t.get(e)??e:Array.isArray(e)?e.map(r):typeof e!=`object`||!e?e:Object.fromEntries(Object.entries(e).map(([e,n])=>[t.get(e)??e,r(n)])),i={agents:e.agents,toolSpecs:e.toolSpecs,providers:e.providers};n(i);let a=JSON.stringify(r(i)),o=2166136261,s=16777619;for(let e=0;e<a.length;e+=1){let t=a.charCodeAt(e);o=Math.imul(o^t,16777619),s=Math.imul(s^t,2246822507)}return`${a.length.toString(36)}-${(o>>>0).toString(36)}${(s>>>0).toString(36)}`}function L(e,t){return I(e)!==t}var R=/^(agent|model|tool|question|criterion|reference)-[0-9a-f]{8}$/;function z(e){let t=new Map;return JSON.stringify(e).replace(/\b(agent|model|tool|question|criterion|reference)-[0-9a-f]{8}\b/g,e=>(t.has(e)||t.set(e,`#${t.size}`),t.get(e)??e))}function B(e,t){let n=t.map(z),r=new Set,i=[],a=[];for(let o of e){let e=z(o),s=n.findIndex((t,n)=>t===e&&!r.has(n));s<0?a.push(o):(r.add(s),i.push([o,t[s]]))}let o=t.filter((e,t)=>!r.has(t));for(let[e,t]of a.slice(0,o.length).entries())i.push([t,o[e]]);return i}function V(e,t){let n=JSON.stringify(e),r=(e,t,r,i)=>{let a=new Set(r.map(e=>e.key)),o=new Set(e.map(e=>e.key)),s=e.flatMap(e=>a.has(e.key)?[]:t[e.key]??[]),c=r.filter(e=>!o.has(e.key)&&!t[e.key]),[l,u]=[s[0],c[0]];s.length===1&&c.length===1&&l&&u&&z(i(l))===z(i(u))&&(n=n.split(u.key).join(l.key))};return r(t.agents,t.starts.agents,e.agents,e=>({...e,identity:{...e.identity,agentId:``}})),r(t.toolSpecs,t.starts.tools,e.toolSpecs,e=>({...e,toolName:``})),JSON.parse(n)}function H(e,t){let n=JSON.stringify(e);for(let e=0;e<4;e+=1){let e=JSON.parse(n),r=new Map,i=(e,t)=>{if(Array.isArray(e)&&Array.isArray(t))for(let[n,r]of B(e,t))i(n,r);else if(N(e)&&N(t))for(let[n,a]of Object.entries(e)){let e=t[n];n===`key`?typeof a==`string`&&typeof e==`string`&&a!==e&&R.test(a)&&R.test(e)&&r.set(e,a):i(a,e)}};for(let n of e.agents)i(t.agents[n.key],n);for(let n of e.toolSpecs)i(t.tools[n.key],n);if(r.size===0)return e;for(let[e,t]of r)n=n.split(e).join(t)}return JSON.parse(n)}var U=e=>Array.isArray(e)&&e.every(e=>typeof e==`string`)&&new Set(e).size===e.length,W=e=>Array.isArray(e)&&e.every(e=>N(e)&&typeof e.key==`string`);function G(e,t,n,r,i){if(M(e,n)||M(t,n))return t;if(N(e)&&N(t)&&N(n)){let a={};for(let o of new Set([...Object.keys(n),...Object.keys(t),...Object.keys(e)])){let s=G(e[o],t[o],n[o],[...r,o],i);s!==void 0&&(a[o]=s)}return a}if(W(e)&&W(t)&&W(n)){let a=new Map(e.map(e=>[e.key,e])),o=new Map(n.map(e=>[e.key,e])),s=[];for(let e of t){let[t,n]=[a.get(e.key),o.get(e.key)],c=[...r,s.length];t?n?s.push(G(t,e,n,c,i)):M(e,t)?i.updated(c):(i.conflict(c,e,void 0),s.push(e)):s.push(e)}let c=new Set(t.map(e=>e.key)),l=s.length;for(let e of n){if(c.has(e.key))continue;let t=a.get(e.key);t?M(e,t)||i.conflict([...r,l++],void 0,e):(i.updated([...r,s.length]),s.push(e),l+=1)}return s}if(M(e,t))return i.updated(r),n;if(U(e)&&U(t)&&U(n)){let a=e.filter(e=>!n.includes(e)),o=n.filter(n=>!e.includes(n)&&!t.includes(n));return i.updated(r),[...t.filter(e=>!a.includes(e)),...o]}return i.conflict(r,t,n),t}function K(e){let t=new Set(e.agents.map(e=>e.key)),n=e.toolSpecs.filter(e=>e.toolType!==`agent`||t.has(e.agentKey??``)),r=new Set(n.map(e=>e.key)),i=e.agents.map(e=>{let n=e.tools.allow.filter(e=>r.has(e)),i=e.modelBindings.map(e=>e.compactWith&&!t.has(e.compactWith)?{...e,compactWith:void 0}:e),a={...e,tools:{...e.tools,allow:n},modelBindings:i};return M(a,e)?e:a}),a=C({...e,agents:i,toolSpecs:n}),o=i[0];return{...a,selected:g(a,a.selected)||!o?a.selected:p(o.key),chatWith:t.has(a.chatWith)||!o?a.chatWith:o.key}}function le(e,t,n){let r=H(V(F(t,e),e),e.starts),i=[],a=[],o=(e,t,n,r,o,s,c,l)=>{let u=new Map(s.map(e=>[t(e),e])),d=new Set(r.map(e=>t(e))),f=new Set(r.map(e=>n(o[t(e)]??e))),p=new Set(l?.map(n)),m=[],h={...c};for(let s of r){let[r,c]=[o[t(s)],u.get(t(s))],l={kind:e,key:t(s),name:n(c??r??s)};!r||!c&&!p.has(n(r))?(m.push(s),h[t(s)]=r??s):c?m.push(G(r,s,c,[],{updated:e=>i.push({...l,path:e}),conflict:(e,t,n)=>a.push({...l,path:e,mine:t,theirs:n})})):M(s,r)?i.push({...l,path:[]}):(a.push({...l,path:[],mine:s,theirs:void 0}),m.push(s),h[t(s)]=r)}let g=e=>{let r=o[t(e)]??l?.find(t=>n(t)===n(e)&&!f.has(n(t)));if(r)return z(r)===z(e)?`unchanged`:`changed`};for(let r of s){if(d.has(t(r)))continue;let o={kind:e,key:t(r),name:n(r),path:[]},s=g(r);s===`changed`?a.push({...o,mine:void 0,theirs:r}):s===void 0&&(m.push(r),i.push(o))}return{held:m,starts:h}},s=o(`agent`,x,e=>e.identity.agentId,e.agents,e.starts.agents,r.agents,r.starts.agents,n?.agents),c=o(`tool`,x,e=>e.toolName,e.toolSpecs,e.starts.tools,r.toolSpecs,r.starts.tools,n?.toolSpecs),l=o(`provider`,S,S,e.providers,e.starts.providers,r.providers,r.starts.providers,n?.providers);return{workspace:K({...e,agents:s.held,toolSpecs:c.held,providers:l.held,starts:{agents:s.starts,tools:c.starts,providers:l.starts}}),updated:i,conflicts:a,files:r}}var q=Object.freeze({gone:!0});function J(e){if(Array.isArray(e))return e.filter(e=>e!==q).map(J);if(!N(e))return e;let t=Object.entries(e).map(([e,t])=>[e,J(t)]);return Object.fromEntries(t)}function Y(e,t,n){let[r,...i]=t;if(r===void 0)return n;if(Array.isArray(e))return typeof r==`number`&&r>=e.length?n===void 0?e:[...e,n]:e.map((e,t)=>t===r?i.length===0&&n===void 0?q:Y(e,i,n):e);let a={...N(e)?e:{}},o=Y(a[r],i,n);return o===void 0?delete a[r]:a[r]=o,a}function ue(e,t){let{agents:n,toolSpecs:r,providers:i}=e.workspace,a={agents:{...e.workspace.starts.agents},tools:{...e.workspace.starts.tools},providers:{...e.workspace.starts.providers}},o=(e,t,n,r)=>r.path.length>0?t.map(t=>e(t)===r.key?Y(t,r.path,r.theirs):t):r.theirs===void 0?(delete n[r.key],t.filter(t=>e(t)!==r.key)):(n[r.key]=r.theirs,[...t,r.theirs]);for(let s of new Set(t)){let t=e.conflicts[s];if(t){if(t.kind===`tool`)r=o(x,r,a.tools,t);else if(t.kind===`provider`)i=o(S,i,a.providers,t);else{if(n=o(x,n,a.agents,t),t.path.length>0||t.theirs===void 0)continue;let i=new Set(r.map(e=>e.key)),s=e.files.toolSpecs.filter(e=>e.toolType===`agent`&&e.agentKey===t.key&&!i.has(e.key));for(let e of s)a.tools[e.key]=e;r=[...r,...s],n=n.map(t=>{let n=e.files.agents.find(e=>e.key===t.key)?.tools.allow??[],r=s.map(e=>e.key).filter(e=>n.includes(e)&&!t.tools.allow.includes(e));return r.length?{...t,tools:{...t.tools,allow:[...t.tools.allow,...r]}}:t})}}}return[n,r]=[J(n),J(r)],K({...e.workspace,agents:n,toolSpecs:r,providers:i,starts:a})}function de(e,t){let n=e.starts.tools[t],r=e.toolSpecs.find(e=>e.key===t);if(!n||!r)return e;let i=e.toolSpecs.filter(e=>e.key!==t).map(e=>e.toolName),a={...n,toolName:l(n.toolName,i,e=>`${n.toolName}_${e}`)};return M(a,r)?e:{...e,toolSpecs:e.toolSpecs.map(e=>e.key===t?a:e)}}function X(e,t){let n=e.providers.find(e=>e.id===t.id);return!n||M(n,t)?e:{...e,providers:e.providers.map(e=>e.id===t.id?t:e)}}function Z(e,t){let n=e.agents.map(e=>w(e).filter(e=>e===t).length);return{models:n.reduce((e,t)=>e+t,0),agents:n.filter(e=>e>0).length}}function fe(e,t,n,r,i){let a=e=>e.provider===r&&e.apiId.trim()===i.trim();return{models:(e.agents.find(e=>e.key===t)?.modelBindings??[]).filter(e=>e.key!==n&&a(e)).map(e=>e.modelId.trim()||`new`),agents:e.agents.filter(e=>e.key!==t&&e.modelBindings.some(a)).map(e=>e.identity.agentId.trim()||`New agent`)}}function pe(e,t){return{id:l(`provider`,e,e=>`provider_${e}`),definition:t,connection:{}}}function me(e,t){return e.providers.some(e=>e.id===t.id)?e:C({...e,providers:[...e.providers,t],selected:s(t.id)})}function he(e,t){return!e.providers.some(e=>e.id===t)||Z(e,t).models>0?e:C({...e,providers:e.providers.filter(e=>e.id!==t),selected:e.selected===s(t)?p(e.agents[0]?.key??``):e.selected})}function Q(e,t,n){let r=n.trim();if(!e.providers.some(e=>e.id===t)||!r||e.providers.some(e=>e.id===r))return e;let{[t]:i,...a}=e.starts.providers,o=e=>e.provider===t;return{...e,providers:e.providers.map(e=>e.id===t?{...e,id:r}:e),agents:e.agents.map(e=>e.modelBindings.some(o)?{...e,modelBindings:e.modelBindings.map(e=>o(e)?{...e,provider:r}:e)}:e),selected:e.selected===s(t)?s(r):e.selected,starts:{...e.starts,providers:i?{...a,[r]:{...i,id:r}}:a}}}function ge(e){return e.providers.flatMap(t=>{let n=e.starts.providers[t.id];return n&&M(n,t)?[t.id]:[]})}function _e(e,t){let n=e.starts.providers[t];return n?X(e,n):e}function $(e,t){return{...t,id:p(e,t.id),children:t.children.map(t=>$(e,t))}}function ve(e,t){let r=$(e.key,n(_(e,[],t)));return e.identity.agentId.trim()?r:{...r,label:`New agent`}}function ye(e){return{agents:e.agents.map(t=>ve(t,e.providers)),tools:r(e.toolSpecs)}}export{ue as A,se as C,A as D,h as E,d as F,X as M,g as N,ae as O,ye as P,oe as S,_e as T,k as _,ie as a,Q as b,I as c,le as d,fe as f,ce as g,ge as h,p as i,re as j,te as k,ne as l,Z as m,me as n,O as o,pe as p,ee as r,L as s,D as t,E as u,j as v,de as w,F as x,he as y};
1
+ import{S as e,_ as t,a as n,c as r,i,n as a,o,r as s,s as c,w as l}from"./tree-DqyAMsbI.js";function u(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function d(e){let t=e=>{if(Array.isArray(e))return e.map(t);if(!u(e))return e;let n=Object.keys(e).filter(t=>e[t]!==void 0).sort();return Object.fromEntries(n.map(n=>[n,t(e[n])]))};return JSON.stringify(t(e))??`undefined`}var f=`agent:`;function p(e,t=`identity`){return t===`identity`?`${f}${e}`:`${f}${e}/${t}`}function m(e){if(!e.startsWith(f))return;let t=e.slice(6),n=t.indexOf(`/`);return n<0?{key:t,inner:`identity`}:{key:t.slice(0,n),inner:t.slice(n+1)}}function h(e,t){return o(t)===void 0?p(e,t):t}function g(e,t){let n=o(t);if(n!==void 0)return e.toolSpecs.some(e=>e.key===n)?{tool:n}:void 0;let r=a(t);if(r!==void 0)return e.providers.some(e=>e.id===r)?{provider:r}:void 0;let s=m(t),c=s&&e.agents.find(e=>e.key===s.key);if(!s||!c||o(s.inner)!==void 0)return;let l=i(_(c,[],e.providers),s.inner);return l?{agent:c.key,ref:l}:void 0}function _(e,t,n){let{key:r,tools:{allow:i,...a},...o}=e,s=new Map(t.map(e=>[e.key,e]));return{...o,providers:n,tools:a,toolSpecs:i.flatMap(e=>s.get(e)??[])}}function ee(e,t){let n=e.agents.find(e=>e.key===t);return n&&_(n,e.toolSpecs,e.providers)}function v(t,n=e(`agent`)){let{toolSpecs:r,tools:i,providers:a,...o}=t;return{...o,key:n,tools:{...i,allow:r.map(e=>e.key)}}}function y(e,t){let n=new Map(t.map(e=>[e.key,e])),r=new Set(e.map(e=>e.key)),i=t.filter(e=>!r.has(e.key));return!e.some(e=>(n.get(e.key)??e)!==e)&&i.length===0?e:[...e.map(e=>n.get(e.key)??e),...i]}function b(e,t,n){return e.agents.map(e=>e.key===t?n(e):e)}var x=e=>e.key,S=e=>e.id;function C(e){let t=Object.fromEntries(e.agents.map(t=>[t.key,e.starts.agents[t.key]??t])),n=new Map(e.toolSpecs.map(e=>[e.key,e])),r=new Set([...n.keys(),...Object.values(t).flatMap(e=>e.tools.allow)]),i={};for(let t of r){let r=e.starts.tools[t]??n.get(t);r&&(i[t]=r)}let a=Object.fromEntries(e.providers.map(t=>[t.id,e.starts.providers[t.id]??t]));for(let n of Object.values(t).flatMap(w)){let t=e.starts.providers[n];t&&!(n in a)&&(a[n]=t)}return{...e,starts:{agents:t,tools:i,providers:a}}}var w=e=>e.modelBindings.map(e=>e.provider);function T(e,t){let n=new Set(e.providers.map(S)),r=[...new Set(t.flatMap(w))].flatMap(t=>{let r=e.starts.providers[t];return r&&!n.has(t)?[r]:[]});return r.length?[...e.providers,...r]:e.providers}function E(e,t){let n=e.agents.find(e=>e.key===t);return n?C({...e,starts:{...e.starts,agents:{...e.starts.agents,[t]:n}}}):e}function te(e,t,n,r){if(!e.agents.some(e=>e.key===t))return e;let i=r?y(e.toolSpecs,[...r]):e.toolSpecs;return C({...e,toolSpecs:y(i,n.toolSpecs),agents:b(e,t,()=>v(n,t))})}function ne(e,t){let n=e.agents.find(e=>e.key===t);return n&&{..._(n,[],e.providers),toolSpecs:e.toolSpecs}}function re(e,t,n){if(!e.agents.find(e=>e.key===t))return e;let r=new Set(n.toolSpecs.map(e=>e.key)),i=new Set(e.toolSpecs.map(e=>e.key)),a=n.toolSpecs.filter(e=>!i.has(e.key)).map(e=>e.key),o=e=>e.filter(e=>r.has(e)),{toolSpecs:s,providers:c,tools:l,...u}=n;return C({...e,toolSpecs:n.toolSpecs,agents:e.agents.map(e=>e.key===t?{...u,key:t,tools:{...l,allow:[...o(e.tools.allow),...a]}}:e.tools.allow.every(e=>r.has(e))?e:{...e,tools:{...e.tools,allow:o(e.tools.allow)}})})}function D(e,n=t()){let r=new Map(e.toolSpecs.map(e=>[e.toolName,e.key])),i=n.identity.agentId.trim(),a=e.agents.map(e=>e.identity.agentId),o=i&&l(i,a,e=>`${i}_${e}`),s=v({...n,identity:{...n.identity,agentId:o}});return s.tools.allow=n.toolSpecs.map(e=>r.get(e.toolName)??e.key),C({...e,agents:[...e.agents,s],toolSpecs:[...e.toolSpecs,...n.toolSpecs.filter(e=>!r.has(e.toolName))],selected:p(s.key)})}function O(t,n){let r=t.agents.findIndex(e=>e.key===n),i=t.agents[r];if(!i)return t;let a=i.identity.agentId.trim()||`agent`,o=t.agents.map(e=>e.identity.agentId),s={...structuredClone(i),key:e(`agent`)};s.identity.agentId=l(`${a}_copy`,o,e=>`${a}_copy${e}`);let c=[...t.agents];return c.splice(r+1,0,s),C({...t,agents:c,selected:p(s.key)})}function k(e,t){let n=e.agents.findIndex(e=>e.key===t);if(n<0||e.agents.length===1)return e;let r=e.agents[n+1]??e.agents[n-1];if(!r)return e;let i=new Set(e.toolSpecs.filter(e=>e.toolType===`agent`&&e.agentKey===t).map(e=>e.key)),a=e.agents.filter(e=>e.key!==t).map(e=>({...e,tools:{...e.tools,allow:e.tools.allow.filter(e=>!i.has(e))},modelBindings:e.modelBindings.map(e=>e.compactWith===t?{...e,compactWith:void 0}:e)})),o=m(e.selected)?.key===t||[...i].some(t=>e.selected===c(t));return C({...e,agents:a,toolSpecs:e.toolSpecs.filter(e=>!i.has(e.key)),selected:o?p(r.key):e.selected,chatWith:e.chatWith===t?r.key:e.chatWith})}function A(e,t,n,r){let i=e.agents.find(e=>e.key===t);if(!i||!e.toolSpecs.some(e=>e.key===n)||i.tools.allow.includes(n)===r)return e;let a=r?[...i.tools.allow,n]:i.tools.allow.filter(e=>e!==n);return{...e,agents:b(e,t,()=>({...i,tools:{...i.tools,allow:a}}))}}function j(e,t){if(!e.toolSpecs.some(e=>e.key===t))return e;let n=e.agents.map(e=>e.tools.allow.includes(t)?{...e,tools:{...e.tools,allow:e.tools.allow.filter(e=>e!==t)}}:e);return C({...e,agents:n,toolSpecs:e.toolSpecs.filter(e=>e.key!==t),selected:e.selected===c(t)?p(e.agents[0]?.key??``):e.selected})}var M=(e,t)=>d(e)===d(t),N=e=>typeof e==`object`&&!!e&&!Array.isArray(e);function ie(e){let{agents:t,tools:n,providers:r}=e.starts;return e.agents.every(e=>M(e,t[e.key]))&&e.toolSpecs.every(e=>M(e,n[e.key]))&&e.providers.every(e=>M(e,r[e.id]))&&Object.keys(n).length===e.toolSpecs.length}function ae(e){return{...e,starts:{agents:Object.fromEntries(e.agents.map(e=>[e.key,e])),tools:Object.fromEntries(e.toolSpecs.map(e=>[e.key,e])),providers:Object.fromEntries(e.providers.map(e=>[e.id,e]))}}}function P(e,t,n,r){return{...e,identity:{...e.identity,agentId:t},tools:{...e.tools,allow:e.tools.allow.filter(e=>n.has(e))},modelBindings:e.modelBindings.map(e=>e.compactWith&&!r.has(e.compactWith)?{...e,compactWith:void 0}:e)}}function oe(e,t){let n=e.starts.agents[t],r=e.agents.find(e=>e.key===t);if(!n||!r)return e;let i=new Set(e.agents.map(e=>e.key)),a=new Set(e.toolSpecs.map(e=>e.key)),o=e.toolSpecs.map(e=>e.toolName),s=[];for(let t of n.tools.allow){let n=e.starts.tools[t];if(a.has(t)||!n||n.toolType===`agent`&&!i.has(n.agentKey??``))continue;let r=l(n.toolName,o,e=>`${n.toolName}_${e}`);o.push(r),s.push({...n,toolName:r})}let c=s.length?[...e.toolSpecs,...s]:e.toolSpecs,u=new Set(c.map(e=>e.key)),d=n.identity.agentId,f=e.agents.filter(e=>e.key!==t).map(e=>e.identity.agentId),m=P(n,d&&l(d,f,e=>`${d}_${e}`),u,i);if(s.length===0&&M(m,r))return e;let h=T(e,[n]),_={...e,agents:b(e,t,()=>m),toolSpecs:c,providers:h};return g(_,_.selected)?_:{..._,selected:p(t)}}function se(e){let{starts:t}=e,n=new Set(e.agents.map(e=>e.key)),r=new Map(e.toolSpecs.map(e=>[e.key,t.tools[e.key]??e]));for(let i of e.agents)for(let e of t.agents[i.key]?.tools.allow??[]){let i=t.tools[e];i&&!r.has(e)&&(i.toolType!==`agent`||n.has(i.agentKey??``))&&r.set(e,i)}let i=[],a=[...r.values()].map(e=>{let t=l(e.toolName,i,t=>`${e.toolName}_${t}`);return i.push(t),t===e.toolName?e:{...e,toolName:t}}),o=[],s=e.agents.map(e=>{let i=t.agents[e.key]??e,a=i.identity.agentId,s=a&&l(a,o,e=>`${a}_${e}`);return o.push(s),P(i,s,r,n)}),c=T(e,s).map(e=>t.providers[e.id]??e);if(M(s,e.agents)&&M(a,e.toolSpecs)&&M(c,e.providers))return e;let u={...e,agents:s,toolSpecs:a,providers:c},d=s[0];return g(u,u.selected)||!d?u:{...u,selected:p(d.key)}}function F(e,t){let n=new Map(Object.values(t.starts.agents).map(e=>[e.identity.agentId,e.key])),r=new Map(Object.values(t.starts.tools).map(e=>[e.toolName,e.key])),i=JSON.stringify(e),a=(e,t)=>{t!==void 0&&t!==e&&(i=i.split(e).join(t))};for(let t of e.agents)a(t.key,n.get(t.identity.agentId));for(let t of e.toolSpecs)a(t.key,r.get(t.toolName));let o=JSON.parse(i);return{...o,selected:g(o,t.selected)?t.selected:o.selected,chatWith:o.agents.some(e=>e.key===t.chatWith)?t.chatWith:o.chatWith}}function ce(e,t){let n=F(t,e),r=(e,t,n,r,i)=>{let a=new Map(r.map(t=>[e(t),t])),o=new Set([...t.map(e),...Object.keys(n)]),s=t.map(t=>M(t,n[e(t)])?a.get(e(t))??t:t),c=s.filter(t=>!(e(t)in i)).map(t=>[e(t),n[e(t)]??t]);return{held:[...s,...r.filter(t=>!o.has(e(t)))],starts:{...Object.fromEntries(c),...i}}},i=r(x,e.agents,e.starts.agents,n.agents,n.starts.agents),a=r(x,e.toolSpecs,e.starts.tools,n.toolSpecs,n.starts.tools),o=r(S,e.providers,e.starts.providers,n.providers,n.starts.providers);return{...e,agents:i.held,toolSpecs:a.held,providers:o.held,starts:{agents:i.starts,tools:a.starts,providers:o.starts}}}function I(e){let t=new Map,n=e=>{if(Array.isArray(e))for(let t of e)n(t);else if(typeof e==`object`&&e)for(let[r,i]of Object.entries(e))r!==`key`||typeof i!=`string`?n(i):t.has(i)||t.set(i,`#${t.size}`)},r=e=>typeof e==`string`?t.get(e)??e:Array.isArray(e)?e.map(r):typeof e!=`object`||!e?e:Object.fromEntries(Object.entries(e).map(([e,n])=>[t.get(e)??e,r(n)])),i={agents:e.agents,toolSpecs:e.toolSpecs,providers:e.providers};n(i);let a=JSON.stringify(r(i)),o=2166136261,s=16777619;for(let e=0;e<a.length;e+=1){let t=a.charCodeAt(e);o=Math.imul(o^t,16777619),s=Math.imul(s^t,2246822507)}return`${a.length.toString(36)}-${(o>>>0).toString(36)}${(s>>>0).toString(36)}`}function L(e,t){return I(e)!==t}var R=/^(agent|model|tool|question|criterion|reference)-[0-9a-f]{8}$/;function z(e){let t=new Map;return JSON.stringify(e).replace(/\b(agent|model|tool|question|criterion|reference)-[0-9a-f]{8}\b/g,e=>(t.has(e)||t.set(e,`#${t.size}`),t.get(e)??e))}function B(e,t){let n=t.map(z),r=new Set,i=[],a=[];for(let o of e){let e=z(o),s=n.findIndex((t,n)=>t===e&&!r.has(n));s<0?a.push(o):(r.add(s),i.push([o,t[s]]))}let o=t.filter((e,t)=>!r.has(t));for(let[e,t]of a.slice(0,o.length).entries())i.push([t,o[e]]);return i}function V(e,t){let n=JSON.stringify(e),r=(e,t,r,i)=>{let a=new Set(r.map(e=>e.key)),o=new Set(e.map(e=>e.key)),s=e.flatMap(e=>a.has(e.key)?[]:t[e.key]??[]),c=r.filter(e=>!o.has(e.key)&&!t[e.key]),[l,u]=[s[0],c[0]];s.length===1&&c.length===1&&l&&u&&z(i(l))===z(i(u))&&(n=n.split(u.key).join(l.key))};return r(t.agents,t.starts.agents,e.agents,e=>({...e,identity:{...e.identity,agentId:``}})),r(t.toolSpecs,t.starts.tools,e.toolSpecs,e=>({...e,toolName:``})),JSON.parse(n)}function H(e,t){let n=JSON.stringify(e);for(let e=0;e<4;e+=1){let e=JSON.parse(n),r=new Map,i=(e,t)=>{if(Array.isArray(e)&&Array.isArray(t))for(let[n,r]of B(e,t))i(n,r);else if(N(e)&&N(t))for(let[n,a]of Object.entries(e)){let e=t[n];n===`key`?typeof a==`string`&&typeof e==`string`&&a!==e&&R.test(a)&&R.test(e)&&r.set(e,a):i(a,e)}};for(let n of e.agents)i(t.agents[n.key],n);for(let n of e.toolSpecs)i(t.tools[n.key],n);if(r.size===0)return e;for(let[e,t]of r)n=n.split(e).join(t)}return JSON.parse(n)}var U=e=>Array.isArray(e)&&e.every(e=>typeof e==`string`)&&new Set(e).size===e.length,W=e=>Array.isArray(e)&&e.every(e=>N(e)&&typeof e.key==`string`);function G(e,t,n,r,i){if(M(e,n)||M(t,n))return t;if(N(e)&&N(t)&&N(n)){let a={};for(let o of new Set([...Object.keys(n),...Object.keys(t),...Object.keys(e)])){let s=G(e[o],t[o],n[o],[...r,o],i);s!==void 0&&(a[o]=s)}return a}if(W(e)&&W(t)&&W(n)){let a=new Map(e.map(e=>[e.key,e])),o=new Map(n.map(e=>[e.key,e])),s=[];for(let e of t){let[t,n]=[a.get(e.key),o.get(e.key)],c=[...r,s.length];t?n?s.push(G(t,e,n,c,i)):M(e,t)?i.updated(c):(i.conflict(c,e,void 0),s.push(e)):s.push(e)}let c=new Set(t.map(e=>e.key)),l=s.length;for(let e of n){if(c.has(e.key))continue;let t=a.get(e.key);t?M(e,t)||i.conflict([...r,l++],void 0,e):(i.updated([...r,s.length]),s.push(e),l+=1)}return s}if(M(e,t))return i.updated(r),n;if(U(e)&&U(t)&&U(n)){let a=e.filter(e=>!n.includes(e)),o=n.filter(n=>!e.includes(n)&&!t.includes(n));return i.updated(r),[...t.filter(e=>!a.includes(e)),...o]}return i.conflict(r,t,n),t}function K(e){let t=new Set(e.agents.map(e=>e.key)),n=e.toolSpecs.filter(e=>e.toolType!==`agent`||t.has(e.agentKey??``)),r=new Set(n.map(e=>e.key)),i=e.agents.map(e=>{let n=e.tools.allow.filter(e=>r.has(e)),i=e.modelBindings.map(e=>e.compactWith&&!t.has(e.compactWith)?{...e,compactWith:void 0}:e),a={...e,tools:{...e.tools,allow:n},modelBindings:i};return M(a,e)?e:a}),a=C({...e,agents:i,toolSpecs:n}),o=i[0];return{...a,selected:g(a,a.selected)||!o?a.selected:p(o.key),chatWith:t.has(a.chatWith)||!o?a.chatWith:o.key}}function le(e,t,n){let r=H(V(F(t,e),e),e.starts),i=[],a=[],o=(e,t,n,r,o,s,c,l)=>{let u=new Map(s.map(e=>[t(e),e])),d=new Set(r.map(e=>t(e))),f=new Set(r.map(e=>n(o[t(e)]??e))),p=new Set(l?.map(n)),m=[],h={...c};for(let s of r){let[r,c]=[o[t(s)],u.get(t(s))],l={kind:e,key:t(s),name:n(c??r??s)};!r||!c&&!p.has(n(r))?(m.push(s),h[t(s)]=r??s):c?m.push(G(r,s,c,[],{updated:e=>i.push({...l,path:e}),conflict:(e,t,n)=>a.push({...l,path:e,mine:t,theirs:n})})):M(s,r)?i.push({...l,path:[]}):(a.push({...l,path:[],mine:s,theirs:void 0}),m.push(s),h[t(s)]=r)}let g=e=>{let r=o[t(e)]??l?.find(t=>n(t)===n(e)&&!f.has(n(t)));if(r)return z(r)===z(e)?`unchanged`:`changed`};for(let r of s){if(d.has(t(r)))continue;let o={kind:e,key:t(r),name:n(r),path:[]},s=g(r);s===`changed`?a.push({...o,mine:void 0,theirs:r}):s===void 0&&(m.push(r),i.push(o))}return{held:m,starts:h}},s=o(`agent`,x,e=>e.identity.agentId,e.agents,e.starts.agents,r.agents,r.starts.agents,n?.agents),c=o(`tool`,x,e=>e.toolName,e.toolSpecs,e.starts.tools,r.toolSpecs,r.starts.tools,n?.toolSpecs),l=o(`provider`,S,S,e.providers,e.starts.providers,r.providers,r.starts.providers,n?.providers);return{workspace:K({...e,agents:s.held,toolSpecs:c.held,providers:l.held,starts:{agents:s.starts,tools:c.starts,providers:l.starts}}),updated:i,conflicts:a,files:r}}var q=Object.freeze({gone:!0});function J(e){if(Array.isArray(e))return e.filter(e=>e!==q).map(J);if(!N(e))return e;let t=Object.entries(e).map(([e,t])=>[e,J(t)]);return Object.fromEntries(t)}function Y(e,t,n){let[r,...i]=t;if(r===void 0)return n;if(Array.isArray(e))return typeof r==`number`&&r>=e.length?n===void 0?e:[...e,n]:e.map((e,t)=>t===r?i.length===0&&n===void 0?q:Y(e,i,n):e);let a={...N(e)?e:{}},o=Y(a[r],i,n);return o===void 0?delete a[r]:a[r]=o,a}function ue(e,t){let{agents:n,toolSpecs:r,providers:i}=e.workspace,a={agents:{...e.workspace.starts.agents},tools:{...e.workspace.starts.tools},providers:{...e.workspace.starts.providers}},o=(e,t,n,r)=>r.path.length>0?t.map(t=>e(t)===r.key?Y(t,r.path,r.theirs):t):r.theirs===void 0?(delete n[r.key],t.filter(t=>e(t)!==r.key)):(n[r.key]=r.theirs,[...t,r.theirs]);for(let s of new Set(t)){let t=e.conflicts[s];if(t){if(t.kind===`tool`)r=o(x,r,a.tools,t);else if(t.kind===`provider`)i=o(S,i,a.providers,t);else{if(n=o(x,n,a.agents,t),t.path.length>0||t.theirs===void 0)continue;let i=new Set(r.map(e=>e.key)),s=e.files.toolSpecs.filter(e=>e.toolType===`agent`&&e.agentKey===t.key&&!i.has(e.key));for(let e of s)a.tools[e.key]=e;r=[...r,...s],n=n.map(t=>{let n=e.files.agents.find(e=>e.key===t.key)?.tools.allow??[],r=s.map(e=>e.key).filter(e=>n.includes(e)&&!t.tools.allow.includes(e));return r.length?{...t,tools:{...t.tools,allow:[...t.tools.allow,...r]}}:t})}}}return[n,r]=[J(n),J(r)],K({...e.workspace,agents:n,toolSpecs:r,providers:i,starts:a})}function de(e,t){let n=e.starts.tools[t],r=e.toolSpecs.find(e=>e.key===t);if(!n||!r)return e;let i=e.toolSpecs.filter(e=>e.key!==t).map(e=>e.toolName),a={...n,toolName:l(n.toolName,i,e=>`${n.toolName}_${e}`)};return M(a,r)?e:{...e,toolSpecs:e.toolSpecs.map(e=>e.key===t?a:e)}}function X(e,t){let n=e.providers.find(e=>e.id===t.id);return!n||M(n,t)?e:{...e,providers:e.providers.map(e=>e.id===t.id?t:e)}}function Z(e,t){let n=e.agents.map(e=>w(e).filter(e=>e===t).length);return{models:n.reduce((e,t)=>e+t,0),agents:n.filter(e=>e>0).length}}function fe(e,t,n,r,i){let a=e=>e.provider===r&&e.apiId.trim()===i.trim();return{models:(e.agents.find(e=>e.key===t)?.modelBindings??[]).filter(e=>e.key!==n&&a(e)).map(e=>e.modelId.trim()||`new`),agents:e.agents.filter(e=>e.key!==t&&e.modelBindings.some(a)).map(e=>e.identity.agentId.trim()||`New agent`)}}function pe(e,t){return{id:l(`provider`,e,e=>`provider_${e}`),definition:t,connection:{}}}function me(e,t){return e.providers.some(e=>e.id===t.id)?e:C({...e,providers:[...e.providers,t],selected:s(t.id)})}function he(e,t){return!e.providers.some(e=>e.id===t)||Z(e,t).models>0?e:C({...e,providers:e.providers.filter(e=>e.id!==t),selected:e.selected===s(t)?p(e.agents[0]?.key??``):e.selected})}function Q(e,t,n){let r=n.trim();if(!e.providers.some(e=>e.id===t)||!r||e.providers.some(e=>e.id===r))return e;let{[t]:i,...a}=e.starts.providers,o=e=>e.provider===t;return{...e,providers:e.providers.map(e=>e.id===t?{...e,id:r}:e),agents:e.agents.map(e=>e.modelBindings.some(o)?{...e,modelBindings:e.modelBindings.map(e=>o(e)?{...e,provider:r}:e)}:e),selected:e.selected===s(t)?s(r):e.selected,starts:{...e.starts,providers:i?{...a,[r]:{...i,id:r}}:a}}}function ge(e){return e.providers.flatMap(t=>{let n=e.starts.providers[t.id];return n&&M(n,t)?[t.id]:[]})}function _e(e,t){let n=e.starts.providers[t];return n?X(e,n):e}function $(e,t){return{...t,id:p(e,t.id),children:t.children.map(t=>$(e,t))}}function ve(e,t){let r=$(e.key,n(_(e,[],t)));return e.identity.agentId.trim()?r:{...r,label:`New agent`}}function ye(e){return{agents:e.agents.map(t=>ve(t,e.providers)),tools:r(e.toolSpecs)}}export{ue as A,se as C,A as D,h as E,d as F,X as M,g as N,ae as O,ye as P,oe as S,_e as T,k as _,ie as a,Q as b,I as c,le as d,fe as f,ce as g,ge as h,p as i,re as j,te as k,ne as l,Z as m,me as n,O as o,pe as p,ee as r,L as s,D as t,E as u,j as v,de as w,F as x,he as y};
package/page/index.html CHANGED
@@ -10,7 +10,7 @@
10
10
  href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='7' fill='%23000'/%3E%3Cg transform='translate(4 4)' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4.5 18.5c2 0 3-1.2 4.2-3.4l2.6-5c1-1.9 2.1-3.1 4.2-3.1'/%3E%3Cpath d='M5.5 8.2c1.6-.9 3.2-.4 3.8 1.6l2.3 6.6c.6 1.7 2.1 2.4 3.9 1.7'/%3E%3Ccircle cx='19.5' cy='4.5' r='1.6' fill='%23fff' stroke='none'/%3E%3C/g%3E%3C/svg%3E"
11
11
  />
12
12
  <title>theorem studio</title>
13
- <script type="module" crossorigin src="/studio/assets/index-BmHkdZXS.js"></script>
13
+ <script type="module" crossorigin src="/studio/assets/index-CvvmFKgS.js"></script>
14
14
  <link rel="modulepreload" crossorigin href="/studio/assets/rolldown-runtime-hePW80VL.js">
15
15
  <link rel="modulepreload" crossorigin href="/studio/assets/themeProps-3IqahpCr.js">
16
16
  <link rel="modulepreload" crossorigin href="/studio/assets/tokens.stylex-DkHf0P9C.js">
@@ -44,30 +44,30 @@
44
44
  <link rel="modulepreload" crossorigin href="/studio/assets/SidePanel-BL32abk8.js">
45
45
  <link rel="modulepreload" crossorigin href="/studio/assets/IconAlertTriangle-BqAEqqdU.js">
46
46
  <link rel="modulepreload" crossorigin href="/studio/assets/labels-provider-4TIWDvsE.js">
47
- <link rel="modulepreload" crossorigin href="/studio/assets/Banner-ChigGVCM.js">
47
+ <link rel="modulepreload" crossorigin href="/studio/assets/Banner-BISz3nXA.js">
48
48
  <link rel="modulepreload" crossorigin href="/studio/assets/arrive-DvbqpeRS.js">
49
49
  <link rel="modulepreload" crossorigin href="/studio/assets/Center-nHS1JSux.js">
50
50
  <link rel="modulepreload" crossorigin href="/studio/assets/IconSearch-BTx66a40.js">
51
51
  <link rel="modulepreload" crossorigin href="/studio/assets/schemas-BQ9Jydzb.js">
52
- <link rel="modulepreload" crossorigin href="/studio/assets/host-patterns-DCz9Cmrt.js">
53
- <link rel="modulepreload" crossorigin href="/studio/assets/shaped-data-BO_JTcQq.js">
54
- <link rel="modulepreload" crossorigin href="/studio/assets/tool-schema-BF2BK9h8.js">
55
- <link rel="modulepreload" crossorigin href="/studio/assets/live-ingress-DsA4_80F.js">
52
+ <link rel="modulepreload" crossorigin href="/studio/assets/host-patterns-C9RMP16Q.js">
53
+ <link rel="modulepreload" crossorigin href="/studio/assets/shaped-data-BcarWqd5.js">
54
+ <link rel="modulepreload" crossorigin href="/studio/assets/tool-schema-idaOe2nI.js">
55
+ <link rel="modulepreload" crossorigin href="/studio/assets/live-ingress-lDUGPwth.js">
56
56
  <link rel="modulepreload" crossorigin href="/studio/assets/trace-schema-9CdEyG6Q.js">
57
- <link rel="modulepreload" crossorigin href="/studio/assets/stub-DDddt29Y.js">
58
- <link rel="modulepreload" crossorigin href="/studio/assets/reader-CN15b9m8.js">
59
- <link rel="modulepreload" crossorigin href="/studio/assets/tree-D1IYOD_9.js">
60
- <link rel="modulepreload" crossorigin href="/studio/assets/types-CBmpjaet.js">
57
+ <link rel="modulepreload" crossorigin href="/studio/assets/stub-DhdcU_Ew.js">
58
+ <link rel="modulepreload" crossorigin href="/studio/assets/reader-BOCCYaRp.js">
59
+ <link rel="modulepreload" crossorigin href="/studio/assets/tree-DqyAMsbI.js">
60
+ <link rel="modulepreload" crossorigin href="/studio/assets/types-BhfXQCLx.js">
61
61
  <link rel="modulepreload" crossorigin href="/studio/assets/useScrollLock-Dyf6PHJt.js">
62
62
  <link rel="modulepreload" crossorigin href="/studio/assets/useContainerReveal-BFy8N_QU.js">
63
- <link rel="modulepreload" crossorigin href="/studio/assets/browser-transport-Bn77Eq5d.js">
63
+ <link rel="modulepreload" crossorigin href="/studio/assets/browser-transport-D-2jDYe7.js">
64
64
  <link rel="modulepreload" crossorigin href="/studio/assets/Dialog-DELWQo-v.js">
65
65
  <link rel="modulepreload" crossorigin href="/studio/assets/HoverCard-D1Y1ltWQ.js">
66
66
  <link rel="modulepreload" crossorigin href="/studio/assets/CheckboxInput-Cj5pk-KI.js">
67
67
  <link rel="modulepreload" crossorigin href="/studio/assets/IconEye-BB5aY-wQ.js">
68
- <link rel="modulepreload" crossorigin href="/studio/assets/encode-files-Dq98bb-f.js">
69
- <link rel="modulepreload" crossorigin href="/studio/assets/turn-client-BMBqw-ho.js">
70
- <link rel="modulepreload" crossorigin href="/studio/assets/workspace-BMzjmPeQ.js">
68
+ <link rel="modulepreload" crossorigin href="/studio/assets/encode-files-Bc3HJyAh.js">
69
+ <link rel="modulepreload" crossorigin href="/studio/assets/turn-client-Du3Um3Mg.js">
70
+ <link rel="modulepreload" crossorigin href="/studio/assets/workspace-DZALqEDX.js">
71
71
  <link rel="modulepreload" crossorigin href="/studio/assets/lent-keys-C32ems-I.js">
72
72
  <link rel="modulepreload" crossorigin href="/studio/assets/editors-BJX_S59A.js">
73
73
  <link rel="modulepreload" crossorigin href="/studio/assets/EmptyState-C8W4JKBZ.js">
@@ -75,7 +75,7 @@
75
75
  <link rel="modulepreload" crossorigin href="/studio/assets/useAdaptivePresentation-BzmPCddb.js">
76
76
  <link rel="modulepreload" crossorigin href="/studio/assets/Section-DJ97F7QE.js">
77
77
  <link rel="modulepreload" crossorigin href="/studio/assets/CollapsibleGroup-N7_SOjbm.js">
78
- <link rel="modulepreload" crossorigin href="/studio/assets/ContextMenu-BcXTDSnA.js">
78
+ <link rel="modulepreload" crossorigin href="/studio/assets/ContextMenu-CBu9H-9H.js">
79
79
  <link rel="modulepreload" crossorigin href="/studio/assets/BottomSheet-BwfBDtje.js">
80
80
  <link rel="stylesheet" crossorigin href="/studio/assets/PaneState-eUzUkNE8.css">
81
81
  <link rel="stylesheet" crossorigin href="/studio/assets/index-DOaHlqBo.css">