whats the error

here's the code FeatureScript 2737;
import(path : "onshape/std/geometry.fs", version : "2737.0");
import(path : "onshape/std/feature.fs", version : "2737.0");
annotation { "Feature Type Name" : "My Feature" }
export const myFeature = defineFeature function(context is Context, id is Id, definition is map)
precondition
{
// Shell
annotation { "Name" : "Shell Diameter" }
isLength(definition.shellDiameter, LENGTH_BOUNDS);

    annotation { "Name" : "Shell Height" }
    isLength(definition.shellHeight, LENGTH_BOUNDS);
    // PCB
    annotation { "Name" : "PCB Width" }
    isLength(definition.PCBWidth, LENGTH_BOUNDS);

    annotation { "Name" : "PCB Length" }
    isLength(definition.PCBLength, LENGTH_BOUNDS);

    annotation { "Name" : "PCB Thickness" }
    isLength(definition.PCBThickness, LENGTH_BOUNDS);

    // Battery
    annotation { "Name" : "Battery Diameter" }
    isLength(definition.BatteryDiameter, LENGTH_BOUNDS);

    annotation { "Name" : "Battery Height" }
  isLength(definition.BatteryHeight, LENGTH_BOUNDS);
  
  {
    // User can select one or more planes or planar faces
    annotation { "Name" : "Select plane or planar face", "Filter" :EntityType.FACE,  "MaxNumberOfPicks" : 10};
    definition.selection is Query;
 }
 {
    // Print the user’s choice(s) to console for debugging
    println("User selected: " ~ definition.selection);

    // Example: check if user picked nothing
    if (isQueryEmpty(context, definition.selection)) {
        println("⚠️ No selection made!");
    }
    else {
        // Example: loop through selections
        var items = evaluateQuery(context, definition.selection);
        for (var item in items) {
            println("Selected entity: " ~ item);
        }
    }
 }    
 {
    // --- Defaults (if user leaves values blank) ---
    if (!definition.shellDiameter) definition.shellDiameter = 80 * millimeter;
    if (!definition.shellHeight) definition.shellHeight = 30 * millimeter;
    if (!definition.pcbWidth) definition.pcbWidth = 60 * millimeter;
    if (!definition.pcbLength) definition.pcbLength = 30 * millimeter;
    if (!definition.pcbThickness) definition.pcbThickness = 2 * millimeter;
    if (!definition.batteryDiameter) definition.batteryDiameter = 18 * millimeter;
    if (!definition.batteryHeight) definition.batteryHeight = 65 * millimeter;

    // === Shell (cylinder) ===
    const shellSketchId = id + "shellSketch";
    const shellSketch = newSketch(context, shellSketchId, {
        "plane" : plane(context, vector(0, 0, 0), vector(0, 0, 1))
    });
    skCircle(shellSketch, "c1", {
        "center" : vector(0, 0) ,
        "radius" : definition.shellDiameter / 2
    });
    skSolve(shellSketch);

    opExtrude(context, id + "shellExtrude", {        
        "direction" : vector(0, 0, 1),
        "endBound" : BoundingType.BLIND,
        "endDepth" : definition.shellHeight
    });

    // === PCB (rectangle) ===
    const pcbPlaneOrigin = vector(0, 0, definition.shellHeight + 1 * millimeter);
    const pcbSketchId = id + "pcbSketch";
    const pcbSketch = newSketch(context, pcbSketchId, {
        "plane" : plane(context, pcbPlaneOrigin, vector(0, 0, 1))
    });
    skRectangle(pcbSketch, "r1", {
        "center" : vector(0, 0) ,
        "width" : definition.pcbWidth,
        "height" : definition.pcbLength
    });
    skSolve(pcbSketch);

    opExtrude(context, id + "pcbExtrude", {
        "direction" : vector(0, 0, 1),
        "endBound" : BoundingType.BLIND,
        "endDepth" : definition.pcbThickness
    });

    // === Battery (cylinder) ===
    const batteryInsetX = definition.pcbWidth / 2 - definition.batteryDiameter / 2 - 2 * millimeter;
    const batteryInsetY = definition.pcbLength / 2 - definition.batteryDiameter / 2 - 2 * millimeter;
    const batteryPlaneOrigin = vector(-batteryInsetX, -batteryInsetY, definition.shellHeight + 1 * millimeter);
    const batterySketchId = id + "batterySketch";
    const batterySketch = newSketch(context, batterySketchId, {
        "plane" : plane(context, batteryPlaneOrigin, vector(0, 0, 1))
    });
    skCircle(batterySketch, "c2", {
        "center" : vector(0, 0) ,
        "radius" : definition.batteryDiameter / 2
    });
    skSolve(batterySketch);

    opExtrude(context, id + "batteryExtrude", {
        "direction" : vector(0, 0, 1),
        "endBound" : BoundingType.BLIND,
        "endDepth" : definition.batteryHeight
    })
};

also the error is

mismatched input '<EOF>' expecting '{'

125:1   

Feature Studio 1

Answers