@@ -112,7 +112,7 @@ agents:
112112
113113 // Package as OCI artifact
114114 ociRef := "test.registry.io/myorg/testagent:v1"
115- _ , err = oci .PackageFileAsOCIToStore (agentFile , ociRef , store )
115+ _ , err = oci .PackageFileAsOCIToStore (t . Context (), agentFile , ociRef , store )
116116 require .NoError (t , err )
117117
118118 ctx , cancel := context .WithTimeout (t .Context (), 5 * time .Second )
@@ -125,7 +125,13 @@ agents:
125125
126126 content1 , err := os .ReadFile (resolved1 )
127127 require .NoError (t , err )
128- assert .Equal (t , agentContent , string (content1 ))
128+ assert .Equal (t , `version: "1"
129+ agents:
130+ root:
131+ model: openai/gpt-4o
132+ description: Test OCI agent
133+ instruction: You are a test OCI agent
134+ ` , string (content1 ))
129135
130136 // Expected filename based on OCI ref
131137 expectedFilename := OciRefToFilename (ociRef )
@@ -156,7 +162,7 @@ agents:
156162`
157163 updatedFile := filepath .Join (t .TempDir (), "updated-agent.yaml" )
158164 require .NoError (t , os .WriteFile (updatedFile , []byte (updatedContent ), 0o644 ))
159- _ , err = oci .PackageFileAsOCIToStore (updatedFile , ociRef , store )
165+ _ , err = oci .PackageFileAsOCIToStore (t . Context (), updatedFile , ociRef , store )
160166 require .NoError (t , err )
161167
162168 // Third resolution (simulating reload after update)
@@ -202,9 +208,9 @@ agents:
202208 // Package as different OCI artifacts
203209 ociRef1 := "test.io/org/agent1:v1"
204210 ociRef2 := "test.io/org/agent2:v1"
205- _ , err = oci .PackageFileAsOCIToStore (agent1File , ociRef1 , store )
211+ _ , err = oci .PackageFileAsOCIToStore (t . Context (), agent1File , ociRef1 , store )
206212 require .NoError (t , err )
207- _ , err = oci .PackageFileAsOCIToStore (agent2File , ociRef2 , store )
213+ _ , err = oci .PackageFileAsOCIToStore (t . Context (), agent2File , ociRef2 , store )
208214 require .NoError (t , err )
209215
210216 ctx , cancel := context .WithTimeout (t .Context (), 5 * time .Second )
@@ -252,7 +258,7 @@ agents:
252258
253259 // Package as OCI artifact
254260 ociRef := "test.io/cleanup/agent:v1"
255- _ , err = oci .PackageFileAsOCIToStore (agentFile , ociRef , store )
261+ _ , err = oci .PackageFileAsOCIToStore (t . Context (), agentFile , ociRef , store )
256262 require .NoError (t , err )
257263
258264 ctx , cancel := context .WithCancel (t .Context ())
@@ -454,3 +460,40 @@ func TestResolveAgentFile_ReplaceEmptyAliasWithActualFile(t *testing.T) {
454460 require .NoError (t , err )
455461 assert .Equal (t , aliasedAgentFile , resolved )
456462}
463+
464+ func TestResolveAgentFile_OCIRef_HasAVersion (t * testing.T ) {
465+ storeDir := t .TempDir ()
466+ t .Setenv ("CAGENT_CONTENT_STORE" , storeDir )
467+
468+ store , err := content .NewStore ()
469+ require .NoError (t , err )
470+
471+ agentContent := `agents:
472+ root:
473+ model: auto
474+ description: Test OCI agent
475+ instruction: You are a test OCI agent
476+ `
477+ agentFile := filepath .Join (t .TempDir (), "oci-agent.yaml" )
478+ require .NoError (t , os .WriteFile (agentFile , []byte (agentContent ), 0o644 ))
479+
480+ // Package as OCI artifact
481+ ociRef := "test.registry.io/myorg/testagent:v1"
482+ _ , err = oci .PackageFileAsOCIToStore (t .Context (), agentFile , ociRef , store )
483+ require .NoError (t , err )
484+
485+ // First resolution
486+ resolved , err := Resolve (t .Context (), nil , ociRef )
487+ require .NoError (t , err )
488+ assert .NotEmpty (t , resolved )
489+
490+ storedContent , err := os .ReadFile (resolved )
491+ require .NoError (t , err )
492+ assert .Equal (t , `version: "2"
493+ agents:
494+ root:
495+ model: auto
496+ description: Test OCI agent
497+ instruction: You are a test OCI agent
498+ ` , string (storedContent ))
499+ }
0 commit comments