MCPcopy Create free account
hub / github.com/METR/vivaria / makeTaskInfoFromTaskEnvironment

Function makeTaskInfoFromTaskEnvironment

server/src/docker/util.ts:70–106  ·  view source on GitHub ↗
(config: Config, taskEnvironment: TaskEnvironment)

Source from the content-addressed store, hash-verified

68export type TaskInfo = z.infer<typeof TaskInfo>
69
70export function makeTaskInfoFromTaskEnvironment(config: Config, taskEnvironment: TaskEnvironment): TaskInfo {
71 const {
72 taskFamilyName,
73 taskName,
74 uploadedTaskFamilyPath,
75 uploadedEnvFilePath,
76 repoName,
77 commitId,
78 containerName,
79 imageName,
80 isMainAncestor,
81 taskVersion,
82 } = taskEnvironment
83
84 let source: TaskSource
85 if (uploadedTaskFamilyPath != null) {
86 source = {
87 type: 'upload' as const,
88 path: uploadedTaskFamilyPath,
89 environmentPath: uploadedEnvFilePath,
90 }
91 } else if (repoName != null && commitId != null) {
92 source = { type: 'gitRepo' as const, repoName: repoName, commitId, isMainAncestor }
93 } else {
94 throw new ServerError('Both uploadedTaskFamilyPath and repoName/commitId are null')
95 }
96
97 const taskInfo = makeTaskInfo(
98 config,
99 makeTaskId(taskFamilyName, taskName),
100 TaskSource.parse(source),
101 taskVersion,
102 imageName ?? undefined,
103 )
104 taskInfo.containerName = containerName
105 return taskInfo
106}
107
108export function makeTaskInfo(
109 config: Config,

Callers 4

forTaskContainerMethod · 0.90
general_routes.tsFile · 0.90
getTaskInfoMethod · 0.90
util.test.tsFile · 0.90

Calls 3

makeTaskIdFunction · 0.90
makeTaskInfoFunction · 0.85
parseMethod · 0.80

Tested by

no test coverage detected