320
/** Validates and resolves create-session arguments against current sessions and models. */
321
export function getCreateSessionArgs(rawArgs: unknown, sessions: readonly IAgentSessionMetadata[], models: readonly IAgentModelInfo[]): IResolvedCreateSessionArgs {
323
>
const workspace = getRequiredString(args.workspace, 'workspace', createSessionToolName);
324
>
const prompt = getRequiredString(args.prompt, 'prompt', createSessionToolName);
325
>
const modelName = getOptionalString(args.model, 'model', createSessionToolName);
326
>
return {
327
>
workspace: resolveWorkspace(workspace, sessions),
328
>
prompt,
329
>
model: resolveModel(modelName, models),
330
>
};
331
>
}
332
333
/** Decodes the {@link SessionStatus} bit-flags into readable names for the agent. */