openmates 0.12.0-alpha.0 → 0.12.0-alpha.2

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.
@@ -18046,6 +18046,255 @@ var habitTrackerOnboardingDraftChat = {
18046
18046
  };
18047
18047
 
18048
18048
  // ../ui/src/demo_chats/data/example_chats/chickpea-spinach-protein-dinners.ts
18049
+ var imageEmbeds = [
18050
+ {
18051
+ embed_id: "ecd4fd0a-75fa-413a-80ee-5be5450ec68f",
18052
+ type: "image_result",
18053
+ content: `type: image_result
18054
+ title: Chickpea spinach curry process photo
18055
+ source_page_url: "https://www.thefieryvegetarian.com/chickpea-spinach-curry/"
18056
+ image_url: "https://www.thefieryvegetarian.com/wp-content/uploads/2019/03/chickpea-spinach-curry-process-photo-6.jpg"
18057
+ source: thefieryvegetarian.com
18058
+ embed_ref: thefieryvegetarian.com-3sr
18059
+ app_id: images
18060
+ skill_id: search`,
18061
+ parent_embed_id: null,
18062
+ embed_ids: null
18063
+ },
18064
+ {
18065
+ embed_id: "989fe7f7-6a54-48c3-9494-2cd2a3f9589d",
18066
+ type: "image_result",
18067
+ content: `type: image_result
18068
+ title: Chickpea and spinach curry step photo
18069
+ source_page_url: "https://vegancocotte.com/chickpea-spinach-curry/"
18070
+ image_url: "https://vegancocotte.com/wp-content/uploads/2022/09/Chickpea-and-Spinach-Curry-Steps-4.jpg"
18071
+ source: vegancocotte.com
18072
+ embed_ref: vegancocotte.com-IZt
18073
+ app_id: images
18074
+ skill_id: search`,
18075
+ parent_embed_id: null,
18076
+ embed_ids: null
18077
+ },
18078
+ {
18079
+ embed_id: "66de1a75-66ec-48ad-9c33-5628b89a67b4",
18080
+ type: "image_result",
18081
+ content: `type: image_result
18082
+ title: Chickpea and spinach curry with naan
18083
+ source_page_url: "https://vegancocotte.com/chickpea-spinach-curry/"
18084
+ image_url: "https://vegancocotte.com/wp-content/uploads/2022/09/Chickpea-and-Spinach-Curry-4.jpg"
18085
+ source: vegancocotte.com
18086
+ embed_ref: vegancocotte.com-rFn
18087
+ app_id: images
18088
+ skill_id: search`,
18089
+ parent_embed_id: null,
18090
+ embed_ids: null
18091
+ },
18092
+ {
18093
+ embed_id: "9e98f553-d055-446b-b274-fcef409e68f3",
18094
+ type: "image_result",
18095
+ content: `type: image_result
18096
+ title: Creamy chickpeas with spinach
18097
+ source_page_url: "https://runningonrealfood.com/spiced-chickpeas/"
18098
+ image_url: "https://runningonrealfood.com/wp-content/uploads/2026/01/creamy-marry-me-chickpeas-recipe-12-600x896.jpg"
18099
+ source: runningonrealfood.com
18100
+ embed_ref: runningonrealfood.com-R8H
18101
+ app_id: images
18102
+ skill_id: search`,
18103
+ parent_embed_id: null,
18104
+ embed_ids: null
18105
+ },
18106
+ {
18107
+ embed_id: "42f9a5c7-39d1-4f5d-aa25-64ac842ee11d",
18108
+ type: "image_result",
18109
+ content: `type: image_result
18110
+ title: Skillet chickpeas with spinach and tomatoes
18111
+ source_page_url: "https://americanhomecook.com/skillet-chickpeas-spinach-lemon/"
18112
+ image_url: "https://americanhomecook.com/wp-content/uploads/2023/01/Skillet-Chickpeas-with-Spinach-Tomatoes10-819x1024.jpg"
18113
+ source: americanhomecook.com
18114
+ embed_ref: americanhomecook.com-Alt
18115
+ app_id: images
18116
+ skill_id: search`,
18117
+ parent_embed_id: null,
18118
+ embed_ids: null
18119
+ },
18120
+ {
18121
+ embed_id: "28e60f6d-9775-48ff-abc4-e1db59106be9",
18122
+ type: "image_result",
18123
+ content: `type: image_result
18124
+ title: Curry with spinach, chickpeas, and tomatoes
18125
+ source_page_url: "https://shortgirltallorder.com/chickpea-tomato-spinach-curry"
18126
+ image_url: "https://shortgirltallorder.com/wp-content/uploads/2020/04/making-curry-in-cast-iron-skillet.jpg"
18127
+ source: shortgirltallorder.com
18128
+ embed_ref: shortgirltallorder.com-QXv
18129
+ app_id: images
18130
+ skill_id: search`,
18131
+ parent_embed_id: null,
18132
+ embed_ids: null
18133
+ },
18134
+ {
18135
+ embed_id: "43008b96-c5f7-433a-89ee-19749a79a231",
18136
+ type: "image_result",
18137
+ content: `type: image_result
18138
+ title: Spanish chickpeas and spinach
18139
+ source_page_url: "https://www.carolinescooking.com/spanish-chickpeas-and-spinach/"
18140
+ image_url: "https://www.carolinescooking.com/wp-content/uploads/2015/04/Spanish-chickpeas-and-spinach-pin.jpg"
18141
+ source: carolinescooking.com
18142
+ embed_ref: carolinescooking.com-Dy7
18143
+ app_id: images
18144
+ skill_id: search`,
18145
+ parent_embed_id: null,
18146
+ embed_ids: null
18147
+ },
18148
+ {
18149
+ embed_id: "771fae42-32e9-4e9d-b8ee-9f9c0afbce91",
18150
+ type: "image_result",
18151
+ content: `type: image_result
18152
+ title: Spanish spinach with chickpeas
18153
+ source_page_url: "https://simpleveganblog.com/spanish-spinach-with-chickpeas/"
18154
+ image_url: "https://simpleveganblog.com/wp-content/uploads/2015/01/Spanish-Spinach-with-chickpeas-simpleveganblog.com-vegan-2.jpg"
18155
+ source: simpleveganblog.com
18156
+ embed_ref: simpleveganblog.com-8dt
18157
+ app_id: images
18158
+ skill_id: search`,
18159
+ parent_embed_id: null,
18160
+ embed_ids: null
18161
+ },
18162
+ {
18163
+ embed_id: "6434fec2-7336-4318-b41c-7bf2dff7da61",
18164
+ type: "image_result",
18165
+ content: `type: image_result
18166
+ title: Plated Spanish sauteed chickpeas with spinach
18167
+ source_page_url: "https://ourplantbasedworld.com/sauteed-chickpeas-spinach-spanish/"
18168
+ image_url: "https://ourplantbasedworld.com/wp-content/uploads/2023/03/sauteed-chickpeas-spinach-spanish-7409231.jpg"
18169
+ source: ourplantbasedworld.com
18170
+ embed_ref: ourplantbasedworld.com-Krr
18171
+ app_id: images
18172
+ skill_id: search`,
18173
+ parent_embed_id: null,
18174
+ embed_ids: null
18175
+ }
18176
+ ];
18177
+ var nutritionEmbeds = [
18178
+ {
18179
+ embed_id: "d7f21a46-8f13-4f14-82c4-d868ba62bb8a",
18180
+ type: "app_skill_use",
18181
+ content: `app_id: nutrition
18182
+ skill_id: search_recipes
18183
+ result_count: 3
18184
+ embed_ref: nutrition-search-recipes-chickpea-spinach
18185
+ embed_ids: 0a4679f4-b2eb-43df-ac66-30e99a98c66b|67e396cc-2a88-4b9a-abf2-be225cce0f03|ce64916b-7e17-4e01-a972-78231cb11b8c
18186
+ status: finished
18187
+ embed_id: d7f21a46-8f13-4f14-82c4-d868ba62bb8a
18188
+ query: chickpea and spinach dinner
18189
+ max_results: 3
18190
+ time: 1-35
18191
+ health: vegetarian
18192
+ provider: Edamam
18193
+ preview_results[3]{title,source,provider,image_url,calories_per_serving}:
18194
+ Spinach and Chickpeas,theharvestkitchen.com,Edamam,https://edamam-product-images.s3.amazonaws.com/web-img/a0a/a0a6a1e734b3db0b2c9d9b66915ead7a-l.jpg,217
18195
+ Chickpea and Spinach Curry,hintofhealthy.com,Edamam,https://edamam-product-images.s3.amazonaws.com/web-img/faa/faa98d303d8822dd2af21e9a55732d9f-l.jpg,220
18196
+ Spinach and chickpea curry,damntastyvegan.com,Edamam,https://edamam-product-images.s3.amazonaws.com/web-img/d5d/d5d8ac796cc1b5abbd778b2c22a6d63d-l.jpg,477`,
18197
+ parent_embed_id: null,
18198
+ embed_ids: [
18199
+ "0a4679f4-b2eb-43df-ac66-30e99a98c66b",
18200
+ "67e396cc-2a88-4b9a-abf2-be225cce0f03",
18201
+ "ce64916b-7e17-4e01-a972-78231cb11b8c"
18202
+ ]
18203
+ },
18204
+ {
18205
+ embed_id: "0a4679f4-b2eb-43df-ac66-30e99a98c66b",
18206
+ type: "recipe",
18207
+ content: `type: recipe
18208
+ uid: recipe_60b831cae4ae4f3dbc7ec0df6b87de0f
18209
+ title: Spinach and Chickpeas
18210
+ recipe_url: "https://www.theharvestkitchen.com/spinach-and-chickpeas/"
18211
+ source: theharvestkitchen.com
18212
+ provider: Edamam
18213
+ embed_ref: nutrition-spinach-and-chickpeas
18214
+ image_url: "https://edamam-product-images.s3.amazonaws.com/web-img/a0a/a0a6a1e734b3db0b2c9d9b66915ead7a-l.jpg"
18215
+ total_time_minutes: 20
18216
+ servings: 4
18217
+ calories_total: 869
18218
+ calories_per_serving: 217
18219
+ diet_labels: Balanced|High-Fiber
18220
+ health_labels: Kidney-Friendly|Vegan|Vegetarian|Pescatarian|Mediterranean|DASH|Dairy-Free|Gluten-Free
18221
+ cuisine_type: middle eastern
18222
+ meal_type: lunch/dinner
18223
+ dish_type: main course
18224
+ ingredients: 1-1/2 tablespoons extra-virgin olive oil|2/3 cup tomatoes, diced|1/2 large white onion, diced|2 teaspoons garlic, minced|3 cups low-sodium canned garbanzo beans, drained and rinsed|2 cups baby spinach
18225
+ instructions: Heat olive oil in pan.|Add onion and saute for 2-3 minutes. Stir in garlic and saute another minute. Pour in tomatoes and cook a minute. Add garbanzo beans and cook for 10 minutes with 3-4 tablespoons water or vegetable broth. Fold in baby spinach and taste to adjust for seasoning.
18226
+ nutrition_calories_kcal: 217
18227
+ nutrition_protein_g: 8.7
18228
+ nutrition_fat_g: 8
18229
+ nutrition_carbs_g: 29.5
18230
+ nutrition_fiber_g: 7.9
18231
+ nutrition_sodium_mg: 248`,
18232
+ parent_embed_id: "d7f21a46-8f13-4f14-82c4-d868ba62bb8a",
18233
+ embed_ids: null
18234
+ },
18235
+ {
18236
+ embed_id: "67e396cc-2a88-4b9a-abf2-be225cce0f03",
18237
+ type: "recipe",
18238
+ content: `type: recipe
18239
+ uid: recipe_2442d3551cf54cf1bce405e62819260c
18240
+ title: Chickpea and Spinach Curry
18241
+ recipe_url: "https://www.hintofhealthy.com/chickpea-and-spinach-curry/"
18242
+ source: hintofhealthy.com
18243
+ provider: Edamam
18244
+ embed_ref: nutrition-chickpea-spinach-curry
18245
+ image_url: "https://edamam-product-images.s3.amazonaws.com/web-img/faa/faa98d303d8822dd2af21e9a55732d9f-l.jpg"
18246
+ total_time_minutes: 10
18247
+ servings: 4
18248
+ calories_total: 879
18249
+ calories_per_serving: 220
18250
+ diet_labels: High-Fiber
18251
+ health_labels: Vegan|Vegetarian|Pescatarian|Dairy-Free|Gluten-Free|Wheat-Free|Egg-Free|Peanut-Free
18252
+ cuisine_type: indian
18253
+ meal_type: lunch/dinner
18254
+ dish_type: main course
18255
+ ingredients: 1 (15 oz) can chickpeas, drained and rinsed|1 (15 oz) can diced tomatoes|1 onion|4 garlic cloves|1 red chili pepper|3 tablespoons curry paste|2 tablespoons tomato paste|1 tablespoon diced ginger|3 cups spinach|1 teaspoon vegetable oil
18256
+ instructions: Finely dice the onion, garlic, ginger and red chili.|Add the onion, garlic, ginger and chili to a large pot along with the vegetable oil.|Saute for about 1 minute, or until the onion is soft and fragrant.|Add tomato paste and curry paste to the pot, and saute for another minute.|Add canned diced tomatoes, and drained and rinsed canned chickpeas.|Stir to combine all ingredients, and cover the pot with a lid.|Leave the curry to simmer on medium to high heat for about 3-5 minutes.|Add washed spinach to the curry, and stir until the leaves have wilted, about 1-2 minutes.
18257
+ nutrition_calories_kcal: 220
18258
+ nutrition_protein_g: 10.5
18259
+ nutrition_fat_g: 5.3
18260
+ nutrition_carbs_g: 36.2
18261
+ nutrition_fiber_g: 10.8
18262
+ nutrition_sodium_mg: 368`,
18263
+ parent_embed_id: "d7f21a46-8f13-4f14-82c4-d868ba62bb8a",
18264
+ embed_ids: null
18265
+ },
18266
+ {
18267
+ embed_id: "ce64916b-7e17-4e01-a972-78231cb11b8c",
18268
+ type: "recipe",
18269
+ content: `type: recipe
18270
+ uid: recipe_db074a7259484379adedc360d8e793b9
18271
+ title: Spinach and chickpea curry
18272
+ recipe_url: "https://damntastyvegan.com/spinach-chickpea-curry/"
18273
+ source: damntastyvegan.com
18274
+ provider: Edamam
18275
+ embed_ref: nutrition-skillet-chickpeas-spinach-tomatoes
18276
+ total_time_minutes: 25
18277
+ servings: 4
18278
+ image_url: "https://edamam-product-images.s3.amazonaws.com/web-img/d5d/d5d8ac796cc1b5abbd778b2c22a6d63d-l.jpg"
18279
+ calories_total: 1907
18280
+ calories_per_serving: 477
18281
+ diet_labels: Balanced|High-Fiber
18282
+ health_labels: Vegan|Vegetarian|Pescatarian|Mediterranean|Dairy-Free|Gluten-Free|Wheat-Free|Egg-Free
18283
+ cuisine_type: indian
18284
+ meal_type: lunch/dinner
18285
+ dish_type: main course
18286
+ ingredients: 2 tablespoons neutral oil|1 medium onion, diced|4 cloves garlic, minced|1 teaspoon fresh ginger, minced|1 teaspoon cumin powder|2 teaspoons coriander powder|1/2 teaspoon turmeric powder|1 tablespoon curry powder|15 ounce can crushed tomatoes|2 (15 ounce) cans chickpeas
18287
+ instructions: Heat up oil in a large pan on medium heat.|Once pan is hot, add the onions and saute until golden brown and translucent.|Add the garlic and ginger and saute for five minutes.|Add all of the spices and saute for 30 seconds. Add the canned tomatoes, chickpeas, water, baking powder and salt.|Cover and bring to a simmer.|Simmer for 10 minutes.|After 10 minutes, add the frozen spinach, cover and simmer for another 5-10 minutes, or until the spinach is warmed through.|Smash a few chickpeas with the back of your spoon to thicken the sauce.|Add the lemon juice, cilantro and optional coconut milk.|Serve over basmati rice or with Indian bread.
18288
+ nutrition_calories_kcal: 477
18289
+ nutrition_protein_g: 18.5
18290
+ nutrition_fat_g: 19.8
18291
+ nutrition_carbs_g: 62.5
18292
+ nutrition_fiber_g: 17.7
18293
+ nutrition_sodium_mg: 1277`,
18294
+ parent_embed_id: "d7f21a46-8f13-4f14-82c4-d868ba62bb8a",
18295
+ embed_ids: null
18296
+ }
18297
+ ];
18049
18298
  var chickpeaSpinachProteinDinnersChat = {
18050
18299
  chat_id: "example-chickpea-spinach-protein-dinners",
18051
18300
  slug: "chickpea-spinach-protein-dinners",
@@ -18053,65 +18302,25 @@ var chickpeaSpinachProteinDinnersChat = {
18053
18302
  summary: "example_chats.chickpea_spinach_protein_dinners.summary",
18054
18303
  icon: "utensils",
18055
18304
  category: "cooking_food",
18056
- keywords: ["vegetarian recipes", "high protein", "chickpeas", "spinach", "weeknight dinner"],
18305
+ keywords: ["vegetarian recipes", "chickpeas", "spinach", "protein dinner", "Edamam"],
18057
18306
  follow_up_suggestions: [],
18058
18307
  messages: [
18059
18308
  {
18060
- id: "2c6679f7-2813-4574-bb33-275a534b7f59",
18309
+ id: "dc8fb03c-e917-4b53-8e01-c131b8ab3bdb",
18061
18310
  role: "user",
18062
18311
  content: "example_chats.chickpea_spinach_protein_dinners.message_1",
18063
- created_at: 1780913266
18312
+ created_at: 1781353445
18064
18313
  },
18065
18314
  {
18066
- id: "7f5861d7-5a09-46fd-8baa-82c025196385",
18315
+ id: "dbacf972-09e4-4a86-a30f-f343598986f7",
18067
18316
  role: "assistant",
18068
18317
  content: "example_chats.chickpea_spinach_protein_dinners.message_2",
18069
- created_at: 1780913319,
18318
+ created_at: 1781353503,
18070
18319
  category: "cooking_food",
18071
18320
  model_name: "Gemini 3 Flash"
18072
18321
  }
18073
18322
  ],
18074
- embeds: [
18075
- {
18076
- embed_id: "e6f639a6-5911-461b-8749-9e26874e56b6",
18077
- type: "sheet",
18078
- content: 'type: sheet\napp_id: sheets\nskill_id: sheet\ntable: "| Recipe Title | Prep/Cook Time | Protein Source | Best For... |\\n| :--- | :--- | :--- | :--- |\\n| **1. One-Pot Chana Saag (Curry)** | 25 mins | Chickpeas + Greek Yogurt | Flavor depth & meal prep |\\n| **2. Garlicky Chickpea & Spinach Pasta** | 20 mins | Chickpeas + Parmesan/Pasta | Speed & picky eaters |\\n| **3. Mediterranean Chickpea Stew** | 30 mins | Chickpeas + Feta | Comfort & hearty texture |"\ntitle: ""\nembed_ref: sheet-e6f639\nstatus: finished\nrow_count: 3\ncol_count: 4',
18079
- parent_embed_id: null,
18080
- embed_ids: null
18081
- },
18082
- {
18083
- embed_id: "0f3d4856-52c7-4843-ad65-4bab26269b1e",
18084
- type: "app_skill_use",
18085
- content: "app_id: nutrition\nskill_id: search_recipes\nresult_count: 3\nembed_ids: 25fdb4e8-1fbe-44c2-b974-9153b58d93d7|578cdebb-f8c3-47c5-a96a-d5f9bb8838ad|6408f6a0-af18-4f8c-9996-d370e175f468\nstatus: finished\nembed_id: 0f3d4856-52c7-4843-ad65-4bab26269b1e\nquery: vegetarian chickpea spinach dinner under 35 minutes\nprovider: REWE\nproviders: REWE\nfilters: vegetarisch|hauptspeise|einfach\nmax_results: 3\npreview_title: REWE vegetarian chickpea and spinach recipes\npreview_summary: 3 current REWE recipes with timings, ingredients, instructions, and nutrition.",
18086
- parent_embed_id: null,
18087
- embed_ids: [
18088
- "25fdb4e8-1fbe-44c2-b974-9153b58d93d7",
18089
- "578cdebb-f8c3-47c5-a96a-d5f9bb8838ad",
18090
- "6408f6a0-af18-4f8c-9996-d370e175f468"
18091
- ]
18092
- },
18093
- {
18094
- embed_id: "25fdb4e8-1fbe-44c2-b974-9153b58d93d7",
18095
- type: "recipe",
18096
- content: 'uid: rewe-kichererbsen-pfanne-spinat\ntitle: Kichererbsen-Pfanne mit Spinat\nslug: kichererbsen-pfanne-spinat\nrecipe_url: "https://www.rewe.de/rezepte/kichererbsen-pfanne-spinat/"\nimage_url: "https://c.rewe-static.de/30907863/8/30907863.png?impolicy=recipe-meta-image"\ndescription: "Eine kunterbunte Freude f\xFCr Auge und Gaumen: ein schnelles Pfannengericht mit Kichererbsen, Spinat, Tomaten und Curry."\nprep_time_minutes: 10\ncook_time_minutes: 5\ntotal_time_minutes: 15\nservings: 4\ndifficulty: Einfach\nrating: 4.2\nrating_count: 436\nernaehrwert_score: null\ndietary_tags: Vegetarisch|Vegan|Low Carb|Laktosefrei\ncategories: Gem\xFCsepfannen|Pfannengericht|Fitness|gesund\ningredients: 2 Gl\xE4ser REWE Bio Kichererbsen 220g|300 g Blattspinat|400 g Tomaten|2 gro\xDFe Zwiebeln|2 EL Oliven\xF6l|Salz|1 TL Curry\ninstructions: Kichererbsen abtropfen lassen.|Spinat und Tomaten waschen.|Tomaten in grobe W\xFCrfel schneiden.|Zwiebel sch\xE4len und in feine W\xFCrfel schneiden.|\xD6l in einer Pfanne erhitzen und Zwiebeln darin anbraten.|Kichererbsen, Tomaten und Spinat dazugeben und kurz and\xFCnsten.|Mit Salz und Curry w\xFCrzen.\nnutrition_energy: 232 kcal\nnutrition_carbohydrates: 32.5 g\nnutrition_fat: 8.4 g\nnutrition_protein: 10.7 g\nsearch_rank: 1\nfrom_cache: false\ntype: recipe\nprovider: REWE\ntotal_available: 3\nembed_ref: kichererbsen-pfanne-spinat-Tx1\napp_id: nutrition\nskill_id: search_recipes',
18097
- parent_embed_id: "0f3d4856-52c7-4843-ad65-4bab26269b1e",
18098
- embed_ids: null
18099
- },
18100
- {
18101
- embed_id: "578cdebb-f8c3-47c5-a96a-d5f9bb8838ad",
18102
- type: "recipe",
18103
- content: 'uid: rewe-spinat-shakshuka\ntitle: Shakshuka mit Spinat\nslug: spinat-shakshuka\nrecipe_url: "https://www.rewe.de/rezepte/spinat-shakshuka/"\nimage_url: "https://c.rewe-static.de/41493116/2/41493116.png?impolicy=recipe-meta-image"\ndescription: "Vegetarische Shakshuka mit Spinat, Kichererbsen, Tomatensauce und Eiern."\nprep_time_minutes: 15\ncook_time_minutes: 10\ntotal_time_minutes: 25\nservings: 4\ndifficulty: Einfach\nrating: 4.4\nrating_count: 33\nernaehrwert_score: null\ndietary_tags: Vegetarisch|Laktosefrei\ncategories: Hauptspeise|Mittagessen|Abendessen|herzhaft|Geringer Aufwand|gesund|Brunch\ningredients: 1 REWE Beste Wahl Fladenbrot 500 g|1 Pck. REWE Beste Wahl Junger Spinat 450 g, aufgetaut|1 Glas REWE Bio Kichererbsen 220 g|2 Pck. REWE Beste Wahl Tomatensauce Basilikum 380 ml|1 TL Kreuzk\xFCmmel gemahlen|Salz|Pfeffer|4 Eier M, zimmerwarm\ninstructions: Fladenbrot nach Packungsanweisung im Ofen aufbacken; Spinat gut ausdr\xFCcken; Kichererbsen abgie\xDFen; Backofen auf 200 \xB0C vorheizen.|Tomatensauce in einer hohen Pfanne erhitzen; Spinat und Kichererbsen zugeben; mit Kreuzk\xFCmmel, Salz und Pfeffer w\xFCrzen und aufkochen.|Vier Mulden in die So\xDFe dr\xFCcken; Eier aufschlagen und in die Mulden geben; im hei\xDFen Ofen 10 Minuten stocken lassen.|Mit dem Fladenbrot servieren.\nnutrition_energy: 656 kcal\nnutrition_carbohydrates: 96.8 g\nnutrition_fat: 19.7 g\nnutrition_protein: 28 g\nsearch_rank: 2\nfrom_cache: false\ntype: recipe\nprovider: REWE\ntotal_available: 3\nembed_ref: spinat-shakshuka-Fm2\napp_id: nutrition\nskill_id: search_recipes',
18104
- parent_embed_id: "0f3d4856-52c7-4843-ad65-4bab26269b1e",
18105
- embed_ids: null
18106
- },
18107
- {
18108
- embed_id: "6408f6a0-af18-4f8c-9996-d370e175f468",
18109
- type: "recipe",
18110
- content: 'uid: rewe-auberginen-curry\ntitle: Auberginen-Curry\nslug: auberginen-curry\nrecipe_url: "https://www.rewe.de/rezepte/auberginen-curry/"\nimage_url: "https://c.rewe-static.de/35209327/1/35209327.png?impolicy=recipe-meta-image"\ndescription: "Schnelles vegetarisch-veganes Curry mit Auberginen, Kichererbsen, Babyspinat und Kokosmilch."\nprep_time_minutes: 15\ncook_time_minutes: 15\ntotal_time_minutes: 30\nservings: 4\ndifficulty: Einfach\nrating: 4.8\nrating_count: 13\nernaehrwert_score: null\ndietary_tags: Vegetarisch|Vegan|Laktosefrei|Kalorienarm\ncategories: Hauptspeise|Gem\xFCse|Curry\ningredients: 2 Auberginen|Salz|400 g Kichererbsen|200 g Babyspinat frisch|2 Zwiebeln|15 g Ingwer|5 EL Raps\xF6l|1 TL Garam Masala|1 TL Kurkuma gemahlen|200 ml Gem\xFCsefond|200 ml Kokosmilch|Pfeffer\ninstructions: Auberginen waschen, in 3 cm gro\xDFe W\xFCrfel schneiden, leicht salzen und ca. 5 Minuten ziehen lassen.|Kichererbsen absp\xFClen und abtropfen lassen; Spinat waschen und trocken schleudern.|Zwiebeln und Ingwer sch\xE4len und w\xFCrfeln.|Auberginenw\xFCrfel in 3 EL Raps\xF6l scharf anbraten und herausnehmen.|Zwiebeln und Ingwer in 2 EL Raps\xF6l anschwitzen; Garam Masala und Kurkuma zugeben und mit Gem\xFCsefond abl\xF6schen.|Auberginen, Kichererbsen und Spinat zugeben und aufkochen lassen.|Kokosmilch unterr\xFChren und ca. 10 Minuten mit Deckel k\xF6cheln lassen.|Mit Salz und Pfeffer abschmecken; dazu z. B. Reis servieren.\nnutrition_energy: 204 kcal\nnutrition_carbohydrates: 16.8 g\nnutrition_fat: 13.8 g\nnutrition_protein: 6 g\nsearch_rank: 3\nfrom_cache: false\ntype: recipe\nprovider: REWE\ntotal_available: 3\nembed_ref: auberginen-curry-Lp3\napp_id: nutrition\nskill_id: search_recipes',
18111
- parent_embed_id: "0f3d4856-52c7-4843-ad65-4bab26269b1e",
18112
- embed_ids: null
18113
- }
18114
- ],
18323
+ embeds: [...imageEmbeds, ...nutritionEmbeds],
18115
18324
  metadata: {
18116
18325
  featured: true,
18117
18326
  order: 30,
@@ -23975,17 +24184,17 @@ Only output the final Markdown table. Do NOT include explanations, notes, or any
23975
24184
  search_recipes: {
23976
24185
  text: "Search Recipes",
23977
24186
  description: {
23978
- text: "Search for recipes by dietary filters and categories."
24187
+ text: "Search recipes by query, nutrition filters, and step-by-step instructions."
23979
24188
  },
23980
24189
  how_to_use: {
23981
24190
  "1": {
23982
- text: "**Find vegetarian** pasta recipes"
24191
+ text: "**Find vegan** pasta recipes with instructions"
23983
24192
  },
23984
24193
  "2": {
23985
- text: "**Search** for quick and easy dinner recipes"
24194
+ text: "**Search** for quick dinners under 30 minutes"
23986
24195
  },
23987
24196
  "3": {
23988
- text: "Show me **gluten-free** dessert ideas"
24197
+ text: "Show me **gluten-free** pancakes with steps"
23989
24198
  }
23990
24199
  }
23991
24200
  }
@@ -25560,6 +25769,9 @@ Only output the final Markdown table. Do NOT include explanations, notes, or any
25560
25769
  title: {
25561
25770
  text: "Continue where you left off"
25562
25771
  },
25772
+ decrypting: {
25773
+ text: "Decrypting chats..."
25774
+ },
25563
25775
  continue_button: {
25564
25776
  text: "Continue"
25565
25777
  },
@@ -28216,8 +28428,8 @@ Only output the final Markdown table. Do NOT include explanations, notes, or any
28216
28428
  health_score: {
28217
28429
  text: "Health Score"
28218
28430
  },
28219
- view_on_rewe: {
28220
- text: "View on REWE"
28431
+ view_source: {
28432
+ text: "View source"
28221
28433
  }
28222
28434
  },
28223
28435
  wiki: {
@@ -28810,13 +29022,13 @@ Only output the final Markdown table. Do NOT include explanations, notes, or any
28810
29022
  text: "Chickpea Spinach Protein Dinners"
28811
29023
  },
28812
29024
  summary: {
28813
- text: "A recipe-search example comparing vegetarian high-protein chickpea and spinach dinners."
29025
+ text: "Find quick vegetarian chickpea and spinach dinners with Edamam recipe cards, instructions, and protein details."
28814
29026
  },
28815
29027
  message_1: {
28816
- text: "Find vegetarian high-protein dinner recipes with chickpeas and spinach, under 35 minutes, and compare the top options for weeknight cooking."
29028
+ text: "Find 3 vegetarian chickpea and spinach dinner recipes under 35 minutes with step-by-step instructions and protein details"
28817
29029
  },
28818
29030
  message_2: {
28819
- text: '```json\n{"type": "app_skill_use", "embed_id": "0f3d4856-52c7-4843-ad65-4bab26269b1e", "app_id": "nutrition", "skill_id": "search_recipes"}\n```\n\nFinding the perfect high-protein, vegetarian dinner that fits into a busy weeknight schedule is all about balancing speed with nutritional density. [Chickpeas](wiki:Chickpea) (also known as garbanzo beans) are an excellent protein source, offering about 15 grams per cooked cup, while [spinach](wiki:Spinach) adds essential vitamins and iron.\n\nBased on these criteria, here are the top three vegetarian chickpea and spinach recipes that can be prepared in under 35 minutes, compared for their suitability for weeknight cooking.\n\n### Comparison of Top Weeknight Options\n\n```json\n{"type": "sheet", "embed_id": "e6f639a6-5911-461b-8749-9e26874e56b6"}\n```\n\n\n---\n\n### 1. One-Pot Chana Saag (Chickpea & Spinach Curry)\nThis is a simplified version of the classic [Indian](wiki:Indian_cuisine) dish. It\u2019s highly aromatic and uses standard pantry staples.\n\n* **Protein Profile:** High (~18g per serving).\n* **Why it works:** Using canned chickpeas and pre-washed baby spinach makes this incredibly fast. It\u2019s a "one-pot" wonder, meaning less cleanup.\n* **Quick Tip:** Serve with a dollop of [Greek yogurt](wiki:Strained_yogurt) to boost the protein content even further.\n\n### 2. Creamy Garlicky Chickpea & Spinach Pasta\nA Mediterranean-inspired dish that feels indulgent but is packed with plant-based power.\n\n* **Protein Profile:** Moderate to High (~22g if using whole-wheat or [chickpea pasta](wiki:Pasta)).\n* **Why it works:** You can cook the chickpeas and wilt the spinach in the same pan while the pasta boils. It\u2019s the fastest option on the list.\n* **Quick Tip:** Use a splash of pasta water and nutritional yeast or [Parmesan](wiki:Parmesan) to create a "creamy" sauce without heavy cream.\n\n### 3. Mediterranean Chickpea & Spinach Stew with Feta\nA rustic, chunky stew seasoned with cumin and [smoked paprika](wiki:Paprika).\n\n* **Protein Profile:** High (~20g per serving).\n* **Why it works:** It uses fire-roasted tomatoes and chickpeas for a deep, slow-cooked flavor that actually only takes about 20 minutes on the stove.\n* **Quick Tip:** Top with crumbled [Feta cheese](wiki:Feta) for a tangy protein boost.\n\n---\n\n### Colin\u2019s Culinary Advice\nWhen cooking with chickpeas on weeknights, I always recommend **rinsing and drying** them thoroughly before saut\xE9ing if you want a bit of a "crunch" or **mashing a few** directly in the pot if you want a thicker, creamier sauce.\n\nFor a sustainable and community-focused approach, try to source your spinach from a local farmers\' market when in season. Not only does it support local growers, but fresh spinach also has a much higher nutritional retention than bagged varieties that have traveled long distances.\n\n**Would you like a detailed step-by-step recipe for any of these, or perhaps a shopping list for the ingredients?**\n\n* [Check nutritional values](/#settings/apps/nutrition)\n* [Add ingredients to your shopping list](/#settings/apps/shopping)\n* [Set a reminder to cook tonight](/#settings/apps/reminder)'
29031
+ text: '```json\n{"type":"app_skill_use","embed_id":"d7f21a46-8f13-4f14-82c4-d868ba62bb8a","app_id":"nutrition","skill_id":"search_recipes","query":"chickpea and spinach dinner","provider":"Edamam","status":"finished"}\n```\n\nHere are three delicious, protein-packed vegetarian chickpea and spinach dinner recipes that you can whip up in under 35 minutes.\n\n### 1. 10-Minute Chickpea and Spinach Curry\nThis is an incredibly fast [curry](wiki:Curry) that relies on aromatics and pantry staples for a rich, satisfying flavor in record time.\n\n[!](embed:thefieryvegetarian.com-3sr)\n[!](embed:vegancocotte.com-IZt)\n[!](embed:vegancocotte.com-rFn)\n\n* **Total Time:** 10 minutes\n* **Protein Content:** ~10.5g per serving\n* **Servings:** 4\n\n**Ingredients:**\n* 1 (15 oz) can [chickpeas](wiki:Chickpea) (drained and rinsed)\n* 1 (15 oz) can diced [tomatoes](wiki:Tomato)\n* 1 [onion](wiki:Onion), 4 [garlic](wiki:Garlic) cloves, 1 red chili, 1 tbsp ginger (all finely diced)\n* 3 tbsp curry paste & 2 tbsp [tomato paste](wiki:Tomato_paste)\n* 3 cups fresh [spinach](wiki:Spinach)\n* 1 tsp vegetable oil\n\n**Instructions:**\n1. **Saut\xE9 Aromatics:** Heat oil in a large pot. Add diced onion, garlic, ginger, and chili. Saut\xE9 for about 1 minute until fragrant.\n2. **Build Flavor:** Stir in the tomato paste and curry paste, saut\xE9ing for another minute to release the oils.\n3. **Simmer:** Pour in the canned tomatoes and chickpeas. Cover and simmer on medium-high heat for 3\u20135 minutes.\n4. **Wilt Spinach:** Stir in the fresh spinach leaves until they wilt (about 1\u20132 minutes). Serve immediately.\n\n---\n\n### 2. 15-Minute Skillet Chickpeas with Spinach and Tomatoes\nThis Mediterranean-style dish uses spices like [turmeric](wiki:Turmeric) and a finishing touch of lemon juice for a bright, healthy meal.\n\n[!](embed:runningonrealfood.com-R8H)\n[!](embed:americanhomecook.com-Alt)\n[!](embed:shortgirltallorder.com-QXv)\n\n* **Total Time:** 15 minutes\n* **Protein Content:** ~23.1g per serving\n* **Servings:** 2\n\n**Ingredients:**\n* 1 (15 oz) can chickpeas (drained and rinsed)\n* 1 (14.5 oz) can diced tomatoes\n* 5 oz baby spinach\n* 1 small onion (diced) & 4 garlic cloves (sliced)\n* \xBD tsp ground turmeric & \xBD tsp [red pepper flakes](wiki:Crushed_red_pepper)\n* 3 tbsp [olive oil](wiki:Olive_oil), lemon juice, and fresh herbs ([cilantro](wiki:Coriander) or [parsley](wiki:Parsley))\n\n**Instructions:**\n1. **Fry Aromatics:** Heat oil in a skillet over low heat. Cook onion and garlic until translucent and slightly browned (3\u20135 minutes).\n2. **Toast Spices:** Add turmeric and red pepper flakes. Toast for 1 minute, then add chickpeas with a drizzle of oil and salt/pepper. Sizzle for 5\u20137 minutes.\n3. **Combine:** Stir in the tomatoes and simmer until the liquid reduces slightly.\n4. **Finish:** Add spinach and stir until wilted. Off the heat, stir in lemon juice and top with fresh herbs and a dollop of [yogurt](wiki:Yogurt).\n\n---\n\n### 3. 20-Minute Middle Eastern Spinach and Chickpeas\nA simpler, cleaner version of the classic [tapas](wiki:Tapas) dish, focusing on the natural sweetness of saut\xE9ed onions and white beans.\n\n[!](embed:carolinescooking.com-Dy7)\n[!](embed:simpleveganblog.com-8dt)\n[!](embed:ourplantbasedworld.com-Krr)\n\n* **Total Time:** 20 minutes\n* **Protein Content:** ~8.7g per serving\n* **Servings:** 4\n\n**Ingredients:**\n* 3 cups low-sodium canned chickpeas (drained and rinsed)\n* 2 cups baby spinach\n* 2/3 cup diced tomatoes\n* \xBD large white onion (diced)\n* 2 tsp minced garlic\n* 1\xBD tbsp [extra-virgin olive oil](wiki:Olive_oil#Grades)\n\n**Instructions:**\n1. **Soften Onions:** Heat olive oil in a pan. Saut\xE9 the onion for 2\u20133 minutes.\n2. **Add Seasoning:** Stir in the garlic and saut\xE9 for another minute.\n3. **Cook Down:** Pour in the tomatoes and cook for 1 minute.\n4. **Simmer Beans:** Add the chickpeas and about 3\u20134 tablespoons of water (or [vegetable broth](wiki:Broth)). Cook for 10 minutes.\n5. **Fold Spinach:** Gently fold in the baby spinach until just wilted. Season to taste and serve.\n\n---\n\n**Next steps for your meal prep:**\n* Would you like to find some side dish suggestions, like a [basmati rice](wiki:Basmati) or [naan](wiki:Naan) recipe, to go with these?\n* Are you interested in seeing some high-protein vegan dessert ideas to round out your dinner?'
28820
29032
  }
28821
29033
  },
28822
29034
  creativity_drawing_meetups_berlin: {
@@ -32108,6 +32320,22 @@ As of mid-2026, the severe supply shocks from the 2024\u20132025 avian flu have
32108
32320
  }
32109
32321
  }
32110
32322
  },
