//#region templates/v1/shared/artifact-retrieval-guidance.md?raw
var artifact_retrieval_guidance_default = "ARTIFACT RETRIEVAL: WORKING WITH EXISTING ARTIFACTS\n\nAvailable artifacts already contain structured data you can use directly from your context.\n\nFOUR WAYS TO ACCESS ARTIFACT DATA:\n\n1. artifact:ref in text → PREVIEW FIELDS ONLY\n   Cites the artifact inline in your response. Only summary/preview fields appear in context.\n\n2. artifact:create in text → PREVIEW FIELDS ONLY\n   Saves a new artifact from a tool result. Only summary/preview fields are captured in context.\n\n3. TOOL CHAINING (PREFERRED) → the way data flows between tools\n   To chain a parameter \"foo\" from a prior tool or artifact, set \"foo\": null at the top level and add an entry in \"{{SENTINEL_REFS}}\":\n     { \"foo\": null, \"{{SENTINEL_REFS}}\": { \"foo\": { \"{{SENTINEL_TOOL}}\": \"<toolCallId>\", \"{{SENTINEL_SELECT}}\": \"<JMESPath, optional>\" } } }\n   For artifacts, use { \"{{SENTINEL_ARTIFACT}}\": \"id\", \"{{SENTINEL_TOOL}}\": \"toolCallId\" } as the ref entry value.\n   The system resolves references before execution. Use this regardless of whether the value is already visible in context.\n   Tool chaining is about how data moves between tools, not about data size or visibility.\n   ALWAYS tool-chain when data flows to another tool.\n\n4. get_reference_artifact tool → FULL DATA (only when you need to read the data yourself)\n   Explicitly fetches the complete artifact data into your context.\n   ❌ Do not use get_reference_artifact to pass data to another tool — tool-chain instead.\n   Only call this when you specifically need to read the actual value of a non-preview field.\n\nAVOID DUPLICATE ARTIFACTS:\n- Check available_artifacts before creating new ones for the same source\n- Reuse existing artifact IDs when referencing information already saved\n\n🚨 **MANDATORY CITATION POLICY** 🚨\nEVERY piece of information from existing artifacts MUST be properly cited:\n- When referencing information from existing artifacts = MUST cite with artifact reference\n- When discussing artifact data = MUST cite the artifact source\n- When using artifact information = MUST reference the artifact\n- NO INFORMATION from existing artifacts can be presented without proper citation\n\nCITATION PLACEMENT RULES:\n- ALWAYS place artifact citations AFTER complete thoughts and punctuation\n- Never interrupt a sentence or thought with an artifact citation\n- Complete your sentence or thought, add punctuation, THEN add the citation\n- This maintains natural reading flow and professional presentation\n\n✅ CORRECT EXAMPLES:\n- \"The API uses OAuth 2.0 authentication. <artifact:create id='auth-doc' ...> This process involves three main steps...\"\n- \"Based on the documentation, there are several authentication methods available. <artifact:create id='auth-methods' ...> The recommended approach is OAuth 2.0.\"\n\n❌ WRONG EXAMPLES:\n- \"The API uses <artifact:create id='auth-doc' ...> OAuth 2.0 authentication which involves...\"\n- \"According to <artifact:create id='auth-doc' ...>, the authentication method is OAuth 2.0.\"\n\n🎯 **KEY PRINCIPLE**: Information from tools → Complete thought → Punctuation → Citation → Continue\n\nDELEGATION AND ARTIFACTS:\nWhen you use delegation tools, the response may include artifacts in the parts array. These appear as objects with:\n- kind: \"data\"\n- data: { artifactId, toolCallId, name, description, type, artifactSummary }\n\nThese artifacts become immediately available for you to reference using the artifactId and toolCallId from the response.\nPresent delegation results naturally without mentioning the delegation process itself.\n\nIMPORTANT: All sub-agents can retrieve and use information from existing artifacts when the agent has artifact components, regardless of whether the individual agent or sub-agents can create new artifacts.\n";

//#endregion
export { artifact_retrieval_guidance_default as default };