1"use strict";(self.webpackChunklamtakam_ai=self.webpackChunklamtakam_ai||[]).push([[6302],{36302:(e,t,n)=>{n.d(t,{SandboxAgent:()=>ie});var i=n(64467),s=n(2978),o=n(39035),a=n(73066);function r(e){if(!e)return!1;return!("object"===typeof e&&e&&"constructor"in e&&"function"===typeof e.constructor?e.constructor.name:"").includes("ChatCompletions")}class l{}class c extends l{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.9,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:24e4;super(),(0,i.A)(this,"thresholdRatio",void 0),(0,i.A)(this,"fallbackThreshold",void 0),this.thresholdRatio=e,this.fallbackThreshold=t}compactThreshold(e){if(!e)return this.fallbackThreshold;const t=p.forModel(e);return t?Math.floor(t.contextWindow*this.thresholdRatio):this.fallbackThreshold}}class p{constructor(e){(0,i.A)(this,"contextWindow",void 0),this.contextWindow=e}static forModel(e){for(const t of function(e){const t=e.trim();if(!t)return[];const n=(t.includes("/")?t.slice(t.lastIndexOf("/")+1):t).toLowerCase(),i=n.replace(/-[0-9]{4}-[0-9]{2}-[0-9]{2}$/,"");return[...new Set([n,i])]}(e)){if(h.has(t))return new p(1047576);if(f.has(t))return new p(4e5);if(m.has(t))return new p(2e5);if(g.has(t))return new p(128e3)}}}class d extends a.n{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new c;super(),(0,i.A)(this,"type","compaction"),(0,i.A)(this,"policy",void 0),this.policy=e}samplingParams(e){if(e.modelInstance&&((t=e.modelInstance)&&("object"===typeof t&&t&&"constructor"in t&&"function"===typeof t.constructor?t.constructor.name:"").includes("ChatCompletions")))return{};var t;const n="string"===typeof e.model?e.model:void 0;return{context_management:[{type:"compaction",compact_threshold:this.policy.compactThreshold(n)}]}}processContext(e){let t=-1;for(let n=0;n<e.length;n+=1)"compaction"===e[n].type&&(t=n);return-1===t?e:e.slice(t)}}function u(){return new d((arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).policy)}const h=new Set(["gpt-5.6","gpt-5.6-sol","gpt-5.6-terra","gpt-5.6-luna","gpt-5.4","gpt-5.4-2026-03-05","gpt-5.4-pro","gpt-5.4-pro-2026-03-05","gpt-4.1","gpt-4.1-2025-04-14","gpt-4.1-mini","gpt-4.1-mini-2025-04-14","gpt-4.1-nano","gpt-4.1-nano-2025-04-14"]),f=new Set(["gpt-5","gpt-5-codex","gpt-5-mini","gpt-5-nano","gpt-5-pro","gpt-5.1","gpt-5.1-codex","gpt-5.1-codex-max","gpt-5.1-codex-mini","gpt-5.2","gpt-5.2-codex","gpt-5.2-codex-cyber","gpt-5.2-pro","gpt-5.3-codex","gpt-5.3-codex-spark","gpt-5.4-mini","gpt-5.4-nano"]),m=new Set(["codex-mini-latest","o1","o1-2024-12-17","o1-pro","o3","o3-2025-04-16","o3-mini","o3-pro","o3-deep-research","o4-mini","o4-mini-2025-04-16","o4-mini-deep-research"]),g=new Set(["gpt-4o","gpt-4o-2024-08-06","gpt-4o-mini","gpt-4o-mini-2024-07-18","gpt-5-chat-latest","gpt-5.1-chat-latest","gpt-5.2-chat-latest","gpt-5.3-chat-latest"]);var y=n(89379),k=n(14288),v=n(24773),b=n(40438),w=n(68337),_=n(72239),x=n(17902),I=n(39360);const A={type:"object",properties:{patch:{type:"string",description:"A freeform apply_patch payload wrapped in *** Begin Patch and *** End Patch."},operation:{type:"object",description:"A single structured apply_patch operation."},operations:{type:"array",items:{type:"object"},description:"Structured apply_patch operations to apply in order."},command:{type:"array",description:'Optional ["apply_patch", patch] command tuple form.'},type:{type:"string",enum:["create_file","update_file","delete_file"],description:"The patch operation to apply."},path:{type:"string",description:"The sandbox file path to patch."},diff:{type:"string",description:"The V4A patch diff for create_file and update_file operations."},moveTo:{type:"string",description:"Optional destination path for update_file move operations."}},required:[],additionalProperties:!0},$="*** Begin Patch",T="*** End Patch",S="*** Add File: ",L="*** Delete File: ",M="*** Update File: ",C="*** Move to: ";function P(e){if(e instanceof Error)return e.message||e.toString();try{return JSON.stringify(e)}catch(t){return String(e)}}function W(e){const t=e.trimStart();if(t.startsWith($))return D(t);let n;try{n=JSON.parse(e)}catch(i){return{ok:!1,error:"Invalid apply_patch JSON: ".concat(P(i))}}return function(e){if("string"===typeof e)return D(e);if(Array.isArray(e))return z(e);if(!(0,I.u4)(e))return{ok:!1,error:"apply_patch input must be an object or array."};if("string"===typeof e.patch)return D(e.patch);if(Array.isArray(e.command)){const[t,n]=e.command;if("apply_patch"===t&&"string"===typeof n)return D(n)}if(Array.isArray(e.operations))return z(e.operations);if(void 0!==e.operation)return z([e.operation]);return z([e])}(n)}function z(e){const t=[];for(const n of e){const e=w.sZ.safeParse(n);if(!e.success)return{ok:!1,error:"Invalid apply_patch operation: ".concat(e.error.message)};t.push(e.data)}return 0===t.length?{ok:!1,error:"apply_patch input must include an operation."}:{ok:!0,operations:t}}function D(e){const t=e.split(/\r?\n/);if(""===t.at(-1)&&t.pop(),t[0]!==$)return{ok:!1,error:'apply_patch input must start with "'.concat($,'".')};if(t.length<2||t.at(-1)!==T)return{ok:!1,error:'apply_patch input must end with "'.concat(T,'".')};const n=[];let i=1;for(;i<t.length-1;){const e=t[i];let s;if(e.startsWith(S))s=K(t,i);else if(e.startsWith(L))s=E(t,i);else{if(!e.startsWith(M))return{ok:!1,error:"Invalid apply_patch file operation header: ".concat(e)};s=F(t,i)}if("error"in s)return{ok:!1,error:s.error};n.push(s.operation),i=s.nextIndex}return 0===n.length?{ok:!1,error:"apply_patch input must include at least one file operation."}:{ok:!0,operations:n}}function K(e,t){const n=j(e[t],S);if(!n)return{error:"Missing path in apply_patch header: ".concat(e[t])};t+=1;const i=[];for(;t<e.length-1&&!O(e[t]);){const n=e[t];if(!n.startsWith("+"))return{error:"Invalid Add File line: ".concat(n)};i.push(n),t+=1}return 0===i.length?{error:"Add File patch for ".concat(n," must include at least one + line.")}:{operation:{type:"create_file",path:n,diff:q(i)},nextIndex:t}}function E(e,t){const n=j(e[t],L);return n?(t+=1)<e.length-1&&!O(e[t])?{error:"Delete File patch for ".concat(n," must not include a diff.")}:{operation:{type:"delete_file",path:n},nextIndex:t}:{error:"Missing path in apply_patch header: ".concat(e[t])}}function F(e,t){const n=j(e[t],M);if(!n)return{error:"Missing path in apply_patch header: ".concat(e[t])};let i;if((t+=1)<e.length-1&&e[t].startsWith(C)){const n=j(e[t],C);if(!n)return{error:"Missing path in apply_patch header: ".concat(e[t])};i=n,t+=1}const s=[];for(;t<e.length-1&&!O(e[t]);)s.push(e[t]),t+=1;return 0!==s.length||i?{operation:(0,y.A)({type:"update_file",path:n,diff:s.length>0?q(s):""},i?{moveTo:i}:{}),nextIndex:t}:{error:"Update File patch for ".concat(n," must include a hunk.")}}function j(e,t){const n=e.slice(t.length).trim();return n||null}function O(e){return e.startsWith(S)||e.startsWith(L)||e.startsWith(M)}function q(e){return"".concat(e.join("\n"),"\n")}async function R(e,t,n){var i,s,o;let a;
1try{switch(t.type){case"create_file":a=await e.createFile(t,{runContext:n});break;case"update_file":a=await e.updateFile(t,{runContext:n});break;case"delete_file":a=await e.deleteFile(t,{runContext:n});break;default:return"Unsupported apply_patch operation."}}catch(r){return"Failed to apply patch: ".concat(P(r))}return"failed"===(null===(i=a)||void 0===i?void 0:i.status)?a.output?"Patch failed: ".concat(a.output):"Patch failed.":null!==(s=null===(o=a)||void 0===o?void 0:o.output)&&void 0!==s?s:"Patch applied."}function N(e){const t={type:"function",name:"apply_patch",description:"Applies a create, update, move, or delete file patch in the sandbox workspace. Accepts a freeform patch string or structured apply_patch operations.",parameters:A,strict:!1,deferLoading:!1,needsApproval:async()=>!1,isEnabled:async()=>!0,invoke:async(t,n)=>{const i=W(n);return i.ok?await async function(e,t,n){const i=[];for(const s of t){const t=await R(e,s,n);t&&i.push(t)}return i.join("\n")||"Patch applied."}(e,i.operations,t):i.error}};return t}class B extends a.n{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),(0,i.A)(this,"type","filesystem"),(0,i.A)(this,"configureTools",void 0),this.configureTools=e.configureTools}tools(){var e;const t=(0,a.i)(this.type,this._session),n=null===(e=t.createEditor)||void 0===e?void 0:e.call(t,this._runAs);if(!n)throw new v.yo("Filesystem sandbox sessions must provide createEditor().");const i=[],s=async(e,n)=>{if(!t.viewImage)throw new v.yo("Filesystem sandbox sessions must provide viewImage().");try{return await(0,x.c)("sandbox.view_image",{path:e,run_as:this._runAs},(async()=>await t.viewImage({path:e,runAs:this._runAs})),this.tracingParent(n))}catch(i){return function(e,t){const n=P(t);if(/not found/i.test(n))return"image path `".concat(e,"` was not found");if(/not a file/i.test(n))return"image path `".concat(e,"` is not a file");if(/exceed[s\u017F] the 10 MB limit|exceeded the allowed [s\u017F]ize/i.test(n))return"image path `".concat(e,"` exceeded the allowed size of 10MB; resize or compress the image and try again");if(/un[s\u017F]upported image format|not a [s\u017F]upported image/i.test(n))return"image path `".concat(e,"` is not a supported image file");const i=t instanceof Error?t.name:typeof t;return"unable to read image at `".concat(e,"`: ").concat(i)}(e,i)}};return r(this._modelInstance)?i.push((0,b.z6)({name:"view_image",description:"Returns an image output from a local path in the sandbox workspace.",parameters:k.Ik({path:k.Yj().describe("Local filesystem path to an image file")}),execute:async(e,t,n)=>{let{path:i}=e;return await s(i,n)}})):i.push((0,b.z6)({name:"view_image",description:"Returns an image from a local path in the sandbox workspace as a data URL or reference string.",parameters:k.Ik({path:k.Yj().describe("Local filesystem path to an image file")}),execute:async(e,t,n)=>{let{path:i}=e;return function(e){if("string"===typeof e)return e;const t=e.image;if("string"===typeof t)return t;if(!(0,I.u4)(t))return"No image data was returned by the sandbox session.";const n=t;if("string"===typeof n.url)return n.url;if("string"===typeof n.fileId)return"OpenAI file reference: ".concat(n.fileId);if("string"===typeof n.data){const e="string"===typeof n.mediaType?n.mediaType:"application/octet-stream";return"data:".concat(e,";base64,").concat(n.data)}if(n.data instanceof Uint8Array){const e="string"===typeof n.mediaType?n.mediaType:"application/octet-stream";return"data:".concat(e,";base64,").concat((0,_.x)(n.data))}return"No image data was returned by the sandbox session."}(await s(i,n))}})),r(this._modelInstance)?i.push((0,b.li)({name:"apply_patch",editor:n})):i.push(N(n)),this.configureTools?this.configureTools([...i]):i}}function H(){return new B(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})}const Y=["When using the shell:","- Use `exec_command` for shell execution.","- If available, use `write_stdin` to interact with or poll running sessions.","- To interrupt a long-running process via `write_stdin`, start it with `tty=true` and send Ctrl-C (`\\u0003`).","- Prefer `rg` and `rg --files` for text/file discovery when available.","- Avoid using Python scripts just to print large file chunks."].join("\n");class U extends a.n{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),(0,i.A)(this,"type","shell"),(0,i.A)(this,"configureTools",void 0),this.configureTools=e.configureTools}tools(){var e;const t=(0,a.i)(this.type,this._session);if(!t.execCommand)throw new v.yo("Shell sandbox sessions must provide execCommand().");const n=[(0,b.z6)({name:"exec_command",description:"Runs a command in a PTY, returning output or a session ID for ongoing interaction.",parameters:k.Ik({cmd:k.Yj().min(1).describe("Shell command to execute."),workdir:k.Yj().optional().describe("Optional working directory to run the command in; defaults to the turn cwd."),shell:k.Yj().optional().describe("Shell binary to launch. Defaults to the user's default shell."),login:k.zM().default(!0).describe("Whether to run the shell with -l/-i semantics. Defaults to true."),tty:k.zM().default(!1).describe("Whether to allocate a TTY for the command. Defaults to false (plain pipes); set to true to open a PTY and access TTY process."),yield_time_ms:k.ai().int().min(0).default(1e4).describe("How long to wait (in milliseconds) for output before yielding."),max_output_tokens:k.ai().int().min(1).optional().describe("Maximum number of tokens to return. Excess output will be truncated.")}),execute:async(e,n,i)=>{let{cmd:s,workdir:o,shell:a,login:r,tty:l,yield_time_ms:c,max_output_tokens:p}=e;return await(0,x.c)("sandbox.exec",{cmd:s,workdir:o,shell:a,login:r,tty:l,run_as:this._runAs},(async()=>await t.execCommand({cmd:s,workdir:o,shell:a,login:r,tty:l,yieldTimeMs:c,maxOutputTokens:p,runAs:this._runAs})),this.tracingParent(i))}})];
1return null!==(e=t.supportsPty)&&void 0!==e&&e.call(t)&&t.writeStdin&&n.push((0,b.z6)({name:"write_stdin",description:"Writes characters to an existing unified exec session and returns recent output.",parameters:k.Ik({session_id:k.ai().int().describe("Identifier of the running unified exec session."),chars:k.Yj().default("").describe("Bytes to write to stdin (may be empty to poll)."),yield_time_ms:k.ai().int().min(0).default(250).describe("How long to wait (in milliseconds) for output before yielding."),max_output_tokens:k.ai().int().min(1).optional().describe("Maximum number of tokens to return. Excess output will be truncated.")}),execute:async(e,n,i)=>{let{session_id:s,chars:o,yield_time_ms:a,max_output_tokens:r}=e;return await(0,x.c)("sandbox.write_stdin",{session_id:s},(async()=>await t.writeStdin({sessionId:s,chars:o,yieldTimeMs:a,maxOutputTokens:r})),this.tracingParent(i))}})),this.configureTools?this.configureTools([...n]):n}instructions(){return Y}}function G(){return new U(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})}n(98848),n(75895);var J=n(57528),V=(n(18937),n(57439),n(44465),n(9232));'\n# OPENAI_AGENTS_READ_PATH_PROBE_V1\nLC_ALL=C\nexport LC_ALL\noriginal_path=$path\nresolved_path=\nsymlink_depth=0\nlookup_retries=0\n\nresolve_probe_path() {\n if [ "$symlink_depth" -gt 40 ] || [ "${#1}" -gt 4095 ]; then\n return 2\n fi\n if [ "$1" = / ]; then\n resolved_path=/\n return 0\n fi\n\n parent=${1%/*}\n if [ -z "$parent" ] || [ "$parent" = "$1" ]; then\n parent=/\n fi\n resolve_probe_path "$parent" || return 2\n resolved_parent=$resolved_path\n base=${1##*/}\n if [ "${#base}" -gt 255 ]; then\n return 2\n fi\n if [ "$resolved_parent" = / ]; then\n candidate=/$base\n else\n candidate=$resolved_parent/$base\n fi\n\n if [ -L "$candidate" ]; then\n target_with_marker=$(readlink -n "$candidate" && printf .) || return 2\n target=${target_with_marker%.}\n symlink_depth=$((symlink_depth + 1))\n if [ "$symlink_depth" -gt 40 ]; then\n return 2\n fi\n case "$target" in\n /*) resolve_probe_path "$target" ;;\n *) resolve_probe_path "$resolved_parent/$target" ;;\n esac\n return $?\n fi\n\n resolved_path=$candidate\n}\n\nresolve_probe_path "$path" || exit 2\npath=$resolved_path\ncandidate=$path\nchild=\n\nwhile :; do\n if [ -e "$candidate" ]; then\n if [ "$candidate" = "$path" ]; then\n exit 0\n fi\n if [ ! -d "$candidate" ] || [ ! -x "$candidate" ]; then\n exit 2\n fi\n lookup_result=$(\n find "$child" -prune -print 2>&1 >/dev/null\n lookup_status=$?\n printf \'.%s\' "$lookup_status"\n )\n lookup_status=${lookup_result##*.}\n lookup_error=${lookup_result%.*}\n if [ "$lookup_status" -eq 0 ]; then\n if [ "$lookup_retries" -ge 1 ]; then\n exit 2\n fi\n lookup_retries=$((lookup_retries + 1))\n resolved_path=\n symlink_depth=0\n resolve_probe_path "$original_path" || exit 2\n path=$resolved_path\n candidate=$path\n child=\n continue\n fi\n if [ "$lookup_status" -eq 1 ]; then\n lookup_error=$(printf %s "$lookup_error")\n case "$lookup_error" in\n *": No such file or directory") exit 1 ;;\n esac\n fi\n exit 2\n fi\n if [ "$candidate" = / ]; then\n exit 2\n fi\n child=$candidate\n candidate=${candidate%/*}\n if [ -z "$candidate" ]; then\n candidate=/\n fi\ndone\n'.trim();var Z,Q,X,ee=n(31662);a.n;(0,ee.J1)(Z||(Z=(0,J.A)(["\nA skill is a set of local instructions to follow that is stored in a `SKILL.md` file. Below is the list of skills that can be used. Each entry includes a name, description, and file path so you can open the source for full instructions when using a specific skill.\n"],["\nA skill is a set of local instructions to follow that is stored in a \\`SKILL.md\\` file. Below is the list of skills that can be used. Each entry includes a name, description, and file path so you can open the source for full instructions when using a specific skill.\n"]))),(0,ee.J1)(Q||(Q=(0,J.A)(["\n### How to use skills\n- Discovery: The list above is the skills available in this session (name + description + file path). Skill bodies live on disk at the listed paths.\n- Trigger rules: If the user names a skill (with `$SkillName` or plain text) OR the task clearly matches a skill's description shown above, you must use that skill for that turn. Multiple mentions mean use them all. Do not carry skills across turns unless re-mentioned.\n- Missing/blocked: If a named skill isn't in the list or the path can't be read, say so briefly and continue with the best fallback.\n- How to use a skill (progressive disclosure):\n 1) After deciding to use a skill, open its `SKILL.md`. Read only enough to follow the workflow.\n 2) If `SKILL.md` points to extra folders such as `references/`, load only the specific files needed for the request; don't bulk-load everything.\n 3) If `scripts/` exist, prefer running or patching them instead of retyping large code blocks.\n 4) If `assets/` or templates exist, reuse them instead of recreating from scratch.\n- Coordination and sequencing:\n - If multiple skills apply, cho
1ose the minimal set that covers the request and state the order you'll use them.\n - Announce which skill(s) you're using and why (one short line). If you skip an obvious skill, say why.\n- Context hygiene:\n - Keep context small: summarize long sections instead of pasting them; only load extra files when needed.\n - Avoid deep reference-chasing: prefer opening only files directly linked from `SKILL.md` unless you're blocked.\n - When variants exist (frameworks, providers, domains), pick only the relevant reference file(s) and note that choice.\n- Safety and fallback: If a skill can't be applied cleanly (missing files, unclear instructions), state the issue, pick the next-best approach, and continue.\n"],["\n### How to use skills\n- Discovery: The list above is the skills available in this session (name + description + file path). Skill bodies live on disk at the listed paths.\n- Trigger rules: If the user names a skill (with \\`$SkillName\\` or plain text) OR the task clearly matches a skill's description shown above, you must use that skill for that turn. Multiple mentions mean use them all. Do not carry skills across turns unless re-mentioned.\n- Missing/blocked: If a named skill isn't in the list or the path can't be read, say so briefly and continue with the best fallback.\n- How to use a skill (progressive disclosure):\n 1) After deciding to use a skill, open its \\`SKILL.md\\`. Read only enough to follow the workflow.\n 2) If \\`SKILL.md\\` points to extra folders such as \\`references/\\`, load only the specific files needed for the request; don't bulk-load everything.\n 3) If \\`scripts/\\` exist, prefer running or patching them instead of retyping large code blocks.\n 4) If \\`assets/\\` or templates exist, reuse them instead of recreating from scratch.\n- Coordination and sequencing:\n - If multiple skills apply, cho
1ose the minimal set that covers the request and state the order you'll use them.\n - Announce which skill(s) you're using and why (one short line). If you skip an obvious skill, say why.\n- Context hygiene:\n - Keep context small: summarize long sections instead of pasting them; only load extra files when needed.\n - Avoid deep reference-chasing: prefer opening only files directly linked from \\`SKILL.md\\` unless you're blocked.\n - When variants exist (frameworks, providers, domains), pick only the relevant reference file(s) and note that choice.\n- Safety and fallback: If a skill can't be applied cleanly (missing files, unclear instructions), state the issue, pick the next-best approach, and continue.\n"]))),(0,ee.J1)(X||(X=(0,J.A)(["\n### How to use skills\n- Discovery: The list above is the skill index available in this session (name + description + workspace path). In lazy mode, those paths are loaded on demand instead of being present up front.\n- Trigger rules: If the user names a skill (with `$SkillName` or plain text) OR the task clearly matches a skill's description shown above, you must use that skill for that turn. Multiple mentions mean use them all. Do not carry skills across turns unless re-mentioned.\n- Missing/blocked: If a named skill isn't in the list or the path can't be read, say so briefly and continue with the best fallback.\n- How to use a skill (progressive disclosure):\n 1) After deciding to use a lazy skill, call `load_skill` for that skill first, then open its `SKILL.md`.\n 2) If `SKILL.md` points to extra folders such as `references/`, load only the specific files needed for the request; don't bulk-load everything.\n 3) If `scripts/` exist, prefer running or patching them instead of retyping large code blocks.\n 4) If `assets/` or templates exist, reuse them instead of recreating from scratch.\n- Coordination and sequencing:\n - If multiple skills apply, cho
1ose the minimal set that covers the request and state the order you'll use them.\n - Announce which skill(s) you're using and why (one short line). If you skip an obvious skill, say why.\n- Context hygiene:\n - Keep context small: summarize long sections instead of pasting them; only load extra files when needed.\n - Avoid deep reference-chasing: prefer opening only files directly linked from `SKILL.md` unless you're blocked.\n - When variants exist (frameworks, providers, domains), pick only the relevant reference file(s) and note that choice.\n- Safety and fallback: If a skill can't be applied cleanly (missing files, unclear instructions), state the issue, pick the next-best approach, and continue.\n"],["\n### How to use skills\n- Discovery: The list above is the skill index available in this session (name + description + workspace path). In lazy mode, those paths are loaded on demand instead of being present up front.\n- Trigger rules: If the user names a skill (with \\`$SkillName\\` or plain text) OR the task clearly matches a skill's description shown above, you must use that skill for that turn. Multiple mentions mean use them all. Do not carry skills across turns unless re-mentioned.\n- Missing/blocked: If a named skill isn't in the list or the path can't be read, say so briefly and continue with the best fallback.\n- How to use a skill (progressive disclosure):\n 1) After deciding to use a lazy skill, call \\`load_skill\\` for that skill first, then open its \\`SKILL.md\\`.\n 2) If \\`SKILL.md\\` points to extra folders such as \\`references/\\`, load only the specific files needed for the request; don't bulk-load everything.\n 3) If \\`scripts/\\` exist, prefer running or patching them instead of retyping large code blocks.\n 4) If \\`assets/\\` or templates exist, reuse them instead of recreating from scratch.\n- Coordination and sequencing:\n - If multiple skills apply, cho
1ose the minimal set that covers the request and state the order you'll use them.\n - Announce which skill(s) you're using and why (one short line). If you skip an obvious skill, say why.\n- Context hygiene:\n - Keep context small: summarize long sections instead of pasting them; only load extra files when needed.\n - Avoid deep reference-chasing: prefer opening only files directly linked from \\`SKILL.md\\` unless you're blocked.\n - When variants exist (frameworks, providers, domains), pick only the relevant reference file(s) and note that choice.\n- Safety and fallback: If a skill can't be applied cleanly (missing files, unclear instructions), state the issue, pick the next-best approach, and continue.\n"])));const te={default:function(){return[H(),G(),u()]}};var ne=n(37744);class ie extends s.g{constructor(e){var t,n;if(super(e),(0,i.A)(this,o.W,!0),(0,i.A)(this,"defaultManifest",void 0),(0,i.A)(this,"baseInstructions",void 0),(0,i.A)(this,"capabilities",void 0),(0,i.A)(this,"runAs",void 0),(0,i.A)(this,"runtimeManifest",void 0),void 0!==e.baseInstructions&&"string"!==typeof e.baseInstructions&&"function"!==typeof e.baseInstructions)throw new TypeError("SandboxAgent baseInstructions must be a string or function.");this.defaultManifest=e.defaultManifest?(0,V.TA)(e.defaultManifest):void 0,this.baseInstructions=e.baseInstructions,this.capabilities=null!==(t=e.capabilities)&&void 0!==t?t:te.default(),this.runAs=function(e){if(void 0===e)return;if("string"===typeof e){const t=e.trim();if(!t)throw new TypeError("SandboxAgent runAs must be non-empty.");return t}return(0,ne.hz)(e)}(e.runAs),this.runtimeManifest=null!==(n=this.defaultManifest)&&void 0!==n?n:new V._8}clone(e){var t,n,i,s,o,a,r,l,c,p,d,u,h,f,m,g,y,k,v;return new ie({name:null!==(t=e.name)&&void 0!==t?t:this.name,instructions:null!==(n=e.instructions)&&void 0!==n?n:this.instructions,prompt:null!==(i=e.prompt)&&void 0!==i?i:this.prompt,handoffDescription:null!==(s=e.handoffDescription)&&void 0!==s?s:this.handoffDescription,handoffs:null!==(o=e.handoffs)&&void 0!==o?o:this.handoffs,model:null!==(a=e.model)&&void 0!==a?a:this.model,modelSettings:null!==(r=e.modelSettings)&&void 0!==r?r:this.modelSettings,tools:null!==(l=e.tools)&&void 0!==l?l:this.tools,mcpServers:null!==(c=e.mcpServers)&&void 0!==c?c:this.mcpServers,mcpConfig:null!==(p=e.mcpConfig)&&void 0!==p?p:this.mcpConfig,inputGuardrails:null!==(d=e.inputGuardrails)&&void 0!==d?d:this.inputGuardrails,outputGuardrails:null!==(u=e.outputGuardrails)&&void 0!==u?u:this.outputGuardrails,outputType:null!==(h=e.outputType)&&void 0!==h?h:this.outputType,toolUseBehavior:null!==(f=e.toolUseBehavior)&&void 0!==f?f:this.toolUseBehavior,resetToolChoice:null!==(m=e.resetToolChoice)&&void 0!==m?m:this.resetToolChoice,defaultManifest:null!==(g=e.defaultManifest)&&void 0!==g?g:this.defaultManifest,baseInstructions:null!==(y=e.baseInstructions)&&void 0!==y?y:this.baseInstructions,capabilities:null!==(k=e.capabilities)&&void 0!==k?k:this.capabilities,runAs:null!==(v=e.runAs)&&void 0!==v?v:this.runAs})}}}}]); 2//# sourceMappingURL=6302.3523221c.chunk.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.