Tool tree
gradeNot graded
list_projectsAnswer
List locally stored Time&Dime projects newest-first. Returns summaries and stable project IDs, not full node data.
View tool JSON
{
"name": "list_projects",
"kind": "answer",
"impl": "imperative",
"description": "List locally stored Time&Dime projects newest-first. Returns summaries and stable project IDs, not full node data.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}open_projectAction
Open one stored Time&Dime project by exact UUID or unique exact name. This navigates the shared page but does not modify project data.
View tool JSON
{
"name": "open_project",
"kind": "act",
"impl": "imperative",
"description": "Open one stored Time&Dime project by exact UUID or unique exact name. This navigates the shared page but does not modify project data.",
"inputSchema": {
"type": "object",
"properties": {
"projectId": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Exact project UUID. Use this instead of projectName."
},
"projectName": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Exact unique project name. Use this instead of projectId."
}
},
"oneOf": [
{
"required": [
"projectId"
]
},
{
"required": [
"projectName"
]
}
],
"additionalProperties": false
}
}calculate_projectAction
Calculate a Time&Dime project on an in-memory clone without changing localStorage. Uses virtual time, exact decimal-string arithmetic, immediate-node propagation, and workload safety limits. Omit the selector when a project is already open.
View tool JSON
{
"name": "calculate_project",
"kind": "act",
"impl": "imperative",
"description": "Calculate a Time&Dime project on an in-memory clone without changing localStorage. Uses virtual time, exact decimal-string arithmetic, immediate-node propagation, and workload safety limits. Omit the selector when a project is already open.",
"inputSchema": {
"type": "object",
"properties": {
"projectId": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Exact project UUID. Use this instead of projectName."
},
"projectName": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Exact unique project name. Use this instead of projectId."
}
},
"not": {
"required": [
"projectId",
"projectName"
]
},
"additionalProperties": false
}
}get_calculation_resultAnswer
Return the latest detailed in-memory calculation result for a project, including every node’s name, description, meaning, initial/final calculation value, schedule, and run/update counts. Call calculate_project first. Omit the selector when a project is open.
View tool JSON
{
"name": "get_calculation_result",
"kind": "answer",
"impl": "imperative",
"description": "Return the latest detailed in-memory calculation result for a project, including every node’s name, description, meaning, initial/final calculation value, schedule, and run/update counts. Call calculate_project first. Omit the selector when a project is open.",
"inputSchema": {
"type": "object",
"properties": {
"projectId": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Exact project UUID. Use this instead of projectName."
},
"projectName": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Exact unique project name. Use this instead of projectId."
}
},
"not": {
"required": [
"projectId",
"projectName"
]
},
"additionalProperties": false
}
}clone_projectAction
Clone a complete Time&Dime project with a new project UUID and new UUIDs for every node while preserving and remapping the graph. The clone is stored locally and opens by default.
View tool JSON
{
"name": "clone_project",
"kind": "act",
"impl": "imperative",
"description": "Clone a complete Time&Dime project with a new project UUID and new UUIDs for every node while preserving and remapping the graph. The clone is stored locally and opens by default.",
"inputSchema": {
"type": "object",
"properties": {
"sourceProjectId": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Exact source project UUID. Use instead of sourceProjectName."
},
"sourceProjectName": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Exact unique source project name. Use instead of sourceProjectId."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": {
"type": "string",
"maxLength": 5000
},
"openAfterClone": {
"type": "boolean",
"default": true
}
},
"oneOf": [
{
"required": [
"sourceProjectId"
]
},
{
"required": [
"sourceProjectName"
]
}
],
"additionalProperties": false
}
}compare_scenariosAction
Calculate and compare nodes from two to five Time&Dime projects without changing stored data. The first project is the baseline; finalValueDifference is scenario minus baseline. Each scenario may select nodes by UUID or unique exact name. When both sides omit selectors, nodes pair by stable node.index; otherwise they pair by selected/stored order. Exact differences are returned only for nodes with matching types and calculation fields.
View tool JSON
{
"name": "compare_scenarios",
"kind": "act",
"impl": "imperative",
"description": "Calculate and compare nodes from two to five Time&Dime projects without changing stored data. The first project is the baseline; finalValueDifference is scenario minus baseline. Each scenario may select nodes by UUID or unique exact name. When both sides omit selectors, nodes pair by stable node.index; otherwise they pair by selected/stored order. Exact differences are returned only for nodes with matching types and calculation fields.",
"inputSchema": {
"type": "object",
"properties": {
"scenarios": {
"type": "array",
"minItems": 2,
"maxItems": 5,
"items": {
"type": "object",
"properties": {
"projectId": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Exact project UUID. Use this instead of projectName."
},
"projectName": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Exact unique project name. Use this instead of projectId."
},
"nodeSelectors": {
"type": "array",
"minItems": 1,
"maxItems": 100,
"items": {
"type": "object",
"properties": {
"nodeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"nodeName": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"oneOf": [
{
"required": [
"nodeId"
]
},
{
"required": [
"nodeName"
]
}
],
"additionalProperties": false
}
}
},
"oneOf": [
{
"required": [
"projectId"
]
},
{
"required": [
"projectName"
]
}
],
"additionalProperties": false
}
}
},
"required": [
"scenarios"
],
"additionalProperties": false
}
}open_create_projectAction
Open the Create Project page to configure a new Time&Dime project.
View tool JSON
{
"name": "open_create_project",
"kind": "act",
"impl": "imperative",
"description": "Open the Create Project page to configure a new Time&Dime project.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}go_to_homeAction
Leave the Create Project page and return to the Time&Dime home page.
View tool JSON
{
"name": "go_to_home",
"kind": "act",
"impl": "imperative",
"description": "Leave the Create Project page and return to the Time&Dime home page.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}create_projectAction
Create a Time&Dime project, store it locally, and open its project page. Duration projects need an end duration. Date-time projects need exact start and end dates with 24-hour times.
View tool JSON
{
"name": "create_project",
"kind": "act",
"impl": "imperative",
"description": "Create a Time&Dime project, store it locally, and open its project page. Duration projects need an end duration. Date-time projects need exact start and end dates with 24-hour times.",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Name of the project."
},
"description": {
"type": "string",
"maxLength": 5000,
"description": "Optional description of the project."
},
"endTimeMode": {
"type": "string",
"enum": [
"duration",
"dateTime"
],
"description": "Whether the project ends after a duration or at an exact date and time."
},
"startDate": {
"type": "string",
"format": "date",
"maxLength": 10,
"description": "Start date in YYYY-MM-DD format. Used when endTimeMode is dateTime."
},
"startHours": {
"type": "integer",
"minimum": 0,
"maximum": 23,
"description": "Start hour in 24-hour time. Used when endTimeMode is dateTime."
},
"startMinutes": {
"type": "integer",
"minimum": 0,
"maximum": 59,
"description": "Start minute. Used when endTimeMode is dateTime."
},
"startSeconds": {
"type": "integer",
"minimum": 0,
"maximum": 59,
"description": "Start second. Used when endTimeMode is dateTime."
},
"endDuration": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"description": "Non-negative safe-integer duration value. Used when endTimeMode is duration."
},
"endDurationUnit": {
"type": "string",
"enum": [
"Milliseconds",
"Seconds",
"Minutes",
"Hours",
"Days",
"Months",
"Years"
],
"description": "Unit for endDuration. Used when endTimeMode is duration."
},
"endDurationParts": {
"type": "object",
"description": "Composite duration parts. The smallest non-zero supplied unit becomes the stored unit and larger parts are converted into it. Years equal 12 months; for days or smaller, years equal 365 days and months equal 30 days.",
"properties": {
"years": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"months": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"days": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"hours": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"minutes": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"seconds": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"milliseconds": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"minProperties": 1,
"additionalProperties": false
},
"endDate": {
"type": "string",
"format": "date",
"maxLength": 10,
"description": "End date in YYYY-MM-DD format. Used when endTimeMode is dateTime."
},
"endHours": {
"type": "integer",
"minimum": 0,
"maximum": 23,
"description": "End hour in 24-hour time. Used when endTimeMode is dateTime."
},
"endMinutes": {
"type": "integer",
"minimum": 0,
"maximum": 59,
"description": "End minute. Used when endTimeMode is dateTime."
},
"endSeconds": {
"type": "integer",
"minimum": 0,
"maximum": 59,
"description": "End second. Used when endTimeMode is dateTime."
}
},
"required": [
"name",
"endTimeMode"
],
"oneOf": [
{
"properties": {
"endTimeMode": {
"const": "duration"
}
},
"anyOf": [
{
"required": [
"endDuration",
"endDurationUnit"
]
},
{
"required": [
"endDurationParts"
]
}
]
},
{
"properties": {
"endTimeMode": {
"const": "dateTime"
}
},
"required": [
"startDate",
"startHours",
"startMinutes",
"startSeconds",
"endDate",
"endHours",
"endMinutes",
"endSeconds"
]
}
],
"additionalProperties": false
}
}