accept_pair_food_suggestion
ChatGPT自分宛てのPair食事候補を自分の食事ログへ登録します。候補内容をユーザーに示し、同じ候補だと確認または明確に登録を承認した同じターンで呼び出してください。structuredContent.ok=trueが返った後だけ登録完了を伝えてください。
complete_daily_record
ChatGPT当日の食事記録を完了状態にします。「記録終了」「今日はここまで」「もう食べない」など、ユーザーが終了を明確に伝えた発言を承認として同じターンで呼び出してください。再確認は不要です。structuredContent.ok=trueが返った後だけ完了を伝えてください。
create_event
ChatGPT予定を登録します。titleとstartsAtを含む候補をユーザーが承認した同じターンで必ず呼び出してください。structuredContent.ok=trueが返る前に登録完了を伝えてはいけません。
create_favorite_place
ChatGPTよくいる場所・お店へ登録します。nameとcategoryを必ず入れてください。ユーザーが内容を承認した同じターンで必ず呼び出してください。structuredContent.ok=trueが返った後だけ完了を伝えてください。
create_food_entry
ChatGPTpreview_food_entryまたはpreview_food_photo_entryの確認カードにある「登録する」ボタン専用の書き込みツールです。モデルから直接呼び出してはいけません。ボタンを押した同じターンで食事・飲料を1品1レコードとして登録し、structuredContent.ok=trueが返った後だけ完了状態になります。ツールを呼んでいないのに処理エラーと説明してはいけません。
create_my_set
ChatGPT繰り返し使う運動をMyセットへ登録します。name、workout、itemsを必ず入れ、categoryはworkoutにしてください。食事の組み合わせには使いません。ユーザーが内容を承認した同じターンで必ず呼び出してください。structuredContent.ok=trueが返った後だけ完了を伝えてください。
create_pantry_item
ChatGPTpreview_pantry_itemの確認カードにある「登録する」ボタン専用の書き込みツールです。モデルから直接呼び出してはいけません。ボタンを押した同じターンでカードに表示した同一候補を管理ページへ登録し、structuredContent.ok=trueが返った後だけ完了状態になります。
create_recipe
ChatGPTMyメニューへ登録します。nameとingredientsを必ず入れてください。作り置き保存には使いません。ユーザーが内容を承認した同じターンで必ず呼び出してください。structuredContent.ok=trueが返った後だけ完了を伝えてください。
create_shopping_item
ChatGPT買い物リストへ登録します。labelを必ず入れてください。ユーザーが内容を承認した同じターンで必ず呼び出してください。structuredContent.ok=trueが返った後だけ完了を伝えてください。
create_weight_log
ChatGPTpreview_weight_logの確認カードにある「登録する」ボタン専用です。モデルから直接呼び出してはいけません。ボタンを押した同じターンで、カード専用のconfirmationTokenを使って表示済みの体組成を登録します。同じカードの再試行は同じ登録結果を返します。structuredContent.ok=trueが返った後だけ完了を表示します。
create_workout
ChatGPT運動ログを登録します。titleとdateを含む候補をユーザーが承認した同じターンで必ず呼び出してください。structuredContent.ok=trueが返る前に登録完了を伝えてはいけません。
delete_managed_item
ChatGPT管理ページの保存済みデータを削除します。対象IDを確認し、ユーザーが削除を明確に承認した同じターンで呼び出してください。structuredContent.ok=trueが返る前に削除完了を伝えてはいけません。
delete_record
ChatGPT保存済みの食事、運動、体重、予定を削除します。対象IDを確認し、ユーザーが削除を明確に承認した同じターンで呼び出してください。structuredContent.ok=trueが返る前に削除完了を伝えてはいけません。
dismiss_pair_food_suggestion
ChatGPT自分宛てのPair食事候補を今回は登録しない状態にします。ユーザーが見送りを明確に伝えた同じターンで呼び出してください。structuredContent.ok=trueが返った後だけ見送り完了を伝えてください。
get_chart_data
ChatGPT指定期間の摂取カロリー、PFC、運動消費、体重、同期済みヘルスケア指標を日別系列で取得します。
get_daily_energy_summary
ChatGPT今日または指定日の総消費カロリーを確認するときに必ず使います。総消費は基礎代謝・日常活動・運動を分け、Appleヘルスケア同期値と手入力を重複させずに集計します。運動ログだけを総消費として扱いません。ヘルスケア連携済みでもその日の同期値がなければ0kcalではなく未取得として返します。
get_meal_recommendation_context
ChatGPTユーザーが次の食事・献立・レシピ・外食候補を明示的に依頼した場合、または「次の食事を提案」ボタンを押した場合だけ使用します。挨拶、一般会話、食べた報告、保存完了に自動で提案を付けるために呼ばないでください。作り置き、Myメニュー、在庫、よくいる場所、食事の制約・好み・予算・当日の残りカロリーとPFCを取得します。目標と当日集計を含むため、同じ情報のためにget_nutrition_targetsやlist_recordsを重ねて呼ぶ必要はありません。
get_nutrition_targets
ChatGPTアプリで現在使われている1日の目標摂取カロリーとPFCを確認します。
get_workout_recommendation_context
ChatGPT何の運動をするか、運動メニュー、いつもの運動を相談されたとき、一般候補を出す前に必ず使います。管理に保存されている運動のMyセットを取得します。
list_managed_items
ChatGPT作り置き・食材、Myメニュー、運動のMyセット、買い物、よくいる場所の登録内容を確認します。
list_pair_food_suggestions
ChatGPT食べた物を報告されたとき、通常の食事候補を作る前に使います。Pair相手から届いた未処理候補を取得し、reportedTitlesに近い候補と、それ以外の候補を分けて返します。一致候補は勝手に登録せず本人に確認してください。
list_records
ChatGPT食事、運動、体重、予定の保存済み記録を期間指定で確認するときに使います。食事はsummaryの合計と朝食・昼食・夕食・間食の内訳を正とし、itemsの一部だけで再計算しないでください。
preview_food_entry
ChatGPT食べた・飲んだという報告から、未保存の食事登録候補を同じ返答内に表示するための読み取り専用ツールです。ツール名は互換性のため単数形ですが複数品に対応します。食品・飲料は必ず1品ずつentriesの別要素にし、各要素にその1品分だけのtitle/date/time/slot/calories/protein/fat/carbs/sourceLabelを用意してください。ユーザーが写真を添付している場合は、その添付ファイルをphotosへ必ず渡してください。複数品の名称連結や栄養値の合算は禁止です。量や時刻が省略されていれば一般的で編集可能な推定値を使ってください。「候補を出します」と予告するだけで終了してはいけません。このツールは保存しません。表示される「登録する」ボタンだけがユーザー確認とcreate_food_entryの実行を兼ねます。会話本文で「登録しますか」「この内容で登録していい?」と重ねて質問しないでください。会話で承認されても直接保存せずに既存のボタンを案内してください。
preview_food_photo_entry
ChatGPT写真付きの食事報告専用です。ユーザーが添付した全写真を必須のphotosへ渡し、写真から読み取った食品を1品ずつentriesの別要素にしてください。各要素にはその1品分だけのtitle/date/time/slot/calories/protein/fat/carbs/sourceLabelを用意します。このツールは保存せず、表示される「登録する」ボタンが確認と保存を兼ねます。写真が添付されているのに通常のpreview_food_entryへ切り替えたり、photosを省略したりしないでください。
preview_pantry_item
ChatGPT作り置き・食材を保存する前に、未保存の登録候補を確認カードへ表示する読み取り専用ツールです。作り置きではtitle/category="meal_prep"/storage/amount/unit/setCount/servingAmount/servingUnit/1食分のkcal・PFC/nutritionSourceLabel/baseDate/expiryDate/expirySourceLabel/expirySourceUrlをすべて用意してください。期限は保存方法と料理内容に合う公的機関・公式メーカー等の情報を調べ、保守的で編集可能な目安として設定してください。信頼できる根拠がない場合は期限を捏造せず、ユーザーに希望期限を確認してください。このツールは保存しません。表示される「登録する」ボタンだけがユーザー確認とcreate_pantry_itemの実行を兼ねるため、会話本文で登録可否を重ねて質問せず、会話で承認されても直接保存せずに既存のボタンを案内してください。
preview_weight_log
ChatGPT体重・体組成を登録したいときに、測定日と報告された数値を未保存の確認カードへ表示します。測定結果の画像から読み取った数値にも使います。dateとweightKgは必須、体脂肪率・脂肪量・筋肉量・体水分量は分かる値だけ渡します。未測定の値を0や推定で補わないでください。保存はカードの「登録する」ボタンで行うため、会話で「保存していいですか」と重ねて質問せず、ボタンを案内します。BMIはこの記録の保存項目には含みません。
show_meal_recommendations
ChatGPT明示的な食事提案依頼に対し、get_meal_recommendation_contextで制約・目標・記録を確認した後だけ使用。最大3候補を閉じられるカードに表示します。挨拶や通常会話や食べた報告から自動で呼ばないでください。保存・在庫更新は行いません。
suggest_pair_food_entries
ChatGPT接続中のPair相手へ食事の登録候補を送ります。相手が食べた分だけを1品ずつentriesに入れ、ユーザーが「相手に提案して」と明確に承認した同じターンで呼び出してください。相手の食事ログにはまだ登録されません。structuredContent.ok=trueが返った後だけ送信完了を伝えてください。
update_managed_item
ChatGPT管理ページの保存済みデータを更新します。対象IDと変更内容を確認し、ユーザーが承認した同じターンで呼び出してください。structuredContent.ok=trueが返る前に更新完了を伝えてはいけません。
update_nutrition_targets
ChatGPT1日の目標カロリーとPFCの算出方法を更新します。自動計画ではmode="auto"として目標体重・目標日から再計算します。手動設定ではmode="manual"と4項目すべてを候補として提示してください。ユーザーが承認した同じターンで呼び出し、structuredContent.ok=trueが返る前に更新完了を伝えてはいけません。
update_record
ChatGPT保存済みの食事、運動、体重、予定を更新します。対象IDと変更内容を確認し、ユーザーが承認した同じターンで呼び出してください。structuredContent.ok=trueが返る前に更新完了を伝えてはいけません。