32323
+ nutrition: {
32324
+ heading: {
32325
+ text: "Nutrition (only when you use the recipe search skill)"
32326
+ },
32327
+ description: {
32328
+ text: "These providers are only used when you invoke the nutrition recipe search skill. They receive recipe search queries and selected dietary filters without a user identifier."
32329
+ },
32330
+ edamam: {
32331
+ heading: {
32332
+ text: "Edamam"
32333
+ },
32334
+ description: {
32335
+ text: "Edamam's Recipe Search API is queried when you search for recipes. Edamam receives the recipe query and selected dietary or nutrition filters without a user identifier."
32336
+ }
32337
+ }
32338
+ },
32111
32339
  electronics: {
32112
32340
  heading: {
32113
32341
  text: "Electronics (only when you use the electronics skill)"
@@ -38484,6 +38712,9 @@ As of mid-2026, the severe supply shocks from the 2024\u20132025 avian flu have
38484
38712
  sign_up: {
38485
38713
  text: "Sign up"
38486
38714
  },
38715
+ test_for_free: {
38716
+ text: "Test for free"
38717
+ },
38487
38718
  version_title: {
38488
38719
  text: "v0.12 alpha"
38489
38720
  },
@@ -42933,6 +43164,30 @@ function printSkillResult(app, skill, raw) {
42933
43164
  const items = group.results;
42934
43165
  if (Array.isArray(items)) totalItems += items.length;
42935
43166
  }
43167
+ if (totalItems === 0) {
43168
+ header(
43169
+ `${capitalise(app)} \u203A ${capitalise(skill)} \x1B[2m(${credits !== null ? `${credits} credits` : "no results"})\x1B[0m
43170
+ `
43171
+ );
43172
+ console.log("No results found.");
43173
+ const topLevelReason = str2(data.no_result_reason) ?? str2(data.error);
43174
+ if (topLevelReason) kv("reason", topLevelReason, 12);
43175
+ for (const group of topResults) {
43176
+ const reason = str2(group.no_result_reason) ?? str2(group.error);
43177
+ if (reason) kv("reason", reason, 12);
43178
+ const groupSuggestions = group.suggestions;
43179
+ if (Array.isArray(groupSuggestions) && groupSuggestions.length > 0) {
43180
+ kv("try", groupSuggestions.map((value) => String(value)).join(" \xB7 "), 12);
43181
+ }
43182
+ }
43183
+ const responseSuggestions = data.suggestions_follow_up_requests;
43184
+ if (Array.isArray(responseSuggestions) && responseSuggestions.length > 0) {
43185
+ kv("try", responseSuggestions.map((value) => String(value)).join(" \xB7 "), 12);
43186
+ }
43187
+ const provider = str2(data.provider);
43188
+ if (provider) console.log(`\x1B[2mProvider: ${provider}\x1B[0m`);
43189
+ return;
43190
+ }
42936
43191
  if (totalItems > 0) {
42937
43192
  header(
42938
43193
  `${capitalise(app)} \u203A ${capitalise(skill)} \x1B[2m(${totalItems} result${totalItems !== 1 ? "s" : ""}${credits !== null ? `, ${credits} credits` : ""})\x1B[0m
@@ -43003,13 +43258,10 @@ function printSkillResultItem(item, num, total) {
43003
43258
  if (dur) parts.push(`(${dur})`);
43004
43259
  console.log(` ${parts.join(" ")}`);
43005
43260
  }
43006
- printGenericObject(item, 1);
43007
43261
  if (typeof item.booking_token === "string") {
43008
- const token = item.booking_token;
43009
- const ctxFlag = item.booking_context && typeof item.booking_context === "object" ? ` --context '${JSON.stringify(item.booking_context)}'` : "";
43010
43262
  console.log(`\x1B[2m \u2192 Get booking URL (25 credits):\x1B[0m`);
43011
43263
  console.log(
43012
- `\x1B[2m openmates apps travel booking-link --token "${token}"${ctxFlag}\x1B[0m`
43264
+ `\x1B[2m rerun with --json to copy booking_token, then use openmates apps travel booking-link\x1B[0m`
43013
43265
  );
43014
43266
  }
43015
43267
  console.log("");
@@ -43023,7 +43275,38 @@ function printSkillResultItem(item, num, total) {
43023
43275
  if (rating) summary.push(`\u2605 ${rating}`);
43024
43276
  if (price) summary.push(price);
43025
43277
  console.log(`${numLabel}\x1B[1m${name}\x1B[0m ${summary.join(" \xB7 ")}`);
43026
- printGenericObject(item, 1);
43278
+ const amenities = Array.isArray(item.amenities) ? item.amenities.map((value) => String(value)).slice(0, 6) : [];
43279
+ if (amenities.length > 0) kv("amenities", amenities.join(", "), 14);
43280
+ const reviews = item.reviews;
43281
+ if (reviews !== void 0 && reviews !== null) kv("reviews", String(reviews), 14);
43282
+ const link = str2(item.link) ?? str2(item.url);
43283
+ if (link) kv("url", link, 14);
43284
+ console.log("");
43285
+ return;
43286
+ }
43287
+ if (itemType === "event_result") {
43288
+ const title2 = str2(item.title) ?? str2(item.name) ?? "Untitled event";
43289
+ const provider = str2(item.provider);
43290
+ const start = str2(item.date_start);
43291
+ const end = str2(item.date_end);
43292
+ const venue = item.venue;
43293
+ const venueName = venue && typeof venue === "object" ? str2(venue.name) : null;
43294
+ const city = venue && typeof venue === "object" ? str2(venue.city) : null;
43295
+ const price = formatEventPrice(item);
43296
+ const summary = [provider, price].filter(Boolean).join(" \xB7 ");
43297
+ console.log(`${numLabel}\x1B[1m${title2}\x1B[0m${summary ? ` ${summary}` : ""}`);
43298
+ if (start || end) {
43299
+ console.log(` ${[start, end ? `\u2192 ${end}` : null].filter(Boolean).join(" ")}`);
43300
+ }
43301
+ if (venueName || city) kv("venue", [venueName, city].filter(Boolean).join(", "), 14);
43302
+ const constraints = item.constraint_matches;
43303
+ if (constraints && typeof constraints === "object") {
43304
+ for (const [key, value] of Object.entries(constraints)) {
43305
+ if (value !== void 0 && value !== null && value !== "") kv(key, String(value), 14);
43306
+ }
43307
+ }
43308
+ const url = str2(item.url);
43309
+ if (url) kv("url", url, 14);
43027
43310
  console.log("");
43028
43311
  return;
43029
43312
  }
@@ -43049,6 +43332,19 @@ function printSkillResultItem(item, num, total) {
43049
43332
  }
43050
43333
  console.log("");
43051
43334
  }
43335
+ function formatEventPrice(item) {
43336
+ const fee = item.fee;
43337
+ if (fee && typeof fee === "object") {
43338
+ const feeRecord = fee;
43339
+ const amount = str2(feeRecord.amount) ?? str2(feeRecord.display) ?? str2(feeRecord.min);
43340
+ const currency = str2(feeRecord.currency);
43341
+ if (amount) return currency && !amount.includes(currency) ? `${amount} ${currency}` : amount;
43342
+ }
43343
+ const price = str2(item.price);
43344
+ if (price) return price;
43345
+ if (item.is_paid === false) return "free";
43346
+ return null;
43347
+ }
43052
43348
  function printWhoAmI(user) {
43053
43349
  header("Account\n");
43054
43350
  const show = (k, label) => {
package/dist/cli.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  getExtForLang,
4
4
  serializeToYaml
5
- } from "./chunk-JJYSEKOE.js";
5
+ } from "./chunk-UG4LLEOG.js";
6
6
  import "./chunk-AXNRPVLE.js";
7
7
  export {
8
8
  getExtForLang,
package/dist/index.js CHANGED
@@ -7,7 +7,7 @@ import {
7
7
  getExtForLang,
8
8
  parseNewChatSuggestionText,
9
9
  serializeToYaml
10
- } from "./chunk-JJYSEKOE.js";
10
+ } from "./chunk-UG4LLEOG.js";
11
11
  import "./chunk-AXNRPVLE.js";
12
12
  export {
13
13
  MATE_NAMES,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openmates",
3
- "version": "0.12.0-alpha.0",
3
+ "version": "0.12.0-alpha.2",
4
4
  "description": "OpenMates CLI and SDK",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -52,7 +52,7 @@
52
52
  "ahocorasick": "1.0.2",
53
53
  "qrcode-terminal": "^0.12.0",
54
54
  "tweetnacl": "^1.0.3",
55
- "ws": "8.20.1"
55
+ "ws": "8.21.0"
56
56
  },
57
57
  "devDependencies": {
58
58
  "@repo/eslint-config": "workspace:*",