Créer ou modifier un élément
dandori_saveCréer (sans id) ou modifier (avec id ; seuls les champs fournis changent) un élément qu'aucun outil dédié ne couvre. Les champs vont dans fields ; parent_id est obligatoire pour milestone (ID du projet) et key_result (ID de l'objectif). Entités et champs :
milestone : title (obligatoire à la création), due_date, is_completed. Les jalons d'un projet sont dans dandori_get_project
key_result : title et target_value (> 0) obligatoires à la création, current_value, unit (20 caractères), step (le pas d'un clic). Plan Plus requis. Ceux d'un objectif : fetch goal:ID
important_date : title et date (entre 1900 et 2100 ; la date de naissance pour un anniversaire) obligatoires à la création, time (HH:MM), recurrence (yearly, monthly, none), category (birthday, medical, administrative, symbolic, other), notes, notify_days_before (jours avant, ex. [7, 1])
home_item : name (obligatoire à la création), category (appliance, furniture, electronic, vehicle, tool, other), room, brand, model, serial_number, purchase_date, purchase_price, warranty_until, description, is_active
maintenance_task : home_item_id et title obligatoires à la création, description, recurrence_type (none, daily, weekly, monthly, yearly, custom), recurrence_interval (en mois, avec custom), last_done_at, next_due_at (calculée sinon), notify_days_before (0 à 90), is_active. Plan Plus requis
wish : modification seulement (création : dandori_create_wish) : title, description, category (experience, achat, voyage, food, apprentissage, cadeau, autre), status (envie, planifie, economie, realise, abandonne), target_price, priority (low, medium, high), url, planned_date, reminder_at
transaction : modification seulement (création : dandori_add_transaction) : amount (null la remet à compléter), type (income, expense), description, date, budget_category_id
budget_category : name (obligatoire à la création, unique dans l'espace), type (income, expense, both), icon (nom d'icône Material, ex. shopping_cart), color (#rrggbb), space_id (à la création)
recurring_expense : type (income, expense), amount, description et frequency (weekly, monthly, yearly) obligatoires à la création, day_of_month (monthly : jour du mois, 1 à 31), next_due_date (weekly, yearly : une échéance, qui fixe le jour de la semaine ou de l'année ; sans elle, le jour de la création), budget_category_id, is_active, space_id. Les existantes : dandori_budget_dashboard (recurring)
subscription : modification seulement (création : dandori_create_subscription) : name, amount, next_renewal_date, billing_cycle, billing_interval_months, kind, currency, started_at, auto_create_transaction, reminder_days (jours avant le prélèvement où prévenir, ex. [7, 3] ; [] : aucun rappel), budget_category_id, usage_rating (1 à 5), notes, is_active
list : modification seulement (création : dandori_create_list) : name, kind (simple, watch, shop, recipe, wish), color (rose, peach, butter, mint, sky, lavender), icon (emoji), description
list_fields : id = celui de la liste ; fields : la liste complète de ses champs, qui remplace l'ancienne, [{key, label, type (text, textarea, number, rating, checkbox, date, url, select, tags), options (avec select), required, show_in_card, card_width (third, half, full)}]
contract : modification seulement (création : dandori_create_contract) : title, description, stake, deadline, weekly_target (1 à 7), status (active, completed, failed), tags
learning_session : modification seulement (création : dandori_log_learning_session) : date, progress_added, time_spent_minutes, notes. Les séances d'une lecture : fetch learning:ID. Plan Plus requis
learning_quote : modification seulement (création : dandori_add_learning_quote) : content, chapter_or_position, personal_note, is_favorite. Plan Plus requis
tag : name (obligatoire à la création, 50 caractères), color
task_status : colonne du kanban : label (obligatoire à la création), color, is_terminal (true : une tâche y est terminée ; sans effet sur les statuts système)
task_template : name et payload obligatoires à la création, description, icon ; payload : {title, description, notes, priority, energy_level, estimated_duration, deadline_offset_days (0 = le jour où on l'applique), project_id, goal_id, subtasks: [{title}], tag_names: []}
screen_time : date (aujourd'hui ou passé) et duration_minutes (1 à 1440) obligatoires à la création, category (social, video, gaming, work, other), app_name. Celles d'un jour : dandori_unplug_dashboard (entries)
timer_session : modification seulement (une session de chrono, voir dandori_tracking_dashboard avec history) : label, task_id, project_id
inbox : modification seulement (création : dandori_quick_capture) : content (corriger le texte), deferred (true : garder pour plus tard, false : remettre à trier)
exercise : name, muscle_group (chest, back, shoulders, arms, abs, legs, glutes, full_body), equipment (body, dumbbell, kettlebell, band, ball, foam_roller, barbell, cable, machine, other) et measure (reps_weight, reps, time, time_distance) obligatoires à la création, type (strength, cardio, stretching), video_url (https), note. Plan Plus requis
workout_template : modèle de séance : name (obligatoire à la création), note, exercises : [{exercise_id, sets (1 à 20), reps, weight_kg, duration_sec, distance_m, rest_sec (0 à 600, obligatoire)}]. Plan Plus requis
workout : création seulement, une séance faite : name, started_at et ended_at (dates-heures ISO), sets [{exercise_id, position (0 à 99, l'ordre des exercices), reps, weight_kg, duration_sec, distance_m}] obligatoires, duration_min, intensity (low, medium, high), note, template_id. Exercices et modèles : dandori_get_fitness. Plan Plus requis
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"entity": "<entity>",
"fields": "<fields>"
},
"name": "dandori_save"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ID de l'élément à modifier ; absent pour en créer un | |
| entity | Yes | Type de l'élément | |
| fields | Yes | Les champs de l'élément, par nom (voir la liste) | |
| parent_id | No | milestone : ID du projet ; key_result : ID de l'objectif |