agent-chef-mcp 1.0.6 → 1.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/catalog.json +843 -18
- package/package.json +1 -1
package/catalog.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
|
-
"synced_at": "2026-09-
|
|
2
|
+
"synced_at": "2026-09-10T03:13:44.979Z",
|
|
3
3
|
"server": {
|
|
4
4
|
"name": "agent-chef",
|
|
5
5
|
"version": "0.4.0"
|
|
6
6
|
},
|
|
7
|
-
"instructions": "# How to run Agent Chef\n\nYou are the household's agent. Agent Chef is the state machine; you are the hands. You never need to remember where the week stands: the server tells you.\n\nRUN LOOP. When the user says \"run agent chef\", call run_agent_chef (it returns this manual, today's checklist, and whether a recurring schedule exists) and follow it. The first time, also schedule yourself to run \"Run Agent Chef.\" twice a day (09:00 and 18:00 in the household's timezone) and confirm it with record_schedule, so the whole week runs end to end without anyone asking. Then:\n1. Call next_actions.\n2. Execute the returned actions in order. Each one names the tool, why it's due, and the arguments or message text to use. Where an argument is in <angle brackets>, you fill it in (e.g. write the 10 recipes).\n3. Call next_actions again. Repeat until it returns no actions, then stop and report a one-line summary.\n\nWHAT THE PHASES MEAN\n- new_cycle: it's past the household's plan day. Propose 10 recipes and send the ballot. Last week's unrated dinners are collected on the ballot page itself (a rating card sits above the new options), so don't send a separate rating request; the ballot text mentions it.\n- voting: people vote on their personal links until voting_closes_at (household setting: weekday + time; set_voting_deadline moves it). You may be asked to send one reminder to non-voters shortly before the deadline, or to add 2-3 options answering ballot feedback. When everyone has voted or the deadline passes, lock in the winners, announce them, and build the cart.\n- shopping: assemble_online_grocery_order gives you the list minus the pantry plus the household's shopping_preferences (brands, organic, substitutions): follow them when picking products. Fill the cart in the store's website, show the total, and STOP for explicit approval before checkout. Then record_grocery_order.\n- cooking / idle: nothing to do until the next plan day.\n\nWRITING RECIPES (propose_recipes / add_candidates): read get_recipe_preferences first. Source recipes from real pages: import_recipe(url) saves a recipe from a trusted site with its photo, ingredients and steps, then pass its recipe_id; aim for most of the ballot to come from real sources. search_recipes finds anything already in the library. PHOTOS ARE YOUR JOB: every candidate should have a real image_url (the source page's photo, or one you found by searching). The server checks each URL is a live image and rejects dead ones; a card without a photo means you skipped this. If no real photo exists, generate one with your image tool (a realistic photo of the plated dish, natural light, no text, no people) and attach it with set_recipe_image, which stores it permanently; image-tool URLs expire, so never pass them as image_url directly. After propose_recipes, check the returned candidates for a missing image_url and fix each with set_recipe_image. Use get_favorite_recipes (include 1-2), get_past_recipes (avoid repeats from the last ~4 weeks), get_past_votes (lean into what wins), get_ingredients (use what's on hand). Each recipe: title, one appetizing sentence, servings, complete ingredients with quantities, steps, tags, and a real image_url (see PHOTOS).\n\nMESSAGING: message_group sends push notifications (to members who tapped \"notify me\" on their vote page), SMS or email, and personalises {vote_link} per person; channel auto picks push first, then text, then email. Pass the kind the action specifies so the server can track what was sent. If the household prefers, you may post the same text into their own group chat instead; still call message_group so it's logged (it dry-runs if no provider is configured).\n\nSWITCHING FROM ANOTHER APP: when the owner lists meals they loved elsewhere (Mealime, a meal kit, a recipe manager), find a real recipe page for each name on a well-known recipe site, then save them all at once with import_recipes (favorite_all: true); URLs they give you go straight in. If you have a browser tool, you can collect the favorites yourself: open the old app, let the owner sign in (never type their password), gather the recipe links, then import. Mealime and HelloFresh recipe pages import cleanly; Blue Apron and Marley Spoon block automated fetching, so for those read each recipe card in your browser and save it with create_recipe (title, ingredients with quantities, steps, servings, photo URL, source link, favorite: true). Use create_recipe whenever import_recipe fails on a page you can read. Report what you saved and what you could not find. Favorites are re-proposed on future ballots.\n\nHOUSEHOLDS OF ONE work the same way: one voter, top N by their votes, same loop. Never block on adding members.\n\nRULES: never invent a vote or a rating; never check out without explicit approval in this conversation; keep messages short and friendly; if a tool errors, fix the input and retry once, then report.",
|
|
7
|
+
"instructions": "# How to run Agent Chef\n\nYou are the household's agent. Agent Chef is the state machine; you are the hands. You never need to remember where the week stands: the server tells you.\n\nRUN LOOP. When the user says \"run agent chef\", call run_agent_chef (it returns this manual, today's checklist, and whether a recurring schedule exists) and follow it. The first time, also schedule yourself to run \"Run Agent Chef.\" twice a day (09:00 and 18:00 in the household's timezone) and confirm it with record_schedule, so the whole week runs end to end without anyone asking. Then:\n1. Call next_actions.\n2. Execute the returned actions in order. Each one names the tool, why it's due, and the arguments or message text to use. Where an argument is in <angle brackets>, you fill it in (e.g. write the 10 recipes).\n3. Call next_actions again. Repeat until it returns no actions, then stop and report a one-line summary.\n\nWHAT THE PHASES MEAN\n- new_cycle: it's past the household's plan day. Propose 10 recipes and send the ballot. Last week's unrated dinners are collected on the ballot page itself (a rating card sits above the new options), so don't send a separate rating request; the ballot text mentions it.\n- voting: people vote on their personal links until voting_closes_at (household setting: weekday + time; set_voting_deadline moves it). You may be asked to send one reminder to non-voters shortly before the deadline, or to add 2-3 options answering ballot feedback. When everyone has voted or the deadline passes, lock in the winners, announce them, and build the cart.\n- shopping: assemble_online_grocery_order gives you the list minus the pantry plus the household's shopping_preferences (brands, organic, substitutions): follow them when picking products. Fill the cart in the store's website, show the total, and STOP for explicit approval before checkout. Then record_grocery_order.\n- cooking / idle: nothing to do until the next plan day.\n\nCOMMUNITY RECIPES: Agent Chef has a shared pool of public recipes (\"Community recipes\") with photos, ingredients and steps, plus how many households cooked, favorited and rated each one. Before writing or importing recipes, call search_recipes with scope 'library' (a query or tag helps). Put library ids straight on the ballot with propose_recipes or add_candidates; the recipe is copied into the household automatically. add_library_recipe saves one as a favorite without a ballot. Prefer well-cooked, well-rated library recipes over untested ones from the web.\n\nWRITING RECIPES (propose_recipes / add_candidates): read get_recipe_preferences first. Source recipes from real pages: import_recipe(url) saves a recipe from a trusted site with its photo, ingredients and steps, then pass its recipe_id; aim for most of the ballot to come from real sources. search_recipes finds anything already in the library. PHOTOS ARE YOUR JOB: every candidate should have a real image_url (the source page's photo, or one you found by searching). The server checks each URL is a live image and rejects dead ones; a card without a photo means you skipped this. If no real photo exists, generate one with your image tool (a realistic photo of the plated dish, natural light, no text, no people) and attach it with set_recipe_image, which stores it permanently; image-tool URLs expire, so never pass them as image_url directly. Photos copied from recipe sites stay private to the household; when a recipe is shared to Community recipes, only ingredients, a source link and an original photo are shown. After propose_recipes, check the returned candidates for a missing image_url and fix each with set_recipe_image. Use get_favorite_recipes (include 1-2), get_past_recipes (avoid repeats from the last ~4 weeks), get_past_votes (lean into what wins), get_ingredients (use what's on hand). Each recipe: title, one appetizing sentence, servings, complete ingredients with quantities, steps, tags, and a real image_url (see PHOTOS).\n\nMESSAGING: message_group sends push notifications (to members who tapped \"notify me\" on their vote page), SMS or email, and personalises {vote_link} per person; channel auto picks push first, then text, then email. Pass the kind the action specifies so the server can track what was sent. If the household prefers, you may post the same text into their own group chat instead; still call message_group so it's logged (it dry-runs if no provider is configured).\n\nSWITCHING FROM ANOTHER APP: when the owner lists meals they loved elsewhere (Mealime, a meal kit, a recipe manager), find a real recipe page for each name on a well-known recipe site, then save them all at once with import_recipes (favorite_all: true); URLs they give you go straight in. If you have a browser tool, you can collect the favorites yourself: open the old app, let the owner sign in (never type their password), gather the recipe links, then import. Mealime and HelloFresh recipe pages import cleanly; Blue Apron and Marley Spoon block automated fetching, so for those read each recipe card in your browser and save it with create_recipe (title, ingredients with quantities, steps, servings, photo URL, source link, favorite: true). Use create_recipe whenever import_recipe fails on a page you can read. Report what you saved and what you could not find. Favorites are re-proposed on future ballots.\n\nON-DEMAND REQUESTS: when the owner asks for something the schedule wouldn't do yet (\"start next week's ballot now\", \"add two more options\", \"lock it in early\", \"send a reminder\"), do it directly with the matching tool even if next_actions says nothing is due. For an early ballot, call propose_recipes with week_start set to the coming cycle start (next_actions returns it as on_demand / cycle_start) and then message_group with the ballot.\n\nHOUSEHOLDS OF ONE work the same way: one voter, top N by their votes, same loop. Never block on adding members.\n\nRULES: never invent a vote or a rating; never check out without explicit approval in this conversation; keep messages short and friendly; if a tool errors, fix the input and retry once, then report.",
|
|
8
8
|
"tools": [
|
|
9
9
|
{
|
|
10
10
|
"name": "run_agent_chef",
|
|
@@ -99,6 +99,13 @@
|
|
|
99
99
|
"string",
|
|
100
100
|
"null"
|
|
101
101
|
]
|
|
102
|
+
},
|
|
103
|
+
"share_url": {
|
|
104
|
+
"type": [
|
|
105
|
+
"string",
|
|
106
|
+
"null"
|
|
107
|
+
],
|
|
108
|
+
"description": "Public page showing this week's winners"
|
|
102
109
|
}
|
|
103
110
|
},
|
|
104
111
|
"required": [
|
|
@@ -204,6 +211,12 @@
|
|
|
204
211
|
"null"
|
|
205
212
|
]
|
|
206
213
|
},
|
|
214
|
+
"on_demand": {
|
|
215
|
+
"type": [
|
|
216
|
+
"string",
|
|
217
|
+
"null"
|
|
218
|
+
]
|
|
219
|
+
},
|
|
207
220
|
"billing": {
|
|
208
221
|
"anyOf": [
|
|
209
222
|
{
|
|
@@ -567,6 +580,13 @@
|
|
|
567
580
|
"string",
|
|
568
581
|
"null"
|
|
569
582
|
]
|
|
583
|
+
},
|
|
584
|
+
"share_url": {
|
|
585
|
+
"type": [
|
|
586
|
+
"string",
|
|
587
|
+
"null"
|
|
588
|
+
],
|
|
589
|
+
"description": "Public page showing this week's winners"
|
|
570
590
|
}
|
|
571
591
|
},
|
|
572
592
|
"required": [
|
|
@@ -672,6 +692,12 @@
|
|
|
672
692
|
"null"
|
|
673
693
|
]
|
|
674
694
|
},
|
|
695
|
+
"on_demand": {
|
|
696
|
+
"type": [
|
|
697
|
+
"string",
|
|
698
|
+
"null"
|
|
699
|
+
]
|
|
700
|
+
},
|
|
675
701
|
"billing": {
|
|
676
702
|
"anyOf": [
|
|
677
703
|
{
|
|
@@ -964,7 +990,7 @@
|
|
|
964
990
|
{
|
|
965
991
|
"name": "get_members",
|
|
966
992
|
"title": "Get household members",
|
|
967
|
-
"description": "List household members with contact info, whether they get push notifications, and their personal vote links.",
|
|
993
|
+
"description": "List household members with contact info, whether they have signed in to Agent Chef themselves (has_account), whether they get push notifications, and their personal vote links.",
|
|
968
994
|
"inputSchema": {
|
|
969
995
|
"type": "object",
|
|
970
996
|
"properties": {}
|
|
@@ -1009,13 +1035,15 @@
|
|
|
1009
1035
|
"type": "string",
|
|
1010
1036
|
"enum": [
|
|
1011
1037
|
"owner",
|
|
1038
|
+
"admin",
|
|
1012
1039
|
"member"
|
|
1013
1040
|
]
|
|
1014
1041
|
},
|
|
1015
1042
|
{
|
|
1016
1043
|
"type": "null"
|
|
1017
1044
|
}
|
|
1018
|
-
]
|
|
1045
|
+
],
|
|
1046
|
+
"description": "owner = primary owner; admin = runs the household like the owner; member = votes, rates and browses"
|
|
1019
1047
|
},
|
|
1020
1048
|
"vote_link": {
|
|
1021
1049
|
"type": [
|
|
@@ -1024,6 +1052,13 @@
|
|
|
1024
1052
|
],
|
|
1025
1053
|
"description": "Personal voting page for this member"
|
|
1026
1054
|
},
|
|
1055
|
+
"has_account": {
|
|
1056
|
+
"type": [
|
|
1057
|
+
"boolean",
|
|
1058
|
+
"null"
|
|
1059
|
+
],
|
|
1060
|
+
"description": "True once this member has signed in to Agent Chef with their own account"
|
|
1061
|
+
},
|
|
1027
1062
|
"push_subscribed": {
|
|
1028
1063
|
"type": [
|
|
1029
1064
|
"boolean",
|
|
@@ -1050,7 +1085,7 @@
|
|
|
1050
1085
|
{
|
|
1051
1086
|
"name": "upsert_member",
|
|
1052
1087
|
"title": "Add or update a member",
|
|
1053
|
-
"description": "Add a household member or update phone/email. Name is the key (case-insensitive).",
|
|
1088
|
+
"description": "Add a household member or update phone/email/role. Name is the key (case-insensitive). Roles: member (default) can vote, rate and browse once they sign in; admin can also change settings, recipes and weeks like the owner.",
|
|
1054
1089
|
"inputSchema": {
|
|
1055
1090
|
"type": "object",
|
|
1056
1091
|
"properties": {
|
|
@@ -1063,6 +1098,14 @@
|
|
|
1063
1098
|
},
|
|
1064
1099
|
"email": {
|
|
1065
1100
|
"type": "string"
|
|
1101
|
+
},
|
|
1102
|
+
"role": {
|
|
1103
|
+
"type": "string",
|
|
1104
|
+
"enum": [
|
|
1105
|
+
"admin",
|
|
1106
|
+
"member"
|
|
1107
|
+
],
|
|
1108
|
+
"description": "Only for members who have signed in to Agent Chef (has_account); admin needs an account"
|
|
1066
1109
|
}
|
|
1067
1110
|
},
|
|
1068
1111
|
"required": [
|
|
@@ -1106,13 +1149,15 @@
|
|
|
1106
1149
|
"type": "string",
|
|
1107
1150
|
"enum": [
|
|
1108
1151
|
"owner",
|
|
1152
|
+
"admin",
|
|
1109
1153
|
"member"
|
|
1110
1154
|
]
|
|
1111
1155
|
},
|
|
1112
1156
|
{
|
|
1113
1157
|
"type": "null"
|
|
1114
1158
|
}
|
|
1115
|
-
]
|
|
1159
|
+
],
|
|
1160
|
+
"description": "owner = primary owner; admin = runs the household like the owner; member = votes, rates and browses"
|
|
1116
1161
|
},
|
|
1117
1162
|
"vote_link": {
|
|
1118
1163
|
"type": [
|
|
@@ -1121,6 +1166,13 @@
|
|
|
1121
1166
|
],
|
|
1122
1167
|
"description": "Personal voting page for this member"
|
|
1123
1168
|
},
|
|
1169
|
+
"has_account": {
|
|
1170
|
+
"type": [
|
|
1171
|
+
"boolean",
|
|
1172
|
+
"null"
|
|
1173
|
+
],
|
|
1174
|
+
"description": "True once this member has signed in to Agent Chef with their own account"
|
|
1175
|
+
},
|
|
1124
1176
|
"push_subscribed": {
|
|
1125
1177
|
"type": [
|
|
1126
1178
|
"boolean",
|
|
@@ -1194,13 +1246,15 @@
|
|
|
1194
1246
|
"type": "string",
|
|
1195
1247
|
"enum": [
|
|
1196
1248
|
"owner",
|
|
1249
|
+
"admin",
|
|
1197
1250
|
"member"
|
|
1198
1251
|
]
|
|
1199
1252
|
},
|
|
1200
1253
|
{
|
|
1201
1254
|
"type": "null"
|
|
1202
1255
|
}
|
|
1203
|
-
]
|
|
1256
|
+
],
|
|
1257
|
+
"description": "owner = primary owner; admin = runs the household like the owner; member = votes, rates and browses"
|
|
1204
1258
|
},
|
|
1205
1259
|
"vote_link": {
|
|
1206
1260
|
"type": [
|
|
@@ -1209,6 +1263,13 @@
|
|
|
1209
1263
|
],
|
|
1210
1264
|
"description": "Personal voting page for this member"
|
|
1211
1265
|
},
|
|
1266
|
+
"has_account": {
|
|
1267
|
+
"type": [
|
|
1268
|
+
"boolean",
|
|
1269
|
+
"null"
|
|
1270
|
+
],
|
|
1271
|
+
"description": "True once this member has signed in to Agent Chef with their own account"
|
|
1272
|
+
},
|
|
1212
1273
|
"push_subscribed": {
|
|
1213
1274
|
"type": [
|
|
1214
1275
|
"boolean",
|
|
@@ -1488,6 +1549,33 @@
|
|
|
1488
1549
|
"null"
|
|
1489
1550
|
]
|
|
1490
1551
|
},
|
|
1552
|
+
"is_public": {
|
|
1553
|
+
"type": [
|
|
1554
|
+
"boolean",
|
|
1555
|
+
"null"
|
|
1556
|
+
]
|
|
1557
|
+
},
|
|
1558
|
+
"public_url": {
|
|
1559
|
+
"type": [
|
|
1560
|
+
"string",
|
|
1561
|
+
"null"
|
|
1562
|
+
],
|
|
1563
|
+
"description": "Indexable public page, when published"
|
|
1564
|
+
},
|
|
1565
|
+
"source_recipe_id": {
|
|
1566
|
+
"type": [
|
|
1567
|
+
"string",
|
|
1568
|
+
"null"
|
|
1569
|
+
],
|
|
1570
|
+
"description": "Set when this is the household's copy of a Community recipe"
|
|
1571
|
+
},
|
|
1572
|
+
"image_generated": {
|
|
1573
|
+
"type": [
|
|
1574
|
+
"boolean",
|
|
1575
|
+
"null"
|
|
1576
|
+
],
|
|
1577
|
+
"description": "Photo was generated by Agent Chef, so it is safe to show publicly"
|
|
1578
|
+
},
|
|
1491
1579
|
"created_at": {
|
|
1492
1580
|
"type": [
|
|
1493
1581
|
"string",
|
|
@@ -1678,6 +1766,33 @@
|
|
|
1678
1766
|
"null"
|
|
1679
1767
|
]
|
|
1680
1768
|
},
|
|
1769
|
+
"is_public": {
|
|
1770
|
+
"type": [
|
|
1771
|
+
"boolean",
|
|
1772
|
+
"null"
|
|
1773
|
+
]
|
|
1774
|
+
},
|
|
1775
|
+
"public_url": {
|
|
1776
|
+
"type": [
|
|
1777
|
+
"string",
|
|
1778
|
+
"null"
|
|
1779
|
+
],
|
|
1780
|
+
"description": "Indexable public page, when published"
|
|
1781
|
+
},
|
|
1782
|
+
"source_recipe_id": {
|
|
1783
|
+
"type": [
|
|
1784
|
+
"string",
|
|
1785
|
+
"null"
|
|
1786
|
+
],
|
|
1787
|
+
"description": "Set when this is the household's copy of a Community recipe"
|
|
1788
|
+
},
|
|
1789
|
+
"image_generated": {
|
|
1790
|
+
"type": [
|
|
1791
|
+
"boolean",
|
|
1792
|
+
"null"
|
|
1793
|
+
],
|
|
1794
|
+
"description": "Photo was generated by Agent Chef, so it is safe to show publicly"
|
|
1795
|
+
},
|
|
1681
1796
|
"created_at": {
|
|
1682
1797
|
"type": [
|
|
1683
1798
|
"string",
|
|
@@ -1741,7 +1856,7 @@
|
|
|
1741
1856
|
{
|
|
1742
1857
|
"name": "get_recipe",
|
|
1743
1858
|
"title": "Get a recipe",
|
|
1744
|
-
"description": "Full details for one recipe: ingredients, steps, servings, source, tags, ratings, comments, how often it's been cooked,
|
|
1859
|
+
"description": "Full details for one recipe: ingredients, steps, servings, source, tags, ratings, comments, how often it's been cooked, a link to its page, and a public share_url anyone can open.",
|
|
1745
1860
|
"inputSchema": {
|
|
1746
1861
|
"type": "object",
|
|
1747
1862
|
"properties": {
|
|
@@ -1857,6 +1972,33 @@
|
|
|
1857
1972
|
"null"
|
|
1858
1973
|
]
|
|
1859
1974
|
},
|
|
1975
|
+
"is_public": {
|
|
1976
|
+
"type": [
|
|
1977
|
+
"boolean",
|
|
1978
|
+
"null"
|
|
1979
|
+
]
|
|
1980
|
+
},
|
|
1981
|
+
"public_url": {
|
|
1982
|
+
"type": [
|
|
1983
|
+
"string",
|
|
1984
|
+
"null"
|
|
1985
|
+
],
|
|
1986
|
+
"description": "Indexable public page, when published"
|
|
1987
|
+
},
|
|
1988
|
+
"source_recipe_id": {
|
|
1989
|
+
"type": [
|
|
1990
|
+
"string",
|
|
1991
|
+
"null"
|
|
1992
|
+
],
|
|
1993
|
+
"description": "Set when this is the household's copy of a Community recipe"
|
|
1994
|
+
},
|
|
1995
|
+
"image_generated": {
|
|
1996
|
+
"type": [
|
|
1997
|
+
"boolean",
|
|
1998
|
+
"null"
|
|
1999
|
+
],
|
|
2000
|
+
"description": "Photo was generated by Agent Chef, so it is safe to show publicly"
|
|
2001
|
+
},
|
|
1860
2002
|
"created_at": {
|
|
1861
2003
|
"type": [
|
|
1862
2004
|
"string",
|
|
@@ -1964,6 +2106,13 @@
|
|
|
1964
2106
|
},
|
|
1965
2107
|
"url": {
|
|
1966
2108
|
"$ref": "#/properties/id"
|
|
2109
|
+
},
|
|
2110
|
+
"share_url": {
|
|
2111
|
+
"type": [
|
|
2112
|
+
"string",
|
|
2113
|
+
"null"
|
|
2114
|
+
],
|
|
2115
|
+
"description": "Public page for this recipe"
|
|
1967
2116
|
}
|
|
1968
2117
|
},
|
|
1969
2118
|
"required": [
|
|
@@ -1990,6 +2139,15 @@
|
|
|
1990
2139
|
},
|
|
1991
2140
|
"tag": {
|
|
1992
2141
|
"type": "string"
|
|
2142
|
+
},
|
|
2143
|
+
"scope": {
|
|
2144
|
+
"type": "string",
|
|
2145
|
+
"enum": [
|
|
2146
|
+
"ours",
|
|
2147
|
+
"library",
|
|
2148
|
+
"all"
|
|
2149
|
+
],
|
|
2150
|
+
"description": "ours (default): this household's recipes. library: Community recipes, the shared pool of public recipes, with cooks/favorites/ratings across households. all: both."
|
|
1993
2151
|
}
|
|
1994
2152
|
},
|
|
1995
2153
|
"additionalProperties": false,
|
|
@@ -2102,6 +2260,33 @@
|
|
|
2102
2260
|
"null"
|
|
2103
2261
|
]
|
|
2104
2262
|
},
|
|
2263
|
+
"is_public": {
|
|
2264
|
+
"type": [
|
|
2265
|
+
"boolean",
|
|
2266
|
+
"null"
|
|
2267
|
+
]
|
|
2268
|
+
},
|
|
2269
|
+
"public_url": {
|
|
2270
|
+
"type": [
|
|
2271
|
+
"string",
|
|
2272
|
+
"null"
|
|
2273
|
+
],
|
|
2274
|
+
"description": "Indexable public page, when published"
|
|
2275
|
+
},
|
|
2276
|
+
"source_recipe_id": {
|
|
2277
|
+
"type": [
|
|
2278
|
+
"string",
|
|
2279
|
+
"null"
|
|
2280
|
+
],
|
|
2281
|
+
"description": "Set when this is the household's copy of a Community recipe"
|
|
2282
|
+
},
|
|
2283
|
+
"image_generated": {
|
|
2284
|
+
"type": [
|
|
2285
|
+
"boolean",
|
|
2286
|
+
"null"
|
|
2287
|
+
],
|
|
2288
|
+
"description": "Photo was generated by Agent Chef, so it is safe to show publicly"
|
|
2289
|
+
},
|
|
2105
2290
|
"created_at": {
|
|
2106
2291
|
"type": [
|
|
2107
2292
|
"string",
|
|
@@ -2154,28 +2339,58 @@
|
|
|
2154
2339
|
]
|
|
2155
2340
|
},
|
|
2156
2341
|
"rating_count": {
|
|
2342
|
+
"type": "number"
|
|
2343
|
+
},
|
|
2344
|
+
"times_cooked": {
|
|
2157
2345
|
"type": [
|
|
2158
2346
|
"number",
|
|
2159
2347
|
"null"
|
|
2160
2348
|
]
|
|
2161
2349
|
},
|
|
2162
|
-
"
|
|
2350
|
+
"last_cooked": {
|
|
2163
2351
|
"type": [
|
|
2164
|
-
"
|
|
2352
|
+
"string",
|
|
2165
2353
|
"null"
|
|
2166
2354
|
]
|
|
2167
2355
|
},
|
|
2168
|
-
"
|
|
2356
|
+
"url": {
|
|
2357
|
+
"type": "string",
|
|
2358
|
+
"description": "Public page"
|
|
2359
|
+
},
|
|
2360
|
+
"cooks": {
|
|
2361
|
+
"type": "number",
|
|
2362
|
+
"description": "Households that have cooked it"
|
|
2363
|
+
},
|
|
2364
|
+
"favorites": {
|
|
2365
|
+
"type": "number",
|
|
2366
|
+
"description": "Households that favorited it"
|
|
2367
|
+
},
|
|
2368
|
+
"forks": {
|
|
2369
|
+
"type": "number",
|
|
2370
|
+
"description": "Households that added it"
|
|
2371
|
+
},
|
|
2372
|
+
"my_recipe_id": {
|
|
2169
2373
|
"type": [
|
|
2170
2374
|
"string",
|
|
2171
2375
|
"null"
|
|
2376
|
+
],
|
|
2377
|
+
"description": "This household's copy, if already added; use that id on ballots"
|
|
2378
|
+
},
|
|
2379
|
+
"scope": {
|
|
2380
|
+
"anyOf": [
|
|
2381
|
+
{
|
|
2382
|
+
"type": "string",
|
|
2383
|
+
"enum": [
|
|
2384
|
+
"ours",
|
|
2385
|
+
"library"
|
|
2386
|
+
]
|
|
2387
|
+
},
|
|
2388
|
+
{
|
|
2389
|
+
"type": "null"
|
|
2390
|
+
}
|
|
2172
2391
|
]
|
|
2173
2392
|
}
|
|
2174
2393
|
},
|
|
2175
|
-
"required": [
|
|
2176
|
-
"id",
|
|
2177
|
-
"title"
|
|
2178
|
-
],
|
|
2179
2394
|
"additionalProperties": true
|
|
2180
2395
|
}
|
|
2181
2396
|
}
|
|
@@ -2187,10 +2402,221 @@
|
|
|
2187
2402
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
2188
2403
|
}
|
|
2189
2404
|
},
|
|
2405
|
+
{
|
|
2406
|
+
"name": "add_library_recipe",
|
|
2407
|
+
"title": "Add a Community recipe",
|
|
2408
|
+
"description": "Copy a recipe from Community recipes (search_recipes with scope 'library') into this household, as a favorite by default. Returns the household's copy; use its id on ballots. Passing a library id straight to propose_recipes or add_candidates does the same copy automatically.",
|
|
2409
|
+
"inputSchema": {
|
|
2410
|
+
"type": "object",
|
|
2411
|
+
"properties": {
|
|
2412
|
+
"recipe_id": {
|
|
2413
|
+
"type": "string",
|
|
2414
|
+
"description": "Library recipe id from search_recipes"
|
|
2415
|
+
},
|
|
2416
|
+
"favorite": {
|
|
2417
|
+
"type": "boolean",
|
|
2418
|
+
"description": "Default true"
|
|
2419
|
+
}
|
|
2420
|
+
},
|
|
2421
|
+
"required": [
|
|
2422
|
+
"recipe_id"
|
|
2423
|
+
],
|
|
2424
|
+
"additionalProperties": false,
|
|
2425
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
2426
|
+
},
|
|
2427
|
+
"annotations": {
|
|
2428
|
+
"readOnlyHint": false,
|
|
2429
|
+
"destructiveHint": false,
|
|
2430
|
+
"openWorldHint": false
|
|
2431
|
+
},
|
|
2432
|
+
"execution": {
|
|
2433
|
+
"taskSupport": "forbidden"
|
|
2434
|
+
},
|
|
2435
|
+
"outputSchema": {
|
|
2436
|
+
"type": "object",
|
|
2437
|
+
"properties": {
|
|
2438
|
+
"id": {
|
|
2439
|
+
"type": "string"
|
|
2440
|
+
},
|
|
2441
|
+
"title": {
|
|
2442
|
+
"$ref": "#/properties/id"
|
|
2443
|
+
},
|
|
2444
|
+
"description": {
|
|
2445
|
+
"type": [
|
|
2446
|
+
"string",
|
|
2447
|
+
"null"
|
|
2448
|
+
]
|
|
2449
|
+
},
|
|
2450
|
+
"image_url": {
|
|
2451
|
+
"type": [
|
|
2452
|
+
"string",
|
|
2453
|
+
"null"
|
|
2454
|
+
]
|
|
2455
|
+
},
|
|
2456
|
+
"source_url": {
|
|
2457
|
+
"type": [
|
|
2458
|
+
"string",
|
|
2459
|
+
"null"
|
|
2460
|
+
]
|
|
2461
|
+
},
|
|
2462
|
+
"servings": {
|
|
2463
|
+
"type": [
|
|
2464
|
+
"number",
|
|
2465
|
+
"null"
|
|
2466
|
+
]
|
|
2467
|
+
},
|
|
2468
|
+
"ingredients": {
|
|
2469
|
+
"anyOf": [
|
|
2470
|
+
{
|
|
2471
|
+
"type": "array",
|
|
2472
|
+
"items": {
|
|
2473
|
+
"type": "object",
|
|
2474
|
+
"properties": {
|
|
2475
|
+
"name": {
|
|
2476
|
+
"$ref": "#/properties/id"
|
|
2477
|
+
},
|
|
2478
|
+
"quantity": {
|
|
2479
|
+
"type": [
|
|
2480
|
+
"string",
|
|
2481
|
+
"null"
|
|
2482
|
+
],
|
|
2483
|
+
"description": "Free text, e.g. '2 lbs'"
|
|
2484
|
+
}
|
|
2485
|
+
},
|
|
2486
|
+
"required": [
|
|
2487
|
+
"name"
|
|
2488
|
+
],
|
|
2489
|
+
"additionalProperties": true
|
|
2490
|
+
}
|
|
2491
|
+
},
|
|
2492
|
+
{
|
|
2493
|
+
"type": "null"
|
|
2494
|
+
}
|
|
2495
|
+
]
|
|
2496
|
+
},
|
|
2497
|
+
"steps": {
|
|
2498
|
+
"anyOf": [
|
|
2499
|
+
{
|
|
2500
|
+
"type": "array",
|
|
2501
|
+
"items": {
|
|
2502
|
+
"$ref": "#/properties/id"
|
|
2503
|
+
}
|
|
2504
|
+
},
|
|
2505
|
+
{
|
|
2506
|
+
"type": "null"
|
|
2507
|
+
}
|
|
2508
|
+
]
|
|
2509
|
+
},
|
|
2510
|
+
"tags": {
|
|
2511
|
+
"anyOf": [
|
|
2512
|
+
{
|
|
2513
|
+
"type": "array",
|
|
2514
|
+
"items": {
|
|
2515
|
+
"$ref": "#/properties/id"
|
|
2516
|
+
}
|
|
2517
|
+
},
|
|
2518
|
+
{
|
|
2519
|
+
"type": "null"
|
|
2520
|
+
}
|
|
2521
|
+
]
|
|
2522
|
+
},
|
|
2523
|
+
"is_favorite": {
|
|
2524
|
+
"type": [
|
|
2525
|
+
"boolean",
|
|
2526
|
+
"null"
|
|
2527
|
+
]
|
|
2528
|
+
},
|
|
2529
|
+
"is_public": {
|
|
2530
|
+
"type": [
|
|
2531
|
+
"boolean",
|
|
2532
|
+
"null"
|
|
2533
|
+
]
|
|
2534
|
+
},
|
|
2535
|
+
"public_url": {
|
|
2536
|
+
"type": [
|
|
2537
|
+
"string",
|
|
2538
|
+
"null"
|
|
2539
|
+
],
|
|
2540
|
+
"description": "Indexable public page, when published"
|
|
2541
|
+
},
|
|
2542
|
+
"source_recipe_id": {
|
|
2543
|
+
"type": [
|
|
2544
|
+
"string",
|
|
2545
|
+
"null"
|
|
2546
|
+
],
|
|
2547
|
+
"description": "Set when this is the household's copy of a Community recipe"
|
|
2548
|
+
},
|
|
2549
|
+
"image_generated": {
|
|
2550
|
+
"type": [
|
|
2551
|
+
"boolean",
|
|
2552
|
+
"null"
|
|
2553
|
+
],
|
|
2554
|
+
"description": "Photo was generated by Agent Chef, so it is safe to show publicly"
|
|
2555
|
+
},
|
|
2556
|
+
"created_at": {
|
|
2557
|
+
"type": [
|
|
2558
|
+
"string",
|
|
2559
|
+
"null"
|
|
2560
|
+
]
|
|
2561
|
+
},
|
|
2562
|
+
"ratings": {
|
|
2563
|
+
"anyOf": [
|
|
2564
|
+
{
|
|
2565
|
+
"type": "array",
|
|
2566
|
+
"items": {
|
|
2567
|
+
"type": "object",
|
|
2568
|
+
"properties": {
|
|
2569
|
+
"rating": {
|
|
2570
|
+
"type": "number",
|
|
2571
|
+
"description": "1-5"
|
|
2572
|
+
},
|
|
2573
|
+
"comment": {
|
|
2574
|
+
"type": [
|
|
2575
|
+
"string",
|
|
2576
|
+
"null"
|
|
2577
|
+
]
|
|
2578
|
+
},
|
|
2579
|
+
"member": {
|
|
2580
|
+
"$ref": "#/properties/id"
|
|
2581
|
+
},
|
|
2582
|
+
"created_at": {
|
|
2583
|
+
"type": [
|
|
2584
|
+
"string",
|
|
2585
|
+
"null"
|
|
2586
|
+
]
|
|
2587
|
+
}
|
|
2588
|
+
},
|
|
2589
|
+
"required": [
|
|
2590
|
+
"rating",
|
|
2591
|
+
"member"
|
|
2592
|
+
],
|
|
2593
|
+
"additionalProperties": true
|
|
2594
|
+
}
|
|
2595
|
+
},
|
|
2596
|
+
{
|
|
2597
|
+
"type": "null"
|
|
2598
|
+
}
|
|
2599
|
+
]
|
|
2600
|
+
},
|
|
2601
|
+
"avg_rating": {
|
|
2602
|
+
"type": [
|
|
2603
|
+
"number",
|
|
2604
|
+
"null"
|
|
2605
|
+
]
|
|
2606
|
+
}
|
|
2607
|
+
},
|
|
2608
|
+
"required": [
|
|
2609
|
+
"id",
|
|
2610
|
+
"title"
|
|
2611
|
+
],
|
|
2612
|
+
"additionalProperties": true,
|
|
2613
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
2614
|
+
}
|
|
2615
|
+
},
|
|
2190
2616
|
{
|
|
2191
2617
|
"name": "update_recipe",
|
|
2192
2618
|
"title": "Update a recipe",
|
|
2193
|
-
"description": "Edit a stored recipe: fix an ingredient, add steps, change servings, tags, image or source. Only provided fields change.",
|
|
2619
|
+
"description": "Edit a stored recipe: fix an ingredient, add steps, change servings, tags, image or source, or set public to publish it on agentchef.net/recipes. Only provided fields change.",
|
|
2194
2620
|
"inputSchema": {
|
|
2195
2621
|
"type": "object",
|
|
2196
2622
|
"properties": {
|
|
@@ -2243,6 +2669,10 @@
|
|
|
2243
2669
|
"items": {
|
|
2244
2670
|
"type": "string"
|
|
2245
2671
|
}
|
|
2672
|
+
},
|
|
2673
|
+
"public": {
|
|
2674
|
+
"type": "boolean",
|
|
2675
|
+
"description": "Publish this recipe on agentchef.net/recipes (indexable, with the household's name). Imported recipes show ingredients and link to the source for steps."
|
|
2246
2676
|
}
|
|
2247
2677
|
},
|
|
2248
2678
|
"required": [
|
|
@@ -2353,6 +2783,33 @@
|
|
|
2353
2783
|
"null"
|
|
2354
2784
|
]
|
|
2355
2785
|
},
|
|
2786
|
+
"is_public": {
|
|
2787
|
+
"type": [
|
|
2788
|
+
"boolean",
|
|
2789
|
+
"null"
|
|
2790
|
+
]
|
|
2791
|
+
},
|
|
2792
|
+
"public_url": {
|
|
2793
|
+
"type": [
|
|
2794
|
+
"string",
|
|
2795
|
+
"null"
|
|
2796
|
+
],
|
|
2797
|
+
"description": "Indexable public page, when published"
|
|
2798
|
+
},
|
|
2799
|
+
"source_recipe_id": {
|
|
2800
|
+
"type": [
|
|
2801
|
+
"string",
|
|
2802
|
+
"null"
|
|
2803
|
+
],
|
|
2804
|
+
"description": "Set when this is the household's copy of a Community recipe"
|
|
2805
|
+
},
|
|
2806
|
+
"image_generated": {
|
|
2807
|
+
"type": [
|
|
2808
|
+
"boolean",
|
|
2809
|
+
"null"
|
|
2810
|
+
],
|
|
2811
|
+
"description": "Photo was generated by Agent Chef, so it is safe to show publicly"
|
|
2812
|
+
},
|
|
2356
2813
|
"created_at": {
|
|
2357
2814
|
"type": [
|
|
2358
2815
|
"string",
|
|
@@ -2498,6 +2955,33 @@
|
|
|
2498
2955
|
"null"
|
|
2499
2956
|
]
|
|
2500
2957
|
},
|
|
2958
|
+
"is_public": {
|
|
2959
|
+
"type": [
|
|
2960
|
+
"boolean",
|
|
2961
|
+
"null"
|
|
2962
|
+
]
|
|
2963
|
+
},
|
|
2964
|
+
"public_url": {
|
|
2965
|
+
"type": [
|
|
2966
|
+
"string",
|
|
2967
|
+
"null"
|
|
2968
|
+
],
|
|
2969
|
+
"description": "Indexable public page, when published"
|
|
2970
|
+
},
|
|
2971
|
+
"source_recipe_id": {
|
|
2972
|
+
"type": [
|
|
2973
|
+
"string",
|
|
2974
|
+
"null"
|
|
2975
|
+
],
|
|
2976
|
+
"description": "Set when this is the household's copy of a Community recipe"
|
|
2977
|
+
},
|
|
2978
|
+
"image_generated": {
|
|
2979
|
+
"type": [
|
|
2980
|
+
"boolean",
|
|
2981
|
+
"null"
|
|
2982
|
+
],
|
|
2983
|
+
"description": "Photo was generated by Agent Chef, so it is safe to show publicly"
|
|
2984
|
+
},
|
|
2501
2985
|
"created_at": {
|
|
2502
2986
|
"type": [
|
|
2503
2987
|
"string",
|
|
@@ -2695,6 +3179,33 @@
|
|
|
2695
3179
|
"null"
|
|
2696
3180
|
]
|
|
2697
3181
|
},
|
|
3182
|
+
"is_public": {
|
|
3183
|
+
"type": [
|
|
3184
|
+
"boolean",
|
|
3185
|
+
"null"
|
|
3186
|
+
]
|
|
3187
|
+
},
|
|
3188
|
+
"public_url": {
|
|
3189
|
+
"type": [
|
|
3190
|
+
"string",
|
|
3191
|
+
"null"
|
|
3192
|
+
],
|
|
3193
|
+
"description": "Indexable public page, when published"
|
|
3194
|
+
},
|
|
3195
|
+
"source_recipe_id": {
|
|
3196
|
+
"type": [
|
|
3197
|
+
"string",
|
|
3198
|
+
"null"
|
|
3199
|
+
],
|
|
3200
|
+
"description": "Set when this is the household's copy of a Community recipe"
|
|
3201
|
+
},
|
|
3202
|
+
"image_generated": {
|
|
3203
|
+
"type": [
|
|
3204
|
+
"boolean",
|
|
3205
|
+
"null"
|
|
3206
|
+
],
|
|
3207
|
+
"description": "Photo was generated by Agent Chef, so it is safe to show publicly"
|
|
3208
|
+
},
|
|
2698
3209
|
"created_at": {
|
|
2699
3210
|
"type": [
|
|
2700
3211
|
"string",
|
|
@@ -3007,6 +3518,33 @@
|
|
|
3007
3518
|
"null"
|
|
3008
3519
|
]
|
|
3009
3520
|
},
|
|
3521
|
+
"is_public": {
|
|
3522
|
+
"type": [
|
|
3523
|
+
"boolean",
|
|
3524
|
+
"null"
|
|
3525
|
+
]
|
|
3526
|
+
},
|
|
3527
|
+
"public_url": {
|
|
3528
|
+
"type": [
|
|
3529
|
+
"string",
|
|
3530
|
+
"null"
|
|
3531
|
+
],
|
|
3532
|
+
"description": "Indexable public page, when published"
|
|
3533
|
+
},
|
|
3534
|
+
"source_recipe_id": {
|
|
3535
|
+
"type": [
|
|
3536
|
+
"string",
|
|
3537
|
+
"null"
|
|
3538
|
+
],
|
|
3539
|
+
"description": "Set when this is the household's copy of a Community recipe"
|
|
3540
|
+
},
|
|
3541
|
+
"image_generated": {
|
|
3542
|
+
"type": [
|
|
3543
|
+
"boolean",
|
|
3544
|
+
"null"
|
|
3545
|
+
],
|
|
3546
|
+
"description": "Photo was generated by Agent Chef, so it is safe to show publicly"
|
|
3547
|
+
},
|
|
3010
3548
|
"created_at": {
|
|
3011
3549
|
"type": [
|
|
3012
3550
|
"string",
|
|
@@ -3139,6 +3677,13 @@
|
|
|
3139
3677
|
"string",
|
|
3140
3678
|
"null"
|
|
3141
3679
|
]
|
|
3680
|
+
},
|
|
3681
|
+
"share_url": {
|
|
3682
|
+
"type": [
|
|
3683
|
+
"string",
|
|
3684
|
+
"null"
|
|
3685
|
+
],
|
|
3686
|
+
"description": "Public page showing this week's winners"
|
|
3142
3687
|
}
|
|
3143
3688
|
},
|
|
3144
3689
|
"required": [
|
|
@@ -3251,6 +3796,33 @@
|
|
|
3251
3796
|
"null"
|
|
3252
3797
|
]
|
|
3253
3798
|
},
|
|
3799
|
+
"is_public": {
|
|
3800
|
+
"type": [
|
|
3801
|
+
"boolean",
|
|
3802
|
+
"null"
|
|
3803
|
+
]
|
|
3804
|
+
},
|
|
3805
|
+
"public_url": {
|
|
3806
|
+
"type": [
|
|
3807
|
+
"string",
|
|
3808
|
+
"null"
|
|
3809
|
+
],
|
|
3810
|
+
"description": "Indexable public page, when published"
|
|
3811
|
+
},
|
|
3812
|
+
"source_recipe_id": {
|
|
3813
|
+
"type": [
|
|
3814
|
+
"string",
|
|
3815
|
+
"null"
|
|
3816
|
+
],
|
|
3817
|
+
"description": "Set when this is the household's copy of a Community recipe"
|
|
3818
|
+
},
|
|
3819
|
+
"image_generated": {
|
|
3820
|
+
"type": [
|
|
3821
|
+
"boolean",
|
|
3822
|
+
"null"
|
|
3823
|
+
],
|
|
3824
|
+
"description": "Photo was generated by Agent Chef, so it is safe to show publicly"
|
|
3825
|
+
},
|
|
3254
3826
|
"created_at": {
|
|
3255
3827
|
"type": [
|
|
3256
3828
|
"string",
|
|
@@ -3636,6 +4208,13 @@
|
|
|
3636
4208
|
"string",
|
|
3637
4209
|
"null"
|
|
3638
4210
|
]
|
|
4211
|
+
},
|
|
4212
|
+
"share_url": {
|
|
4213
|
+
"type": [
|
|
4214
|
+
"string",
|
|
4215
|
+
"null"
|
|
4216
|
+
],
|
|
4217
|
+
"description": "Public page showing this week's winners"
|
|
3639
4218
|
}
|
|
3640
4219
|
},
|
|
3641
4220
|
"required": [
|
|
@@ -3741,6 +4320,33 @@
|
|
|
3741
4320
|
"null"
|
|
3742
4321
|
]
|
|
3743
4322
|
},
|
|
4323
|
+
"is_public": {
|
|
4324
|
+
"type": [
|
|
4325
|
+
"boolean",
|
|
4326
|
+
"null"
|
|
4327
|
+
]
|
|
4328
|
+
},
|
|
4329
|
+
"public_url": {
|
|
4330
|
+
"type": [
|
|
4331
|
+
"string",
|
|
4332
|
+
"null"
|
|
4333
|
+
],
|
|
4334
|
+
"description": "Indexable public page, when published"
|
|
4335
|
+
},
|
|
4336
|
+
"source_recipe_id": {
|
|
4337
|
+
"type": [
|
|
4338
|
+
"string",
|
|
4339
|
+
"null"
|
|
4340
|
+
],
|
|
4341
|
+
"description": "Set when this is the household's copy of a Community recipe"
|
|
4342
|
+
},
|
|
4343
|
+
"image_generated": {
|
|
4344
|
+
"type": [
|
|
4345
|
+
"boolean",
|
|
4346
|
+
"null"
|
|
4347
|
+
],
|
|
4348
|
+
"description": "Photo was generated by Agent Chef, so it is safe to show publicly"
|
|
4349
|
+
},
|
|
3744
4350
|
"created_at": {
|
|
3745
4351
|
"type": [
|
|
3746
4352
|
"string",
|
|
@@ -3987,6 +4593,13 @@
|
|
|
3987
4593
|
"string",
|
|
3988
4594
|
"null"
|
|
3989
4595
|
]
|
|
4596
|
+
},
|
|
4597
|
+
"share_url": {
|
|
4598
|
+
"type": [
|
|
4599
|
+
"string",
|
|
4600
|
+
"null"
|
|
4601
|
+
],
|
|
4602
|
+
"description": "Public page showing this week's winners"
|
|
3990
4603
|
}
|
|
3991
4604
|
},
|
|
3992
4605
|
"required": [
|
|
@@ -4092,6 +4705,33 @@
|
|
|
4092
4705
|
"null"
|
|
4093
4706
|
]
|
|
4094
4707
|
},
|
|
4708
|
+
"is_public": {
|
|
4709
|
+
"type": [
|
|
4710
|
+
"boolean",
|
|
4711
|
+
"null"
|
|
4712
|
+
]
|
|
4713
|
+
},
|
|
4714
|
+
"public_url": {
|
|
4715
|
+
"type": [
|
|
4716
|
+
"string",
|
|
4717
|
+
"null"
|
|
4718
|
+
],
|
|
4719
|
+
"description": "Indexable public page, when published"
|
|
4720
|
+
},
|
|
4721
|
+
"source_recipe_id": {
|
|
4722
|
+
"type": [
|
|
4723
|
+
"string",
|
|
4724
|
+
"null"
|
|
4725
|
+
],
|
|
4726
|
+
"description": "Set when this is the household's copy of a Community recipe"
|
|
4727
|
+
},
|
|
4728
|
+
"image_generated": {
|
|
4729
|
+
"type": [
|
|
4730
|
+
"boolean",
|
|
4731
|
+
"null"
|
|
4732
|
+
],
|
|
4733
|
+
"description": "Photo was generated by Agent Chef, so it is safe to show publicly"
|
|
4734
|
+
},
|
|
4095
4735
|
"created_at": {
|
|
4096
4736
|
"type": [
|
|
4097
4737
|
"string",
|
|
@@ -4340,10 +4980,59 @@
|
|
|
4340
4980
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
4341
4981
|
}
|
|
4342
4982
|
},
|
|
4983
|
+
{
|
|
4984
|
+
"name": "send_feedback",
|
|
4985
|
+
"title": "Send feedback to Agent Chef",
|
|
4986
|
+
"description": "Pass the owner's feedback about Agent Chef itself (a bug, a missing feature, something confusing) to the people who build it. Use when the owner says something like 'tell Agent Chef that…' or complains about the tool. Not for messages to the household.",
|
|
4987
|
+
"inputSchema": {
|
|
4988
|
+
"type": "object",
|
|
4989
|
+
"properties": {
|
|
4990
|
+
"message": {
|
|
4991
|
+
"type": "string",
|
|
4992
|
+
"minLength": 3,
|
|
4993
|
+
"maxLength": 2000
|
|
4994
|
+
},
|
|
4995
|
+
"contact": {
|
|
4996
|
+
"type": "string",
|
|
4997
|
+
"description": "How to reach the owner for a reply, if they want one"
|
|
4998
|
+
}
|
|
4999
|
+
},
|
|
5000
|
+
"required": [
|
|
5001
|
+
"message"
|
|
5002
|
+
],
|
|
5003
|
+
"additionalProperties": false,
|
|
5004
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
5005
|
+
},
|
|
5006
|
+
"annotations": {
|
|
5007
|
+
"readOnlyHint": false,
|
|
5008
|
+
"destructiveHint": false,
|
|
5009
|
+
"openWorldHint": false
|
|
5010
|
+
},
|
|
5011
|
+
"execution": {
|
|
5012
|
+
"taskSupport": "forbidden"
|
|
5013
|
+
},
|
|
5014
|
+
"outputSchema": {
|
|
5015
|
+
"type": "object",
|
|
5016
|
+
"properties": {
|
|
5017
|
+
"ok": {
|
|
5018
|
+
"type": "boolean"
|
|
5019
|
+
},
|
|
5020
|
+
"message": {
|
|
5021
|
+
"type": "string"
|
|
5022
|
+
}
|
|
5023
|
+
},
|
|
5024
|
+
"required": [
|
|
5025
|
+
"ok",
|
|
5026
|
+
"message"
|
|
5027
|
+
],
|
|
5028
|
+
"additionalProperties": true,
|
|
5029
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
5030
|
+
}
|
|
5031
|
+
},
|
|
4343
5032
|
{
|
|
4344
5033
|
"name": "message_group",
|
|
4345
5034
|
"title": "Message the household",
|
|
4346
|
-
"description": "Send a push notification, SMS/MMS or email to household members. '{vote_link}' in the message becomes each member's personal voting link. Channel 'auto' texts members with a phone and emails the rest. Providers now: {\"sms\":\"dry-run\",\"email\":\"
|
|
5035
|
+
"description": "Send a push notification, SMS/MMS or email to household members. '{vote_link}' in the message becomes each member's personal voting link. Channel 'auto' texts members with a phone and emails the rest. Providers now: {\"sms\":\"dry-run\",\"email\":\"resend\",\"push\":\"web-push\"} (dry-run = logged only).",
|
|
4347
5036
|
"inputSchema": {
|
|
4348
5037
|
"type": "object",
|
|
4349
5038
|
"properties": {
|
|
@@ -4646,6 +5335,13 @@
|
|
|
4646
5335
|
"string",
|
|
4647
5336
|
"null"
|
|
4648
5337
|
]
|
|
5338
|
+
},
|
|
5339
|
+
"share_url": {
|
|
5340
|
+
"type": [
|
|
5341
|
+
"string",
|
|
5342
|
+
"null"
|
|
5343
|
+
],
|
|
5344
|
+
"description": "Public page showing this week's winners"
|
|
4649
5345
|
}
|
|
4650
5346
|
},
|
|
4651
5347
|
"required": [
|
|
@@ -4779,6 +5475,13 @@
|
|
|
4779
5475
|
"string",
|
|
4780
5476
|
"null"
|
|
4781
5477
|
]
|
|
5478
|
+
},
|
|
5479
|
+
"share_url": {
|
|
5480
|
+
"type": [
|
|
5481
|
+
"string",
|
|
5482
|
+
"null"
|
|
5483
|
+
],
|
|
5484
|
+
"description": "Public page showing this week's winners"
|
|
4782
5485
|
}
|
|
4783
5486
|
},
|
|
4784
5487
|
"required": [
|
|
@@ -4884,6 +5587,33 @@
|
|
|
4884
5587
|
"null"
|
|
4885
5588
|
]
|
|
4886
5589
|
},
|
|
5590
|
+
"is_public": {
|
|
5591
|
+
"type": [
|
|
5592
|
+
"boolean",
|
|
5593
|
+
"null"
|
|
5594
|
+
]
|
|
5595
|
+
},
|
|
5596
|
+
"public_url": {
|
|
5597
|
+
"type": [
|
|
5598
|
+
"string",
|
|
5599
|
+
"null"
|
|
5600
|
+
],
|
|
5601
|
+
"description": "Indexable public page, when published"
|
|
5602
|
+
},
|
|
5603
|
+
"source_recipe_id": {
|
|
5604
|
+
"type": [
|
|
5605
|
+
"string",
|
|
5606
|
+
"null"
|
|
5607
|
+
],
|
|
5608
|
+
"description": "Set when this is the household's copy of a Community recipe"
|
|
5609
|
+
},
|
|
5610
|
+
"image_generated": {
|
|
5611
|
+
"type": [
|
|
5612
|
+
"boolean",
|
|
5613
|
+
"null"
|
|
5614
|
+
],
|
|
5615
|
+
"description": "Photo was generated by Agent Chef, so it is safe to show publicly"
|
|
5616
|
+
},
|
|
4887
5617
|
"created_at": {
|
|
4888
5618
|
"type": [
|
|
4889
5619
|
"string",
|
|
@@ -5053,6 +5783,12 @@
|
|
|
5053
5783
|
"recipes"
|
|
5054
5784
|
],
|
|
5055
5785
|
"additionalProperties": true
|
|
5786
|
+
},
|
|
5787
|
+
"share_hint": {
|
|
5788
|
+
"type": [
|
|
5789
|
+
"string",
|
|
5790
|
+
"null"
|
|
5791
|
+
]
|
|
5056
5792
|
}
|
|
5057
5793
|
},
|
|
5058
5794
|
"required": [
|
|
@@ -5119,6 +5855,13 @@
|
|
|
5119
5855
|
"string",
|
|
5120
5856
|
"null"
|
|
5121
5857
|
]
|
|
5858
|
+
},
|
|
5859
|
+
"share_url": {
|
|
5860
|
+
"type": [
|
|
5861
|
+
"string",
|
|
5862
|
+
"null"
|
|
5863
|
+
],
|
|
5864
|
+
"description": "Public page showing this week's winners"
|
|
5122
5865
|
}
|
|
5123
5866
|
},
|
|
5124
5867
|
"required": [
|
|
@@ -5224,6 +5967,33 @@
|
|
|
5224
5967
|
"null"
|
|
5225
5968
|
]
|
|
5226
5969
|
},
|
|
5970
|
+
"is_public": {
|
|
5971
|
+
"type": [
|
|
5972
|
+
"boolean",
|
|
5973
|
+
"null"
|
|
5974
|
+
]
|
|
5975
|
+
},
|
|
5976
|
+
"public_url": {
|
|
5977
|
+
"type": [
|
|
5978
|
+
"string",
|
|
5979
|
+
"null"
|
|
5980
|
+
],
|
|
5981
|
+
"description": "Indexable public page, when published"
|
|
5982
|
+
},
|
|
5983
|
+
"source_recipe_id": {
|
|
5984
|
+
"type": [
|
|
5985
|
+
"string",
|
|
5986
|
+
"null"
|
|
5987
|
+
],
|
|
5988
|
+
"description": "Set when this is the household's copy of a Community recipe"
|
|
5989
|
+
},
|
|
5990
|
+
"image_generated": {
|
|
5991
|
+
"type": [
|
|
5992
|
+
"boolean",
|
|
5993
|
+
"null"
|
|
5994
|
+
],
|
|
5995
|
+
"description": "Photo was generated by Agent Chef, so it is safe to show publicly"
|
|
5996
|
+
},
|
|
5227
5997
|
"created_at": {
|
|
5228
5998
|
"type": [
|
|
5229
5999
|
"string",
|
|
@@ -5374,6 +6144,13 @@
|
|
|
5374
6144
|
"string",
|
|
5375
6145
|
"null"
|
|
5376
6146
|
]
|
|
6147
|
+
},
|
|
6148
|
+
"share_url": {
|
|
6149
|
+
"type": [
|
|
6150
|
+
"string",
|
|
6151
|
+
"null"
|
|
6152
|
+
],
|
|
6153
|
+
"description": "Public page showing this week's winners"
|
|
5377
6154
|
}
|
|
5378
6155
|
},
|
|
5379
6156
|
"required": [
|
|
@@ -5398,7 +6175,7 @@
|
|
|
5398
6175
|
{
|
|
5399
6176
|
"name": "rate_recipe",
|
|
5400
6177
|
"title": "Rate a cooked recipe",
|
|
5401
|
-
"description": "Record post-cook feedback (1-5 + comment) for
|
|
6178
|
+
"description": "Record post-cook feedback (1-5 + comment) for one member. Every member rates separately; a member's newer rating replaces their older one. Ratings never change the week's status.",
|
|
5402
6179
|
"inputSchema": {
|
|
5403
6180
|
"type": "object",
|
|
5404
6181
|
"properties": {
|
|
@@ -5530,6 +6307,33 @@
|
|
|
5530
6307
|
"null"
|
|
5531
6308
|
]
|
|
5532
6309
|
},
|
|
6310
|
+
"is_public": {
|
|
6311
|
+
"type": [
|
|
6312
|
+
"boolean",
|
|
6313
|
+
"null"
|
|
6314
|
+
]
|
|
6315
|
+
},
|
|
6316
|
+
"public_url": {
|
|
6317
|
+
"type": [
|
|
6318
|
+
"string",
|
|
6319
|
+
"null"
|
|
6320
|
+
],
|
|
6321
|
+
"description": "Indexable public page, when published"
|
|
6322
|
+
},
|
|
6323
|
+
"source_recipe_id": {
|
|
6324
|
+
"type": [
|
|
6325
|
+
"string",
|
|
6326
|
+
"null"
|
|
6327
|
+
],
|
|
6328
|
+
"description": "Set when this is the household's copy of a Community recipe"
|
|
6329
|
+
},
|
|
6330
|
+
"image_generated": {
|
|
6331
|
+
"type": [
|
|
6332
|
+
"boolean",
|
|
6333
|
+
"null"
|
|
6334
|
+
],
|
|
6335
|
+
"description": "Photo was generated by Agent Chef, so it is safe to show publicly"
|
|
6336
|
+
},
|
|
5533
6337
|
"created_at": {
|
|
5534
6338
|
"type": [
|
|
5535
6339
|
"string",
|
|
@@ -5575,6 +6379,13 @@
|
|
|
5575
6379
|
"string",
|
|
5576
6380
|
"null"
|
|
5577
6381
|
]
|
|
6382
|
+
},
|
|
6383
|
+
"share_url": {
|
|
6384
|
+
"type": [
|
|
6385
|
+
"string",
|
|
6386
|
+
"null"
|
|
6387
|
+
],
|
|
6388
|
+
"description": "Public page showing this week's winners"
|
|
5578
6389
|
}
|
|
5579
6390
|
},
|
|
5580
6391
|
"required": [
|
|
@@ -5686,6 +6497,13 @@
|
|
|
5686
6497
|
"string",
|
|
5687
6498
|
"null"
|
|
5688
6499
|
]
|
|
6500
|
+
},
|
|
6501
|
+
"share_url": {
|
|
6502
|
+
"type": [
|
|
6503
|
+
"string",
|
|
6504
|
+
"null"
|
|
6505
|
+
],
|
|
6506
|
+
"description": "Public page showing this week's winners"
|
|
5689
6507
|
}
|
|
5690
6508
|
},
|
|
5691
6509
|
"required": [
|
|
@@ -5893,6 +6711,13 @@
|
|
|
5893
6711
|
"string",
|
|
5894
6712
|
"null"
|
|
5895
6713
|
]
|
|
6714
|
+
},
|
|
6715
|
+
"share_url": {
|
|
6716
|
+
"type": [
|
|
6717
|
+
"string",
|
|
6718
|
+
"null"
|
|
6719
|
+
],
|
|
6720
|
+
"description": "Public page showing this week's winners"
|
|
5896
6721
|
}
|
|
5897
6722
|
},
|
|
5898
6723
|
"required": [
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-chef-mcp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.10",
|
|
4
4
|
"description": "Family meal planning run by your own AI agent: weekly dinners, household votes, grocery list minus the pantry. Stdio MCP server for the hosted Agent Chef service (https://agentchef.net/mcp).",
|
|
5
5
|
"homepage": "https://agentchef.net",
|
|
6
6
|
"repository": {
|