Tool tree
gradeNot graded
searchCoursesAnswer
Search the selected Brock timetable for course offerings. This does not change the schedule.
View tool JSON
{
"name": "searchCourses",
"kind": "answer",
"impl": "imperative",
"description": "Search the selected Brock timetable for course offerings. This does not change the schedule.",
"inputSchema": {
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string"
},
"timetableType": {
"type": "string",
"enum": [
"UG",
"AD",
"PS",
"GR"
]
},
"term": {
"type": "string",
"enum": [
"FW",
"SP",
"SU"
]
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 30
}
}
},
"page": "/"
}createScheduleAction
Replace the current schedule with the requested courses and generate the best options.
View tool JSON
{
"name": "createSchedule",
"kind": "act",
"impl": "imperative",
"description": "Replace the current schedule with the requested courses and generate the best options.",
"inputSchema": {
"type": "object",
"required": [
"courses",
"timetableType",
"term"
],
"properties": {
"courses": {
"type": "array",
"items": {
"type": "string",
"description": "Course label such as COSC 1P02 D2."
},
"minItems": 1
},
"timetableType": {
"type": "string",
"enum": [
"UG",
"AD",
"PS",
"GR"
]
},
"term": {
"type": "string",
"enum": [
"FW",
"SP",
"SU"
]
},
"preferences": {
"type": "object",
"description": "Use hard constraints to eliminate options and soft preferences to rank them.",
"properties": {
"hard": {
"type": "object",
"properties": {
"notBefore": {
"type": "string",
"description": "Earliest allowed class time, HH:MM."
},
"notAfter": {
"type": "string",
"description": "Latest allowed class end time, HH:MM."
},
"avoidDays": {
"type": "array",
"items": {
"type": "string",
"enum": [
"M",
"T",
"W",
"R",
"F",
"S",
"U"
]
}
},
"maxCampusDays": {
"type": "integer",
"minimum": 1,
"maximum": 7
},
"maxGapMinutes": {
"type": "integer",
"minimum": 0
}
}
},
"soft": {
"type": "object",
"properties": {
"avoidBefore": {
"type": "string",
"description": "Prefer schedules without earlier classes, HH:MM."
},
"preferAfter": {
"type": "string",
"description": "Prefer later starts, HH:MM."
},
"avoidDays": {
"type": "array",
"items": {
"type": "string",
"enum": [
"M",
"T",
"W",
"R",
"F",
"S",
"U"
]
}
},
"preferCompactDays": {
"type": "boolean"
},
"preferFewerDays": {
"type": "boolean"
}
}
}
}
},
"unavailableTimes": {
"type": "array",
"items": {
"type": "object",
"required": [
"days",
"start",
"end"
],
"properties": {
"days": {
"type": "array",
"items": {
"type": "string",
"enum": [
"M",
"T",
"W",
"R",
"F",
"S",
"U"
]
}
},
"start": {
"type": "string",
"description": "HH:MM"
},
"end": {
"type": "string",
"description": "HH:MM"
},
"label": {
"type": "string"
}
}
}
}
}
},
"page": "/"
}addCoursesAction
Add courses to the current schedule and regenerate its options.
View tool JSON
{
"name": "addCourses",
"kind": "act",
"impl": "imperative",
"description": "Add courses to the current schedule and regenerate its options.",
"inputSchema": {
"type": "object",
"required": [
"courses"
],
"properties": {
"courses": {
"type": "array",
"items": {
"type": "string",
"description": "Course label such as COSC 1P02 D2."
},
"minItems": 1
}
}
},
"page": "/"
}previewCourseAdditionAnswer
Read-only what-if: test adding courses to the current schedule without changing it.
View tool JSON
{
"name": "previewCourseAddition",
"kind": "answer",
"impl": "imperative",
"description": "Read-only what-if: test adding courses to the current schedule without changing it.",
"inputSchema": {
"type": "object",
"required": [
"courses"
],
"properties": {
"courses": {
"type": "array",
"items": {
"type": "string",
"description": "Course label such as COSC 1P02 D2."
},
"minItems": 1
},
"preferences": {
"type": "object",
"description": "Use hard constraints to eliminate options and soft preferences to rank them.",
"properties": {
"hard": {
"type": "object",
"properties": {
"notBefore": {
"type": "string",
"description": "Earliest allowed class time, HH:MM."
},
"notAfter": {
"type": "string",
"description": "Latest allowed class end time, HH:MM."
},
"avoidDays": {
"type": "array",
"items": {
"type": "string",
"enum": [
"M",
"T",
"W",
"R",
"F",
"S",
"U"
]
}
},
"maxCampusDays": {
"type": "integer",
"minimum": 1,
"maximum": 7
},
"maxGapMinutes": {
"type": "integer",
"minimum": 0
}
}
},
"soft": {
"type": "object",
"properties": {
"avoidBefore": {
"type": "string",
"description": "Prefer schedules without earlier classes, HH:MM."
},
"preferAfter": {
"type": "string",
"description": "Prefer later starts, HH:MM."
},
"avoidDays": {
"type": "array",
"items": {
"type": "string",
"enum": [
"M",
"T",
"W",
"R",
"F",
"S",
"U"
]
}
},
"preferCompactDays": {
"type": "boolean"
},
"preferFewerDays": {
"type": "boolean"
}
}
}
}
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20
}
}
},
"page": "/"
}removeCoursesAction
Remove course labels or course codes from the current schedule and regenerate.
View tool JSON
{
"name": "removeCourses",
"kind": "act",
"impl": "imperative",
"description": "Remove course labels or course codes from the current schedule and regenerate.",
"inputSchema": {
"type": "object",
"required": [
"courses"
],
"properties": {
"courses": {
"type": "array",
"items": {
"type": "string",
"description": "Course label such as COSC 1P02 D2."
},
"minItems": 1
}
}
},
"page": "/"
}setSchedulePreferencesAction
Set hard requirements and soft timetable preferences, then regenerate and rank options.
View tool JSON
{
"name": "setSchedulePreferences",
"kind": "act",
"impl": "imperative",
"description": "Set hard requirements and soft timetable preferences, then regenerate and rank options.",
"inputSchema": {
"type": "object",
"required": [
"preferences"
],
"properties": {
"preferences": {
"type": "object",
"description": "Use hard constraints to eliminate options and soft preferences to rank them.",
"properties": {
"hard": {
"type": "object",
"properties": {
"notBefore": {
"type": "string",
"description": "Earliest allowed class time, HH:MM."
},
"notAfter": {
"type": "string",
"description": "Latest allowed class end time, HH:MM."
},
"avoidDays": {
"type": "array",
"items": {
"type": "string",
"enum": [
"M",
"T",
"W",
"R",
"F",
"S",
"U"
]
}
},
"maxCampusDays": {
"type": "integer",
"minimum": 1,
"maximum": 7
},
"maxGapMinutes": {
"type": "integer",
"minimum": 0
}
}
},
"soft": {
"type": "object",
"properties": {
"avoidBefore": {
"type": "string",
"description": "Prefer schedules without earlier classes, HH:MM."
},
"preferAfter": {
"type": "string",
"description": "Prefer later starts, HH:MM."
},
"avoidDays": {
"type": "array",
"items": {
"type": "string",
"enum": [
"M",
"T",
"W",
"R",
"F",
"S",
"U"
]
}
},
"preferCompactDays": {
"type": "boolean"
},
"preferFewerDays": {
"type": "boolean"
}
}
}
}
},
"replace": {
"type": "boolean"
}
}
},
"page": "/"
}setUnavailableTimesAction
Replace or add recurring unavailable class times, then regenerate. Days use M, T, W, R, F, S, U.
View tool JSON
{
"name": "setUnavailableTimes",
"kind": "act",
"impl": "imperative",
"description": "Replace or add recurring unavailable class times, then regenerate. Days use M, T, W, R, F, S, U.",
"inputSchema": {
"type": "object",
"required": [
"blocks"
],
"properties": {
"blocks": {
"type": "array",
"items": {
"type": "object",
"required": [
"days",
"start",
"end"
],
"properties": {
"days": {
"type": "array",
"items": {
"type": "string",
"enum": [
"M",
"T",
"W",
"R",
"F",
"S",
"U"
]
}
},
"start": {
"type": "string",
"description": "HH:MM"
},
"end": {
"type": "string",
"description": "HH:MM"
},
"label": {
"type": "string"
}
}
}
},
"replace": {
"type": "boolean"
}
}
},
"page": "/"
}pinSectionsAction
Require specific course sections in generated schedules.
View tool JSON
{
"name": "pinSections",
"kind": "act",
"impl": "imperative",
"description": "Require specific course sections in generated schedules.",
"inputSchema": {
"type": "object",
"required": [
"sections"
],
"properties": {
"sections": {
"type": "array",
"items": {
"type": "object",
"required": [
"courseCode",
"type",
"id"
],
"properties": {
"courseCode": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"MAIN",
"LAB",
"TUT",
"SEM"
]
},
"id": {
"type": "string"
}
}
}
}
}
},
"page": "/"
}unpinSectionsAction
Remove requirements for specific course sections and regenerate.
View tool JSON
{
"name": "unpinSections",
"kind": "act",
"impl": "imperative",
"description": "Remove requirements for specific course sections and regenerate.",
"inputSchema": {
"type": "object",
"required": [
"sections"
],
"properties": {
"sections": {
"type": "array",
"items": {
"type": "object",
"required": [
"courseCode",
"type",
"id"
],
"properties": {
"courseCode": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"MAIN",
"LAB",
"TUT",
"SEM"
]
},
"id": {
"type": "string"
}
}
}
}
}
},
"page": "/"
}searchScheduleOptionsAnswer
Search and rank generated schedule options without changing the selected option.
View tool JSON
{
"name": "searchScheduleOptions",
"kind": "answer",
"impl": "imperative",
"description": "Search and rank generated schedule options without changing the selected option.",
"inputSchema": {
"type": "object",
"properties": {
"preferences": {
"type": "object",
"description": "Use hard constraints to eliminate options and soft preferences to rank them.",
"properties": {
"hard": {
"type": "object",
"properties": {
"notBefore": {
"type": "string",
"description": "Earliest allowed class time, HH:MM."
},
"notAfter": {
"type": "string",
"description": "Latest allowed class end time, HH:MM."
},
"avoidDays": {
"type": "array",
"items": {
"type": "string",
"enum": [
"M",
"T",
"W",
"R",
"F",
"S",
"U"
]
}
},
"maxCampusDays": {
"type": "integer",
"minimum": 1,
"maximum": 7
},
"maxGapMinutes": {
"type": "integer",
"minimum": 0
}
}
},
"soft": {
"type": "object",
"properties": {
"avoidBefore": {
"type": "string",
"description": "Prefer schedules without earlier classes, HH:MM."
},
"preferAfter": {
"type": "string",
"description": "Prefer later starts, HH:MM."
},
"avoidDays": {
"type": "array",
"items": {
"type": "string",
"enum": [
"M",
"T",
"W",
"R",
"F",
"S",
"U"
]
}
},
"preferCompactDays": {
"type": "boolean"
},
"preferFewerDays": {
"type": "boolean"
}
}
}
}
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20
},
"cursor": {
"type": "integer",
"minimum": 0
}
}
},
"page": "/"
}getScheduleOptionDetailsAnswer
Get meeting-by-meeting details for a generated schedule option.
View tool JSON
{
"name": "getScheduleOptionDetails",
"kind": "answer",
"impl": "imperative",
"description": "Get meeting-by-meeting details for a generated schedule option.",
"inputSchema": {
"type": "object",
"required": [
"optionId"
],
"properties": {
"optionId": {
"type": "string"
}
}
},
"page": "/"
}compareScheduleOptionsAction
Compare two to five generated schedule options.
View tool JSON
{
"name": "compareScheduleOptions",
"kind": "act",
"impl": "imperative",
"description": "Compare two to five generated schedule options.",
"inputSchema": {
"type": "object",
"required": [
"optionIds"
],
"properties": {
"optionIds": {
"type": "array",
"minItems": 2,
"maxItems": 5,
"items": {
"type": "string"
}
}
}
},
"page": "/"
}selectScheduleOptionAction
Make a generated timetable option the visible selected schedule.
View tool JSON
{
"name": "selectScheduleOption",
"kind": "act",
"impl": "imperative",
"description": "Make a generated timetable option the visible selected schedule.",
"inputSchema": {
"type": "object",
"required": [
"optionId"
],
"properties": {
"optionId": {
"type": "string"
}
}
},
"page": "/"
}getCurrentScheduleAnswer
Read the current schedule, preferences, and selected option.
View tool JSON
{
"name": "getCurrentSchedule",
"kind": "answer",
"impl": "imperative",
"description": "Read the current schedule, preferences, and selected option.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}exportScheduleAction
Download the selected schedule as an iCalendar (.ics) file or return its share link.
View tool JSON
{
"name": "exportSchedule",
"kind": "act",
"impl": "imperative",
"description": "Download the selected schedule as an iCalendar (.ics) file or return its share link.",
"inputSchema": {
"type": "object",
"properties": {
"optionId": {
"type": "string"
},
"format": {
"type": "string",
"enum": [
"ics",
"shareLink"
]
}
}
},
"page": "/"
}