openmates 0.27.0-alpha.51 → 0.27.0-alpha.52
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/dist/{chunk-VFL7VCMN.js → chunk-O3V32DYV.js} +2555 -39
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/fixtures/privacy-runtime/linux-arm64/libggml-base.so +0 -0
- package/fixtures/privacy-runtime/linux-arm64/libggml-base.so.0 +0 -0
- package/fixtures/privacy-runtime/linux-arm64/libggml-base.so.0.15.1 +0 -0
- package/fixtures/privacy-runtime/linux-arm64/libggml-cpu.so +0 -0
- package/fixtures/privacy-runtime/linux-arm64/libggml-cpu.so.0 +0 -0
- package/fixtures/privacy-runtime/linux-arm64/libggml-cpu.so.0.15.1 +0 -0
- package/fixtures/privacy-runtime/linux-arm64/libggml.so +0 -0
- package/fixtures/privacy-runtime/linux-arm64/libggml.so.0 +0 -0
- package/fixtures/privacy-runtime/linux-arm64/libggml.so.0.15.1 +0 -0
- package/fixtures/privacy-runtime/linux-arm64/manifest.json +9 -9
- package/package.json +5 -4
|
@@ -33945,14 +33945,16 @@ function stripAnsi(value) {
|
|
|
33945
33945
|
function terminalText(value) {
|
|
33946
33946
|
return stripAnsi(value).replace(/[\x00-\x08\x0b-\x1f\x7f-\x9f]/g, "").replace(/\t/g, " ");
|
|
33947
33947
|
}
|
|
33948
|
-
function
|
|
33948
|
+
function graphemeCellWidth(value) {
|
|
33949
33949
|
if (/^[\p{Mark}\p{Cf}]+$/u.test(value)) return 0;
|
|
33950
33950
|
const cp = value.codePointAt(0) ?? 0;
|
|
33951
33951
|
if (/\p{Extended_Pictographic}|\p{Regional_Indicator}|\u20e3/u.test(value)) return 2;
|
|
33952
33952
|
return cp >= 4352 && (cp <= 4447 || cp === 9001 || cp === 9002 || cp >= 11904 && cp <= 42191 && cp !== 12351 || cp >= 44032 && cp <= 55203 || cp >= 63744 && cp <= 64255 || cp >= 65040 && cp <= 65049 || cp >= 65072 && cp <= 65135 || cp >= 65281 && cp <= 65376 || cp >= 65504 && cp <= 65510 || cp >= 131072 && cp <= 262141) ? 2 : 1;
|
|
33953
33953
|
}
|
|
33954
33954
|
function cells(value) {
|
|
33955
|
-
|
|
33955
|
+
let width = 0;
|
|
33956
|
+
for (const { segment } of segments.segment(stripAnsi(value))) width += graphemeCellWidth(segment);
|
|
33957
|
+
return width;
|
|
33956
33958
|
}
|
|
33957
33959
|
function truncateCells(value, width, ellipsis = "\u2026") {
|
|
33958
33960
|
const clean2 = terminalText(value).replace(/\n/g, " ");
|
|
@@ -33960,7 +33962,7 @@ function truncateCells(value, width, ellipsis = "\u2026") {
|
|
|
33960
33962
|
const available2 = Math.max(0, width - cells(ellipsis));
|
|
33961
33963
|
let result = "", used = 0;
|
|
33962
33964
|
for (const { segment } of segments.segment(clean2)) {
|
|
33963
|
-
const size =
|
|
33965
|
+
const size = graphemeCellWidth(segment);
|
|
33964
33966
|
if (used + size > available2) break;
|
|
33965
33967
|
result += segment;
|
|
33966
33968
|
used += size;
|
|
@@ -33977,7 +33979,7 @@ function sliceCells(value, start, width) {
|
|
|
33977
33979
|
const end = start + width;
|
|
33978
33980
|
let position = 0, result = "";
|
|
33979
33981
|
for (const { segment } of segments.segment(terminalText(value).replace(/\n/g, " "))) {
|
|
33980
|
-
const size =
|
|
33982
|
+
const size = graphemeCellWidth(segment), next = position + size;
|
|
33981
33983
|
if (next > start && position < end) {
|
|
33982
33984
|
result += position >= start && next <= end ? segment : " ".repeat(Math.min(end, next) - Math.max(start, position));
|
|
33983
33985
|
}
|
|
@@ -33992,7 +33994,7 @@ function wrapCells(value, width) {
|
|
|
33992
33994
|
for (const line3 of terminalText(value).split("\n")) {
|
|
33993
33995
|
let text7 = "", used = 0;
|
|
33994
33996
|
for (const { segment } of segments.segment(line3)) {
|
|
33995
|
-
const size =
|
|
33997
|
+
const size = graphemeCellWidth(segment);
|
|
33996
33998
|
if (size > width) {
|
|
33997
33999
|
if (text7) result.push(text7);
|
|
33998
34000
|
result.push("?");
|
|
@@ -59593,6 +59595,1528 @@ var socialAppNameDomainSearchChat = {
|
|
|
59593
59595
|
}
|
|
59594
59596
|
};
|
|
59595
59597
|
|
|
59598
|
+
// ../ui/src/demo_chats/data/example_chats/damped-sine-decay-plot.ts
|
|
59599
|
+
var dampedSineDecayPlotChat = {
|
|
59600
|
+
chat_id: "example-damped-sine-decay-plot",
|
|
59601
|
+
slug: "damped-sine-decay-plot",
|
|
59602
|
+
title: "example_chats.damped_sine_decay_plot.title",
|
|
59603
|
+
summary: "example_chats.damped_sine_decay_plot.summary",
|
|
59604
|
+
icon: "chart-no-axes-combined",
|
|
59605
|
+
category: "science",
|
|
59606
|
+
keywords: ["damped sine wave", "exponential decay", "math plot", "envelope", "harmonic motion"],
|
|
59607
|
+
follow_up_suggestions: ["example_chats.damped_sine_decay_plot.follow_up_1", "example_chats.damped_sine_decay_plot.follow_up_2", "example_chats.damped_sine_decay_plot.follow_up_3", "example_chats.damped_sine_decay_plot.follow_up_4", "example_chats.damped_sine_decay_plot.follow_up_5", "example_chats.damped_sine_decay_plot.follow_up_6"],
|
|
59608
|
+
messages: [
|
|
59609
|
+
{
|
|
59610
|
+
"id": "67a2a271-e475-44c0-bf60-69fea588c37f",
|
|
59611
|
+
"role": "user",
|
|
59612
|
+
"content": "example_chats.damped_sine_decay_plot.message_1",
|
|
59613
|
+
"created_at": 1791547925
|
|
59614
|
+
},
|
|
59615
|
+
{
|
|
59616
|
+
"id": "9ad1ff68-d12c-5572-9a87-c616b82ac78f",
|
|
59617
|
+
"role": "assistant",
|
|
59618
|
+
"content": "example_chats.damped_sine_decay_plot.message_2",
|
|
59619
|
+
"created_at": 1791547977,
|
|
59620
|
+
"user_message_id": "67a2a271-e475-44c0-bf60-69fea588c37f",
|
|
59621
|
+
"category": "science",
|
|
59622
|
+
"model_name": "Gemini 3.8 Flash"
|
|
59623
|
+
}
|
|
59624
|
+
],
|
|
59625
|
+
embeds: [
|
|
59626
|
+
{
|
|
59627
|
+
"embed_id": "9ef899d2-4b73-4c4e-88bf-d4fd31d61e79",
|
|
59628
|
+
"type": "math-plot",
|
|
59629
|
+
"content": 'type: math-plot\napp_id: math\nskill_id: plot\nplot_spec: "f(x) = exp(-0.2 * x) * sin(3 * x)\\ng(x) = exp(-0.2 * x)\\nh(x) = -exp(-0.2 * x)"\nembed_ref: math-plot-9ef899\nstatus: finished',
|
|
59630
|
+
"parent_embed_id": null,
|
|
59631
|
+
"embed_ids": null
|
|
59632
|
+
}
|
|
59633
|
+
],
|
|
59634
|
+
metadata: {
|
|
59635
|
+
featured: true,
|
|
59636
|
+
order: 128
|
|
59637
|
+
}
|
|
59638
|
+
};
|
|
59639
|
+
|
|
59640
|
+
// ../ui/src/demo_chats/data/example_chats/community-garden-planning-mindmap.ts
|
|
59641
|
+
var communityGardenPlanningMindmapChat = {
|
|
59642
|
+
chat_id: "example-community-garden-planning-mindmap",
|
|
59643
|
+
slug: "community-garden-planning-mindmap",
|
|
59644
|
+
title: "example_chats.community_garden_planning_mindmap.title",
|
|
59645
|
+
summary: "example_chats.community_garden_planning_mindmap.summary",
|
|
59646
|
+
icon: "network",
|
|
59647
|
+
category: "general_knowledge",
|
|
59648
|
+
keywords: ["community garden", "mind map", "volunteer planning", "planting", "budget", "events"],
|
|
59649
|
+
follow_up_suggestions: ["example_chats.community_garden_planning_mindmap.follow_up_1", "example_chats.community_garden_planning_mindmap.follow_up_2", "example_chats.community_garden_planning_mindmap.follow_up_3", "example_chats.community_garden_planning_mindmap.follow_up_4", "example_chats.community_garden_planning_mindmap.follow_up_5", "example_chats.community_garden_planning_mindmap.follow_up_6"],
|
|
59650
|
+
messages: [
|
|
59651
|
+
{
|
|
59652
|
+
"id": "25bbcf68-8f8c-4e80-b06f-bd5542146297",
|
|
59653
|
+
"role": "user",
|
|
59654
|
+
"content": "example_chats.community_garden_planning_mindmap.message_1",
|
|
59655
|
+
"created_at": 1791547929
|
|
59656
|
+
},
|
|
59657
|
+
{
|
|
59658
|
+
"id": "7c8cd2c3-ed24-546c-828a-7e8e7b586991",
|
|
59659
|
+
"role": "assistant",
|
|
59660
|
+
"content": "example_chats.community_garden_planning_mindmap.message_2",
|
|
59661
|
+
"created_at": 1791547973,
|
|
59662
|
+
"user_message_id": "25bbcf68-8f8c-4e80-b06f-bd5542146297",
|
|
59663
|
+
"category": "science",
|
|
59664
|
+
"model_name": "Gemini 3.8 Flash"
|
|
59665
|
+
}
|
|
59666
|
+
],
|
|
59667
|
+
embeds: [
|
|
59668
|
+
{
|
|
59669
|
+
"embed_id": "02d212e1-3648-42f5-8c96-700bd34a5070",
|
|
59670
|
+
"type": "mindmap",
|
|
59671
|
+
"content": 'type: mindmap\napp_id: mindmaps\nskill_id: mindmap\ntitle: Community Garden Planning\nsource_json: "{\\n \\"openmatesType\\": \\"mindmap\\",\\n \\"schemaVersion\\": 1,\\n \\"title\\": \\"Community Garden Planning\\",\\n \\"rootId\\": \\"garden-root\\",\\n \\"nodes\\": [\\n {\\n \\"id\\": \\"garden-root\\",\\n \\"label\\": \\"Community Garden Planning\\",\\n \\"icon\\": \\"sprout\\",\\n \\"color\\": \\"#15803d\\",\\n \\"children\\": [\\n \\"branch-volunteers\\",\\n \\"branch-planting\\",\\n \\"branch-budget\\",\\n \\"branch-events\\"\\n ]\\n },\\n {\\n \\"id\\": \\"branch-volunteers\\",\\n \\"label\\": \\"Volunteers & Community\\",\\n \\"icon\\": \\"users\\",\\n \\"color\\": \\"#0284c7\\",\\n \\"children\\": [\\n \\"vol-roles\\",\\n \\"vol-recruitment\\",\\n \\"vol-orientation\\"\\n ]\\n },\\n {\\n \\"id\\": \\"vol-roles\\",\\n \\"label\\": \\"Working Teams (Watering, Weeding, Compost)\\",\\n \\"icon\\": \\"check-square\\",\\n \\"color\\": \\"#38bdf8\\"\\n },\\n {\\n \\"id\\": \\"vol-recruitment\\",\\n \\"label\\": \\"Outreach & Sign-Up Drives\\",\\n \\"icon\\": \\"megaphone\\",\\n \\"color\\": \\"#38bdf8\\"\\n },\\n {\\n \\"id\\": \\"vol-orientation\\",\\n \\"label\\": \\"Tool Safety & Training Days\\",\\n \\"icon\\": \\"graduation-cap\\",\\n \\"color\\": \\"#38bdf8\\"\\n },\\n {\\n \\"id\\": \\"branch-planting\\",\\n \\"label\\": \\"Planting & Horticulture\\",\\n \\"icon\\": \\"flower-2\\",\\n \\"color\\": \\"#16a34a\\",\\n \\"children\\": [\\n \\"plant-soil\\",\\n \\"plant-selection\\",\\n \\"plant-layout\\",\\n \\"plant-irrigation\\"\\n ]\\n },\\n {\\n \\"id\\": \\"plant-soil\\",\\n \\"label\\": \\"Soil Testing & [Compost](wiki:Compost) Amendments\\",\\n \\"icon\\": \\"test-tube\\",\\n \\"color\\": \\"#4ade80\\"\\n },\\n {\\n \\"id\\": \\"plant-selection\\",\\n \\"label\\": \\"Crop Selection ([Companion planting](wiki:Companion_planting), Pollinators)\\",\\n \\"icon\\": \\"leaf\\",\\n \\"color\\": \\"#4ade80\\"\\n },\\n {\\n \\"id\\": \\"plant-layout\\",\\n \\"label\\": \\"Bed Layout (Raised Beds, Pathways, Shed)\\",\\n \\"icon\\": \\"grid\\",\\n \\"color\\": \\"#4ade80\\"\\n },\\n {\\n \\"id\\": \\"plant-irrigation\\",\\n \\"label\\": \\"Water Source & [Drip irrigation](wiki:Drip_irrigation)\\",\\n \\"icon\\": \\"droplet\\",\\n \\"color\\": \\"#4ade80\\"\\n },\\n {\\n \\"id\\": \\"branch-budget\\",\\n \\"label\\": \\"Budget & Resources\\",\\n \\"icon\\": \\"wallet\\",\\n \\"color\\": \\"#d97706\\",\\n \\"children\\": [\\n \\"bud-expenses\\",\\n \\"bud-funding\\",\\n \\"bud-donations\\"\\n ]\\n },\\n {\\n \\"id\\": \\"bud-expenses\\",\\n \\"label\\": \\"Startup Costs (Lumber, Soil, Seeds, Hoses)\\",\\n \\"icon\\": \\"shopping-cart\\",\\n \\"color\\": \\"#fbbf24\\"\\n },\\n {\\n \\"id\\": \\"bud-funding\\",\\n \\"label\\": \\"Grants & Municipal Subsidies\\",\\n \\"icon\\": \\"landmark\\",\\n \\"color\\": \\"#fbbf24\\"\\n },\\n {\\n \\"id\\": \\"bud-donations\\",\\n \\"label\\": \\"Local Business Sponsorships & In-Kind Gifts\\",\\n \\"icon\\": \\"gift\\",\\n \\"color\\": \\"#fbbf24\\"\\n },\\n {\\n \\"id\\": \\"branch-events\\",\\n \\"label\\": \\"Events & Engagement\\",\\n \\"icon\\": \\"calendar\\",\\n \\"color\\": \\"#9333ea\\",\\n \\"children\\": [\\n \\"evt-kickoff\\",\\n \\"evt-workshops\\",\\n \\"evt-harvest\\"\\n ]\\n },\\n {\\n \\"id\\": \\"evt-kickoff\\",\\n \\"label\\": \\"Spring Groundbreaking & Work Parties\\",\\n \\"icon\\": \\"sun\\",\\n \\"color\\": \\"#c084fc\\"\\n },\\n {\\n \\"id\\": \\"evt-workshops\\",\\n \\"label\\": \\"Educational Gardening Workshops\\",\\n \\"icon\\": \\"book-open\\",\\n \\"color\\": \\"#c084fc\\"\\n },\\n {\\n \\"id\\": \\"evt-harvest\\",\\n \\"label\\": \\"Community Harvest Festival & Potluck\\",\\n \\"icon\\": \\"utensils\\",\\n \\"color\\": \\"#c084fc\\"\\n }\\n ],\\n \\"edges\\": [\\n {\\n \\"source\\": \\"vol-roles\\",\\n \\"target\\": \\"plant-irrigation\\"\\n },\\n {\\n \\"source\\": \\"bud-donations\\",\\n \\"target\\": \\"plant-soil\\"\\n }\\n ],\\n \\"view\\": {\\n \\"layout\\": \\"radial-tree\\",\\n \\"collapsedNodeIds\\": []\\n }\\n}"\nmodel:\n openmatesType: mindmap\n schemaVersion: 1\n title: Community Garden Planning\n rootId: garden-root\n nodes[18]:\n - id: garden-root\n label: Community Garden Planning\n icon: sprout\n color: "#15803d"\n children[4]: branch-volunteers,branch-planting,branch-budget,branch-events\n - id: branch-volunteers\n label: Volunteers & Community\n icon: users\n color: "#0284c7"\n children[3]: vol-roles,vol-recruitment,vol-orientation\n - id: vol-roles\n label: "Working Teams (Watering, Weeding, Compost)"\n icon: check-square\n color: "#38bdf8"\n - id: vol-recruitment\n label: Outreach & Sign-Up Drives\n icon: megaphone\n color: "#38bdf8"\n - id: vol-orientation\n label: Tool Safety & Training Days\n icon: graduation-cap\n color: "#38bdf8"\n - id: branch-planting\n label: Planting & Horticulture\n icon: flower-2\n color: "#16a34a"\n children[4]: plant-soil,plant-selection,plant-layout,plant-irrigation\n - id: plant-soil\n label: "Soil Testing & [Compost](wiki:Compost) Amendments"\n icon: test-tube\n color: "#4ade80"\n - id: plant-selection\n label: "Crop Selection ([Companion planting](wiki:Companion_planting), Pollinators)"\n icon: leaf\n color: "#4ade80"\n - id: plant-layout\n label: "Bed Layout (Raised Beds, Pathways, Shed)"\n icon: grid\n color: "#4ade80"\n - id: plant-irrigation\n label: "Water Source & [Drip irrigation](wiki:Drip_irrigation)"\n icon: droplet\n color: "#4ade80"\n - id: branch-budget\n label: Budget & Resources\n icon: wallet\n color: "#d97706"\n children[3]: bud-expenses,bud-funding,bud-donations\n - id: bud-expenses\n label: "Startup Costs (Lumber, Soil, Seeds, Hoses)"\n icon: shopping-cart\n color: "#fbbf24"\n - id: bud-funding\n label: Grants & Municipal Subsidies\n icon: landmark\n color: "#fbbf24"\n - id: bud-donations\n label: Local Business Sponsorships & In-Kind Gifts\n icon: gift\n color: "#fbbf24"\n - id: branch-events\n label: Events & Engagement\n icon: calendar\n color: "#9333ea"\n children[3]: evt-kickoff,evt-workshops,evt-harvest\n - id: evt-kickoff\n label: Spring Groundbreaking & Work Parties\n icon: sun\n color: "#c084fc"\n - id: evt-workshops\n label: Educational Gardening Workshops\n icon: book-open\n color: "#c084fc"\n - id: evt-harvest\n label: Community Harvest Festival & Potluck\n icon: utensils\n color: "#c084fc"\n edges[2]{source,target}:\n vol-roles,plant-irrigation\n bud-donations,plant-soil\n view:\n layout: radial-tree\n collapsedNodeIds: []\nembed_ref: mind-map-02d212\nstatus: finished\nnode_count: 18\nedge_count: 2\nvalidation:\n status: valid\n warnings: []\n parse_error: null\nversion_number: 1',
|
|
59672
|
+
"parent_embed_id": null,
|
|
59673
|
+
"embed_ids": null
|
|
59674
|
+
}
|
|
59675
|
+
],
|
|
59676
|
+
metadata: {
|
|
59677
|
+
featured: true,
|
|
59678
|
+
order: 129,
|
|
59679
|
+
content_embed_examples: ["mindmaps.mindmap"]
|
|
59680
|
+
}
|
|
59681
|
+
};
|
|
59682
|
+
|
|
59683
|
+
// ../ui/src/demo_chats/data/example_chats/beginner-yoga-classes-berlin.ts
|
|
59684
|
+
var beginnerYogaClassesBerlinChat = {
|
|
59685
|
+
chat_id: "example-beginner-yoga-classes-berlin",
|
|
59686
|
+
slug: "beginner-yoga-classes-berlin",
|
|
59687
|
+
title: "example_chats.beginner_yoga_classes_berlin.title",
|
|
59688
|
+
summary: "example_chats.beginner_yoga_classes_berlin.summary",
|
|
59689
|
+
icon: "heart",
|
|
59690
|
+
category: "medical_health",
|
|
59691
|
+
keywords: ["beginner yoga classes Berlin", "fitness class Berlin", "yoga class booking Berlin"],
|
|
59692
|
+
follow_up_suggestions: ["example_chats.beginner_yoga_classes_berlin.follow_up_1", "example_chats.beginner_yoga_classes_berlin.follow_up_2", "example_chats.beginner_yoga_classes_berlin.follow_up_3", "example_chats.beginner_yoga_classes_berlin.follow_up_4", "example_chats.beginner_yoga_classes_berlin.follow_up_5", "example_chats.beginner_yoga_classes_berlin.follow_up_6"],
|
|
59693
|
+
messages: [
|
|
59694
|
+
{
|
|
59695
|
+
"id": "ab5bc4cd-487f-4073-97cd-7270837a1d15",
|
|
59696
|
+
"role": "user",
|
|
59697
|
+
"content": "example_chats.beginner_yoga_classes_berlin.message_1",
|
|
59698
|
+
"created_at": 1791547967
|
|
59699
|
+
},
|
|
59700
|
+
{
|
|
59701
|
+
"id": "10344500-08de-570b-8b03-dd48ab8937c0",
|
|
59702
|
+
"role": "assistant",
|
|
59703
|
+
"content": "example_chats.beginner_yoga_classes_berlin.message_2",
|
|
59704
|
+
"created_at": 1791548048,
|
|
59705
|
+
"user_message_id": "ab5bc4cd-487f-4073-97cd-7270837a1d15",
|
|
59706
|
+
"category": "medical_health",
|
|
59707
|
+
"model_name": "Gemini 3.8 Flash"
|
|
59708
|
+
}
|
|
59709
|
+
],
|
|
59710
|
+
embeds: [
|
|
59711
|
+
{
|
|
59712
|
+
"embed_id": "02f512fa-c82a-41c4-b392-1f52e71d63ba",
|
|
59713
|
+
"type": "app_skill_use",
|
|
59714
|
+
"content": 'app_id: events\nskill_id: search\nresult_count: 5\nembed_ids: 021fc737-fe6a-4df3-ac18-9724da3bd0b6|d01064a6-51bf-4a02-b234-9767c4cfaf28|45087a30-85bd-423e-8f3f-0367d57296f7|6063917c-b250-462a-8020-e07665276f6c|e1abaaf7-74d5-4ab3-9a93-f91f76d70fd3\nstatus: finished\nend_date: "2026-10-18T23:59:59+02:00"\nstart_date: "2026-10-12T00:00:00+02:00"\nlocation: "Berlin, Germany"\nrelevance_criteria: Beginner yoga classes or workshops in Berlin next week\ncount: 5\nquery: beginner yoga class\nevent_type: PHYSICAL\nprovider: meetup\nproviders: meetup\npreview_results[5]{title,url,image_url,provider}:\n "Vinyasa Flow in Mitte / Wedding ","https://www.meetup.com/berlin-yoga-club/events/316697938/","https://secure.meetupstatic.com/photos/event/a/d/8/f/highres_487544431.jpeg",meetup\n "Mobility Yoga :) Optional Bouldering after ","https://www.meetup.com/mobility-yoga-with-optional-bouldering-to-connect-after/events/316882262/","https://secure.meetupstatic.com/photos/event/5/d/b/0/highres_534743984.jpeg",meetup\n Yoga Kurs,"https://www.meetup.com/offenes-wohnzimmer-berlin/events/316444501/","https://secure.meetupstatic.com/photos/event/2/0/5/0/highres_535448272.jpeg",meetup\n THERAPEUTISCHES \u2764 YOGA \u2764,"https://www.meetup.com/rooftop-yoga-berlin/events/316680372/","https://secure.meetupstatic.com/photos/event/b/d/2/0/highres_505608416.jpeg",meetup\n Yoga for Grounding,"https://www.eventbrite.de/e/yoga-for-grounding-tickets-2002496392616","https://img.evbuc.com/https%3A%2F%2Fcdn.evbuc.com%2Fimages%2F1185517963%2F2833591895431%2F1%2Foriginal.20260527-124333?crop=focalpoint&fit=crop&w=300&auto=format%2Ccompress&q=75&sharp=10&fp-x=0.5&fp-y=0.5&s=0e15d1dc6c29004f6f649af94c344740",eventbrite',
|
|
59715
|
+
"parent_embed_id": null,
|
|
59716
|
+
"embed_ids": [
|
|
59717
|
+
"021fc737-fe6a-4df3-ac18-9724da3bd0b6",
|
|
59718
|
+
"d01064a6-51bf-4a02-b234-9767c4cfaf28",
|
|
59719
|
+
"45087a30-85bd-423e-8f3f-0367d57296f7",
|
|
59720
|
+
"6063917c-b250-462a-8020-e07665276f6c",
|
|
59721
|
+
"e1abaaf7-74d5-4ab3-9a93-f91f76d70fd3"
|
|
59722
|
+
]
|
|
59723
|
+
},
|
|
59724
|
+
{
|
|
59725
|
+
"embed_id": "e1abaaf7-74d5-4ab3-9a93-f91f76d70fd3",
|
|
59726
|
+
"type": "event",
|
|
59727
|
+
"content": 'type: event_result\nid: "2002496392616"\nprovider: eventbrite\ntitle: Yoga for Grounding\ndescription: "Through mindful sequencing, we build heat and energy in the body with breath-led movement, then pause to hold selected postures, creating space to explore alignment, stillness, and deeper breathing. The practice balances effort and ease, inviting both strength and softness - so you leave feeling energised, centred, and more connected to your breath. Open to all levels and beginner-friendly. This class is held in English. The Art.OM studio is located on the ground floor, just to the left in the hallway when you enter the building. You can bring your own mat or use one of ours. Please arrive 10 minutes early to settle in. The door will be closed once class begins, and late entry will not be possible."\nurl: "https://www.eventbrite.de/e/yoga-for-grounding-tickets-2002496392616"\ndate_start: "2026-10-14T18:00:00"\ndate_end: "2026-10-14T19:00:00"\ntimezone: Europe/Berlin\nevent_type: PHYSICAL\nvenue_name: Wrangelstra\xDFe 54\nvenue_address: "Wrangelstra\xDFe 54, 10997 Berlin"\nvenue_city: Berlin\nvenue_state: BE\nvenue_country: DE\nvenue_lat: 52.49828330000001\nvenue_lon: 13.4424341\norganizer_name: Art OM\norganizer_url: "https://www.eventbrite.de/o/art-om-113675772011"\norganizer_summary: "Art.OM is your welcoming local space for artistic exploration and body alignment, located in vibrant Kreuzberg \u2013 Wrangelstr. 54.We bring together yoga and art to create a space for growth, reflection,..."\norganizer_followers: 92\nis_paid: true\nfee_min: "11.83"\nfee_max: "22.49"\nfee_currency: EUR\nfee_display: 11.83 EUR - 22.49 EUR\nimage_url: "https://img.evbuc.com/https%3A%2F%2Fcdn.evbuc.com%2Fimages%2F1185517963%2F2833591895431%2F1%2Foriginal.20260527-124333?crop=focalpoint&fit=crop&w=300&auto=format%2Ccompress&q=75&sharp=10&fp-x=0.5&fp-y=0.5&s=0e15d1dc6c29004f6f649af94c344740"\nticket_info_tickets_by: Eventbrite\nticket_info_tickets_url: "https://www.eventbrite.com/checkout-external?eid=2002496392616"\nticket_info_has_available_tickets: true\nticket_info_is_sold_out: false\nticket_info_sales_status: on_sale\ntags: "Yoga|Health & Wellness|Class, Training, or Workshop|Yoga|Mindfulness|Flow|Movement|Vinyasa|Hathayoga"\neventbrite_event_id: "2002496392616"\nhash: 1e103583ff3d7072\nembed_ref: yoga-for-grounding-TB2\napp_id: events\nskill_id: search',
|
|
59728
|
+
"parent_embed_id": "02f512fa-c82a-41c4-b392-1f52e71d63ba",
|
|
59729
|
+
"embed_ids": null
|
|
59730
|
+
},
|
|
59731
|
+
{
|
|
59732
|
+
"embed_id": "45087a30-85bd-423e-8f3f-0367d57296f7",
|
|
59733
|
+
"type": "event",
|
|
59734
|
+
"content": 'type: event_result\nid: "316444501"\nprovider: meetup\ntitle: Yoga Kurs\ndescription: "**YOGA mit PAULINA & LAURA**\\n\\nPAULINA:\\nMeine Yogaausbildung habe ich in einem Ashram absolviert, angelehnt an die Sivananda- Tradition.\\nIn meinen Stunden verbinde ich sanfte und dynamische Elemente wie Sonnengr\xFC\xDFe, Atem\xFCbungen und achtsame K\xF6rperarbeit.\\nDurch bewusstes Sp\xFCren in den Asanas m\xF6chte ich die K\xF6rperwahrnehmung, Selbstliebe und ein positives K\xF6rpergef\xFChl st\xE4rken. Gleichzeitig darf Bewegung leicht, spielerisch und voller Freude sein.\\nManchmal flie\xDFen auch Journaling, Faszienb\xE4lle oder andere unterst\xFCtzende Tools in die Stunde ein, die dir helfen k\xF6nnen, noch tiefer bei dir selbst anzukommen.\\nDabei ist es mir wichtig, dass sich jede teilnehmende Person wohlf\xFChlt. Durch individuell anpassbare Positionen ist die Praxis f\xFCr alle Level geeignet. Die Freude an der Bewegung, Yoga und ein achtsames Miteinander stehen dabei im Vordergrund. Egal, ob du Anf\xE4nger\\\\*in bist oder bereits Erfahrung mitbringst.\\n\\nLAURA:\\nMeine Ausbildungen in Ashtanga, Vinyasa und Yin Yoga habe ich in Griechenland absolviert.\\nYoga ist f\xFCr mich nicht nur eine Energiequelle, sondern auch eine Auszeit vom Alltag und ein Anker, wenn das Leben st\xFCrmisch wird. Ich m\xF6chte meinen Sch\xFCler:innen eine \xE4hnliche Erfahrung erm\xF6glichen. Meine eigene Praxis lehrt mich Achtsamkeit, Geduld und die unglaubliche Kraft des Atems. Dieses Wissen habe ich in verschiedenen Workshops vertieft.\\nMeine Leidenschaft gilt der Gestaltung von belebenden und mobilisierenden Vinyasa-Flows sowie von erdenden und entspannenden Yin-Kursen, die oft einem bestimmten Thema folgen.\\nMeine Kurse sind inklusiv: Egal, ob du bereits Erfahrung hast oder dich als Anf\xE4nger siehst und neugierig bist, etwas Neues auszuprobieren \u2013 du bist herzlich willkommen.\\n\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014-\\n**Donnerstag: 17:50 Uhr**\\n(Beginn 18 Uhr) **Anmeldung** bitte gerne bis ein Tag vorher: [yogaimwohnzimmer@gmx.de](mailto:yogaimwohnzimmer@gmx.de)\\n**Bitte mitbringen:** Yogamatte, Optional: Yogabl\xF6cke, Kissen, dicke Decke, etwas zum schreiben\\nTeilnahme auf Spendenbasis (zur Erhaltung des Raums)."\nurl: "https://www.meetup.com/offenes-wohnzimmer-berlin/events/316444501/"\ndate_start: "2026-10-13T18:00:00+02:00"\ndate_end: "2026-10-13T19:00:00+02:00"\ntimezone: Europe/Berlin\nevent_type: PHYSICAL\nvenue_name: Offenes Wohnzimmer\nvenue_address: Waldenserstra\xDFe 13\nvenue_city: Berlin\nvenue_state: BE\nvenue_country: de\nvenue_lat: 52.52902\nvenue_lon: 13.332935\norganizer_id: "33121633"\norganizer_name: "Offenes Wohnzimmer: Moabit Nachbarschaft"\norganizer_slug: offenes-wohnzimmer-berlin\nrsvp_count: 2\nis_paid: false\nfee: null\nimage_url: "https://secure.meetupstatic.com/photos/event/2/0/5/0/highres_535448272.jpeg"\nhash: 6f01869ea225a70e\nembed_ref: yoga-kurs-qOQ\napp_id: events\nskill_id: search',
|
|
59735
|
+
"parent_embed_id": "02f512fa-c82a-41c4-b392-1f52e71d63ba",
|
|
59736
|
+
"embed_ids": null
|
|
59737
|
+
},
|
|
59738
|
+
{
|
|
59739
|
+
"embed_id": "6063917c-b250-462a-8020-e07665276f6c",
|
|
59740
|
+
"type": "event",
|
|
59741
|
+
"content": `type: event_result
|
|
59742
|
+
id: "316680372"
|
|
59743
|
+
provider: meetup
|
|
59744
|
+
title: THERAPEUTISCHES \u2764 YOGA \u2764
|
|
59745
|
+
description: "THERAPEUTISCH \u2764 Asana Basics\\nTHERAPEUTISCHES YOGA mit monatlichen Fokus:\\nJANUAR \u2764 Asana Basics\\nFEBRUAR \u2764 unteren R\xFCcken\\nM\xC4RZ \u2764 Schulter, Nacken, oberer R\xFCcken\\nAPRIL \u2764 Schulter + Asana Basics\\nMAI \u2764 unteren R\xFCcken\\n...\\nREFERENZEN\\n'Ich wollte Dir/ Euch auch nochmal f\xFCr die tollen Stunden danken! Ich habe Skoliose und ein Myofasziales Schmerzsyndrom in der linken Schulter und kann mir (seitdem ich bei euch Yoga praktiziere) den Gang zum Physiotherapeuten sparen!\\nDas hat seit einigen Monaten wirklich mein Leben ver\xE4ndert und dadurch habe ich auch weniger Schmerzen/ Stressrelease - danke daf\xFCr! <3\\nLiebe Gr\xFC\xDFe, Sophia'"
|
|
59746
|
+
url: "https://www.meetup.com/rooftop-yoga-berlin/events/316680372/"
|
|
59747
|
+
date_start: "2026-10-13T18:15:00+02:00"
|
|
59748
|
+
date_end: "2026-10-13T19:30:00+02:00"
|
|
59749
|
+
timezone: Europe/Berlin
|
|
59750
|
+
event_type: PHYSICAL
|
|
59751
|
+
venue_name: YOGA at Lobe Block UG
|
|
59752
|
+
venue_address: B\xF6ttgerstra\xDFe 16
|
|
59753
|
+
venue_city: Berlin
|
|
59754
|
+
venue_state: BE
|
|
59755
|
+
venue_country: de
|
|
59756
|
+
venue_lat: 52.548916
|
|
59757
|
+
venue_lon: 13.381006
|
|
59758
|
+
organizer_id: "23086785"
|
|
59759
|
+
organizer_name: YOGA at Lobe Block | SUMMER Rooftop Yoga Berlin
|
|
59760
|
+
organizer_slug: rooftop-yoga-berlin
|
|
59761
|
+
rsvp_count: 4
|
|
59762
|
+
is_paid: false
|
|
59763
|
+
fee: null
|
|
59764
|
+
image_url: "https://secure.meetupstatic.com/photos/event/b/d/2/0/highres_505608416.jpeg"
|
|
59765
|
+
hash: 3af59f67bd3504d3
|
|
59766
|
+
embed_ref: therapeutisches-yoga-YHA
|
|
59767
|
+
app_id: events
|
|
59768
|
+
skill_id: search`,
|
|
59769
|
+
"parent_embed_id": "02f512fa-c82a-41c4-b392-1f52e71d63ba",
|
|
59770
|
+
"embed_ids": null
|
|
59771
|
+
},
|
|
59772
|
+
{
|
|
59773
|
+
"embed_id": "d01064a6-51bf-4a02-b234-9767c4cfaf28",
|
|
59774
|
+
"type": "event",
|
|
59775
|
+
"content": 'type: event_result\nid: "316882262"\nprovider: meetup\ntitle: "Mobility Yoga :) Optional Bouldering after "\ndescription: "Spot needs to be booked [here via this link \u{1F33B}](https://gyms.vertical-life.info/urban-apes-fhain/events/9058/list) (not via meetup!)\\n\\nYou\u2018re new to Berlin or already here for a while and want to practice yoga with others in a relaxed atmosphere?\\n\\nOr looking to explore a cool place to get to know new people and have the option to go bouldering or hangout after the class for a drink?\\n\\nThis all-levels yoga class is happening every two weeks at the Bouldering Gym Urban Apes Friedrichshain. We flow together through some yoga, practice specific mobility exercises and after the class you could decide to try out bouldering in the gym. :)\\n\\nNo yoga or climbing experience needed! No flexibility needed! Just come as you are.\\n\\nPoses and Flows are explained and we flow in a relaxed pace, leaving room for play, mistakes, learning and joy :-)\\n\\nAlso a good way to practice English and connect to people with different backgrounds.\\n\\n**Important:**\\nThe yoga class is 5\u20AC (Booking via the Link, NOT via Meetup). If you want to go Bouldering too, you can check in via USC and Wellpass for free or have to pay the regular entrance fee. But of course you can also only come for the yoga class and not pay the bouldering entry :) Class starts 19pm sharp - arrive 15 min before the class starts, so you have enough time to check in and change.\\nMats and blankets at the Gym.\\n\\n[Book your spot via this link \u{1F33B}](https://gyms.vertical-life.info/urban-apes-fhain/events/9058/list)\\n\\nHow to find the Room:\\nFirst go to the counter. From there go right. Yoga Room is next to the Womens Changing Room. If you can\u2019t find it, ask at the counter.\\n\\n(Little tipp: take a screenshot of this for later)"\nurl: "https://www.meetup.com/mobility-yoga-with-optional-bouldering-to-connect-after/events/316882262/"\ndate_start: "2026-10-13T19:00:00+02:00"\ndate_end: "2026-10-13T19:45:00+02:00"\ntimezone: Europe/Berlin\nevent_type: PHYSICAL\nvenue_name: Urban Apes Friedrichshain\nvenue_address: Friedensstra\xDFe 91 B\nvenue_city: Berlin\nvenue_state: ""\nvenue_country: DE\nvenue_lat: 52.522205\nvenue_lon: 13.436905\norganizer_id: "38554467"\norganizer_name: Mobility Yoga - optional bouldering after\norganizer_slug: mobility-yoga-with-optional-bouldering-to-connect-after\nrsvp_count: 1\nis_paid: false\nfee: null\nimage_url: "https://secure.meetupstatic.com/photos/event/5/d/b/0/highres_534743984.jpeg"\nhash: b2c08e896f336dfa\nembed_ref: mobility-yoga-optional-qv3\napp_id: events\nskill_id: search',
|
|
59776
|
+
"parent_embed_id": "02f512fa-c82a-41c4-b392-1f52e71d63ba",
|
|
59777
|
+
"embed_ids": null
|
|
59778
|
+
},
|
|
59779
|
+
{
|
|
59780
|
+
"embed_id": "021fc737-fe6a-4df3-ac18-9724da3bd0b6",
|
|
59781
|
+
"type": "event",
|
|
59782
|
+
"content": 'type: event_result\nid: "316697938"\nprovider: meetup\ntitle: "Vinyasa Flow in Mitte / Wedding "\ndescription: "These vinyasa classes are positively dynamic, soft and strong as silk, always connecting to the deep, guiding you gently to the awareness of your breath to calm the mind and release the body of unnecessary tension.\\nModifications of the poses are offered to better suit each practitioner, from experienced beginners to advanced. Taping into a background of cultural diversity, dance and massage therapy, these sessions are a holistic practice with asanas, free form movement, music, voice, and silence.\\n\\nEach month the classes have a specific focus (i.e. twists, balance, resilience, chakras) to effectively process and develop the connection between mind, body, and spirit.\\n\\n**deutsch**\\n\\nVinyasa Yoga ist gezeichnet durch flie\xDFende Bewegungen und Sequenzen von Asanas die bewusst in Verbindung mit der Atmung stehen. Die Mittwochabend Klassen sind sanft kr\xE4ftigend, dynamisch & schwei\xDFtreibend mit dem Ziel von Regeneration & Revitalisierung. Die Praxis besteht aus Asana-Praxis, freie Bewegung, Atmungs\xFCbungen, Meditation und Entspannung. Es werden sowohl einfache als auch fortgeschrittene Varianten der Asanas angeboten, um deine Praxis an dein Level anzupassen.\\n\\nJeden Monat zielt der Kurs auf einen spezifischen Fokus hin (z.B. R\xFCckbeugen, Gleichgewicht, Umkehrhaltungen) um k\xF6rperliche Fortschritte zu erleichtern und Raum im Geist zu sch\xF6pfen.\\n\\nABOUT MARIANNE:\\n\\nMarianne Schmidt, born to german parents in India, raised across the globe, she calls Berlin home. She is the founder of Soul Treats and works as a certified massage therapist, yoga instructor and life coach.\\n\\nMarianne has been offering yoga classes and massage therapy for over eleven years. Fascinated by human anatomy and the connection between the psyche and the physical, her education is an ongoing process. Taping into many methods of body work, she treats clients and students holistically, by aligning the physical body with the aim of restoring balance on the emotional and energetical levels.\\n\\nDancing and performing since a yoga age, her yoga classes always include elements of dance, movement research and breath work.\\n\\nBreath is a her guide, \\"dancing from sound to silence, flowing from silence to sound.\\"\\n\\nPreis:\\n\\nErste Stunde - 10 Euro\\nStarterpaket: 3 Stunden - 20 Euro (g\xFCltig f\xFCr 1 Monat, in alle Soul Treats Kurse m\xF6glich)"\nurl: "https://www.meetup.com/berlin-yoga-club/events/316697938/"\ndate_start: "2026-10-14T19:30:00+02:00"\ndate_end: "2026-10-14T21:00:00+02:00"\ntimezone: Europe/Berlin\nevent_type: PHYSICAL\nvenue_name: YOGA at Lobe Block UG\nvenue_address: B\xF6ttgerstra\xDFe 16\nvenue_city: Berlin\nvenue_state: BE\nvenue_country: de\nvenue_lat: 52.548916\nvenue_lon: 13.381006\norganizer_id: "22903338"\norganizer_name: Berlin Yoga Club\norganizer_slug: Berlin-Yoga-Club\nrsvp_count: 1\nis_paid: false\nfee: null\nimage_url: "https://secure.meetupstatic.com/photos/event/a/d/8/f/highres_487544431.jpeg"\nhash: a3a3a32f18913dff\nembed_ref: vinyasa-flow-in-a8l\napp_id: events\nskill_id: search',
|
|
59783
|
+
"parent_embed_id": "02f512fa-c82a-41c4-b392-1f52e71d63ba",
|
|
59784
|
+
"embed_ids": null
|
|
59785
|
+
},
|
|
59786
|
+
{
|
|
59787
|
+
"embed_id": "e4569c35-68a2-486d-af5d-dc5600aca187",
|
|
59788
|
+
"type": "app_skill_use",
|
|
59789
|
+
"content": 'app_id: fitness\nskill_id: search_classes\nresult_count: 0\nembed_ids: []\nstatus: finished\nquery: beginner yoga\ndays: 7\nrelevance_criteria: "Beginner-friendly yoga classes in Berlin next week with clear times, locations, and spots"\ncity: Berlin\nstart_date: 2026-10-12\nprovider: Urban Sports Club\nlocation: Berlin\ndate: 2026-10-12\nplan: all\nattendance_mode: all',
|
|
59790
|
+
"parent_embed_id": null,
|
|
59791
|
+
"embed_ids": []
|
|
59792
|
+
}
|
|
59793
|
+
],
|
|
59794
|
+
metadata: {
|
|
59795
|
+
featured: true,
|
|
59796
|
+
order: 130,
|
|
59797
|
+
app_skill_examples: ["events.search", "fitness.search_classes"]
|
|
59798
|
+
}
|
|
59799
|
+
};
|
|
59800
|
+
|
|
59801
|
+
// ../ui/src/demo_chats/data/example_chats/urban-heat-island-at-night.ts
|
|
59802
|
+
var urbanHeatIslandAtNightChat = {
|
|
59803
|
+
chat_id: "example-urban-heat-island-at",
|
|
59804
|
+
slug: "urban-heat-island-at-night",
|
|
59805
|
+
title: "example_chats.urban_heat_island_at_night.title",
|
|
59806
|
+
summary: "example_chats.urban_heat_island_at_night.summary",
|
|
59807
|
+
icon: "sun",
|
|
59808
|
+
category: "science",
|
|
59809
|
+
keywords: ["urban heat island", "city temperature", "nighttime heat", "urban climate"],
|
|
59810
|
+
follow_up_suggestions: ["example_chats.urban_heat_island_at_night.follow_up_1", "example_chats.urban_heat_island_at_night.follow_up_2", "example_chats.urban_heat_island_at_night.follow_up_3", "example_chats.urban_heat_island_at_night.follow_up_4", "example_chats.urban_heat_island_at_night.follow_up_5", "example_chats.urban_heat_island_at_night.follow_up_6"],
|
|
59811
|
+
messages: [
|
|
59812
|
+
{
|
|
59813
|
+
"id": "24fd34de-944b-4283-a1ad-b4d7a651a383",
|
|
59814
|
+
"role": "user",
|
|
59815
|
+
"content": "example_chats.urban_heat_island_at_night.message_1",
|
|
59816
|
+
"created_at": 1791554617
|
|
59817
|
+
},
|
|
59818
|
+
{
|
|
59819
|
+
"id": "680d2729-ea0a-5a5a-a0a1-238cd7e07742",
|
|
59820
|
+
"role": "assistant",
|
|
59821
|
+
"content": "example_chats.urban_heat_island_at_night.message_2",
|
|
59822
|
+
"created_at": 1791554648,
|
|
59823
|
+
"user_message_id": "24fd34de-944b-4283-a1ad-b4d7a651a383",
|
|
59824
|
+
"category": "science",
|
|
59825
|
+
"model_name": "Gemini 3.8 Flash"
|
|
59826
|
+
}
|
|
59827
|
+
],
|
|
59828
|
+
embeds: [],
|
|
59829
|
+
metadata: {
|
|
59830
|
+
featured: true,
|
|
59831
|
+
order: 131
|
|
59832
|
+
}
|
|
59833
|
+
};
|
|
59834
|
+
|
|
59835
|
+
// ../ui/src/demo_chats/data/example_chats/community-garden-volunteer-onboarding.ts
|
|
59836
|
+
var communityGardenVolunteerOnboardingChat = {
|
|
59837
|
+
chat_id: "example-community-garden-volunteer-onboarding",
|
|
59838
|
+
slug: "community-garden-volunteer-onboarding",
|
|
59839
|
+
title: "example_chats.community_garden_volunteer_onboarding.title",
|
|
59840
|
+
summary: "example_chats.community_garden_volunteer_onboarding.summary",
|
|
59841
|
+
icon: "docs",
|
|
59842
|
+
category: "business_development",
|
|
59843
|
+
keywords: ["community garden", "volunteer onboarding", "document template"],
|
|
59844
|
+
follow_up_suggestions: ["example_chats.community_garden_volunteer_onboarding.follow_up_1", "example_chats.community_garden_volunteer_onboarding.follow_up_2", "example_chats.community_garden_volunteer_onboarding.follow_up_3", "example_chats.community_garden_volunteer_onboarding.follow_up_4", "example_chats.community_garden_volunteer_onboarding.follow_up_5", "example_chats.community_garden_volunteer_onboarding.follow_up_6"],
|
|
59845
|
+
messages: [
|
|
59846
|
+
{
|
|
59847
|
+
"id": "5652a8b0-8227-45ca-b851-0e820554730d",
|
|
59848
|
+
"role": "user",
|
|
59849
|
+
"content": "example_chats.community_garden_volunteer_onboarding.message_1",
|
|
59850
|
+
"created_at": 1791554723
|
|
59851
|
+
},
|
|
59852
|
+
{
|
|
59853
|
+
"id": "00db518f-6bfc-51b9-b4f3-f3690621f134",
|
|
59854
|
+
"role": "assistant",
|
|
59855
|
+
"content": "example_chats.community_garden_volunteer_onboarding.message_2",
|
|
59856
|
+
"created_at": 1791554753,
|
|
59857
|
+
"user_message_id": "5652a8b0-8227-45ca-b851-0e820554730d",
|
|
59858
|
+
"category": "general_knowledge",
|
|
59859
|
+
"model_name": "Gemini 3.8 Flash"
|
|
59860
|
+
}
|
|
59861
|
+
],
|
|
59862
|
+
embeds: [
|
|
59863
|
+
{
|
|
59864
|
+
"embed_id": "f40fc42f-df5d-4116-bba3-3500b1805eb5",
|
|
59865
|
+
"type": "document",
|
|
59866
|
+
"content": `type: document
|
|
59867
|
+
app_id: docs
|
|
59868
|
+
skill_id: document
|
|
59869
|
+
status: finished
|
|
59870
|
+
title: Community Garden Volunteer Onboarding Guide
|
|
59871
|
+
filename: Volunteer_Onboarding_Guide.docx
|
|
59872
|
+
word_count: 82
|
|
59873
|
+
page_count: 1
|
|
59874
|
+
docx_model:
|
|
59875
|
+
title: Community Garden Volunteer Onboarding Guide
|
|
59876
|
+
filename: Volunteer_Onboarding_Guide.docx
|
|
59877
|
+
blocks[10]:
|
|
59878
|
+
- type: heading
|
|
59879
|
+
level: 1
|
|
59880
|
+
text: Community Garden Volunteer Guide
|
|
59881
|
+
- type: paragraph
|
|
59882
|
+
runs[1]{text,italic}:
|
|
59883
|
+
Welcome to our community garden! Thank you for sharing your time to help our green space grow.,true
|
|
59884
|
+
- type: heading
|
|
59885
|
+
level: 2
|
|
59886
|
+
text: 1. Arrival & Check-In
|
|
59887
|
+
- type: list
|
|
59888
|
+
ordered: false
|
|
59889
|
+
items[3]: "Head to [Check-In Location, e.g., Garden Shed / Info Kiosk].",Sign in on the attendance sheet and grab a volunteer name badge.,"Store your personal belongings in [Designated Storage Area]."
|
|
59890
|
+
- type: heading
|
|
59891
|
+
level: 2
|
|
59892
|
+
text: 2. First-Day Tasks
|
|
59893
|
+
- type: paragraph
|
|
59894
|
+
runs[1]{text}:
|
|
59895
|
+
"Check the whiteboard at [Shed Location] for the daily task roster. Common starter activities include weeding garden beds, watering seedlings, turning compost, or laying organic mulch. Pair up with a returning volunteer if it is your first time!"
|
|
59896
|
+
- type: heading
|
|
59897
|
+
level: 2
|
|
59898
|
+
text: 3. Safety & Tool Care
|
|
59899
|
+
- type: list
|
|
59900
|
+
ordered: false
|
|
59901
|
+
items[3]: "Wear sturdy, closed-toe shoes and garden gloves at all times.","Stay hydrated\u2014refill water bottles at [Potable Water Station].","Carry sharp tools pointed toward the ground; clean and return all gear to [Tool Rack]."
|
|
59902
|
+
- type: heading
|
|
59903
|
+
level: 2
|
|
59904
|
+
text: 4. Need Help?
|
|
59905
|
+
- type: paragraph
|
|
59906
|
+
runs[5]:
|
|
59907
|
+
- text: "Never hesitate to ask questions! Find today's lead coordinator, "
|
|
59908
|
+
- text: "[Coordinator Name]"
|
|
59909
|
+
bold: true
|
|
59910
|
+
- text: " (wearing [e.g., Bright Orange Vest]), or call "
|
|
59911
|
+
- text: "[Phone Number / Radio Channel]"
|
|
59912
|
+
bold: true
|
|
59913
|
+
- text: ". First aid is stocked at [First Aid Box Location]."`,
|
|
59914
|
+
"parent_embed_id": null,
|
|
59915
|
+
"embed_ids": null
|
|
59916
|
+
}
|
|
59917
|
+
],
|
|
59918
|
+
metadata: {
|
|
59919
|
+
featured: true,
|
|
59920
|
+
order: 132
|
|
59921
|
+
}
|
|
59922
|
+
};
|
|
59923
|
+
|
|
59924
|
+
// ../ui/src/demo_chats/data/example_chats/books-after-left-hand-of-darkness.ts
|
|
59925
|
+
var booksAfterLeftHandOfDarknessChat = {
|
|
59926
|
+
chat_id: "example-books-after-left-hand",
|
|
59927
|
+
slug: "books-after-left-hand-of-darkness",
|
|
59928
|
+
title: "example_chats.books_after_left_hand_of_darkness.title",
|
|
59929
|
+
summary: "example_chats.books_after_left_hand_of_darkness.summary",
|
|
59930
|
+
icon: "book-open",
|
|
59931
|
+
category: "general_knowledge",
|
|
59932
|
+
keywords: ["Left Hand of Darkness", "science fiction books", "Ursula Le Guin", "book recommendations"],
|
|
59933
|
+
follow_up_suggestions: ["example_chats.books_after_left_hand_of_darkness.follow_up_1", "example_chats.books_after_left_hand_of_darkness.follow_up_2", "example_chats.books_after_left_hand_of_darkness.follow_up_3", "example_chats.books_after_left_hand_of_darkness.follow_up_4", "example_chats.books_after_left_hand_of_darkness.follow_up_5", "example_chats.books_after_left_hand_of_darkness.follow_up_6"],
|
|
59934
|
+
messages: [
|
|
59935
|
+
{
|
|
59936
|
+
"id": "140c0902-e073-4110-b411-1342ead46f8d",
|
|
59937
|
+
"role": "user",
|
|
59938
|
+
"content": "example_chats.books_after_left_hand_of_darkness.message_1",
|
|
59939
|
+
"created_at": 1791554713
|
|
59940
|
+
},
|
|
59941
|
+
{
|
|
59942
|
+
"id": "b263ae73-e35a-4ca0-b3d5-2b8766014d91",
|
|
59943
|
+
"role": "assistant",
|
|
59944
|
+
"content": "example_chats.books_after_left_hand_of_darkness.message_2",
|
|
59945
|
+
"created_at": 1791554761,
|
|
59946
|
+
"user_message_id": "140c0902-e073-4110-b411-1342ead46f8d",
|
|
59947
|
+
"category": "general_knowledge",
|
|
59948
|
+
"model_name": "Gemini 3.8 Flash"
|
|
59949
|
+
}
|
|
59950
|
+
],
|
|
59951
|
+
embeds: [
|
|
59952
|
+
{
|
|
59953
|
+
"embed_id": "87e82e4a-3fba-475d-a77a-585630b39bec",
|
|
59954
|
+
"type": "focus-mode-activation",
|
|
59955
|
+
"content": "focus_id: books-book_discussion\napp_id: books\nskill_id: book_discussion\nfocus_mode_name: Book discussion\nstatus: finished",
|
|
59956
|
+
"parent_embed_id": null,
|
|
59957
|
+
"embed_ids": null
|
|
59958
|
+
}
|
|
59959
|
+
],
|
|
59960
|
+
metadata: {
|
|
59961
|
+
featured: true,
|
|
59962
|
+
order: 133,
|
|
59963
|
+
app_focus_mode_examples: ["books.book_discussion"],
|
|
59964
|
+
active_focus_id: "books-book_discussion"
|
|
59965
|
+
}
|
|
59966
|
+
};
|
|
59967
|
+
|
|
59968
|
+
// ../ui/src/demo_chats/data/example_chats/community-garden-calendar-invitation.ts
|
|
59969
|
+
var communityGardenCalendarInvitationChat = {
|
|
59970
|
+
chat_id: "example-community-garden-calendar-invitation",
|
|
59971
|
+
slug: "community-garden-calendar-invitation",
|
|
59972
|
+
title: "example_chats.community_garden_calendar_invitation.title",
|
|
59973
|
+
summary: "example_chats.community_garden_calendar_invitation.summary",
|
|
59974
|
+
icon: "calendar-days",
|
|
59975
|
+
category: "general_knowledge",
|
|
59976
|
+
keywords: ["calendar invitation", "iCalendar", "ICS event", "volunteer schedule", "community garden"],
|
|
59977
|
+
follow_up_suggestions: ["example_chats.community_garden_calendar_invitation.follow_up_1", "example_chats.community_garden_calendar_invitation.follow_up_2", "example_chats.community_garden_calendar_invitation.follow_up_3", "example_chats.community_garden_calendar_invitation.follow_up_4", "example_chats.community_garden_calendar_invitation.follow_up_5", "example_chats.community_garden_calendar_invitation.follow_up_6"],
|
|
59978
|
+
messages: [
|
|
59979
|
+
{
|
|
59980
|
+
"id": "f7f43467-588c-4213-86c6-3ede8723b296",
|
|
59981
|
+
"role": "user",
|
|
59982
|
+
"content": "example_chats.community_garden_calendar_invitation.message_1",
|
|
59983
|
+
"created_at": 1791557955
|
|
59984
|
+
},
|
|
59985
|
+
{
|
|
59986
|
+
"id": "af02afb0-5b7b-5e38-aa68-2c0311b71e6b",
|
|
59987
|
+
"role": "assistant",
|
|
59988
|
+
"content": "example_chats.community_garden_calendar_invitation.message_2",
|
|
59989
|
+
"created_at": 1791557956,
|
|
59990
|
+
"user_message_id": "f7f43467-588c-4213-86c6-3ede8723b296",
|
|
59991
|
+
"category": "science",
|
|
59992
|
+
"model_name": "Gemini 3.8 Flash"
|
|
59993
|
+
}
|
|
59994
|
+
],
|
|
59995
|
+
embeds: [
|
|
59996
|
+
{
|
|
59997
|
+
"embed_id": "6deff7cb-4e99-4dd3-9052-3985e09a9cc9",
|
|
59998
|
+
"type": "code",
|
|
59999
|
+
"content": 'type: code\napp_id: code\nskill_id: code\nlanguage: text\ncode: "BEGIN:VCALENDAR\\nVERSION:2.0\\nPRODID:-//OpenMates//Community Garden Planting Event//EN\\nCALSCALE:GREGORIAN\\nMETHOD:PUBLISH\\nBEGIN:VTIMEZONE\\nTZID:Europe/Berlin\\nLAST-MODIFIED:20261009T150000Z\\nTZURL:http://tzurl.org/zoneinfo-outlook/Europe/Berlin\\nBEGIN:DAYLIGHT\\nTZNAME:CEST\\nTZOFFSETFROM:+0100\\nTZOFFSETTO:+0200\\nDTSTART:19700329T020000\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\nEND:DAYLIGHT\\nBEGIN:STANDARD\\nTZNAME:CET\\nTZOFFSETFROM:+0200\\nTZOFFSETTO:+0100\\nDTSTART:19701025T030000\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\nEND:STANDARD\\nEND:VTIMEZONE\\nBEGIN:VEVENT\\nUID:garden-planting-20261017T100000@openmates.local\\nDTSTAMP:20261009T150000Z\\nDTSTART;TZID=Europe/Berlin:20261017T100000\\nDTEND;TZID=Europe/Berlin:20261017T120000\\nSUMMARY:Community Garden Volunteer Planting Session\\nLOCATION:Gartenweg 12\\\\, Berlin\\nDESCRIPTION:Welcome to our autumn planting session! Please bring gardening gloves and wear weather-appropriate clothing.\\\\n\\\\nAgenda:\\\\n- 10:00 - 10:15: Welcome\\\\, brief tour & tool distribution\\\\n- 10:15 - 11:30: Soil bed prep & perennial planting\\\\n- 11:30 - 11:50: Watering\\\\, mulch layer & cleanup\\\\n- 11:50 - 12:00: Wrap-up & shared tea\\nSTATUS:CONFIRMED\\nBEGIN:VALARM\\nACTION:DISPLAY\\nDESCRIPTION:Reminder: Community Garden Volunteer Planting Session starts in 24 hours!\\nTRIGGER:-P1D\\nEND:VALARM\\nEND:VEVENT\\nEND:VCALENDAR"\nfilename: community_garden_planting.ics\nembed_ref: community_garden_planting.ics-6deff7\nstatus: finished\nline_count: 40',
|
|
60000
|
+
"parent_embed_id": null,
|
|
60001
|
+
"embed_ids": null
|
|
60002
|
+
}
|
|
60003
|
+
],
|
|
60004
|
+
metadata: {
|
|
60005
|
+
featured: true,
|
|
60006
|
+
order: 134
|
|
60007
|
+
}
|
|
60008
|
+
};
|
|
60009
|
+
|
|
60010
|
+
// ../ui/src/demo_chats/data/example_chats/mastodon-public-post-themes.ts
|
|
60011
|
+
var mastodonPublicPostThemesChat = {
|
|
60012
|
+
chat_id: "example-mastodon-public-post-themes",
|
|
60013
|
+
slug: "mastodon-public-post-themes",
|
|
60014
|
+
title: "example_chats.mastodon_public_post_themes.title",
|
|
60015
|
+
summary: "example_chats.mastodon_public_post_themes.summary",
|
|
60016
|
+
icon: "messages-square",
|
|
60017
|
+
category: "general_knowledge",
|
|
60018
|
+
keywords: ["Mastodon", "social media", "fediverse", "public posts"],
|
|
60019
|
+
follow_up_suggestions: ["example_chats.mastodon_public_post_themes.follow_up_1", "example_chats.mastodon_public_post_themes.follow_up_2", "example_chats.mastodon_public_post_themes.follow_up_3", "example_chats.mastodon_public_post_themes.follow_up_4", "example_chats.mastodon_public_post_themes.follow_up_5", "example_chats.mastodon_public_post_themes.follow_up_6"],
|
|
60020
|
+
messages: [
|
|
60021
|
+
{
|
|
60022
|
+
"id": "cb44c7e3-ae4c-478f-96ae-0f3958d03c51",
|
|
60023
|
+
"role": "user",
|
|
60024
|
+
"content": "example_chats.mastodon_public_post_themes.message_1",
|
|
60025
|
+
"created_at": 1791554800
|
|
60026
|
+
},
|
|
60027
|
+
{
|
|
60028
|
+
"id": "49358c4b-fa5d-5a8b-b729-fd526545d337",
|
|
60029
|
+
"role": "assistant",
|
|
60030
|
+
"content": "example_chats.mastodon_public_post_themes.message_2",
|
|
60031
|
+
"created_at": 1791554845,
|
|
60032
|
+
"user_message_id": "cb44c7e3-ae4c-478f-96ae-0f3958d03c51",
|
|
60033
|
+
"category": "general_knowledge",
|
|
60034
|
+
"model_name": "Gemini 3.8 Flash"
|
|
60035
|
+
},
|
|
60036
|
+
{
|
|
60037
|
+
"id": "7a419687-a63b-4ad4-91a6-eeb19a69386c",
|
|
60038
|
+
"role": "user",
|
|
60039
|
+
"content": "example_chats.mastodon_public_post_themes.message_3",
|
|
60040
|
+
"created_at": 1791557996
|
|
60041
|
+
},
|
|
60042
|
+
{
|
|
60043
|
+
"id": "eebcfebc-3c94-5a88-b531-c0da57205a5d",
|
|
60044
|
+
"role": "assistant",
|
|
60045
|
+
"content": "example_chats.mastodon_public_post_themes.message_4",
|
|
60046
|
+
"created_at": 1791557997,
|
|
60047
|
+
"user_message_id": "7a419687-a63b-4ad4-91a6-eeb19a69386c",
|
|
60048
|
+
"category": "general_knowledge",
|
|
60049
|
+
"model_name": "Gemini 3.8 Flash"
|
|
60050
|
+
}
|
|
60051
|
+
],
|
|
60052
|
+
embeds: [
|
|
60053
|
+
{
|
|
60054
|
+
"embed_id": "12893426-0cd4-5bb4-a622-0593f81f98c3",
|
|
60055
|
+
"type": "social_post",
|
|
60056
|
+
"content": `id: "117015376093145300"
|
|
60057
|
+
platform: mastodon
|
|
60058
|
+
page: Mastodon@mastodon.social
|
|
60059
|
+
title: "@Mastodon: @sushubh Apologies! They should be working now, let us know if you still can't a"
|
|
60060
|
+
body: "@sushubh Apologies! They should be working now, let us know if you still can't access them"
|
|
60061
|
+
author: Mastodon
|
|
60062
|
+
author_display_name: Mastodon
|
|
60063
|
+
author_avatar_url: "https://files.mastodon.social/accounts/avatars/000/013/179/original/b4ceb19c9c54ec7e.png"
|
|
60064
|
+
url: "https://mastodon.social/@Mastodon/117015376093145300"
|
|
60065
|
+
published_at: "2026-07-31T15:49:00.878Z"
|
|
60066
|
+
reply_count: 0
|
|
60067
|
+
repost_count: 1
|
|
60068
|
+
like_count: 2
|
|
60069
|
+
media_url: null
|
|
60070
|
+
thumbnail_url: null
|
|
60071
|
+
external_url: null
|
|
60072
|
+
external_title: null
|
|
60073
|
+
comments: []
|
|
60074
|
+
fetched_comment_count: 0
|
|
60075
|
+
provider: Mastodon
|
|
60076
|
+
embed_ref: mastodon-sushubh-apologies-3uP
|
|
60077
|
+
app_id: social_media
|
|
60078
|
+
skill_id: get-posts`,
|
|
60079
|
+
"parent_embed_id": "65b92905-0838-46dd-8fff-8e28cdc8789a",
|
|
60080
|
+
"embed_ids": null
|
|
60081
|
+
},
|
|
60082
|
+
{
|
|
60083
|
+
"embed_id": "195bf9c6-15c0-52c9-8bf7-6b1bef1fa481",
|
|
60084
|
+
"type": "social_post",
|
|
60085
|
+
"content": `id: "117004738413167978"
|
|
60086
|
+
platform: mastodon
|
|
60087
|
+
page: Mastodon@mastodon.social
|
|
60088
|
+
title: "@Mastodon: RE: https://mastodon.iftas.org/@iftas/116999079831534200 Have you taken the @ift"
|
|
60089
|
+
body: "RE: https://mastodon.iftas.org/@iftas/116999079831534200\\nHave you taken the @iftas Social Web Operations Survey yet? \u{1F9D0} There's only one day left!\\n#Fediverse #socialWeb #MastoAdmin"
|
|
60090
|
+
author: Mastodon
|
|
60091
|
+
author_display_name: Mastodon
|
|
60092
|
+
author_avatar_url: "https://files.mastodon.social/accounts/avatars/000/013/179/original/b4ceb19c9c54ec7e.png"
|
|
60093
|
+
url: "https://mastodon.social/@Mastodon/117004738413167978"
|
|
60094
|
+
published_at: "2026-07-29T18:43:42.766Z"
|
|
60095
|
+
reply_count: 1
|
|
60096
|
+
repost_count: 65
|
|
60097
|
+
like_count: 69
|
|
60098
|
+
media_url: null
|
|
60099
|
+
thumbnail_url: null
|
|
60100
|
+
external_url: null
|
|
60101
|
+
external_title: null
|
|
60102
|
+
comments: []
|
|
60103
|
+
fetched_comment_count: 0
|
|
60104
|
+
provider: Mastodon
|
|
60105
|
+
embed_ref: mastodon-re-https-QvQ
|
|
60106
|
+
app_id: social_media
|
|
60107
|
+
skill_id: get-posts`,
|
|
60108
|
+
"parent_embed_id": "65b92905-0838-46dd-8fff-8e28cdc8789a",
|
|
60109
|
+
"embed_ids": null
|
|
60110
|
+
},
|
|
60111
|
+
{
|
|
60112
|
+
"embed_id": "65b92905-0838-46dd-8fff-8e28cdc8789a",
|
|
60113
|
+
"type": "app_skill_use",
|
|
60114
|
+
"content": `app_id: social_media
|
|
60115
|
+
skill_id: get-posts
|
|
60116
|
+
result_count: 10
|
|
60117
|
+
embed_ids: 5254ba5b-a1a0-5533-988c-86e3fd93abcb|272de707-83b6-59ec-8599-6086c8ca9177|3eb9cfe0-5841-5a77-a83d-9a8c6061f988|afe55c27-f2e1-5a67-a34c-aad66cb83a98|0ce6c50a-7987-50b4-a7e5-8c9eab1de682|6324d9bd-968b-57d8-bc97-623379ccf484|de3dce6a-4f62-5a40-bd2a-d9668f13e917|68a61288-fba2-5213-b7ec-30ad764767f2|12893426-0cd4-5bb4-a622-0593f81f98c3|195bf9c6-15c0-52c9-8bf7-6b1bef1fa481
|
|
60118
|
+
status: finished
|
|
60119
|
+
platform: mastodon
|
|
60120
|
+
limit: 10
|
|
60121
|
+
comments_limit: 3
|
|
60122
|
+
include_comments: false
|
|
60123
|
+
page: Mastodon@mastodon.social
|
|
60124
|
+
query: "mastodon: Mastodon@mastodon.social"
|
|
60125
|
+
provider: Mastodon
|
|
60126
|
+
request_count: 2
|
|
60127
|
+
elapsed_seconds: 0.44
|
|
60128
|
+
preview_results[6]{title,url,provider}:
|
|
60129
|
+
"@Mastodon: New #Plushtodon colours now available for pre-orders on our shop! This is a way","https://mastodon.social/@Mastodon/117411420916699261",Mastodon
|
|
60130
|
+
"@Mastodon: Hannah Aubry is leaving Mastodon after her time with us as community director an","https://mastodon.social/@Mastodon/117156549508722805",Mastodon
|
|
60131
|
+
"@Mastodon: After publishing the results of Discovery Week, we can now give you a first snea","https://mastodon.social/@Mastodon/117117221397911074",Mastodon
|
|
60132
|
+
"@Mastodon: Here is a #FeaturedServer for \u{1F30E} Earth, \u{1F98E} Earthlings, and their \u2696 Advocates... h","https://mastodon.social/@Mastodon/117093587981367953",Mastodon
|
|
60133
|
+
"@Mastodon: Our Community Director @haubles provided a \\"plain English\\" version too: https://","https://mastodon.social/@Mastodon/117083694767249113",Mastodon
|
|
60134
|
+
"@Mastodon: Today we're sharing additional guidelines about our Trade Mark Policy based on c","https://mastodon.social/@Mastodon/117083691112770390",Mastodon`,
|
|
60135
|
+
"parent_embed_id": null,
|
|
60136
|
+
"embed_ids": [
|
|
60137
|
+
"5254ba5b-a1a0-5533-988c-86e3fd93abcb",
|
|
60138
|
+
"272de707-83b6-59ec-8599-6086c8ca9177",
|
|
60139
|
+
"3eb9cfe0-5841-5a77-a83d-9a8c6061f988",
|
|
60140
|
+
"afe55c27-f2e1-5a67-a34c-aad66cb83a98",
|
|
60141
|
+
"0ce6c50a-7987-50b4-a7e5-8c9eab1de682",
|
|
60142
|
+
"6324d9bd-968b-57d8-bc97-623379ccf484",
|
|
60143
|
+
"de3dce6a-4f62-5a40-bd2a-d9668f13e917",
|
|
60144
|
+
"68a61288-fba2-5213-b7ec-30ad764767f2",
|
|
60145
|
+
"12893426-0cd4-5bb4-a622-0593f81f98c3",
|
|
60146
|
+
"195bf9c6-15c0-52c9-8bf7-6b1bef1fa481"
|
|
60147
|
+
]
|
|
60148
|
+
},
|
|
60149
|
+
{
|
|
60150
|
+
"embed_id": "0ce6c50a-7987-50b4-a7e5-8c9eab1de682",
|
|
60151
|
+
"type": "social_post",
|
|
60152
|
+
"content": 'id: "117083694767249113"\nplatform: mastodon\npage: Mastodon@mastodon.social\ntitle: "@Mastodon: Our Community Director @haubles provided a \\"plain English\\" version too: https://"\nbody: "Our Community Director @haubles provided a \\"plain English\\" version too:\\nhttps://hachyderm.io/@haubles/117083650941891878"\nauthor: Mastodon\nauthor_display_name: Mastodon\nauthor_avatar_url: "https://files.mastodon.social/accounts/avatars/000/013/179/original/b4ceb19c9c54ec7e.png"\nurl: "https://mastodon.social/@Mastodon/117083694767249113"\npublished_at: "2026-08-12T17:23:21.125Z"\nreply_count: 0\nrepost_count: 27\nlike_count: 70\nmedia_url: null\nthumbnail_url: null\nexternal_url: null\nexternal_title: null\ncomments: []\nfetched_comment_count: 0\nprovider: Mastodon\nembed_ref: mastodon-our-community-iJA\napp_id: social_media\nskill_id: get-posts',
|
|
60153
|
+
"parent_embed_id": "65b92905-0838-46dd-8fff-8e28cdc8789a",
|
|
60154
|
+
"embed_ids": null
|
|
60155
|
+
},
|
|
60156
|
+
{
|
|
60157
|
+
"embed_id": "de3dce6a-4f62-5a40-bd2a-d9668f13e917",
|
|
60158
|
+
"type": "social_post",
|
|
60159
|
+
"content": `id: "117043346514398510"
|
|
60160
|
+
platform: mastodon
|
|
60161
|
+
page: Mastodon@mastodon.social
|
|
60162
|
+
title: "@Mastodon: We're excited to share the results from Mastodon's first #DiscoveryWeek! In case"
|
|
60163
|
+
body: "We're excited to share the results from Mastodon's first #DiscoveryWeek!\\nIn case you missed it, earlier this year our Head of Design @imanijoy arranged a week of workshops and surveys to get to know you, learn about your needs and wants, and discover how you're using (and want to use) Mastodon.\\nThis week was tremendously helpful for us, and we're grateful to everyone who participated.\\nHere's what we learned:\\nhttps://blog.joinmastodon.org/2026/08/discovery-week-2026-what-we-learned-and-what-were-doing-next/\\n#Mastodon #Fediverse #SocialWeb #OpenSocial"
|
|
60164
|
+
author: Mastodon
|
|
60165
|
+
author_display_name: Mastodon
|
|
60166
|
+
author_avatar_url: "https://files.mastodon.social/accounts/avatars/000/013/179/original/b4ceb19c9c54ec7e.png"
|
|
60167
|
+
url: "https://mastodon.social/@Mastodon/117043346514398510"
|
|
60168
|
+
published_at: "2026-08-05T14:22:15.639Z"
|
|
60169
|
+
reply_count: 12
|
|
60170
|
+
repost_count: 159
|
|
60171
|
+
like_count: 226
|
|
60172
|
+
media_url: null
|
|
60173
|
+
thumbnail_url: null
|
|
60174
|
+
external_url: "https://blog.joinmastodon.org/2026/08/discovery-week-2026-what-we-learned-and-what-were-doing-next/"
|
|
60175
|
+
external_title: "Discovery Week 2026: What we learned, and what we\u2019re doing next"
|
|
60176
|
+
comments: []
|
|
60177
|
+
fetched_comment_count: 0
|
|
60178
|
+
provider: Mastodon
|
|
60179
|
+
embed_ref: mastodon-we-re-Abz
|
|
60180
|
+
app_id: social_media
|
|
60181
|
+
skill_id: get-posts`,
|
|
60182
|
+
"parent_embed_id": "65b92905-0838-46dd-8fff-8e28cdc8789a",
|
|
60183
|
+
"embed_ids": null
|
|
60184
|
+
},
|
|
60185
|
+
{
|
|
60186
|
+
"embed_id": "68a61288-fba2-5213-b7ec-30ad764767f2",
|
|
60187
|
+
"type": "social_post",
|
|
60188
|
+
"content": `id: "117015608750780726"
|
|
60189
|
+
platform: mastodon
|
|
60190
|
+
page: Mastodon@mastodon.social
|
|
60191
|
+
title: "@Mastodon: @TheRealPomax Great suggestion, thank you! We're putting that line in bold text"
|
|
60192
|
+
body: "@TheRealPomax Great suggestion, thank you! We're putting that line in bold text now, and if you haven't already, you should receive an email with more details and a link to the new terms soon."
|
|
60193
|
+
author: Mastodon
|
|
60194
|
+
author_display_name: Mastodon
|
|
60195
|
+
author_avatar_url: "https://files.mastodon.social/accounts/avatars/000/013/179/original/b4ceb19c9c54ec7e.png"
|
|
60196
|
+
url: "https://mastodon.social/@Mastodon/117015608750780726"
|
|
60197
|
+
published_at: "2026-07-31T16:48:10.955Z"
|
|
60198
|
+
reply_count: 1
|
|
60199
|
+
repost_count: 1
|
|
60200
|
+
like_count: 2
|
|
60201
|
+
media_url: null
|
|
60202
|
+
thumbnail_url: null
|
|
60203
|
+
external_url: null
|
|
60204
|
+
external_title: null
|
|
60205
|
+
comments: []
|
|
60206
|
+
fetched_comment_count: 0
|
|
60207
|
+
provider: Mastodon
|
|
60208
|
+
embed_ref: mastodon-therealpomax-great-GY6
|
|
60209
|
+
app_id: social_media
|
|
60210
|
+
skill_id: get-posts`,
|
|
60211
|
+
"parent_embed_id": "65b92905-0838-46dd-8fff-8e28cdc8789a",
|
|
60212
|
+
"embed_ids": null
|
|
60213
|
+
},
|
|
60214
|
+
{
|
|
60215
|
+
"embed_id": "6324d9bd-968b-57d8-bc97-623379ccf484",
|
|
60216
|
+
"type": "social_post",
|
|
60217
|
+
"content": `id: "117083691112770390"
|
|
60218
|
+
platform: mastodon
|
|
60219
|
+
page: Mastodon@mastodon.social
|
|
60220
|
+
title: "@Mastodon: Today we're sharing additional guidelines about our Trade Mark Policy based on c"
|
|
60221
|
+
body: "Today we're sharing additional guidelines about our Trade Mark Policy based on community feedback that we received.\\nThe new guidelines, and more background about these changes, are available on our blog:\\nhttps://blog.joinmastodon.org/2026/08/sharing-guidelines-about-mastodons-trade-mark-policy/\\n#Mastodon #Fediverse #SocialWeb #FediDev #MastoDev #FediAdmin #MastoAdmin"
|
|
60222
|
+
author: Mastodon
|
|
60223
|
+
author_display_name: Mastodon
|
|
60224
|
+
author_avatar_url: "https://files.mastodon.social/accounts/avatars/000/013/179/original/b4ceb19c9c54ec7e.png"
|
|
60225
|
+
url: "https://mastodon.social/@Mastodon/117083691112770390"
|
|
60226
|
+
published_at: "2026-08-12T17:22:25.361Z"
|
|
60227
|
+
reply_count: 21
|
|
60228
|
+
repost_count: 85
|
|
60229
|
+
like_count: 110
|
|
60230
|
+
media_url: null
|
|
60231
|
+
thumbnail_url: null
|
|
60232
|
+
external_url: "https://blog.joinmastodon.org/2026/08/sharing-guidelines-about-mastodons-trade-mark-policy/"
|
|
60233
|
+
external_title: Sharing Guidelines about Mastodon\u2019s Trade Mark Policy
|
|
60234
|
+
comments: []
|
|
60235
|
+
fetched_comment_count: 0
|
|
60236
|
+
provider: Mastodon
|
|
60237
|
+
embed_ref: mastodon-today-we-YqD
|
|
60238
|
+
app_id: social_media
|
|
60239
|
+
skill_id: get-posts`,
|
|
60240
|
+
"parent_embed_id": "65b92905-0838-46dd-8fff-8e28cdc8789a",
|
|
60241
|
+
"embed_ids": null
|
|
60242
|
+
},
|
|
60243
|
+
{
|
|
60244
|
+
"embed_id": "272de707-83b6-59ec-8599-6086c8ca9177",
|
|
60245
|
+
"type": "social_post",
|
|
60246
|
+
"content": 'id: "117156549508722805"\nplatform: mastodon\npage: Mastodon@mastodon.social\ntitle: "@Mastodon: Hannah Aubry is leaving Mastodon after her time with us as community director an"\nbody: "Hannah Aubry is leaving Mastodon after her time with us as community director and board member. We\u2019re very grateful for her contributions, ideas, and commitment to Mastodon and the fediverse. Thank you, Hannah! We wish you all the very best for what comes next."\nauthor: Mastodon\nauthor_display_name: Mastodon\nauthor_avatar_url: "https://files.mastodon.social/accounts/avatars/000/013/179/original/b4ceb19c9c54ec7e.png"\nurl: "https://mastodon.social/@Mastodon/117156549508722805"\npublished_at: "2026-08-25T14:11:16.256Z"\nreply_count: 18\nrepost_count: 106\nlike_count: 466\nmedia_url: null\nthumbnail_url: null\nexternal_url: null\nexternal_title: null\ncomments: []\nfetched_comment_count: 0\nprovider: Mastodon\nembed_ref: mastodon-hannah-aubry-G33\napp_id: social_media\nskill_id: get-posts',
|
|
60247
|
+
"parent_embed_id": "65b92905-0838-46dd-8fff-8e28cdc8789a",
|
|
60248
|
+
"embed_ids": null
|
|
60249
|
+
},
|
|
60250
|
+
{
|
|
60251
|
+
"embed_id": "afe55c27-f2e1-5a67-a34c-aad66cb83a98",
|
|
60252
|
+
"type": "social_post",
|
|
60253
|
+
"content": 'id: "117093587981367953"\nplatform: mastodon\npage: Mastodon@mastodon.social\ntitle: "@Mastodon: Here is a #FeaturedServer for \u{1F30E} Earth, \u{1F98E} Earthlings, and their \u2696 Advocates... h"\nbody: "Here is a #FeaturedServer for \u{1F30E} Earth, \u{1F98E} Earthlings, and their \u2696 Advocates...\\nhttps://earth.law/about\\nEarth.Law is for:\\n\u{1F4DC} Environmental lawyers & policy-makers\\n\u{1F98B} Conservationists & ecologists\\n\u{1F52C} Scientists in related fields\\n\u{1F4DA} Educators and students of environmental studies\\n\u{1F3A4} Activists & advocates\\n\u267B Hosted on a dedicated server in \u{1F1EB}\u{1F1EE} Helsinki and recognised by the Green Web Foundation for using renewable energy.\\n#CommunitySpotlight #Fediverse #Mastodon #SocialWeb"\nauthor: Mastodon\nauthor_display_name: Mastodon\nauthor_avatar_url: "https://files.mastodon.social/accounts/avatars/000/013/179/original/b4ceb19c9c54ec7e.png"\nurl: "https://mastodon.social/@Mastodon/117093587981367953"\npublished_at: "2026-08-14T11:19:19.586Z"\nreply_count: 3\nrepost_count: 84\nlike_count: 151\nmedia_url: null\nthumbnail_url: null\nexternal_url: "https://earth.law/about"\nexternal_title: Earth.Law\ncomments: []\nfetched_comment_count: 0\nprovider: Mastodon\nembed_ref: mastodon-here-is-dZE\napp_id: social_media\nskill_id: get-posts',
|
|
60254
|
+
"parent_embed_id": "65b92905-0838-46dd-8fff-8e28cdc8789a",
|
|
60255
|
+
"embed_ids": null
|
|
60256
|
+
},
|
|
60257
|
+
{
|
|
60258
|
+
"embed_id": "3eb9cfe0-5841-5a77-a83d-9a8c6061f988",
|
|
60259
|
+
"type": "social_post",
|
|
60260
|
+
"content": 'id: "117117221397911074"\nplatform: mastodon\npage: Mastodon@mastodon.social\ntitle: "@Mastodon: After publishing the results of Discovery Week, we can now give you a first snea"\nbody: "After publishing the results of Discovery Week, we can now give you a first sneak peak at Mastodon 5.0, our next big version. It will bring a new visual look to your screens, a refreshed and calmer layout, as well as a new composer.\\nhttps://blog.joinmastodon.org/2026/08/5.0-laying-the-foundation/\\n#mastodon #mastodon5.0"\nauthor: Mastodon\nauthor_display_name: Mastodon\nauthor_avatar_url: "https://files.mastodon.social/accounts/avatars/000/013/179/original/b4ceb19c9c54ec7e.png"\nurl: "https://mastodon.social/@Mastodon/117117221397911074"\npublished_at: "2026-08-18T15:29:36.902Z"\nreply_count: 134\nrepost_count: 574\nlike_count: 961\nmedia_url: null\nthumbnail_url: null\nexternal_url: "https://blog.joinmastodon.org/2026/08/5.0-laying-the-foundation/"\nexternal_title: "5.0: Laying the foundation"\ncomments: []\nfetched_comment_count: 0\nprovider: Mastodon\nembed_ref: mastodon-after-publishing-D8d\napp_id: social_media\nskill_id: get-posts',
|
|
60261
|
+
"parent_embed_id": "65b92905-0838-46dd-8fff-8e28cdc8789a",
|
|
60262
|
+
"embed_ids": null
|
|
60263
|
+
},
|
|
60264
|
+
{
|
|
60265
|
+
"embed_id": "5254ba5b-a1a0-5533-988c-86e3fd93abcb",
|
|
60266
|
+
"type": "social_post",
|
|
60267
|
+
"content": 'id: "117411420916699261"\nplatform: mastodon\npage: Mastodon@mastodon.social\ntitle: "@Mastodon: New #Plushtodon colours now available for pre-orders on our shop! This is a way"\nbody: "New #Plushtodon colours now available for pre-orders on our shop! This is a way to support our work and get a squishy friend at the same time.\\nhttps://blog.joinmastodon.org/2026/10/plushtodon-pre-orders-now-open/\\n#Merchtodon"\nauthor: Mastodon\nauthor_display_name: Mastodon\nauthor_avatar_url: "https://files.mastodon.social/accounts/avatars/000/013/179/original/b4ceb19c9c54ec7e.png"\nurl: "https://mastodon.social/@Mastodon/117411420916699261"\npublished_at: "2026-10-09T14:28:25.298Z"\nreply_count: 2\nrepost_count: 31\nlike_count: 24\nmedia_url: null\nthumbnail_url: null\nexternal_url: "https://blog.joinmastodon.org/2026/10/plushtodon-pre-orders-now-open/"\nexternal_title: Plushtodon pre-orders now open\ncomments: []\nfetched_comment_count: 0\nprovider: Mastodon\nembed_ref: mastodon-new-plushtodon-A57\napp_id: social_media\nskill_id: get-posts',
|
|
60268
|
+
"parent_embed_id": "65b92905-0838-46dd-8fff-8e28cdc8789a",
|
|
60269
|
+
"embed_ids": null
|
|
60270
|
+
},
|
|
60271
|
+
{
|
|
60272
|
+
"embed_id": "00a149ea-1c69-5adb-877b-e0d2bd483e94",
|
|
60273
|
+
"type": "social_post",
|
|
60274
|
+
"content": `id: "116967892835165166"
|
|
60275
|
+
platform: mastodon
|
|
60276
|
+
page: Mastodon@mastodon.social
|
|
60277
|
+
title: "@Mastodon: It's time for our first Server Spotlight! We want to help people find their comm"
|
|
60278
|
+
body: "It's time for our first Server Spotlight!\\nWe want to help people find their communities across the #fediverse so we're featuring servers here on this account.\\nFirst up: The Mended Drum, a home for fans of all things Sir Terry Pratchett.\\nIt is said that if you stay on The Mended Drum long enough, you'll meet every hero on the server: https://mendeddrum.org/directory\\n(keep an eye on your horse, though \u{1F609})\\n#FeaturedServer #CommunitySpotlight #Mastodon #SocialWeb #GNUTerryPratchett"
|
|
60279
|
+
author: Mastodon
|
|
60280
|
+
author_display_name: Mastodon
|
|
60281
|
+
author_avatar_url: "https://files.mastodon.social/accounts/avatars/000/013/179/original/b4ceb19c9c54ec7e.png"
|
|
60282
|
+
url: "https://mastodon.social/@Mastodon/116967892835165166"
|
|
60283
|
+
published_at: "2026-07-23T06:33:23.881Z"
|
|
60284
|
+
reply_count: 6
|
|
60285
|
+
repost_count: 135
|
|
60286
|
+
like_count: 224
|
|
60287
|
+
media_url: null
|
|
60288
|
+
thumbnail_url: null
|
|
60289
|
+
external_url: "https://mendeddrum.org/directory"
|
|
60290
|
+
external_title: The Mended Drum
|
|
60291
|
+
comments[5]{id,author,author_display_name,body,url,published_at,like_count,reply_count,repost_count}:
|
|
60292
|
+
"116968031737433394",wjmaggos@liberal.city,william \u2042 maggos,"@Mastodon\\nI don't get thinking of servers as a community, except to the degree something like the fans of a podcast start a server to talk to each other AND figure out the fedi. but communities are insular and that's the opposite of interoperability. and everybody will soon have friends off server that they feel like are part of their community.\\na server shares mod policy. in order to avoid centralization, when no other sensible division makes sense, let's separate servers by locality.","https://liberal.city/@wjmaggos/116968031703510314","2026-07-23T07:08:42.000Z",4,3,1
|
|
60293
|
+
"116968511717198649",feyter@mastodon.gamedev.place,Feyter,"@wjmaggos @Mastodon in fact moderation by topic makes sense, because local law of the district the server is located is one thing... But there are also social norms and behavior in a community that only members of that community can really understand. It's more about culture than about locality.\\nHowever, the fediverse has become so interconnected, that this gets very blurry.","https://mastodon.gamedev.place/@feyter/116968511685664959","2026-07-23T09:10:46.000Z",1,0,0
|
|
60294
|
+
"116969217752337043",Tho99@mendeddrum.org,"Thomas =:-)","@wjmaggos\\nQuite a few old timers from alt.fan.pratchett and various cons & meets make the drum their home.\\nSimplifies quite a few things.","https://mendeddrum.org/@Tho99/116969217656856589","2026-07-23T12:10:19.000Z",6,1,0
|
|
60295
|
+
"116969610251697436",wjmaggos@liberal.city,william \u2042 maggos,"@Tho99\\nthat's very cool but they could instead form a more closed group using lots of other tools, like #matrix. still uses FOSS decentralized tech.\\nusing fedi for this brings up two problems imo.\\nfew people are part of one community. so you'd have to choose or have multiple personal accounts, something we're kinda trying to avoid.\\na norm of loose moderation on fedi is good for attention/growth (what many news fans want here), but bad for tight communities. getting that wrong hurts both.","https://liberal.city/@wjmaggos/116969610165938479","2026-07-23T13:50:08.000Z",0,1,1
|
|
60296
|
+
"116969833093814576",Tho99@mendeddrum.org,"Thomas =:-)","@wjmaggos we could have, but didn\u2019t","https://mendeddrum.org/@Tho99/116969833003554880","2026-07-23T14:46:48.000Z",3,0,0
|
|
60297
|
+
fetched_comment_count: 5
|
|
60298
|
+
provider: Mastodon
|
|
60299
|
+
embed_ref: mastodon-it-s-ePc
|
|
60300
|
+
app_id: social_media
|
|
60301
|
+
skill_id: get-posts`,
|
|
60302
|
+
"parent_embed_id": "33ebec48-4730-4b4b-b7d7-f967173ac9b6",
|
|
60303
|
+
"embed_ids": null
|
|
60304
|
+
},
|
|
60305
|
+
{
|
|
60306
|
+
"embed_id": "33ebec48-4730-4b4b-b7d7-f967173ac9b6",
|
|
60307
|
+
"type": "app_skill_use",
|
|
60308
|
+
"content": `app_id: social_media
|
|
60309
|
+
skill_id: get-posts
|
|
60310
|
+
result_count: 10
|
|
60311
|
+
embed_ids: 1bbc2a8a-6e5d-5628-84f4-43eb854ca3b6|bcd88a73-104b-567d-83ea-8cdea09211d1|db2bb282-6b2c-5716-ac34-341281bfb124|83bdd520-3f8a-534c-85b4-6ed4fa124652|d1e1bf63-ca7e-5d1c-b616-0fa4c6f65d29|f254e840-ba8a-5fe5-8745-61fcf64be857|2fdc6a2e-0150-5a9b-86ab-82fec6c803e1|15f5cdc0-339c-5180-8a54-78c322b51e97|fd043ca3-f171-5271-9d1f-37b90467f626|00a149ea-1c69-5adb-877b-e0d2bd483e94
|
|
60312
|
+
status: finished
|
|
60313
|
+
page: Mastodon@mastodon.social
|
|
60314
|
+
limit: 10
|
|
60315
|
+
platform: mastodon
|
|
60316
|
+
query: "mastodon: Mastodon@mastodon.social"
|
|
60317
|
+
provider: Mastodon
|
|
60318
|
+
request_count: 12
|
|
60319
|
+
elapsed_seconds: 8.75
|
|
60320
|
+
preview_results[6]{title,url,provider}:
|
|
60321
|
+
"@Mastodon: Hannah Aubry is leaving Mastodon after her time with us as community director an","https://mastodon.social/@Mastodon/117156549508722805",Mastodon
|
|
60322
|
+
"@Mastodon: After publishing the results of Discovery Week, we can now give you a first snea","https://mastodon.social/@Mastodon/117117221397911074",Mastodon
|
|
60323
|
+
"@Mastodon: Here is a #FeaturedServer for \u{1F30E} Earth, \u{1F98E} Earthlings, and their \u2696 Advocates... h","https://mastodon.social/@Mastodon/117093587981367953",Mastodon
|
|
60324
|
+
"@Mastodon: Our Community Director @haubles provided a \\"plain English\\" version too: https://","https://mastodon.social/@Mastodon/117083694767249113",Mastodon
|
|
60325
|
+
"@Mastodon: Today we're sharing additional guidelines about our Trade Mark Policy based on c","https://mastodon.social/@Mastodon/117083691112770390",Mastodon
|
|
60326
|
+
"@Mastodon: We're excited to share the results from Mastodon's first #DiscoveryWeek! In case","https://mastodon.social/@Mastodon/117043346514398510",Mastodon`,
|
|
60327
|
+
"parent_embed_id": null,
|
|
60328
|
+
"embed_ids": [
|
|
60329
|
+
"1bbc2a8a-6e5d-5628-84f4-43eb854ca3b6",
|
|
60330
|
+
"bcd88a73-104b-567d-83ea-8cdea09211d1",
|
|
60331
|
+
"db2bb282-6b2c-5716-ac34-341281bfb124",
|
|
60332
|
+
"83bdd520-3f8a-534c-85b4-6ed4fa124652",
|
|
60333
|
+
"d1e1bf63-ca7e-5d1c-b616-0fa4c6f65d29",
|
|
60334
|
+
"f254e840-ba8a-5fe5-8745-61fcf64be857",
|
|
60335
|
+
"2fdc6a2e-0150-5a9b-86ab-82fec6c803e1",
|
|
60336
|
+
"15f5cdc0-339c-5180-8a54-78c322b51e97",
|
|
60337
|
+
"fd043ca3-f171-5271-9d1f-37b90467f626",
|
|
60338
|
+
"00a149ea-1c69-5adb-877b-e0d2bd483e94"
|
|
60339
|
+
]
|
|
60340
|
+
},
|
|
60341
|
+
{
|
|
60342
|
+
"embed_id": "15f5cdc0-339c-5180-8a54-78c322b51e97",
|
|
60343
|
+
"type": "social_post",
|
|
60344
|
+
"content": `id: "117015376093145300"
|
|
60345
|
+
platform: mastodon
|
|
60346
|
+
page: Mastodon@mastodon.social
|
|
60347
|
+
title: "@Mastodon: @sushubh Apologies! They should be working now, let us know if you still can't a"
|
|
60348
|
+
body: "@sushubh Apologies! They should be working now, let us know if you still can't access them"
|
|
60349
|
+
author: Mastodon
|
|
60350
|
+
author_display_name: Mastodon
|
|
60351
|
+
author_avatar_url: "https://files.mastodon.social/accounts/avatars/000/013/179/original/b4ceb19c9c54ec7e.png"
|
|
60352
|
+
url: "https://mastodon.social/@Mastodon/117015376093145300"
|
|
60353
|
+
published_at: "2026-07-31T15:49:00.878Z"
|
|
60354
|
+
reply_count: 0
|
|
60355
|
+
repost_count: 1
|
|
60356
|
+
like_count: 2
|
|
60357
|
+
media_url: null
|
|
60358
|
+
thumbnail_url: null
|
|
60359
|
+
external_url: null
|
|
60360
|
+
external_title: null
|
|
60361
|
+
comments: []
|
|
60362
|
+
fetched_comment_count: 0
|
|
60363
|
+
provider: Mastodon
|
|
60364
|
+
embed_ref: mastodon-sushubh-apologies-YkQ
|
|
60365
|
+
app_id: social_media
|
|
60366
|
+
skill_id: get-posts`,
|
|
60367
|
+
"parent_embed_id": "33ebec48-4730-4b4b-b7d7-f967173ac9b6",
|
|
60368
|
+
"embed_ids": null
|
|
60369
|
+
},
|
|
60370
|
+
{
|
|
60371
|
+
"embed_id": "fd043ca3-f171-5271-9d1f-37b90467f626",
|
|
60372
|
+
"type": "social_post",
|
|
60373
|
+
"content": `id: "117004738413167978"
|
|
60374
|
+
platform: mastodon
|
|
60375
|
+
page: Mastodon@mastodon.social
|
|
60376
|
+
title: "@Mastodon: RE: https://mastodon.iftas.org/@iftas/116999079831534200 Have you taken the @ift"
|
|
60377
|
+
body: "RE: https://mastodon.iftas.org/@iftas/116999079831534200\\nHave you taken the @iftas Social Web Operations Survey yet? \u{1F9D0} There's only one day left!\\n#Fediverse #socialWeb #MastoAdmin"
|
|
60378
|
+
author: Mastodon
|
|
60379
|
+
author_display_name: Mastodon
|
|
60380
|
+
author_avatar_url: "https://files.mastodon.social/accounts/avatars/000/013/179/original/b4ceb19c9c54ec7e.png"
|
|
60381
|
+
url: "https://mastodon.social/@Mastodon/117004738413167978"
|
|
60382
|
+
published_at: "2026-07-29T18:43:42.766Z"
|
|
60383
|
+
reply_count: 1
|
|
60384
|
+
repost_count: 65
|
|
60385
|
+
like_count: 69
|
|
60386
|
+
media_url: null
|
|
60387
|
+
thumbnail_url: null
|
|
60388
|
+
external_url: null
|
|
60389
|
+
external_title: null
|
|
60390
|
+
comments[1]{id,author,author_display_name,body,url,published_at,like_count,reply_count,repost_count}:
|
|
60391
|
+
"117005144655640473",Guillotine_Jones@beige.party,"Guillotine Jones, Fl\xE2neur","@Mastodon @iftas\\nBoosted 4 reach.\\nBong hits 4 Jesus.","https://beige.party/@Guillotine_Jones/117005144316815269","2026-07-29T20:26:56.000Z",1,0,0
|
|
60392
|
+
fetched_comment_count: 1
|
|
60393
|
+
provider: Mastodon
|
|
60394
|
+
embed_ref: mastodon-re-https-zdM
|
|
60395
|
+
app_id: social_media
|
|
60396
|
+
skill_id: get-posts`,
|
|
60397
|
+
"parent_embed_id": "33ebec48-4730-4b4b-b7d7-f967173ac9b6",
|
|
60398
|
+
"embed_ids": null
|
|
60399
|
+
},
|
|
60400
|
+
{
|
|
60401
|
+
"embed_id": "2fdc6a2e-0150-5a9b-86ab-82fec6c803e1",
|
|
60402
|
+
"type": "social_post",
|
|
60403
|
+
"content": `id: "117015608750780726"
|
|
60404
|
+
platform: mastodon
|
|
60405
|
+
page: Mastodon@mastodon.social
|
|
60406
|
+
title: "@Mastodon: @TheRealPomax Great suggestion, thank you! We're putting that line in bold text"
|
|
60407
|
+
body: "@TheRealPomax Great suggestion, thank you! We're putting that line in bold text now, and if you haven't already, you should receive an email with more details and a link to the new terms soon."
|
|
60408
|
+
author: Mastodon
|
|
60409
|
+
author_display_name: Mastodon
|
|
60410
|
+
author_avatar_url: "https://files.mastodon.social/accounts/avatars/000/013/179/original/b4ceb19c9c54ec7e.png"
|
|
60411
|
+
url: "https://mastodon.social/@Mastodon/117015608750780726"
|
|
60412
|
+
published_at: "2026-07-31T16:48:10.955Z"
|
|
60413
|
+
reply_count: 1
|
|
60414
|
+
repost_count: 1
|
|
60415
|
+
like_count: 2
|
|
60416
|
+
media_url: null
|
|
60417
|
+
thumbnail_url: null
|
|
60418
|
+
external_url: null
|
|
60419
|
+
external_title: null
|
|
60420
|
+
comments[1]{id,author,author_display_name,body,url,published_at,like_count,reply_count,repost_count}:
|
|
60421
|
+
"117015642214260225",TheRealPomax,Pomax,"@Mastodon yep, just got the email, which is how I ended up on the blog post.","https://mastodon.social/@TheRealPomax/117015642214260225","2026-07-31T16:56:41.565Z",0,0,0
|
|
60422
|
+
fetched_comment_count: 1
|
|
60423
|
+
provider: Mastodon
|
|
60424
|
+
embed_ref: mastodon-therealpomax-great-sW0
|
|
60425
|
+
app_id: social_media
|
|
60426
|
+
skill_id: get-posts`,
|
|
60427
|
+
"parent_embed_id": "33ebec48-4730-4b4b-b7d7-f967173ac9b6",
|
|
60428
|
+
"embed_ids": null
|
|
60429
|
+
},
|
|
60430
|
+
{
|
|
60431
|
+
"embed_id": "f254e840-ba8a-5fe5-8745-61fcf64be857",
|
|
60432
|
+
"type": "social_post",
|
|
60433
|
+
"content": `id: "117043346514398510"
|
|
60434
|
+
platform: mastodon
|
|
60435
|
+
page: Mastodon@mastodon.social
|
|
60436
|
+
title: "@Mastodon: We're excited to share the results from Mastodon's first #DiscoveryWeek! In case"
|
|
60437
|
+
body: "We're excited to share the results from Mastodon's first #DiscoveryWeek!\\nIn case you missed it, earlier this year our Head of Design @imanijoy arranged a week of workshops and surveys to get to know you, learn about your needs and wants, and discover how you're using (and want to use) Mastodon.\\nThis week was tremendously helpful for us, and we're grateful to everyone who participated.\\nHere's what we learned:\\nhttps://blog.joinmastodon.org/2026/08/discovery-week-2026-what-we-learned-and-what-were-doing-next/\\n#Mastodon #Fediverse #SocialWeb #OpenSocial"
|
|
60438
|
+
author: Mastodon
|
|
60439
|
+
author_display_name: Mastodon
|
|
60440
|
+
author_avatar_url: "https://files.mastodon.social/accounts/avatars/000/013/179/original/b4ceb19c9c54ec7e.png"
|
|
60441
|
+
url: "https://mastodon.social/@Mastodon/117043346514398510"
|
|
60442
|
+
published_at: "2026-08-05T14:22:15.639Z"
|
|
60443
|
+
reply_count: 12
|
|
60444
|
+
repost_count: 159
|
|
60445
|
+
like_count: 226
|
|
60446
|
+
media_url: null
|
|
60447
|
+
thumbnail_url: null
|
|
60448
|
+
external_url: "https://blog.joinmastodon.org/2026/08/discovery-week-2026-what-we-learned-and-what-were-doing-next/"
|
|
60449
|
+
external_title: "Discovery Week 2026: What we learned, and what we\u2019re doing next"
|
|
60450
|
+
comments[5]{id,author,author_display_name,body,url,published_at,like_count,reply_count,repost_count}:
|
|
60451
|
+
"117043482588002992",chris@nutmeg.social,Chris Hayes,"@Mastodon @imanijoy Great report. All good points. Very much agreed on boosting, threading, and hashtags.\\n\u201CSurvey respondents were asked about the\\ncircumstances in which they typically limit\\ntheir posts\u02BC visibility. The #1 reason\\nreported was to avoid spamming others\\nwhen replying.\u201D\\nis interesting to see because 'Quiet Public' doesn't do that. (I used to make that mistake.)\\nFunny to read that others also have a list specifically for quieter posters. Mine is titled \\"Never miss a post.\\"","https://nutmeg.social/@chris/117043480691144967","2026-08-05T14:56:23.000Z",3,1,0
|
|
60452
|
+
"117043975132435787",clare_hooley@mastodon.me.uk,Clare Hooley,"@chris it does to the extent it doesn\u2019t show on local or federated feeds if you\u2019re on a server with those (and I think also think in hashtags feeds if you have hashtags in it). Works out better for me for replies anyway; notify the person I\u2019m replying to but doesn\u2019t clutter local feed, but people can still see it if they want. Mind, I have turned replies off for my main feed and have done for a long time, so I tend to forget that\u2019s not the default!","https://mastodon.me.uk/@clare_hooley/117043974998912242","2026-08-05T17:02:05.000Z",1,0,0
|
|
60453
|
+
"117043651449867148",lachralle@vivaldi.net,Ralf Demuth,@Mastodon @imanijoy Probably late to the game but please make all official apps and the web sites use the marker api to sync read states ceoss-platform.,"https://social.vivaldi.net/@lachralle/117043650894046860","2026-08-05T15:39:40.000Z",1,0,0
|
|
60454
|
+
"117044569428922118",antimundo@mastodon.gamedev.place,Antimundo,"@Mastodon This post is honestly awesome, it's really cool to see something as simple as the team talking with the community. I really appreciate the work I've seen from you so far @imanijoy cheers!","https://mastodon.gamedev.place/@antimundo/117044569400913047","2026-08-05T19:33:15.000Z",5,1,0
|
|
60455
|
+
"117044596654579027",imanijoy,Imani,@antimundo thank you so much!,"https://mastodon.social/@imanijoy/117044596654579027","2026-08-05T19:40:11.263Z",1,0,0
|
|
60456
|
+
fetched_comment_count: 5
|
|
60457
|
+
provider: Mastodon
|
|
60458
|
+
embed_ref: mastodon-we-re-WKA
|
|
60459
|
+
app_id: social_media
|
|
60460
|
+
skill_id: get-posts`,
|
|
60461
|
+
"parent_embed_id": "33ebec48-4730-4b4b-b7d7-f967173ac9b6",
|
|
60462
|
+
"embed_ids": null
|
|
60463
|
+
},
|
|
60464
|
+
{
|
|
60465
|
+
"embed_id": "d1e1bf63-ca7e-5d1c-b616-0fa4c6f65d29",
|
|
60466
|
+
"type": "social_post",
|
|
60467
|
+
"content": `id: "117083691112770390"
|
|
60468
|
+
platform: mastodon
|
|
60469
|
+
page: Mastodon@mastodon.social
|
|
60470
|
+
title: "@Mastodon: Today we're sharing additional guidelines about our Trade Mark Policy based on c"
|
|
60471
|
+
body: "Today we're sharing additional guidelines about our Trade Mark Policy based on community feedback that we received.\\nThe new guidelines, and more background about these changes, are available on our blog:\\nhttps://blog.joinmastodon.org/2026/08/sharing-guidelines-about-mastodons-trade-mark-policy/\\n#Mastodon #Fediverse #SocialWeb #FediDev #MastoDev #FediAdmin #MastoAdmin"
|
|
60472
|
+
author: Mastodon
|
|
60473
|
+
author_display_name: Mastodon
|
|
60474
|
+
author_avatar_url: "https://files.mastodon.social/accounts/avatars/000/013/179/original/b4ceb19c9c54ec7e.png"
|
|
60475
|
+
url: "https://mastodon.social/@Mastodon/117083691112770390"
|
|
60476
|
+
published_at: "2026-08-12T17:22:25.361Z"
|
|
60477
|
+
reply_count: 21
|
|
60478
|
+
repost_count: 85
|
|
60479
|
+
like_count: 110
|
|
60480
|
+
media_url: null
|
|
60481
|
+
thumbnail_url: null
|
|
60482
|
+
external_url: "https://blog.joinmastodon.org/2026/08/sharing-guidelines-about-mastodons-trade-mark-policy/"
|
|
60483
|
+
external_title: Sharing Guidelines about Mastodon\u2019s Trade Mark Policy
|
|
60484
|
+
comments[5]{id,author,author_display_name,body,url,published_at,like_count,reply_count,repost_count}:
|
|
60485
|
+
"117083694767249113",Mastodon,Mastodon,"Our Community Director @haubles provided a \\"plain English\\" version too:\\nhttps://hachyderm.io/@haubles/117083650941891878","https://mastodon.social/@Mastodon/117083694767249113","2026-08-12T17:23:21.125Z",70,0,27
|
|
60486
|
+
"117083727962609466",bazkie@beige.party,surely bazkie \u{1F469}\u{1F3FC}\u{1F4BB},"@Mastodon you don't have shit to say about that kind of thing, it's decentralized.\\nyou shouldn't exist as a company","https://beige.party/@bazkie/117083727834137295","2026-08-12T17:31:45.000Z",16,2,0
|
|
60487
|
+
"117093011192023613",xvilo@mastodon.org.uk,"Sem Schilder :t_blink:",@bazkie @Mastodon that\u2019s not how that works obviously,"https://mastodon.org.uk/@xvilo/117093011085365998","2026-08-14T08:52:36.000Z",0,2,0
|
|
60488
|
+
"117093395066517892",bazkie@beige.party,surely bazkie \u{1F469}\u{1F3FC}\u{1F4BB},@xvilo @Mastodon suck some more corporate dick,"https://beige.party/@bazkie/117093394880154664","2026-08-14T10:30:13.000Z",4,1,0
|
|
60489
|
+
"117093520999270461",xvilo,Sem Schilder,"@bazkie @xvilo@mastodon.org.uk @Mastodon Dus je comment deze opbouwende reactie, maar blocked mij direct? Gelukkig federeren we mooi op een gedecentraliseerd systeem. Als jij je niet blij bent met wat mastodon doet, dan kan je natuurlijk iets anders gebruik om alsnog aan de fediverse te hangen. Dit soort taal is absoluut niet opbouwend, en voegt ook niks toe aan de discussie.","https://mastodon.social/@xvilo/117093520999270461","2026-08-14T11:02:17.660Z",2,1,0
|
|
60490
|
+
fetched_comment_count: 5
|
|
60491
|
+
provider: Mastodon
|
|
60492
|
+
embed_ref: mastodon-today-we-jTv
|
|
60493
|
+
app_id: social_media
|
|
60494
|
+
skill_id: get-posts`,
|
|
60495
|
+
"parent_embed_id": "33ebec48-4730-4b4b-b7d7-f967173ac9b6",
|
|
60496
|
+
"embed_ids": null
|
|
60497
|
+
},
|
|
60498
|
+
{
|
|
60499
|
+
"embed_id": "83bdd520-3f8a-534c-85b4-6ed4fa124652",
|
|
60500
|
+
"type": "social_post",
|
|
60501
|
+
"content": 'id: "117083694767249113"\nplatform: mastodon\npage: Mastodon@mastodon.social\ntitle: "@Mastodon: Our Community Director @haubles provided a \\"plain English\\" version too: https://"\nbody: "Our Community Director @haubles provided a \\"plain English\\" version too:\\nhttps://hachyderm.io/@haubles/117083650941891878"\nauthor: Mastodon\nauthor_display_name: Mastodon\nauthor_avatar_url: "https://files.mastodon.social/accounts/avatars/000/013/179/original/b4ceb19c9c54ec7e.png"\nurl: "https://mastodon.social/@Mastodon/117083694767249113"\npublished_at: "2026-08-12T17:23:21.125Z"\nreply_count: 0\nrepost_count: 27\nlike_count: 70\nmedia_url: null\nthumbnail_url: null\nexternal_url: null\nexternal_title: null\ncomments: []\nfetched_comment_count: 0\nprovider: Mastodon\nembed_ref: mastodon-our-community-Hxz\napp_id: social_media\nskill_id: get-posts',
|
|
60502
|
+
"parent_embed_id": "33ebec48-4730-4b4b-b7d7-f967173ac9b6",
|
|
60503
|
+
"embed_ids": []
|
|
60504
|
+
},
|
|
60505
|
+
{
|
|
60506
|
+
"embed_id": "bcd88a73-104b-567d-83ea-8cdea09211d1",
|
|
60507
|
+
"type": "social_post",
|
|
60508
|
+
"content": `id: "117117221397911074"
|
|
60509
|
+
platform: mastodon
|
|
60510
|
+
page: Mastodon@mastodon.social
|
|
60511
|
+
title: "@Mastodon: After publishing the results of Discovery Week, we can now give you a first snea"
|
|
60512
|
+
body: "After publishing the results of Discovery Week, we can now give you a first sneak peak at Mastodon 5.0, our next big version. It will bring a new visual look to your screens, a refreshed and calmer layout, as well as a new composer.\\nhttps://blog.joinmastodon.org/2026/08/5.0-laying-the-foundation/\\n#mastodon #mastodon5.0"
|
|
60513
|
+
author: Mastodon
|
|
60514
|
+
author_display_name: Mastodon
|
|
60515
|
+
author_avatar_url: "https://files.mastodon.social/accounts/avatars/000/013/179/original/b4ceb19c9c54ec7e.png"
|
|
60516
|
+
url: "https://mastodon.social/@Mastodon/117117221397911074"
|
|
60517
|
+
published_at: "2026-08-18T15:29:36.902Z"
|
|
60518
|
+
reply_count: 134
|
|
60519
|
+
repost_count: 574
|
|
60520
|
+
like_count: 961
|
|
60521
|
+
media_url: null
|
|
60522
|
+
thumbnail_url: null
|
|
60523
|
+
external_url: "https://blog.joinmastodon.org/2026/08/5.0-laying-the-foundation/"
|
|
60524
|
+
external_title: "5.0: Laying the foundation"
|
|
60525
|
+
comments[5]{id,author,author_display_name,body,url,published_at,like_count,reply_count,repost_count}:
|
|
60526
|
+
"117117243837071506",grymas1000lecia@101010.pl,"Adi :apple_inc:",@Mastodon Looks dope!,"https://101010.pl/@grymas1000lecia/117117243787523984","2026-08-18T15:35:18.000Z",3,0,1
|
|
60527
|
+
"117117253204748361",fabian@mainz.social,"Fabian K\xF6ster :natenom:","@Mastodon Looks great, looking forward to this!","https://mainz.social/@fabian/117117253112606054","2026-08-18T15:37:40.000Z",3,0,0
|
|
60528
|
+
"117117258105671885",phi@kif.rocks,\u03C6,"@Mastodon please add the \\"plan post\\" option to the post composer. It annoys me that I have to use a third party application to do that even though it's supported by Mastodon itself.","https://toot.kif.rocks/@phi/117117257998868084","2026-08-18T15:38:55.000Z",44,2,4
|
|
60529
|
+
"117118575452712049",KayOhtie@blimps.xyz,Kay Ohtie,"@phi @Mastodon + :1000: to this. I'd love to have that built-in since it already exists server-side. I know I can run Elk separately but if we're making UI improvements to stock, adding that should be one of them.","https://blimps.xyz/@KayOhtie/117118575414402270","2026-08-18T21:13:57.000Z",2,0,0
|
|
60530
|
+
"117124173583942935",MonkeyPanic@nerdculture.de,"MonkeyPanic! :startrek:","@phi @Mastodon yes, this","https://nerdculture.de/@MonkeyPanic/117124173522244681","2026-08-19T20:57:37.000Z",0,0,0
|
|
60531
|
+
fetched_comment_count: 5
|
|
60532
|
+
provider: Mastodon
|
|
60533
|
+
embed_ref: mastodon-after-publishing-2LX
|
|
60534
|
+
app_id: social_media
|
|
60535
|
+
skill_id: get-posts`,
|
|
60536
|
+
"parent_embed_id": "33ebec48-4730-4b4b-b7d7-f967173ac9b6",
|
|
60537
|
+
"embed_ids": []
|
|
60538
|
+
},
|
|
60539
|
+
{
|
|
60540
|
+
"embed_id": "db2bb282-6b2c-5716-ac34-341281bfb124",
|
|
60541
|
+
"type": "social_post",
|
|
60542
|
+
"content": `id: "117093587981367953"
|
|
60543
|
+
platform: mastodon
|
|
60544
|
+
page: Mastodon@mastodon.social
|
|
60545
|
+
title: "@Mastodon: Here is a #FeaturedServer for \u{1F30E} Earth, \u{1F98E} Earthlings, and their \u2696 Advocates... h"
|
|
60546
|
+
body: "Here is a #FeaturedServer for \u{1F30E} Earth, \u{1F98E} Earthlings, and their \u2696 Advocates...\\nhttps://earth.law/about\\nEarth.Law is for:\\n\u{1F4DC} Environmental lawyers & policy-makers\\n\u{1F98B} Conservationists & ecologists\\n\u{1F52C} Scientists in related fields\\n\u{1F4DA} Educators and students of environmental studies\\n\u{1F3A4} Activists & advocates\\n\u267B Hosted on a dedicated server in \u{1F1EB}\u{1F1EE} Helsinki and recognised by the Green Web Foundation for using renewable energy.\\n#CommunitySpotlight #Fediverse #Mastodon #SocialWeb"
|
|
60547
|
+
author: Mastodon
|
|
60548
|
+
author_display_name: Mastodon
|
|
60549
|
+
author_avatar_url: "https://files.mastodon.social/accounts/avatars/000/013/179/original/b4ceb19c9c54ec7e.png"
|
|
60550
|
+
url: "https://mastodon.social/@Mastodon/117093587981367953"
|
|
60551
|
+
published_at: "2026-08-14T11:19:19.586Z"
|
|
60552
|
+
reply_count: 3
|
|
60553
|
+
repost_count: 84
|
|
60554
|
+
like_count: 151
|
|
60555
|
+
media_url: null
|
|
60556
|
+
thumbnail_url: null
|
|
60557
|
+
external_url: "https://earth.law/about"
|
|
60558
|
+
external_title: Earth.Law
|
|
60559
|
+
comments[4]{id,author,author_display_name,body,url,published_at,like_count,reply_count,repost_count}:
|
|
60560
|
+
"117093848079127881",individual8,David Schmidt,"@Mastodon If not already in place, I'd suggest a required minimum version to be installed for a #FeaturedServer.","https://mastodon.social/@individual8/117093848079127881","2026-08-14T12:25:28.397Z",1,0,0
|
|
60561
|
+
"117095125812203950",ramkay,Ramnarayan Kalyanaraman,"@Mastodon interesting and nice\\nHow does one follow earth.law ?","https://mastodon.social/@ramkay/117095125812203950","2026-08-14T17:50:25.075Z",0,1,0
|
|
60562
|
+
"117095162889719306",ramkay,Ramnarayan Kalyanaraman,"@Mastodon\\nis this correct\\nhttps://mastodon.social/@sij.law@web.brid.gy ?","https://mastodon.social/@ramkay/117095162889719306","2026-08-14T17:59:50.780Z",0,0,0
|
|
60563
|
+
"117104390508206272",Nikmaximus,Nik,"@Mastodon\\nTodos estos sitios y foros est\xE1n dirigidos a:\\n\xA1Un vac\xEDo y la charla de siempre, encubriendo el bombeo de enormes vol\xFAmenes de agua del ciclo natural del agua... que inevitablemente est\xE1 provocando el cambio clim\xE1tico en todo el planeta Tierra en los \xFAltimos tiempos!\\n\xA1Pero a nadie le importa!\\n\xA1Es como si todos se hubieran vuelto ciegos, sordos o mentalmente degradados al nivel de un pez tonto!\\n\xA1Criaturas viles y est\xFApidas controladas por el \\"Imperio Epstein\\"!","https://mastodon.social/@Nikmaximus/117104390508206272","2026-08-16T09:06:33.065Z",0,0,0
|
|
60564
|
+
fetched_comment_count: 4
|
|
60565
|
+
provider: Mastodon
|
|
60566
|
+
embed_ref: mastodon-here-is-fYs
|
|
60567
|
+
app_id: social_media
|
|
60568
|
+
skill_id: get-posts`,
|
|
60569
|
+
"parent_embed_id": "33ebec48-4730-4b4b-b7d7-f967173ac9b6",
|
|
60570
|
+
"embed_ids": []
|
|
60571
|
+
},
|
|
60572
|
+
{
|
|
60573
|
+
"embed_id": "1bbc2a8a-6e5d-5628-84f4-43eb854ca3b6",
|
|
60574
|
+
"type": "social_post",
|
|
60575
|
+
"content": `id: "117156549508722805"
|
|
60576
|
+
platform: mastodon
|
|
60577
|
+
page: Mastodon@mastodon.social
|
|
60578
|
+
title: "@Mastodon: Hannah Aubry is leaving Mastodon after her time with us as community director an"
|
|
60579
|
+
body: "Hannah Aubry is leaving Mastodon after her time with us as community director and board member. We\u2019re very grateful for her contributions, ideas, and commitment to Mastodon and the fediverse. Thank you, Hannah! We wish you all the very best for what comes next."
|
|
60580
|
+
author: Mastodon
|
|
60581
|
+
author_display_name: Mastodon
|
|
60582
|
+
author_avatar_url: "https://files.mastodon.social/accounts/avatars/000/013/179/original/b4ceb19c9c54ec7e.png"
|
|
60583
|
+
url: "https://mastodon.social/@Mastodon/117156549508722805"
|
|
60584
|
+
published_at: "2026-08-25T14:11:16.256Z"
|
|
60585
|
+
reply_count: 18
|
|
60586
|
+
repost_count: 106
|
|
60587
|
+
like_count: 466
|
|
60588
|
+
media_url: null
|
|
60589
|
+
thumbnail_url: null
|
|
60590
|
+
external_url: null
|
|
60591
|
+
external_title: null
|
|
60592
|
+
comments[5]{id,author,author_display_name,body,url,published_at,like_count,reply_count,repost_count}:
|
|
60593
|
+
"117156593368148841",NatureMC@mastodon.online,Petra van Cronenburg,@Mastodon @haubles That's sad for us because your work was so precious. Wishing you all the best for new projects!,"https://mastodon.online/@NatureMC/117156593304180353","2026-08-25T14:22:24.000Z",11,1,0
|
|
60594
|
+
"117156616061869984",stefan@stefanbohacek.online,Stefan Bohacek,"@haubles Joining in to second this.\\nBest of luck with whatever is next for you!\\n@NatureMC @Mastodon","https://stefanbohacek.online/@stefan/117156615905013793","2026-08-25T14:28:09.000Z",4,0,0
|
|
60595
|
+
"117156631804352116",newsmast@newsmast.social,Newsmast Foundation,"@Mastodon\\nThank you for all your work @haubles! We wish you the best \u{1F9E1}","https://backend.newsmast.org/@newsmast/117156631570034185","2026-08-25T14:32:08.000Z",2,0,0
|
|
60596
|
+
"117156653247374469",64bithero@mstdn.games,Jimmothy Baggins,"@Mastodon I hope this was all planned for a long time. Something feels off :blobfoxflooftea:","https://mstdn.games/@64bithero/117156653175743296","2026-08-25T14:37:38.000Z",3,0,0
|
|
60597
|
+
"117156822734819953",cauZation,cauZation,@Mastodon Is HannaH backwards'ing out?..,"https://mastodon.social/@cauZation/117156822734819953","2026-08-25T15:20:45.346Z",1,1,0
|
|
60598
|
+
fetched_comment_count: 5
|
|
60599
|
+
provider: Mastodon
|
|
60600
|
+
embed_ref: mastodon-hannah-aubry-g9H
|
|
60601
|
+
app_id: social_media
|
|
60602
|
+
skill_id: get-posts`,
|
|
60603
|
+
"parent_embed_id": "33ebec48-4730-4b4b-b7d7-f967173ac9b6",
|
|
60604
|
+
"embed_ids": []
|
|
60605
|
+
}
|
|
60606
|
+
],
|
|
60607
|
+
metadata: {
|
|
60608
|
+
featured: true,
|
|
60609
|
+
order: 135,
|
|
60610
|
+
app_skill_examples: ["social_media.get-posts"]
|
|
60611
|
+
}
|
|
60612
|
+
};
|
|
60613
|
+
|
|
60614
|
+
// ../ui/src/demo_chats/data/example_chats/adjacent-career-portfolio-experiments.ts
|
|
60615
|
+
var adjacentCareerPortfolioExperimentsChat = {
|
|
60616
|
+
chat_id: "example-adjacent-career-portfolio-experiments",
|
|
60617
|
+
slug: "adjacent-career-portfolio-experiments",
|
|
60618
|
+
title: "example_chats.adjacent_career_portfolio_experiments.title",
|
|
60619
|
+
summary: "example_chats.adjacent_career_portfolio_experiments.summary",
|
|
60620
|
+
icon: "briefcase-business",
|
|
60621
|
+
category: "life_coach_psychology",
|
|
60622
|
+
keywords: ["career change", "customer support", "technical writing", "support operations", "portfolio experiments"],
|
|
60623
|
+
follow_up_suggestions: ["example_chats.adjacent_career_portfolio_experiments.follow_up_1", "example_chats.adjacent_career_portfolio_experiments.follow_up_2", "example_chats.adjacent_career_portfolio_experiments.follow_up_3", "example_chats.adjacent_career_portfolio_experiments.follow_up_4", "example_chats.adjacent_career_portfolio_experiments.follow_up_5", "example_chats.adjacent_career_portfolio_experiments.follow_up_6"],
|
|
60624
|
+
messages: [
|
|
60625
|
+
{
|
|
60626
|
+
"id": "4b477f7c-7d77-4310-a831-03639d322038",
|
|
60627
|
+
"role": "user",
|
|
60628
|
+
"content": "example_chats.adjacent_career_portfolio_experiments.message_1",
|
|
60629
|
+
"created_at": 1791558060
|
|
60630
|
+
},
|
|
60631
|
+
{
|
|
60632
|
+
"id": "d41e4130-6e10-4592-b05d-e31442926d04",
|
|
60633
|
+
"role": "assistant",
|
|
60634
|
+
"content": "example_chats.adjacent_career_portfolio_experiments.message_2",
|
|
60635
|
+
"created_at": 1791558061,
|
|
60636
|
+
"user_message_id": "4b477f7c-7d77-4310-a831-03639d322038",
|
|
60637
|
+
"category": "life_coach_psychology",
|
|
60638
|
+
"model_name": "Gemini 3.8 Flash"
|
|
60639
|
+
}
|
|
60640
|
+
],
|
|
60641
|
+
embeds: [
|
|
60642
|
+
{
|
|
60643
|
+
"embed_id": "22f0006e-a854-4ad5-a5ff-5eefe6c29b40",
|
|
60644
|
+
"type": "focus-mode-activation",
|
|
60645
|
+
"content": "focus_id: jobs-career_insights\napp_id: jobs\nskill_id: career_insights\nfocus_mode_name: Career insights\nstatus: finished",
|
|
60646
|
+
"parent_embed_id": null,
|
|
60647
|
+
"embed_ids": null
|
|
60648
|
+
}
|
|
60649
|
+
],
|
|
60650
|
+
metadata: {
|
|
60651
|
+
featured: true,
|
|
60652
|
+
order: 136,
|
|
60653
|
+
app_focus_mode_examples: ["jobs.career_insights"],
|
|
60654
|
+
active_focus_id: "jobs-career_insights"
|
|
60655
|
+
}
|
|
60656
|
+
};
|
|
60657
|
+
|
|
60658
|
+
// ../ui/src/demo_chats/data/example_chats/calm-manager-follow-up.ts
|
|
60659
|
+
var calmManagerFollowUpChat = {
|
|
60660
|
+
chat_id: "example-calm-manager-follow-up",
|
|
60661
|
+
slug: "calm-manager-follow-up",
|
|
60662
|
+
title: "example_chats.calm_manager_follow_up.title",
|
|
60663
|
+
summary: "example_chats.calm_manager_follow_up.summary",
|
|
60664
|
+
icon: "heart-handshake",
|
|
60665
|
+
category: "life_coach_psychology",
|
|
60666
|
+
keywords: ["difficult conversation", "manager follow-up", "workplace communication", "career coaching"],
|
|
60667
|
+
follow_up_suggestions: ["example_chats.calm_manager_follow_up.follow_up_1", "example_chats.calm_manager_follow_up.follow_up_2", "example_chats.calm_manager_follow_up.follow_up_3", "example_chats.calm_manager_follow_up.follow_up_4", "example_chats.calm_manager_follow_up.follow_up_5", "example_chats.calm_manager_follow_up.follow_up_6"],
|
|
60668
|
+
messages: [
|
|
60669
|
+
{
|
|
60670
|
+
"id": "4c8d227f-977f-4a6d-827a-70b01bef29e5",
|
|
60671
|
+
"role": "user",
|
|
60672
|
+
"content": "example_chats.calm_manager_follow_up.message_1",
|
|
60673
|
+
"created_at": 1791558236
|
|
60674
|
+
},
|
|
60675
|
+
{
|
|
60676
|
+
"id": "8ddb25e7-4b9b-5b35-a0ae-f69365b43f8a",
|
|
60677
|
+
"role": "assistant",
|
|
60678
|
+
"content": "example_chats.calm_manager_follow_up.message_2",
|
|
60679
|
+
"created_at": 1791558237,
|
|
60680
|
+
"user_message_id": "4c8d227f-977f-4a6d-827a-70b01bef29e5",
|
|
60681
|
+
"category": "life_coach_psychology",
|
|
60682
|
+
"model_name": "Gemini 3.8 Flash"
|
|
60683
|
+
},
|
|
60684
|
+
{
|
|
60685
|
+
"id": "5959f2a7-bd86-43ae-a69c-c6262eb89d23",
|
|
60686
|
+
"role": "user",
|
|
60687
|
+
"content": "example_chats.calm_manager_follow_up.message_3",
|
|
60688
|
+
"created_at": 1791558280
|
|
60689
|
+
},
|
|
60690
|
+
{
|
|
60691
|
+
"id": "479e9f61-8358-5393-bb91-23ef0a2fccf9",
|
|
60692
|
+
"role": "assistant",
|
|
60693
|
+
"content": "example_chats.calm_manager_follow_up.message_4",
|
|
60694
|
+
"created_at": 1791558281,
|
|
60695
|
+
"user_message_id": "5959f2a7-bd86-43ae-a69c-c6262eb89d23",
|
|
60696
|
+
"category": "life_coach_psychology",
|
|
60697
|
+
"model_name": "Gemini 3.8 Flash"
|
|
60698
|
+
}
|
|
60699
|
+
],
|
|
60700
|
+
embeds: [],
|
|
60701
|
+
metadata: {
|
|
60702
|
+
featured: true,
|
|
60703
|
+
order: 137
|
|
60704
|
+
}
|
|
60705
|
+
};
|
|
60706
|
+
|
|
60707
|
+
// ../ui/src/demo_chats/data/example_chats/autumn-basil-balcony-care.ts
|
|
60708
|
+
var autumnBasilBalconyCareChat = {
|
|
60709
|
+
chat_id: "example-autumn-basil-balcony-care",
|
|
60710
|
+
slug: "autumn-basil-balcony-care",
|
|
60711
|
+
title: "example_chats.autumn_basil_balcony_care.title",
|
|
60712
|
+
summary: "example_chats.autumn_basil_balcony_care.summary",
|
|
60713
|
+
icon: "sprout",
|
|
60714
|
+
category: "science",
|
|
60715
|
+
keywords: ["basil care", "balcony gardening", "Berlin autumn", "plant care guide"],
|
|
60716
|
+
follow_up_suggestions: ["example_chats.autumn_basil_balcony_care.follow_up_1", "example_chats.autumn_basil_balcony_care.follow_up_2", "example_chats.autumn_basil_balcony_care.follow_up_3", "example_chats.autumn_basil_balcony_care.follow_up_4", "example_chats.autumn_basil_balcony_care.follow_up_5", "example_chats.autumn_basil_balcony_care.follow_up_6"],
|
|
60717
|
+
messages: [
|
|
60718
|
+
{
|
|
60719
|
+
"id": "f83632d8-a7f7-494a-946c-9c982f8bcb2d",
|
|
60720
|
+
"role": "user",
|
|
60721
|
+
"content": "example_chats.autumn_basil_balcony_care.message_1",
|
|
60722
|
+
"created_at": 1791558993
|
|
60723
|
+
},
|
|
60724
|
+
{
|
|
60725
|
+
"id": "eafd61f7-e9e9-57fc-bdd5-093a294b464e",
|
|
60726
|
+
"role": "assistant",
|
|
60727
|
+
"content": "example_chats.autumn_basil_balcony_care.message_2",
|
|
60728
|
+
"created_at": 1791558994,
|
|
60729
|
+
"user_message_id": "f83632d8-a7f7-494a-946c-9c982f8bcb2d",
|
|
60730
|
+
"category": "science",
|
|
60731
|
+
"model_name": "Gemini 3.8 Flash"
|
|
60732
|
+
}
|
|
60733
|
+
],
|
|
60734
|
+
embeds: [],
|
|
60735
|
+
metadata: {
|
|
60736
|
+
featured: true,
|
|
60737
|
+
order: 138
|
|
60738
|
+
}
|
|
60739
|
+
};
|
|
60740
|
+
|
|
60741
|
+
// ../ui/src/demo_chats/data/example_chats/bayes-theorem-quick-quiz.ts
|
|
60742
|
+
var bayesTheoremQuickQuizChat = {
|
|
60743
|
+
chat_id: "example-bayes-theorem-quick-quiz",
|
|
60744
|
+
slug: "bayes-theorem-quick-quiz",
|
|
60745
|
+
title: "example_chats.bayes_theorem_quick_quiz.title",
|
|
60746
|
+
summary: "example_chats.bayes_theorem_quick_quiz.summary",
|
|
60747
|
+
icon: "graduation-cap",
|
|
60748
|
+
category: "general_knowledge",
|
|
60749
|
+
keywords: ["Bayes theorem", "statistics exam", "probability quiz", "prior probability", "study help"],
|
|
60750
|
+
follow_up_suggestions: ["example_chats.bayes_theorem_quick_quiz.follow_up_1", "example_chats.bayes_theorem_quick_quiz.follow_up_2", "example_chats.bayes_theorem_quick_quiz.follow_up_3", "example_chats.bayes_theorem_quick_quiz.follow_up_4", "example_chats.bayes_theorem_quick_quiz.follow_up_5", "example_chats.bayes_theorem_quick_quiz.follow_up_6"],
|
|
60751
|
+
messages: [
|
|
60752
|
+
{
|
|
60753
|
+
"id": "36308e01-b89c-459f-aa01-ff4a327563db",
|
|
60754
|
+
"role": "user",
|
|
60755
|
+
"content": "example_chats.bayes_theorem_quick_quiz.message_1",
|
|
60756
|
+
"created_at": 1791558519
|
|
60757
|
+
},
|
|
60758
|
+
{
|
|
60759
|
+
"id": "043e4300-2d55-53ea-909b-aa59fd38e21f",
|
|
60760
|
+
"role": "assistant",
|
|
60761
|
+
"content": "example_chats.bayes_theorem_quick_quiz.message_2",
|
|
60762
|
+
"created_at": 1791558520,
|
|
60763
|
+
"user_message_id": "36308e01-b89c-459f-aa01-ff4a327563db",
|
|
60764
|
+
"category": "general_knowledge",
|
|
60765
|
+
"model_name": "Gemini 3.8 Flash"
|
|
60766
|
+
},
|
|
60767
|
+
{
|
|
60768
|
+
"id": "1dca0f42-0476-4876-9035-9352b8e711cb",
|
|
60769
|
+
"role": "user",
|
|
60770
|
+
"content": "example_chats.bayes_theorem_quick_quiz.message_3",
|
|
60771
|
+
"created_at": 1791558585
|
|
60772
|
+
},
|
|
60773
|
+
{
|
|
60774
|
+
"id": "0121aa5e-75d0-5665-875a-68a6157cfd0e",
|
|
60775
|
+
"role": "assistant",
|
|
60776
|
+
"content": "example_chats.bayes_theorem_quick_quiz.message_4",
|
|
60777
|
+
"created_at": 1791558586,
|
|
60778
|
+
"user_message_id": "1dca0f42-0476-4876-9035-9352b8e711cb",
|
|
60779
|
+
"category": "general_knowledge",
|
|
60780
|
+
"model_name": "Gemini 3.8 Flash"
|
|
60781
|
+
}
|
|
60782
|
+
],
|
|
60783
|
+
embeds: [],
|
|
60784
|
+
metadata: {
|
|
60785
|
+
featured: true,
|
|
60786
|
+
order: 139
|
|
60787
|
+
}
|
|
60788
|
+
};
|
|
60789
|
+
|
|
60790
|
+
// ../ui/src/demo_chats/data/example_chats/voice-note-transcription-action-item.ts
|
|
60791
|
+
var voiceNoteTranscriptionActionItemChat = {
|
|
60792
|
+
chat_id: "example-voice-note-transcription-action",
|
|
60793
|
+
slug: "voice-note-transcription-action-item",
|
|
60794
|
+
title: "example_chats.voice_note_transcription_action_item.title",
|
|
60795
|
+
summary: "example_chats.voice_note_transcription_action_item.summary",
|
|
60796
|
+
icon: "audio",
|
|
60797
|
+
category: "general_knowledge",
|
|
60798
|
+
keywords: ["audio transcription", "voice note", "action items", "speech to text"],
|
|
60799
|
+
follow_up_suggestions: ["example_chats.voice_note_transcription_action_item.follow_up_1", "example_chats.voice_note_transcription_action_item.follow_up_2", "example_chats.voice_note_transcription_action_item.follow_up_3", "example_chats.voice_note_transcription_action_item.follow_up_4", "example_chats.voice_note_transcription_action_item.follow_up_5", "example_chats.voice_note_transcription_action_item.follow_up_6"],
|
|
60800
|
+
messages: [
|
|
60801
|
+
{
|
|
60802
|
+
"id": "621c90d7-2625-4979-8ffe-c0167afb5949",
|
|
60803
|
+
"role": "user",
|
|
60804
|
+
"content": "example_chats.voice_note_transcription_action_item.message_1",
|
|
60805
|
+
"created_at": 1791558631
|
|
60806
|
+
},
|
|
60807
|
+
{
|
|
60808
|
+
"id": "a98d6285-3e9e-5962-8cd7-84ab66709870",
|
|
60809
|
+
"role": "assistant",
|
|
60810
|
+
"content": "example_chats.voice_note_transcription_action_item.message_2",
|
|
60811
|
+
"created_at": 1791558632,
|
|
60812
|
+
"user_message_id": "621c90d7-2625-4979-8ffe-c0167afb5949",
|
|
60813
|
+
"category": "general_knowledge",
|
|
60814
|
+
"model_name": "Gemini 3.8 Flash"
|
|
60815
|
+
}
|
|
60816
|
+
],
|
|
60817
|
+
embeds: [
|
|
60818
|
+
{
|
|
60819
|
+
"embed_id": "476941de-0520-440f-a232-66e7cfb8d7e0",
|
|
60820
|
+
"type": "audio-recording",
|
|
60821
|
+
"content": "app_id: audio\nskill_id: transcribe\ntype: audio-recording\nstatus: finished\nfilename: transcription-demo-voice-note.wav\nembed_ref: transcription-demo-voice-note-wav-ab2ed0-823c8695-2632-495a-9bff-9e66a805d114\nmime_type: audio/wav\npreviewAudioUrl: /store-examples/transcription-demo-voice-note.wav\ntranscript: Real-time transcription is working correctly in OpenMates.\ntranscript_original: Real-time transcription is working correctly in OpenMates.\ntranscript_corrected: Real-time transcription is working correctly in OpenMates.\nuse_corrected: true\ncorrection_model: gemini-3.5-flash\nmodel: voxtral-mini-2602\nwaveform:\n version: 1\n kind: rms-envelope\n samples[128]: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,8,5,4,0,1,4,5,3,5,6,1,1,5,4,4,5,1,1,1,4,3,1,1,0,3,5,6,3,1,7,3,1,3,5,6,4,1,0,4,6,6,1,1,5,4,5,3,3,1,0,3,4,5,5,2,2,8,5,1,5,9,4,1,6,7,6,7,6,5,4,1,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\n duration_seconds: 5",
|
|
60822
|
+
"parent_embed_id": null,
|
|
60823
|
+
"embed_ids": null
|
|
60824
|
+
}
|
|
60825
|
+
],
|
|
60826
|
+
metadata: {
|
|
60827
|
+
featured: true,
|
|
60828
|
+
order: 140
|
|
60829
|
+
}
|
|
60830
|
+
};
|
|
60831
|
+
|
|
60832
|
+
// ../ui/src/demo_chats/data/example_chats/net-cash-from-supplied-balances.ts
|
|
60833
|
+
var netCashFromSuppliedBalancesChat = {
|
|
60834
|
+
chat_id: "example-net-cash-from-supplied",
|
|
60835
|
+
slug: "net-cash-from-supplied-balances",
|
|
60836
|
+
title: "example_chats.net_cash_from_supplied_balances.title",
|
|
60837
|
+
summary: "example_chats.net_cash_from_supplied_balances.summary",
|
|
60838
|
+
icon: "wallet",
|
|
60839
|
+
category: "finance",
|
|
60840
|
+
keywords: ["net cash", "account balances", "checking", "savings", "credit card", "personal finance"],
|
|
60841
|
+
follow_up_suggestions: ["example_chats.net_cash_from_supplied_balances.follow_up_1", "example_chats.net_cash_from_supplied_balances.follow_up_2", "example_chats.net_cash_from_supplied_balances.follow_up_3", "example_chats.net_cash_from_supplied_balances.follow_up_4", "example_chats.net_cash_from_supplied_balances.follow_up_5", "example_chats.net_cash_from_supplied_balances.follow_up_6"],
|
|
60842
|
+
messages: [
|
|
60843
|
+
{
|
|
60844
|
+
"id": "c26a8906-39c8-49a7-97c8-0fc13bfa5907",
|
|
60845
|
+
"role": "user",
|
|
60846
|
+
"content": "example_chats.net_cash_from_supplied_balances.message_1",
|
|
60847
|
+
"created_at": 1791558644
|
|
60848
|
+
},
|
|
60849
|
+
{
|
|
60850
|
+
"id": "0a759f57-e28c-5053-af77-8ab8524f8815",
|
|
60851
|
+
"role": "assistant",
|
|
60852
|
+
"content": "example_chats.net_cash_from_supplied_balances.message_2",
|
|
60853
|
+
"created_at": 1791558645,
|
|
60854
|
+
"user_message_id": "c26a8906-39c8-49a7-97c8-0fc13bfa5907",
|
|
60855
|
+
"category": "finance",
|
|
60856
|
+
"model_name": "Gemini 3.8 Flash"
|
|
60857
|
+
}
|
|
60858
|
+
],
|
|
60859
|
+
embeds: [
|
|
60860
|
+
{
|
|
60861
|
+
"embed_id": "3db1b137-abac-48a5-8c18-31ef7821ec04",
|
|
60862
|
+
"type": "sheet",
|
|
60863
|
+
"content": 'type: sheet\napp_id: sheets\nskill_id: sheet\ntable: "| Account / Obligation | Balance | Category |\\n| :--- | :--- | :--- |\\n| **Checking Account** | +\u20AC1,850 | Liquid Asset |\\n| **Savings Account** | +\u20AC4,200 | Liquid / Semi-liquid Asset |\\n| **Credit Card Balance** | \u2212\u20AC640 | Short-term Liability |\\n| **Net Cash Position** | **+\u20AC5,410** | **Total Liquid Net Worth** |"\ntitle: ""\nembed_ref: sheet-3db1b1\nstatus: finished\nrow_count: 4\ncol_count: 3',
|
|
60864
|
+
"parent_embed_id": null,
|
|
60865
|
+
"embed_ids": null
|
|
60866
|
+
},
|
|
60867
|
+
{
|
|
60868
|
+
"embed_id": "04818ed0-8e67-4cb8-9736-45d5c35d393a",
|
|
60869
|
+
"type": "app_skill_use",
|
|
60870
|
+
"content": 'app_id: math\nskill_id: calculate\nresults[1]:\n - expression_latex: "5410"\n result_latex: "5410.0"\n result_numeric: 5410\n result_str: "5410.00000000000"\n expression_raw: 1850 + 4200 - 640\n title: Net Cash Position\n steps: []\n mode_used: numeric\n error: null\n expression: 1850 + 4200 - 640\n result: "5410.00000000000"\n mode: numeric\nresult_count: 1\nstatus: finished\nembed_ref: net-cash-position-20O\ntitle: Net Cash Position\nexpression: 1850 + 4200 - 640',
|
|
60871
|
+
"parent_embed_id": null,
|
|
60872
|
+
"embed_ids": null
|
|
60873
|
+
}
|
|
60874
|
+
],
|
|
60875
|
+
metadata: {
|
|
60876
|
+
featured: true,
|
|
60877
|
+
order: 141,
|
|
60878
|
+
app_skill_examples: ["math.calculate"]
|
|
60879
|
+
}
|
|
60880
|
+
};
|
|
60881
|
+
|
|
60882
|
+
// ../ui/src/demo_chats/data/example_chats/community-garden-welcome-melody.ts
|
|
60883
|
+
var communityGardenWelcomeMelodyChat = {
|
|
60884
|
+
chat_id: "example-community-garden-welcome-melody",
|
|
60885
|
+
slug: "community-garden-welcome-melody",
|
|
60886
|
+
title: "example_chats.community_garden_welcome_melody.title",
|
|
60887
|
+
summary: "example_chats.community_garden_welcome_melody.summary",
|
|
60888
|
+
icon: "music",
|
|
60889
|
+
category: "design",
|
|
60890
|
+
keywords: ["music generation", "community garden", "instrumental", "welcome video"],
|
|
60891
|
+
follow_up_suggestions: ["example_chats.community_garden_welcome_melody.follow_up_1", "example_chats.community_garden_welcome_melody.follow_up_2", "example_chats.community_garden_welcome_melody.follow_up_3", "example_chats.community_garden_welcome_melody.follow_up_4", "example_chats.community_garden_welcome_melody.follow_up_5", "example_chats.community_garden_welcome_melody.follow_up_6"],
|
|
60892
|
+
messages: [
|
|
60893
|
+
{
|
|
60894
|
+
"id": "e832737d-5070-459b-8be8-ce36d8091e1d",
|
|
60895
|
+
"role": "user",
|
|
60896
|
+
"content": "example_chats.community_garden_welcome_melody.message_1",
|
|
60897
|
+
"created_at": 1791558941
|
|
60898
|
+
},
|
|
60899
|
+
{
|
|
60900
|
+
"id": "735f2e97-c7b0-58f1-b866-cc18382d0eeb",
|
|
60901
|
+
"role": "assistant",
|
|
60902
|
+
"content": "example_chats.community_garden_welcome_melody.message_2",
|
|
60903
|
+
"created_at": 1791558942,
|
|
60904
|
+
"user_message_id": "e832737d-5070-459b-8be8-ce36d8091e1d",
|
|
60905
|
+
"category": "general_knowledge",
|
|
60906
|
+
"model_name": "Gemini 3.8 Flash"
|
|
60907
|
+
}
|
|
60908
|
+
],
|
|
60909
|
+
embeds: [
|
|
60910
|
+
{
|
|
60911
|
+
"embed_id": "296e122a-cd23-4fc6-9c27-99f21f8e3401",
|
|
60912
|
+
"type": "app_skill_use",
|
|
60913
|
+
"content": 'app_id: music\nskill_id: generate\ntype: music\nstatus: finished\nprompt: "A short, gentle, and warm instrumental melody perfect for a community garden welcome video. Acoustic guitar, light marimba, soft piano, and delicate strings evoking nature, sunshine, blooming flowers, and neighborhood collaboration."\nmode: instrumental\nlyrics: null\nstyle: "Acoustic folk, ambient, uplifting, warm, peaceful, gentle"\nduration_seconds: 54.52\nmodel: lyria-3-pro-preview\nprovider: Google Vertex AI\npreviewAudioUrl: /store-examples/community-garden-welcome-melody.mp3\ngenerated_at: "2026-10-09T15:16:27.504966+00:00"\nwatermarking: SynthID\nprovenance:\n ai_generated: true\n labeling: audio_container_metadata\n visual_watermark: false\n provider_watermarking: SynthID',
|
|
60914
|
+
"parent_embed_id": null,
|
|
60915
|
+
"embed_ids": null
|
|
60916
|
+
}
|
|
60917
|
+
],
|
|
60918
|
+
metadata: {
|
|
60919
|
+
featured: true,
|
|
60920
|
+
order: 142,
|
|
60921
|
+
app_skill_examples: ["music.generate"]
|
|
60922
|
+
}
|
|
60923
|
+
};
|
|
60924
|
+
|
|
60925
|
+
// ../ui/src/demo_chats/data/example_chats/berlin-english-speaking-gp-appointments.ts
|
|
60926
|
+
var berlinEnglishSpeakingGpAppointmentsChat = {
|
|
60927
|
+
chat_id: "example-berlin-english-speaking-gp",
|
|
60928
|
+
slug: "berlin-english-speaking-gp-appointments",
|
|
60929
|
+
title: "example_chats.berlin_english_speaking_gp_appointments.title",
|
|
60930
|
+
summary: "example_chats.berlin_english_speaking_gp_appointments.summary",
|
|
60931
|
+
icon: "health",
|
|
60932
|
+
category: "medical_health",
|
|
60933
|
+
keywords: ["doctor appointments", "GP Berlin", "English-speaking doctor", "healthcare"],
|
|
60934
|
+
follow_up_suggestions: ["example_chats.berlin_english_speaking_gp_appointments.follow_up_1", "example_chats.berlin_english_speaking_gp_appointments.follow_up_2", "example_chats.berlin_english_speaking_gp_appointments.follow_up_3", "example_chats.berlin_english_speaking_gp_appointments.follow_up_4", "example_chats.berlin_english_speaking_gp_appointments.follow_up_5", "example_chats.berlin_english_speaking_gp_appointments.follow_up_6"],
|
|
60935
|
+
messages: [
|
|
60936
|
+
{
|
|
60937
|
+
"id": "bddb710b-f700-40cf-8661-c3fd3cba6036",
|
|
60938
|
+
"role": "user",
|
|
60939
|
+
"content": "example_chats.berlin_english_speaking_gp_appointments.message_1",
|
|
60940
|
+
"created_at": 1791560265,
|
|
60941
|
+
"model_name": "gpt-5.4"
|
|
60942
|
+
},
|
|
60943
|
+
{
|
|
60944
|
+
"id": "25c62d4e-d644-5d4e-8807-010430a16bff",
|
|
60945
|
+
"role": "assistant",
|
|
60946
|
+
"content": "example_chats.berlin_english_speaking_gp_appointments.message_2",
|
|
60947
|
+
"created_at": 1791560266,
|
|
60948
|
+
"user_message_id": "bddb710b-f700-40cf-8661-c3fd3cba6036",
|
|
60949
|
+
"category": "medical_health",
|
|
60950
|
+
"model_name": "GPT-5.4"
|
|
60951
|
+
}
|
|
60952
|
+
],
|
|
60953
|
+
embeds: [
|
|
60954
|
+
{
|
|
60955
|
+
"embed_id": "14ccee29-eff7-47e5-8a27-9578da7f6501",
|
|
60956
|
+
"type": "app_skill_use",
|
|
60957
|
+
"content": 'app_id: health\nskill_id: search_appointments\nresult_count: 7\nembed_ids: 99010615-061a-4e3d-86fb-7ae4bab8f8f9|8caa1f23-c3a5-4a0d-8264-290de347ba98|e86095a4-328e-44af-bbd8-c6fa7eb2ceb4|9bc77630-cf0c-4446-a71d-39a137dd6d39|df08bd10-10a0-4dfd-957f-d356617e013e|3be646e8-8f97-48f2-afae-df58f6f8ca61|0645e8d8-b74f-482f-9b04-b44ce6918eb9\nstatus: finished\nspeciality: general_practitioner\ncity: Berlin\nprovider_platform: both\nlanguage: gb\ndays_ahead: "7"\nmax_doctors: 10\nvisit_motive_category: general\npreview_results[6]{name,address}:\n RAB Arztbesuche - Hausbesuche,"Roscherstra\xDFe 3, 10629 Berlin"\n Privatpraxis Reiche,"Roscherstra\xDFe 3, 10629 Berlin"\n "Hausarztpraxis Adlershof - Dr. Gilbert B\xFCchner und Kolleg:innen","Albert-Einstein-Stra\xDFe 2, 12489 Berlin"\n Katrin Reimer-B\xFCrkle,"Kapweg 5, 13405 Berlin"\n die Haus\xE4rzte,"Stargarder Stra\xDFe 69, 10437 Berlin"\n Hermann Fondis,"M\xFCllerstra\xDFe 36, 13353 Berlin"',
|
|
60958
|
+
"parent_embed_id": null,
|
|
60959
|
+
"embed_ids": [
|
|
60960
|
+
"99010615-061a-4e3d-86fb-7ae4bab8f8f9",
|
|
60961
|
+
"8caa1f23-c3a5-4a0d-8264-290de347ba98",
|
|
60962
|
+
"e86095a4-328e-44af-bbd8-c6fa7eb2ceb4",
|
|
60963
|
+
"9bc77630-cf0c-4446-a71d-39a137dd6d39",
|
|
60964
|
+
"df08bd10-10a0-4dfd-957f-d356617e013e",
|
|
60965
|
+
"3be646e8-8f97-48f2-afae-df58f6f8ca61",
|
|
60966
|
+
"0645e8d8-b74f-482f-9b04-b44ce6918eb9"
|
|
60967
|
+
]
|
|
60968
|
+
},
|
|
60969
|
+
{
|
|
60970
|
+
"embed_id": "3be646e8-8f97-48f2-afae-df58f6f8ca61",
|
|
60971
|
+
"type": "appointment",
|
|
60972
|
+
"content": 'type: appointment\nhash: 1582680e2683fa55\nslot_datetime: "2026-10-12T08:00:00.000+02:00"\nname: Hermann Fondis\ntitle: null\ngender: null\ndoctor_type: INDIVIDUAL_PRACTITIONER\naddress: "M\xFCllerstra\xDFe 36, 13353 Berlin"\ngps_coordinates_latitude: 52.54931029999999\ngps_coordinates_longitude: 13.3548785\nspeciality: Hausarzt / Allgemeinmediziner\nlanguages: de|gb\ntelehealth: false\nvisit_motive: "Erstuntersuchung Neupatient:in"\ninsurance: unknown\nallows_new_patients: true\npractice_url: "https://www.doctolib.de/allgemeinmedizin/berlin/hermann-fondis?pid=practice-880520"\nprovider_platform: Doctolib\ncountry: DE\nbooking_url: null\nrating: null\nrating_count: null\nprice: null\nservice_name: null\nvisit_motive_id: 15878387\nagenda_id: 2709870\npractice_id: 880520\nadditional_slot_datetimes: "2026-10-12T08:10:00.000+02:00|2026-10-12T08:20:00.000+02:00"\nadditional_slot_count: 2\nsearch_coverage_Doctolib: partial\nsearch_coverage_Jameda: unsupported\nembed_ref: hermann-fondis-d6N\napp_id: health\nskill_id: search_appointments',
|
|
60973
|
+
"parent_embed_id": "14ccee29-eff7-47e5-8a27-9578da7f6501",
|
|
60974
|
+
"embed_ids": null
|
|
60975
|
+
},
|
|
60976
|
+
{
|
|
60977
|
+
"embed_id": "0645e8d8-b74f-482f-9b04-b44ce6918eb9",
|
|
60978
|
+
"type": "appointment",
|
|
60979
|
+
"content": 'type: appointment\nhash: f537a4207681c60f\nslot_datetime: "2026-10-12T08:10:00.000+02:00"\nname: Lubomir Rakita\ntitle: null\ngender: null\ndoctor_type: INDIVIDUAL_PRACTITIONER\naddress: "Wallstra\xDFe 16, 10179 Berlin"\ngps_coordinates_latitude: 52.5108027\ngps_coordinates_longitude: 13.4069725\nspeciality: Hausarzt / Allgemeinmediziner\nlanguages: de|gb\ntelehealth: false\nvisit_motive: "Erstuntersuchung Neupatient:in"\ninsurance: unknown\nallows_new_patients: true\npractice_url: "https://www.doctolib.de/allgemeinmedizin/berlin/lubomir-rakita?pid=practice-811546"\nprovider_platform: Doctolib\ncountry: DE\nbooking_url: null\nrating: null\nrating_count: null\nprice: null\nservice_name: null\nvisit_motive_id: 15878387\nagenda_id: 2724408\npractice_id: 811546\nadditional_slot_datetimes: "2026-10-12T08:20:00.000+02:00"\nadditional_slot_count: 1\nsearch_coverage_Doctolib: partial\nsearch_coverage_Jameda: unsupported\nembed_ref: lubomir-rakita-UPM\napp_id: health\nskill_id: search_appointments',
|
|
60980
|
+
"parent_embed_id": "14ccee29-eff7-47e5-8a27-9578da7f6501",
|
|
60981
|
+
"embed_ids": null
|
|
60982
|
+
},
|
|
60983
|
+
{
|
|
60984
|
+
"embed_id": "e86095a4-328e-44af-bbd8-c6fa7eb2ceb4",
|
|
60985
|
+
"type": "appointment",
|
|
60986
|
+
"content": 'type: appointment\nhash: 5b58d08e4f37ac17\nslot_datetime: "2026-10-12T07:45:00.000+02:00"\nname: "Hausarztpraxis Adlershof - Dr. Gilbert B\xFCchner und Kolleg:innen"\ntitle: null\ngender: null\ndoctor_type: ORGANIZATION\naddress: "Albert-Einstein-Stra\xDFe 2, 12489 Berlin"\ngps_coordinates_latitude: 52.4317717\ngps_coordinates_longitude: 13.5371206\nspeciality: Hausarzt / Allgemeinmediziner\nlanguages: de|gb\ntelehealth: false\nvisit_motive: "Erstuntersuchung Neupatient:in"\ninsurance: private\nallows_new_patients: true\npractice_url: "https://www.doctolib.de/praxis/berlin/hausarztpraxis-adlershof-dr-med-gilbert-buechner?pid=practice-424702"\nprovider_platform: Doctolib\ncountry: DE\nbooking_url: null\nrating: null\nrating_count: null\nprice: null\nservice_name: null\nvisit_motive_id: 8259486\nagenda_id: 2420631\npractice_id: 424702\nadditional_slot_datetimes: []\nadditional_slot_count: 0\nsearch_coverage_Doctolib: partial\nsearch_coverage_Jameda: unsupported\nembed_ref: hausarztpraxis-adlershof-dr-RRw\napp_id: health\nskill_id: search_appointments',
|
|
60987
|
+
"parent_embed_id": "14ccee29-eff7-47e5-8a27-9578da7f6501",
|
|
60988
|
+
"embed_ids": null
|
|
60989
|
+
},
|
|
60990
|
+
{
|
|
60991
|
+
"embed_id": "df08bd10-10a0-4dfd-957f-d356617e013e",
|
|
60992
|
+
"type": "appointment",
|
|
60993
|
+
"content": 'type: appointment\nhash: 029ab242dd6946de\nslot_datetime: "2026-10-12T08:00:00.000+02:00"\nname: die Haus\xE4rzte\ntitle: null\ngender: null\ndoctor_type: ORGANIZATION\naddress: "Stargarder Stra\xDFe 69, 10437 Berlin"\ngps_coordinates_latitude: 52.54654\ngps_coordinates_longitude: 13.41878\nspeciality: Hausarzt / Allgemeinmediziner\nlanguages: de|gb\ntelehealth: false\nvisit_motive: Akutsprechstunde\ninsurance: unknown\nallows_new_patients: true\npractice_url: "https://www.doctolib.de/gemeinschaftspraxis/berlin/die-hausaerzte-berlin?pid=practice-184293"\nprovider_platform: Doctolib\ncountry: DE\nbooking_url: null\nrating: null\nrating_count: null\nprice: null\nservice_name: null\nvisit_motive_id: 7723803\nagenda_id: 471739\npractice_id: 184293\nadditional_slot_datetimes: "2026-10-12T08:10:00.000+02:00|2026-10-12T08:20:00.000+02:00"\nadditional_slot_count: 2\nsearch_coverage_Doctolib: partial\nsearch_coverage_Jameda: unsupported\nembed_ref: die-haus-rzte-Di3\napp_id: health\nskill_id: search_appointments',
|
|
60994
|
+
"parent_embed_id": "14ccee29-eff7-47e5-8a27-9578da7f6501",
|
|
60995
|
+
"embed_ids": null
|
|
60996
|
+
},
|
|
60997
|
+
{
|
|
60998
|
+
"embed_id": "9bc77630-cf0c-4446-a71d-39a137dd6d39",
|
|
60999
|
+
"type": "appointment",
|
|
61000
|
+
"content": 'type: appointment\nhash: eea0a273c14fb441\nslot_datetime: "2026-10-12T08:00:00.000+02:00"\nname: Katrin Reimer-B\xFCrkle\ntitle: ""\ngender: female\ndoctor_type: INDIVIDUAL_PRACTITIONER\naddress: "Kapweg 5, 13405 Berlin"\ngps_coordinates_latitude: 52.5620986\ngps_coordinates_longitude: 13.330914600000028\nspeciality: Haus\xE4rztin / Allgemeinmedizinerin\nlanguages: gb\ntelehealth: false\nvisit_motive: "Erstuntersuchung Neupatient:in"\ninsurance: private\nallows_new_patients: true\npractice_url: "https://www.doctolib.de/allgemeinmedizin/berlin/katrin-buerkle?pid=practice-33442"\nprovider_platform: Doctolib\ncountry: DE\nbooking_url: null\nrating: null\nrating_count: null\nprice: null\nservice_name: null\nvisit_motive_id: 548953\nagenda_id: 62148\npractice_id: 33442\nadditional_slot_datetimes: "2026-10-12T08:15:00.000+02:00"\nadditional_slot_count: 1\nsearch_coverage_Doctolib: partial\nsearch_coverage_Jameda: unsupported\nembed_ref: katrin-reimer-b-bKm\napp_id: health\nskill_id: search_appointments',
|
|
61001
|
+
"parent_embed_id": "14ccee29-eff7-47e5-8a27-9578da7f6501",
|
|
61002
|
+
"embed_ids": null
|
|
61003
|
+
},
|
|
61004
|
+
{
|
|
61005
|
+
"embed_id": "99010615-061a-4e3d-86fb-7ae4bab8f8f9",
|
|
61006
|
+
"type": "appointment",
|
|
61007
|
+
"content": 'type: appointment\nhash: 0e3fa53ce36adefb\nslot_datetime: "2026-10-09T19:00:00.000+02:00"\nname: RAB Arztbesuche - Hausbesuche\ntitle: null\ngender: null\ndoctor_type: ORGANIZATION\naddress: "Roscherstra\xDFe 3, 10629 Berlin"\ngps_coordinates_latitude: 52.5011872\ngps_coordinates_longitude: 13.3016976\nspeciality: Hausarzt / Allgemeinmediziner\nlanguages: de|gb|fr|it|ru|ua\ntelehealth: false\nvisit_motive: "Hausbesuch (optional: Blutentnahme, Urinprobe, Infusionen, Laboruntersuchungen, Troponintest, Covid/RSV/Influenza-Test)"\ninsurance: private\nallows_new_patients: true\npractice_url: "https://www.doctolib.de/privatpraxis/berlin/rab-arztbesuche?pid=practice-878676"\nprovider_platform: Doctolib\ncountry: DE\nbooking_url: null\nrating: null\nrating_count: null\nprice: null\nservice_name: null\nvisit_motive_id: 17012778\nagenda_id: 2704860\npractice_id: 878676\nadditional_slot_datetimes: "2026-10-09T19:30:00.000+02:00|2026-10-09T20:00:00.000+02:00|2026-10-09T20:30:00.000+02:00|2026-10-09T21:00:00.000+02:00|2026-10-09T21:30:00.000+02:00"\nadditional_slot_count: 83\nsearch_coverage_Doctolib: partial\nsearch_coverage_Jameda: unsupported\nembed_ref: rab-arztbesuche-hausbesuche-6de\napp_id: health\nskill_id: search_appointments',
|
|
61008
|
+
"parent_embed_id": "14ccee29-eff7-47e5-8a27-9578da7f6501",
|
|
61009
|
+
"embed_ids": null
|
|
61010
|
+
},
|
|
61011
|
+
{
|
|
61012
|
+
"embed_id": "8caa1f23-c3a5-4a0d-8264-290de347ba98",
|
|
61013
|
+
"type": "appointment",
|
|
61014
|
+
"content": 'type: appointment\nhash: 542423ec054989d6\nslot_datetime: "2026-10-10T09:15:00.000+02:00"\nname: Privatpraxis Reiche\ntitle: null\ngender: null\ndoctor_type: ORGANIZATION\naddress: "Roscherstra\xDFe 3, 10629 Berlin"\ngps_coordinates_latitude: 52.5011872\ngps_coordinates_longitude: 13.3016976\nspeciality: Hausarzt / Allgemeinmediziner\nlanguages: de|gb|fr|it|ru|ua\ntelehealth: false\nvisit_motive: Konsultation\ninsurance: private\nallows_new_patients: true\npractice_url: "https://www.doctolib.de/privatpraxis/berlin/privatpraxis-reiche?pid=practice-704939"\nprovider_platform: Doctolib\ncountry: DE\nbooking_url: null\nrating: null\nrating_count: null\nprice: null\nservice_name: null\nvisit_motive_id: 14596963\nagenda_id: 2308727\npractice_id: 704939\nadditional_slot_datetimes: "2026-10-10T09:30:00.000+02:00|2026-10-10T09:45:00.000+02:00|2026-10-10T10:15:00.000+02:00|2026-10-10T10:45:00.000+02:00"\nadditional_slot_count: 4\nsearch_coverage_Doctolib: partial\nsearch_coverage_Jameda: unsupported\nembed_ref: privatpraxis-reiche-YIV\napp_id: health\nskill_id: search_appointments',
|
|
61015
|
+
"parent_embed_id": "14ccee29-eff7-47e5-8a27-9578da7f6501",
|
|
61016
|
+
"embed_ids": null
|
|
61017
|
+
}
|
|
61018
|
+
],
|
|
61019
|
+
metadata: {
|
|
61020
|
+
featured: true,
|
|
61021
|
+
order: 143,
|
|
61022
|
+
app_skill_examples: ["health.search_appointments"]
|
|
61023
|
+
}
|
|
61024
|
+
};
|
|
61025
|
+
|
|
61026
|
+
// ../ui/src/demo_chats/data/example_chats/community-garden-sunflower-illustration.ts
|
|
61027
|
+
var communityGardenSunflowerIllustrationChat = {
|
|
61028
|
+
chat_id: "example-community-garden-sunflower-illustration",
|
|
61029
|
+
slug: "community-garden-sunflower-illustration",
|
|
61030
|
+
title: "example_chats.community_garden_sunflower_illustration.title",
|
|
61031
|
+
summary: "example_chats.community_garden_sunflower_illustration.summary",
|
|
61032
|
+
icon: "images",
|
|
61033
|
+
category: "design",
|
|
61034
|
+
keywords: ["botanical illustration", "sunflower", "community garden", "image generation"],
|
|
61035
|
+
follow_up_suggestions: ["example_chats.community_garden_sunflower_illustration.follow_up_1", "example_chats.community_garden_sunflower_illustration.follow_up_2", "example_chats.community_garden_sunflower_illustration.follow_up_3", "example_chats.community_garden_sunflower_illustration.follow_up_4", "example_chats.community_garden_sunflower_illustration.follow_up_5", "example_chats.community_garden_sunflower_illustration.follow_up_6"],
|
|
61036
|
+
messages: [
|
|
61037
|
+
{
|
|
61038
|
+
"id": "5d6ab998-047a-4ada-accc-b1eba1baa53a",
|
|
61039
|
+
"role": "user",
|
|
61040
|
+
"content": "example_chats.community_garden_sunflower_illustration.message_1",
|
|
61041
|
+
"created_at": 1791560540
|
|
61042
|
+
},
|
|
61043
|
+
{
|
|
61044
|
+
"id": "cd839f74-95c7-5c18-8846-6a13138e6c61",
|
|
61045
|
+
"role": "assistant",
|
|
61046
|
+
"content": "example_chats.community_garden_sunflower_illustration.message_2",
|
|
61047
|
+
"created_at": 1791560541,
|
|
61048
|
+
"user_message_id": "5d6ab998-047a-4ada-accc-b1eba1baa53a",
|
|
61049
|
+
"category": "design",
|
|
61050
|
+
"model_name": "Gemini 3.8 Flash"
|
|
61051
|
+
}
|
|
61052
|
+
],
|
|
61053
|
+
embeds: [
|
|
61054
|
+
{
|
|
61055
|
+
"embed_id": "6a3857ca-aa90-486f-b481-4e1df6f95faa",
|
|
61056
|
+
"type": "app_skill_use",
|
|
61057
|
+
"content": 'app_id: images\nskill_id: generate\ntype: image\nstatus: finished\npreviewImageUrl: /store-examples/community-garden-sunflower.webp\npublic_full_width: 1200\npublic_full_height: 896\npublic_full_size_bytes: 495546\nprompt: "A warm, elegant botanical illustration of a blooming sunflower (Helianthus annuus), featuring detailed golden-yellow petals, rich textured seed center, vibrant green stem and leaves. Vintage botanical plate style with subtle watercolor and ink line details, set against a clean, warm off-white minimalist background. High detail, educational garden illustration, no text, no typography, clean composition."\nmodel: gemini-3-pro-image-preview\naspect_ratio: "4:3"\noutput_filetype: png\ngenerated_at: "2026-10-09T15:43:01.403094+00:00"\ninput_embed_ids: []\nprovenance:\n ai_generated: true\n labeling: xmp+c2pa\n visual_watermark: false\n provider_watermarking: provider-dependent',
|
|
61058
|
+
"parent_embed_id": null,
|
|
61059
|
+
"embed_ids": null
|
|
61060
|
+
}
|
|
61061
|
+
],
|
|
61062
|
+
metadata: {
|
|
61063
|
+
featured: true,
|
|
61064
|
+
order: 145,
|
|
61065
|
+
app_skill_examples: ["images.generate"]
|
|
61066
|
+
}
|
|
61067
|
+
};
|
|
61068
|
+
|
|
61069
|
+
// ../ui/src/demo_chats/data/example_chats/community-garden-budget-review.ts
|
|
61070
|
+
var communityGardenBudgetReviewChat = {
|
|
61071
|
+
chat_id: "example-community-garden-budget-review",
|
|
61072
|
+
slug: "community-garden-budget-review",
|
|
61073
|
+
title: "example_chats.community_garden_budget_review.title",
|
|
61074
|
+
summary: "example_chats.community_garden_budget_review.summary",
|
|
61075
|
+
icon: "pdf",
|
|
61076
|
+
category: "finance",
|
|
61077
|
+
keywords: ["PDF budget review", "community garden", "funding gap", "expense summary"],
|
|
61078
|
+
follow_up_suggestions: ["example_chats.community_garden_budget_review.follow_up_1", "example_chats.community_garden_budget_review.follow_up_2", "example_chats.community_garden_budget_review.follow_up_3", "example_chats.community_garden_budget_review.follow_up_4", "example_chats.community_garden_budget_review.follow_up_5", "example_chats.community_garden_budget_review.follow_up_6"],
|
|
61079
|
+
messages: [
|
|
61080
|
+
{
|
|
61081
|
+
"id": "2aa70fa5-39ca-41fd-8233-d0f852045a15",
|
|
61082
|
+
"role": "user",
|
|
61083
|
+
"content": "example_chats.community_garden_budget_review.message_1",
|
|
61084
|
+
"created_at": 1791561758,
|
|
61085
|
+
"model_name": "gpt-5.4"
|
|
61086
|
+
},
|
|
61087
|
+
{
|
|
61088
|
+
"id": "978fe6d5-09d6-54db-8b9d-e6ae45080d6d",
|
|
61089
|
+
"role": "assistant",
|
|
61090
|
+
"content": "example_chats.community_garden_budget_review.message_2",
|
|
61091
|
+
"created_at": 1791561759,
|
|
61092
|
+
"user_message_id": "2aa70fa5-39ca-41fd-8233-d0f852045a15",
|
|
61093
|
+
"category": "finance",
|
|
61094
|
+
"model_name": "GPT-5.4"
|
|
61095
|
+
}
|
|
61096
|
+
],
|
|
61097
|
+
embeds: [
|
|
61098
|
+
{
|
|
61099
|
+
"embed_id": "e3d392de-f8d3-4bbd-a115-df4a3bf95b1c",
|
|
61100
|
+
"type": "app_skill_use",
|
|
61101
|
+
"content": 'app_id: pdf\nskill_id: read\nresults[1]:\n - success: true\n file_path: fictional-community-garden-budget.pdf\n pages_returned: "1"\n pages_skipped: []\n content: "### Page 1\\n\\nCommunity Garden Volunteer Budget - Fictional Example\\n\\nDraft prepared for a sample neighborhood garden project\\n\\nPlanned expenses (EUR)\\nRaised-bed lumber and hardware: 420\\nSoil and compost: 300\\nSeeds and seedlings: 85\\nShared hand tools: 140\\nWatering hoses and connectors: 95\\nOpening event supplies: 75\\n\\nExpected funding (EUR)\\nNeighborhood grant: 800\\nVolunteer donations: 200\\n\\nPlanning note: figures are illustrative and not real account data."\n total_chars: 453\n continuation_hint: null\n error: null\nresult_count: 1\nstatus: finished\nembed_ref: read-w9j\nfile_path: fictional-community-garden-budget.pdf\npages: "1"',
|
|
61102
|
+
"parent_embed_id": null,
|
|
61103
|
+
"embed_ids": null
|
|
61104
|
+
},
|
|
61105
|
+
{
|
|
61106
|
+
"embed_id": "14ad3e3a-5402-49b7-82dc-1c392b9ba5e4",
|
|
61107
|
+
"type": "pdf",
|
|
61108
|
+
"content": 'type: pdf\nfilename: fictional-community-garden-budget.pdf\nembed_ref: fictional-community-garden-budget-pdf-e1-146e58\npage_count: 1\ntotal_tokens_estimated: 110\nper_page_tokens:\n "1": 110\ntoc:\n detected: false\n source_pages: []\n chapters: []\nlegend:\n detected: false\n source_pages: []\n content: ""\npreviewPdfUrl: /store-examples/community-garden-budget.pdf\nocr_provider: mistral\napp_id: pdf\nstatus: finished',
|
|
61109
|
+
"parent_embed_id": null,
|
|
61110
|
+
"embed_ids": null
|
|
61111
|
+
}
|
|
61112
|
+
],
|
|
61113
|
+
metadata: {
|
|
61114
|
+
featured: true,
|
|
61115
|
+
order: 146,
|
|
61116
|
+
app_skill_examples: ["pdf.read"]
|
|
61117
|
+
}
|
|
61118
|
+
};
|
|
61119
|
+
|
|
59596
61120
|
// ../ui/src/demo_chats/exampleChatData.ts
|
|
59597
61121
|
var ALL_EXAMPLE_CHATS = [
|
|
59598
61122
|
giganticAirplanesChat,
|
|
@@ -59691,7 +61215,25 @@ var ALL_EXAMPLE_CHATS = [
|
|
|
59691
61215
|
audioSpeakOpenmatesWelcomeMessageChat,
|
|
59692
61216
|
plumberMessageEmailPhonePrivacyChat,
|
|
59693
61217
|
privatePlumberEmailChat,
|
|
59694
|
-
socialAppNameDomainSearchChat
|
|
61218
|
+
socialAppNameDomainSearchChat,
|
|
61219
|
+
dampedSineDecayPlotChat,
|
|
61220
|
+
communityGardenPlanningMindmapChat,
|
|
61221
|
+
beginnerYogaClassesBerlinChat,
|
|
61222
|
+
urbanHeatIslandAtNightChat,
|
|
61223
|
+
communityGardenVolunteerOnboardingChat,
|
|
61224
|
+
booksAfterLeftHandOfDarknessChat,
|
|
61225
|
+
communityGardenCalendarInvitationChat,
|
|
61226
|
+
mastodonPublicPostThemesChat,
|
|
61227
|
+
adjacentCareerPortfolioExperimentsChat,
|
|
61228
|
+
calmManagerFollowUpChat,
|
|
61229
|
+
autumnBasilBalconyCareChat,
|
|
61230
|
+
bayesTheoremQuickQuizChat,
|
|
61231
|
+
voiceNoteTranscriptionActionItemChat,
|
|
61232
|
+
netCashFromSuppliedBalancesChat,
|
|
61233
|
+
communityGardenWelcomeMelodyChat,
|
|
61234
|
+
berlinEnglishSpeakingGpAppointmentsChat,
|
|
61235
|
+
communityGardenSunflowerIllustrationChat,
|
|
61236
|
+
communityGardenBudgetReviewChat
|
|
59695
61237
|
].sort((a, b) => a.metadata.order - b.metadata.order);
|
|
59696
61238
|
|
|
59697
61239
|
// ../ui/src/demo_chats/exampleChatFiles.ts
|
|
@@ -65654,6 +67196,120 @@ Only output the final Markdown table. Do NOT include explanations, notes, or any
|
|
|
65654
67196
|
text: "Open chat"
|
|
65655
67197
|
}
|
|
65656
67198
|
},
|
|
67199
|
+
daily_inspiration_fallback: {
|
|
67200
|
+
antikythera: {
|
|
67201
|
+
phrase: {
|
|
67202
|
+
text: "An ancient shipwreck held a machine that predicted the sky."
|
|
67203
|
+
},
|
|
67204
|
+
title: {
|
|
67205
|
+
text: "The Antikythera mechanism"
|
|
67206
|
+
},
|
|
67207
|
+
description: {
|
|
67208
|
+
text: "An ancient Greek hand-powered model of the cosmos."
|
|
67209
|
+
},
|
|
67210
|
+
assistant_response: {
|
|
67211
|
+
text: "The Antikythera mechanism used bronze gears to model astronomical cycles. Explore how ancient engineers predicted the sky."
|
|
67212
|
+
}
|
|
67213
|
+
},
|
|
67214
|
+
bioluminescence: {
|
|
67215
|
+
phrase: {
|
|
67216
|
+
text: "Some animals make their own light. The chemistry is surprisingly elegant."
|
|
67217
|
+
},
|
|
67218
|
+
title: {
|
|
67219
|
+
text: "Bioluminescence"
|
|
67220
|
+
},
|
|
67221
|
+
description: {
|
|
67222
|
+
text: "Living organisms producing light through chemistry."
|
|
67223
|
+
},
|
|
67224
|
+
assistant_response: {
|
|
67225
|
+
text: "Organisms glow for hunting, camouflage, communication, and defense. Explore how chemistry becomes light."
|
|
67226
|
+
}
|
|
67227
|
+
},
|
|
67228
|
+
fermi: {
|
|
67229
|
+
phrase: {
|
|
67230
|
+
text: "If the universe is so large, why does it seem so quiet?"
|
|
67231
|
+
},
|
|
67232
|
+
title: {
|
|
67233
|
+
text: "The Fermi paradox"
|
|
67234
|
+
},
|
|
67235
|
+
description: {
|
|
67236
|
+
text: "The tension between likely extraterrestrial life and no clear evidence."
|
|
67237
|
+
},
|
|
67238
|
+
assistant_response: {
|
|
67239
|
+
text: "The Fermi paradox asks why we have found no convincing evidence of extraterrestrial civilizations. Explore possible answers."
|
|
67240
|
+
}
|
|
67241
|
+
},
|
|
67242
|
+
export: {
|
|
67243
|
+
phrase: {
|
|
67244
|
+
text: "Keep your own backup. Export your OpenMates data whenever you need it."
|
|
67245
|
+
},
|
|
67246
|
+
title: {
|
|
67247
|
+
text: "Export your OpenMates data"
|
|
67248
|
+
},
|
|
67249
|
+
description: {
|
|
67250
|
+
text: "Back up chats, settings, memories, and more."
|
|
67251
|
+
},
|
|
67252
|
+
assistant_response: {
|
|
67253
|
+
text: "Export a copy of your OpenMates data from account settings. Sign in to access your encrypted account data."
|
|
67254
|
+
}
|
|
67255
|
+
},
|
|
67256
|
+
pii: {
|
|
67257
|
+
phrase: {
|
|
67258
|
+
text: "Want stronger privacy controls? Add personal details that OpenMates should hide."
|
|
67259
|
+
},
|
|
67260
|
+
title: {
|
|
67261
|
+
text: "Custom PII detection"
|
|
67262
|
+
},
|
|
67263
|
+
description: {
|
|
67264
|
+
text: "Protect personal details before model calls."
|
|
67265
|
+
},
|
|
67266
|
+
assistant_response: {
|
|
67267
|
+
text: "Choose personal details for OpenMates to hide before a model call. Review the privacy settings to manage them."
|
|
67268
|
+
}
|
|
67269
|
+
},
|
|
67270
|
+
focus: {
|
|
67271
|
+
phrase: {
|
|
67272
|
+
text: "Need a more focused answer? Give your mate a specific job."
|
|
67273
|
+
},
|
|
67274
|
+
title: {
|
|
67275
|
+
text: "Focus modes"
|
|
67276
|
+
},
|
|
67277
|
+
description: {
|
|
67278
|
+
text: "Guide a chat toward a specific goal."
|
|
67279
|
+
},
|
|
67280
|
+
assistant_response: {
|
|
67281
|
+
text: "Use a focus mode to guide a chat toward a specific goal. Explore available modes in Apps."
|
|
67282
|
+
}
|
|
67283
|
+
},
|
|
67284
|
+
memories: {
|
|
67285
|
+
phrase: {
|
|
67286
|
+
text: "Repeating yourself gets old. Save context your mates should remember."
|
|
67287
|
+
},
|
|
67288
|
+
title: {
|
|
67289
|
+
text: "Memories"
|
|
67290
|
+
},
|
|
67291
|
+
description: {
|
|
67292
|
+
text: "Save useful preferences and context."
|
|
67293
|
+
},
|
|
67294
|
+
assistant_response: {
|
|
67295
|
+
text: "Save useful preferences and context as memories, then choose what your mates can use."
|
|
67296
|
+
}
|
|
67297
|
+
},
|
|
67298
|
+
events: {
|
|
67299
|
+
phrase: {
|
|
67300
|
+
text: "Looking for something to do? Explore events near you."
|
|
67301
|
+
},
|
|
67302
|
+
title: {
|
|
67303
|
+
text: "Find local events"
|
|
67304
|
+
},
|
|
67305
|
+
description: {
|
|
67306
|
+
text: "Search classes, meetups, and other events."
|
|
67307
|
+
},
|
|
67308
|
+
assistant_response: {
|
|
67309
|
+
text: "Use Events search to find local classes and meetups. Choose a place and topic to see what is happening nearby."
|
|
67310
|
+
}
|
|
67311
|
+
}
|
|
67312
|
+
},
|
|
65657
67313
|
demo_chats: {
|
|
65658
67314
|
announcements_introducing_openmates_v010: {
|
|
65659
67315
|
title: {
|
|
@@ -69487,6 +71143,38 @@ Only output the final Markdown table. Do NOT include explanations, notes, or any
|
|
|
69487
71143
|
}
|
|
69488
71144
|
},
|
|
69489
71145
|
example_chats: {
|
|
71146
|
+
adjacent_career_portfolio_experiments: {
|
|
71147
|
+
title: {
|
|
71148
|
+
text: "Test Two Career Paths from Customer Support"
|
|
71149
|
+
},
|
|
71150
|
+
summary: {
|
|
71151
|
+
text: "Compare technical writing and support operations with practical one-month portfolio experiments and interview questions."
|
|
71152
|
+
},
|
|
71153
|
+
message_1: {
|
|
71154
|
+
text: "I work in software customer support and like writing help guides and improving ticket workflows. What two adjacent roles could I test before applying for a new job? Please suggest small portfolio experiments I could do over the next month and questions to ask people in those roles."
|
|
71155
|
+
},
|
|
71156
|
+
message_2: {
|
|
71157
|
+
text: 'Based on your background in [customer support](wiki:Customer_support) and your enjoyment of help guides and ticket workflows, two natural adjacent roles stand out:\n\n1. **Technical Writer / Customer Education Specialist**\n *Focus:* Organizing [information architecture](wiki:Information_architecture), translating complex software features into clear user documentation, creating troubleshooting guides, and maintaining self-service knowledge bases.\n2. **Support Operations Specialist (Support Ops)**\n *Focus:* Administering support ticketing tools (such as [Zendesk](wiki:Zendesk), Freshdesk, or Jira Service Management), analyzing support metrics, optimizing ticket routing, auditing macros, and automating repetitive processes.\n\n---\n\n### 30-Day Portfolio Experiments\n\nYou do not need to switch jobs immediately to build proof of work. You can run these lightweight experiments directly within your current role or as independent case studies:\n\n#### For Technical Writing / Customer Education\n* **The "Top 5 Tickets" Rewrite:** Identify 3 to 5 common support tickets where users routinely get stuck due to confusing UI or vague existing guides.\n* **The Deliverable:** Write a comprehensive, modular troubleshooting guide or how-to article. Structure it with clear headings, prerequisites, step-by-step instructions, and annotated screenshots or diagrams.\n* **Portfolio Metric:** Track whether tickets tagged with this issue decrease after publishing, or measure internal team feedback on resolution speed.\n\n#### For Support Operations\n* **Macro & Routing Efficiency Audit:** Analyze your team\u2019s existing macro library or ticket routing rules.\n* **The Deliverable:** Create a 1-to-2 page process improvement proposal showing:\n 1. Redundant or outdated macros identified.\n 2. A streamlined categorization schema or automated trigger setup.\n 3. An estimate of time saved per agent per week.\n* **Portfolio Metric:** Present this to your lead or implement it if you have admin access, noting the before-and-after baseline.\n\n---\n\n### Questions for Informational Interviews\n\nWhen reaching out to practitioners on LinkedIn or internally:\n\n#### For Technical Writers\n* *"How do you balance writing for end users versus writing for internal technical teams or engineers?"*\n* *"What does your collaboration cycle look like when product features change rapidly before documentation is updated?"*\n* *"Which authoring tools and docs-as-code workflows are most valued in hiring right now?"*\n\n#### For Support Operations Specialists\n* *"How much of your day is spent configuring tooling and integrations versus analyzing data and ticket volume trends?"*\n* *"When scaling support workflows, what is the most common mistake teams make with automation?"*\n* *"What administrative certifications (e.g., Zendesk, Salesforce) or technical skills made the biggest difference in landing your role?"*\n\n---\n\n### Exploring Your Direction (Question 1 of 5)\n\nTo help identify which path aligns best with your long-term goals and day-to-day preferences, let\'s explore your core work style and interests.\n\n```interactive_question\n{\n "type": "choice",\n "id": "adjacent_role_preference",\n "multiple": false,\n "question": "When you reflect on writing guides versus improving workflows, which type of problem energizes you more?",\n "custom_option_id": "other_focus",\n "custom_placeholder": "Describe what you enjoy most or any specific balance...",\n "options": [\n {\n "id": "content_pedagogy",\n "text": "Crafting clear language, structuring documentation, and teaching users how things work (leaning toward Technical Writing / Education)."\n },\n {\n "id": "systems_tooling",\n "text": "Fixing operational bottlenecks, configuring tools, and streamlining team efficiency (leaning toward Support Operations / RevOps)."\n },\n {\n "id": "hybrid_balance",\n "text": "An even split between both; I want to improve internal systems while also authoring the guides."\n },\n {\n "id": "other_focus",\n "text": "Something else / A different aspect entirely."\n }\n ]\n}\n```\n\n**Recommendation:** If you prefer heads-down focus, communication clarity, and UX empathy, the Technical Writing track generally offers more autonomy. If you prefer problem-solving around tool administration, metrics, and systems logic, Support Operations provides a faster runway into operational leadership and product operations.\n\n---\n\n**Potential next steps:**\n- [Draft an outreach message for informational interviews](/#message=Help%20me%20draft%20a%20concise%20outreach%20message%20to%20send%20to%20a%20Technical%20Writer%20or%20Support%20Ops%20lead%20on%20LinkedIn.)\n- [Outline a support workflow audit template](/#message=Create%20a%20step-by-step%20template%20for%20a%20support%20macro%20and%20workflow%20audit%20experiment.)\n---\n*\u26A0\uFE0F This is educational information only and not professional psychological advice. For mental health concerns, please consult a qualified therapist or counselor. If you\'re experiencing a crisis, contact emergency services or a crisis hotline immediately.*'
|
|
71158
|
+
},
|
|
71159
|
+
follow_up_1: {
|
|
71160
|
+
text: "Search for remote technical writer jobs and requirements"
|
|
71161
|
+
},
|
|
71162
|
+
follow_up_2: {
|
|
71163
|
+
text: "Draft a concise outreach message for a technical writer interview"
|
|
71164
|
+
},
|
|
71165
|
+
follow_up_3: {
|
|
71166
|
+
text: "Create a task list for your thirty day portfolio experiment"
|
|
71167
|
+
},
|
|
71168
|
+
follow_up_4: {
|
|
71169
|
+
text: "Outline a step by step guide for your support workflow audit"
|
|
71170
|
+
},
|
|
71171
|
+
follow_up_5: {
|
|
71172
|
+
text: "Search for support operations certification courses and requirements"
|
|
71173
|
+
},
|
|
71174
|
+
follow_up_6: {
|
|
71175
|
+
text: "Compare the daily responsibilities and growth paths of both roles"
|
|
71176
|
+
}
|
|
71177
|
+
},
|
|
69490
71178
|
ai_workshops_meetups_berlin: {
|
|
69491
71179
|
title: {
|
|
69492
71180
|
text: "AI Workshops and Meetups in Berlin"
|
|
@@ -69569,6 +71257,38 @@ Only output the final Markdown table. Do NOT include explanations, notes, or any
|
|
|
69569
71257
|
text: "OpenMates can transcribe short voice notes from the command line."
|
|
69570
71258
|
}
|
|
69571
71259
|
},
|
|
71260
|
+
autumn_basil_balcony_care: {
|
|
71261
|
+
title: {
|
|
71262
|
+
text: "Autumn Basil Care on a Berlin Balcony"
|
|
71263
|
+
},
|
|
71264
|
+
summary: {
|
|
71265
|
+
text: "Simple autumn care for basil on an east-facing balcony: light, watering, cold signs, and moving indoors."
|
|
71266
|
+
},
|
|
71267
|
+
message_1: {
|
|
71268
|
+
text: "Could you make a concise beginner-friendly care guide for my sweet basil on an east-facing Berlin balcony this autumn? I mostly need watering, light, cold-weather signs, and when to bring it inside."
|
|
71269
|
+
},
|
|
71270
|
+
message_2: {
|
|
71271
|
+
text: 'Here is a concise, autumn-specific care guide for your sweet basil (*Ocimum basilicum*) on an east-facing balcony in Berlin:\n\n---\n\n### 1. Light (East-Facing Balcony)\n* **What to expect:** In Berlin\u2019s autumn, sunrise is lower and daylight hours drop quickly. An east-facing balcony provides soft morning sun for about 2\u20134 hours, which is on the lower side for sun-loving basil.\n* **Placement:** Place the pot as close to the outer railing as safely possible, away from wall shadows, to maximize unobstructed morning sky exposure.\n* **Reflective trick:** Positioning it against a white or light-colored wall can bounce extra ambient light toward the leaves.\n\n---\n\n### 2. Watering Routine\n* **Rule:** Basil\u2019s water needs drop significantly in cool weather because evaporation slows down and plant growth halts.\n* **Check first:** Water **only** when the top 2\u20133 cm (about an inch) of soil feels dry to the touch. Do not water on a fixed calendar schedule.\n* **Timing:** Always water in the morning with room-temperature water. Avoid cold tap water straight from the pipe, which shocks cool roots.\n* **Drainage:** Never allow the pot to sit in standing saucer water; cool, waterlogged soil leads quickly to root rot (*Fusarium* or water mold).\n\n---\n\n### 3. When to Bring It Inside\n* **Critical threshold:** Basil is a tropical tender herb. It suffers physiological cold stress below **10\xB0C (50\xB0F)** and sustains severe tissue damage or death near **0\xB0C to 4\xB0C**.\n* **Timing for Berlin:** Berlin overnight temperatures often drop below 10\xB0C by late September or early October.\n* **Action:** **Bring it inside now** if night forecasts dip below 10\xB0C.\n\n---\n\n### 4. Signs of Cold & Light Stress\n* **Blackened or translucent leaves:** Clear sign of chilling injury (cellular collapse from temperatures below 8\u201310\xB0C).\n* **Purpling or dulling foliage:** A classic response to cold stress combined with slow nutrient uptake.\n* **Drooping while soil is moist:** Root chill or root rot; the roots are too cold or damaged to take up moisture even if water is present.\n* **Stretching / Pale green growth:** Insufficient sunlight (etiolation).\n\n---\n\n### 5. Moving Indoors: Quick Transition Tips\n1. **Brightest window:** Place it on a south-facing windowsill if available; otherwise, the brightest east- or west-facing window.\n2. **Avoid drafts & radiators:** Keep it away from cold cracked window drafts as well as drying heat blowing directly from a radiator (*Heizung*).\n3. **Pest inspection:** Check leaf undersides for aphids or spider mites before placing it near other indoor houseplants.\n4. **Harvest from the top:** Pinch off flower buds and top leaf pairs to encourage bushiness rather than leggy flowering.\n\n---\n\n```interactive_question\n{\n "type": "choice",\n "id": "basil_indoor_setup",\n "multiple": false,\n "question": "Where are you planning to put your basil once it moves inside?",\n "options": [\n { "id": "south_window", "text": "South- or west-facing sunny windowsill" },\n { "id": "east_window", "text": "Staying near the east window indoors" },\n { "id": "grow_light", "text": "Under a dedicated grow light / LED lamp" },\n { "id": "other_spot", "text": "Another room or location" }\n ],\n "custom_option_id": "other_spot",\n "custom_placeholder": "Describe your indoor spot..."\n}\n```\n\n**Next Steps & Suggestions:**\n* [Set a reminder to check tonight\'s low temperatures in Berlin](/#message=Check%20the%20weather%20forecast%20for%20Berlin%20tonight%20to%20see%20if%20it%20drops%20below%2010C.)\n* [Get tips on preserving a large basil harvest](/#message=How%20can%20I%20harvest%20and%20preserve%20my%20basil%20leaves%20before%20winter?)'
|
|
71272
|
+
},
|
|
71273
|
+
follow_up_1: {
|
|
71274
|
+
text: "Check the current weather forecast and overnight temperatures in Berlin"
|
|
71275
|
+
},
|
|
71276
|
+
follow_up_2: {
|
|
71277
|
+
text: "Explain how to harvest sweet basil to encourage bushier growth"
|
|
71278
|
+
},
|
|
71279
|
+
follow_up_3: {
|
|
71280
|
+
text: "Search for quick methods to preserve fresh basil leaves"
|
|
71281
|
+
},
|
|
71282
|
+
follow_up_4: {
|
|
71283
|
+
text: "Describe signs of root rot and how to rescue waterlogged basil"
|
|
71284
|
+
},
|
|
71285
|
+
follow_up_5: {
|
|
71286
|
+
text: "Search for indoor LED grow light options for herbs"
|
|
71287
|
+
},
|
|
71288
|
+
follow_up_6: {
|
|
71289
|
+
text: "List the best companion plants for indoor potted herbs"
|
|
71290
|
+
}
|
|
71291
|
+
},
|
|
69572
71292
|
balcony_plant_reminder: {
|
|
69573
71293
|
title: {
|
|
69574
71294
|
text: "Balcony Plant Reminder"
|
|
@@ -69583,6 +71303,44 @@ Only output the final Markdown table. Do NOT include explanations, notes, or any
|
|
|
69583
71303
|
text: '```json\n{"type": "app_skill_use", "embed_id": "d2acf0ee-89b9-4476-9a35-9de4895158aa", "app_id": "reminder", "skill_id": "set-reminder"}\n```\n\nOK. I\'ve set a reminder for you to water the balcony plants tomorrow, June 8th, at 9:00 AM UTC.\n\nTo make sure you don\'t miss the notification even if you aren\'t using the app, you might want to [enable email notifications](/#settings/apps/reminder) in your account settings.\n\nIs there anything else you\'d like to schedule, or perhaps some tips on balcony gardening?\n\n**Follow-up suggestions:**\n* Would you like to make this a recurring weekly reminder?\n* Do you need help identifying which plants need more or less water?'
|
|
69584
71304
|
}
|
|
69585
71305
|
},
|
|
71306
|
+
bayes_theorem_quick_quiz: {
|
|
71307
|
+
title: {
|
|
71308
|
+
text: "Learn Bayes\u2019 Theorem with a Quick Quiz"
|
|
71309
|
+
},
|
|
71310
|
+
summary: {
|
|
71311
|
+
text: "Understand prior and posterior probability through a concrete example, then test your intuition with follow-up questions."
|
|
71312
|
+
},
|
|
71313
|
+
message_1: {
|
|
71314
|
+
text: "I have a statistics exam next week. Could you explain Bayes theorem with one everyday example and then quiz me?"
|
|
71315
|
+
},
|
|
71316
|
+
message_2: {
|
|
71317
|
+
text: '### What is Bayes\u2019 Theorem?\n\n[Bayes\' theorem](wiki:Bayes\'_theorem) is a mathematical rule for updating the probability of an event or hypothesis ($A$) when you observe new evidence ($B$).\n\nIn symbols:\n\n$$P(A|B) = \\frac{P(B|A) \\cdot P(A)}{P(B)}$$\n\nHere is what each component represents:\n* **$P(A)$ \u2014 [Prior probability](wiki:Prior_probability):** Your initial estimate of how likely $A$ is before seeing new data (the baseline or base rate).\n* **$P(B|A)$ \u2014 Likelihood:** The probability of observing evidence $B$ if hypothesis $A$ is actually true.\n* **$P(B)$ \u2014 [Marginal likelihood](wiki:Marginal_likelihood):** The total probability of observing evidence $B$ across all possible scenarios.\n* **$P(A|B)$ \u2014 [Posterior probability](wiki:Posterior_probability):** The updated probability of $A$ given that evidence $B$ occurred.\n\n---\n\n### An Everyday Example: The Rapid Medical Test\n\nImagine you take a rapid screening test for a rare condition:\n\n1. **Base Rate (Prior):** Only **$1\\%$** of people in your population actually have this condition:\n $$P(\\text{Condition}) = 0.01, \\quad P(\\text{Healthy}) = 0.99$$\n2. **Test Sensitivity (Likelihood):** If someone has the condition, the test is positive $90\\%$ of the time:\n $$P(\\text{Positive} \\mid \\text{Condition}) = 0.90$$\n3. **False Positive Rate:** If someone does not have it, the test falsely shows positive $10\\%$ of the time:\n $$P(\\text{Positive} \\mid \\text{Healthy}) = 0.10$$\n\nNow suppose **your test comes back positive**. What is the probability you actually have the condition?\n\n#### Applying the Formula:\nFirst, calculate the total chance of getting a positive test, $P(\\text{Positive})$:\n$$\\begin{aligned}\nP(\\text{Positive}) &= P(\\text{Positive} \\mid \\text{Condition}) \\cdot P(\\text{Condition}) + P(\\text{Positive} \\mid \\text{Healthy}) \\cdot P(\\text{Healthy}) \\\\\n&= (0.90 \\cdot 0.01) + (0.10 \\cdot 0.99) \\\\\n&= 0.009 + 0.099 = 0.108\n\\end{aligned}$$\n\nNow, calculate your posterior probability:\n$$P(\\text{Condition} \\mid \\text{Positive}) = \\frac{0.009}{0.108} \\approx 8.3\\%$$\n\nEven with a $90\\%$ accurate test, the chance of actually having the condition is only around **$8.3\\%$**. Because the condition is rare, false positives from the healthy majority easily outnumber true positives from the sick minority.\n\n---\n\n### Quick Check\n\nLet\u2019s test your understanding of the terms:\n\n```interactive_question\n{\n "type": "choice",\n "id": "bayes_components_quiz_1",\n "multiple": false,\n "question": "In the formula P(A|B) = [P(B|A) * P(A)] / P(B), which term represents our initial belief or baseline rate before any new evidence is observed?",\n "options": [\n { "id": "opt_pa", "text": "P(A) \u2014 Prior probability" },\n { "id": "opt_pba", "text": "P(B|A) \u2014 Likelihood" },\n { "id": "opt_pab", "text": "P(A|B) \u2014 Posterior probability" },\n { "id": "opt_pb", "text": "P(B) \u2014 Marginal probability of evidence" }\n ]\n}\n```'
|
|
71318
|
+
},
|
|
71319
|
+
message_3: {
|
|
71320
|
+
text: "I think P(A) is the prior probability, the starting base rate. Is that right? Could you give me one more short question to try?"
|
|
71321
|
+
},
|
|
71322
|
+
message_4: {
|
|
71323
|
+
text: 'That is spot on. $P(A)$ is the **prior probability**\u2014your baseline or starting belief before factoring in any new observations or test results. In our medical screening example, that was the $1\\%$ general population rate.\n\n---\n\n### Challenge Question: Intuition Check\n\nHere is a quick scenario to test your intuition about how Bayes\' theorem behaves in practice:\n\n```interactive_question\n{\n "type": "choice",\n "id": "bayes_intuition_quiz_2",\n "multiple": false,\n "question": "Suppose a burglar alarm goes off in a neighborhood. If burglary is extremely rare in that area (a very tiny prior probability), what is typically true about the posterior probability that a break-in actually occurred, assuming the alarm has a non-zero false alarm rate?",\n "options": [\n {\n "id": "opt_very_high",\n "text": "The posterior probability is close to 100% because alarms are specifically built to detect break-ins."\n },\n {\n "id": "opt_counterintuitively_low",\n "text": "The posterior probability may remain surprisingly low because false alarms from normal events outnumber true break-ins."\n },\n {\n "id": "opt_equal_to_prior",\n "text": "The posterior probability remains completely unchanged regardless of whether the alarm sounds."\n },\n {\n "id": "opt_independent",\n "text": "The posterior probability depends only on alarm volume, not the baseline frequency of burglaries."\n }\n ]\n}\n```\n\n***\n\n**Suggested Next Steps:**\n* [Calculate a full numerical Bayes problem step-by-step](/#message=Can%20we%20solve%20a%20full%20numerical%20Bayes%20theorem%20exam%20problem%20step%20by%20step%3F)\n* [Review continuous Bayes and conjugate priors](/#message=Can%20you%20explain%20how%20Bayes%20theorem%20works%20with%20continuous%20random%20variables%20and%20priors%3F)'
|
|
71324
|
+
},
|
|
71325
|
+
follow_up_1: {
|
|
71326
|
+
text: "Calculate a custom Bayes theorem probability word problem"
|
|
71327
|
+
},
|
|
71328
|
+
follow_up_2: {
|
|
71329
|
+
text: "Explain the difference between frequentist and Bayesian statistics"
|
|
71330
|
+
},
|
|
71331
|
+
follow_up_3: {
|
|
71332
|
+
text: "Search for practice statistics exam questions on probability"
|
|
71333
|
+
},
|
|
71334
|
+
follow_up_4: {
|
|
71335
|
+
text: "Walk through another Bayes theorem example with multiple outcomes"
|
|
71336
|
+
},
|
|
71337
|
+
follow_up_5: {
|
|
71338
|
+
text: "Find online video tutorials explaining Bayes theorem visually"
|
|
71339
|
+
},
|
|
71340
|
+
follow_up_6: {
|
|
71341
|
+
text: "Test me on calculating posterior probability with numbers"
|
|
71342
|
+
}
|
|
71343
|
+
},
|
|
69586
71344
|
beautiful_single_page_html: {
|
|
69587
71345
|
title: {
|
|
69588
71346
|
text: "Beautiful Single Page HTML"
|
|
@@ -69615,6 +71373,38 @@ Only output the final Markdown table. Do NOT include explanations, notes, or any
|
|
|
69615
71373
|
text: "[code] Create a similar template but with a different design aesthetic"
|
|
69616
71374
|
}
|
|
69617
71375
|
},
|
|
71376
|
+
beginner_yoga_classes_berlin: {
|
|
71377
|
+
title: {
|
|
71378
|
+
text: "Beginner Yoga Classes in Berlin"
|
|
71379
|
+
},
|
|
71380
|
+
summary: {
|
|
71381
|
+
text: "Find three beginner-friendly yoga classes in Berlin with times, prices, and booking links."
|
|
71382
|
+
},
|
|
71383
|
+
message_1: {
|
|
71384
|
+
text: "I\u2019m new to yoga and would like a beginner-friendly class in Berlin next week. Can you find a few classes with times, prices, and booking links?"
|
|
71385
|
+
},
|
|
71386
|
+
message_2: {
|
|
71387
|
+
text: '```json\n{"type":"app_skill_use","embed_id":"e4569c35-68a2-486d-af5d-dc5600aca187","app_id":"fitness","skill_id":"search_classes"}\n```\n\n```json\n{"type":"app_skill_use","embed_id":"02f512fa-c82a-41c4-b392-1f52e71d63ba","app_id":"events","skill_id":"search"}\n```\n\nHere are beginner-friendly [yoga](wiki:Yoga) classes taking place across Berlin next week:\n\n```embeds_results_view\ntitle: Beginner Yoga Classes in Berlin (Next Week)\nembeds: yoga-for-grounding-TB2, mobility-yoga-optional-qv3, vinyasa-flow-in-a8l\n```\n\n---\n\n### 1. [Yoga for Grounding](embed:yoga-for-grounding-TB2) (Kreuzberg)\n- **What it is:** A mindful class balancing breath-led movement with holding postures to explore alignment and stillness. Designed specifically to be accessible for beginners (held in English).\n- **Date & Time:** Wednesday, October 14, 2026, 18:00 \u2013 19:00 CEST (arrive 10 mins early)\n- **Location:** Art OM, Wrangelstra\xDFe 54, 10997 Berlin ([Kreuzberg](wiki:Kreuzberg))\n- **Price:** \u20AC11.83 \u2013 \u20AC22.49\n- **Booking:** [Book tickets on Eventbrite](embed:yoga-for-grounding-TB2)\n\n### 2. [Mobility Yoga & Optional Bouldering](embed:mobility-yoga-optional-qv3) (Friedrichshain)\n- **What it is:** An informal, relaxed all-levels mobility and yoga session where flows are explained step-by-step at a gentle pace. No prior flexibility or experience required.\n- **Date & Time:** Tuesday, October 13, 2026, 19:00 \u2013 19:45 CEST (arrive 15 mins early)\n- **Location:** Urban Apes Friedrichshain, Friedensstra\xDFe 91 B, Berlin ([Friedrichshain](wiki:Friedrichshain))\n- **Price:** \u20AC5 (free entry with Urban Sports Club / Wellpass if you also boulder)\n- **Booking:** [View details and booking link](embed:mobility-yoga-optional-qv3)\n\n### 3. [Vinyasa Flow](embed:vinyasa-flow-in-a8l) (Wedding / Mitte)\n- **What it is:** A dynamic yet gentle Vinyasa session offering modifications for beginners, focusing on breath awareness, body alignment, and stress release.\n- **Date & Time:** Wednesday, October 14, 2026, 19:30 \u2013 21:00 CEST\n- **Location:** YOGA at Lobe Block UG, B\xF6ttgerstra\xDFe 16, Berlin (Gesundbrunnen / [Mitte](wiki:Mitte))\n- **Price:** \u20AC10 for your first trial class (starter pack: 3 classes for \u20AC20)\n- **Booking:** [RSVP via Berlin Yoga Club Meetup](embed:vinyasa-flow-in-a8l)\n\n---\n\n### Tips for your first yoga class\n* **Attire:** Comfortable, stretchy clothing you can move and bend in easily. Yoga is usually practiced barefoot.\n* **Hydration & Meals:** Avoid heavy meals within 1.5\u20132 hours before class.\n* **Listen to your body:** Let the teacher know before class that it\'s your first time; they will gladly show you adjustments and props (blocks, blankets, or straps). If you have pre-existing joint or back issues, check in with a doctor or physical therapist before trying dynamic sequences.\n\nWould you like recommendations closer to a specific neighborhood (e.g., Neuk\xF6lln, Prenzlauer Berg, Charlottenburg), or focused on a gentle style like [Hatha yoga](wiki:Hatha_yoga) or [Yin yoga](wiki:Yin_yoga)?\n---\n*\u26A0\uFE0F This is educational information only and not medical advice. Consult your doctor for medical decisions.*'
|
|
71388
|
+
},
|
|
71389
|
+
follow_up_1: {
|
|
71390
|
+
text: "Search for yoga classes in Neuk\xF6lln Berlin"
|
|
71391
|
+
},
|
|
71392
|
+
follow_up_2: {
|
|
71393
|
+
text: "Explain what to expect during a first yoga class"
|
|
71394
|
+
},
|
|
71395
|
+
follow_up_3: {
|
|
71396
|
+
text: "Find Hatha yoga workshops next weekend"
|
|
71397
|
+
},
|
|
71398
|
+
follow_up_4: {
|
|
71399
|
+
text: "Compare Vinyasa and Hatha yoga styles"
|
|
71400
|
+
},
|
|
71401
|
+
follow_up_5: {
|
|
71402
|
+
text: "Search for Yin yoga studios in Mitte"
|
|
71403
|
+
},
|
|
71404
|
+
follow_up_6: {
|
|
71405
|
+
text: "List beginner tips for buying a yoga mat"
|
|
71406
|
+
}
|
|
71407
|
+
},
|
|
69618
71408
|
berlin_ai_founder_meetups_map: {
|
|
69619
71409
|
title: {
|
|
69620
71410
|
text: "Berlin AI founder meetups map"
|
|
@@ -69629,6 +71419,38 @@ Only output the final Markdown table. Do NOT include explanations, notes, or any
|
|
|
69629
71419
|
text: '```json\n{"type": "app_skill_use", "embed_id": "50dda9ce-723f-4e07-80d1-7da89a80dd39", "app_id": "events", "skill_id": "search", "query": "AI workshop meetup", "provider": "meetup", "providers": ["meetup"], "location": "Berlin, Germany"}\n```\n\nHere are the upcoming AI workshops and meetups in Berlin that are best suited for founders looking to build, validate, and connect with other builders:\n\n1. [Build your first app with AI in one evening](embed:build-your-first-K18) (Luma) \u2014 A hands-on physical workshop focusing on practical agentic coding tools. Perfect for founders who want to move past the chat box and build prototypes.\n2. [Build Fridays Berlin](embed:build-fridays-berlin-O4R) (Meetup / Luma) hosted at Miro Office \u2014 An open work session and networking event specifically designed for founders, engineers, and product people who want to ship product, demo work, and solve blockers with peers.\n3. [Master AI Entrepreneurship Masterclass](embed:master-ai-entrepreneurship-QvO) (Eventbrite) \u2014 Focused on spotting profitable opportunities and validating AI business models.\n4. [Prompt to Profit](embed:prompt-to-profit-3sF) (Eventbrite) \u2014 A practical workshop for leveraging generative AI for business innovation and growth.\n### Best Option for Practical Networking & Building: **Build Fridays Berlin**\nFor a founder prioritizing **practical networking**, [Build Fridays Berlin](embed:build-fridays-berlin-O4R) is the standout choice. Unlike standard lecture-style webinars, it brings active builders together in person (hosted at Miro) with structured intros, open hacking, demo time, and direct feedback from fellow founders and engineers who prefer shipping over talking. \n\nIf you want an intensive technical workshop alongside that, [Build your first app with AI in one evening](embed:build-your-first-K18) is also an excellent hands-on option.\n\nWould you like help preparing a pitch or project demo to bring to one of these sessions?\n\n```embeds_map_view\ntitle: Mapped results\nembeds: build-your-first-K18, build-fridays-berlin-O4R, master-ai-entrepreneurship-QvO, prompt-to-profit-3sF\nhighlight: build-fridays-berlin-O4R\n```'
|
|
69630
71420
|
}
|
|
69631
71421
|
},
|
|
71422
|
+
berlin_english_speaking_gp_appointments: {
|
|
71423
|
+
title: {
|
|
71424
|
+
text: "Find an English-speaking GP in Berlin"
|
|
71425
|
+
},
|
|
71426
|
+
summary: {
|
|
71427
|
+
text: "Find appointment options with honest insurance details and practice links."
|
|
71428
|
+
},
|
|
71429
|
+
message_1: {
|
|
71430
|
+
text: "I need an English-speaking GP appointment in Berlin next week. Please compare the earliest options, show their appointment cards, and only state insurance coverage when the booking listing confirms it. If coverage is unclear, say so."
|
|
71431
|
+
},
|
|
71432
|
+
message_2: {
|
|
71433
|
+
text: '```json\n{"type":"app_skill_use","embed_id":"14ccee29-eff7-47e5-8a27-9578da7f6501","app_id":"health","skill_id":"search_appointments"}\n```\n\nHere are the earliest English-speaking GP options in Berlin within the next 7 days that I found. I\u2019m only stating insurance coverage where the booking listing itself indicates it.\n\n[!](embed:hausarztpraxis-adlershof-dr-RRw)\n[!](embed:katrin-reimer-b-bKm)\n[!](embed:die-haus-rzte-Di3)\n[!](embed:hermann-fondis-d6N)\n[!](embed:lubomir-rakita-UPM)\n\n**Earliest options next week**\n1. **Mon 12 Oct, 07:45** \u2014 [Hausarztpraxis Adlershof - Dr. Gilbert B\xFCchner und Kolleg:innen](embed:hausarztpraxis-adlershof-dr-RRw)\n - Address: Albert-Einstein-Stra\xDFe 2, 12489 Berlin\n - Visit type: Erstuntersuchung Neupatient:in\n - Languages shown: German, English\n - **Insurance:** private *(confirmed by listing)*\n\n2. **Mon 12 Oct, 08:00** \u2014 [Katrin Reimer-B\xFCrkle](embed:katrin-reimer-b-bKm)\n - Address: Kapweg 5, 13405 Berlin\n - Visit type: Erstuntersuchung Neupatient:in\n - Languages shown: English\n - **Insurance:** private *(confirmed by listing)*\n\n3. **Mon 12 Oct, 08:00** \u2014 [die Haus\xE4rzte](embed:die-haus-rzte-Di3)\n - Address: Stargarder Stra\xDFe 69, 10437 Berlin\n - Visit type: Akutsprechstunde\n - Languages shown: German, English\n - **Insurance:** unclear *(the listing does not confirm it)*\n\n4. **Mon 12 Oct, 08:00** \u2014 [Hermann Fondis](embed:hermann-fondis-d6N)\n - Address: M\xFCllerstra\xDFe 36, 13353 Berlin\n - Visit type: Erstuntersuchung Neupatient:in\n - Languages shown: German, English\n - **Insurance:** unclear *(the listing does not confirm it)*\n\n5. **Mon 12 Oct, 08:10** \u2014 [Lubomir Rakita](embed:lubomir-rakita-UPM)\n - Address: Wallstra\xDFe 16, 10179 Berlin\n - Visit type: Erstuntersuchung Neupatient:in\n - Languages shown: German, English\n - **Insurance:** unclear *(the listing does not confirm it)*\n\nA couple of notes:\n- I excluded the two earlier options on **9\u201310 Oct** from the comparison above because you asked for **next week** specifically.\n- These results appear to come from Doctolib listings; Jameda coverage was unsupported in this search result set.\n\n```embeds_results_view\ntitle: Earliest English-speaking GP appointments in Berlin next week\nembeds: hausarztpraxis-adlershof-dr-RRw, katrin-reimer-b-bKm, die-haus-rzte-Di3, hermann-fondis-d6N, lubomir-rakita-UPM\n```\n\nIf you want, I can next:\n- narrow this to **public insurance only** where confirmed, or\n- create a short shortlist by **district / distance from your area**.\n---\n*\u26A0\uFE0F This is educational information only and not medical advice. Consult your doctor for medical decisions.*'
|
|
71434
|
+
},
|
|
71435
|
+
follow_up_1: {
|
|
71436
|
+
text: "Search for public insurance GP appointments in Mitte"
|
|
71437
|
+
},
|
|
71438
|
+
follow_up_2: {
|
|
71439
|
+
text: "Filter the appointments to show public insurance only"
|
|
71440
|
+
},
|
|
71441
|
+
follow_up_3: {
|
|
71442
|
+
text: "Find English-speaking doctors near Prenzlauer Berg district"
|
|
71443
|
+
},
|
|
71444
|
+
follow_up_4: {
|
|
71445
|
+
text: "Narrow down the options by neighborhood and distance"
|
|
71446
|
+
},
|
|
71447
|
+
follow_up_5: {
|
|
71448
|
+
text: "Search for specialist medical appointments in Berlin"
|
|
71449
|
+
},
|
|
71450
|
+
follow_up_6: {
|
|
71451
|
+
text: "Explain how to book these doctor appointments online"
|
|
71452
|
+
}
|
|
71453
|
+
},
|
|
69632
71454
|
berlin_mitte_work_friendly_restaurants: {
|
|
69633
71455
|
title: {
|
|
69634
71456
|
text: "Berlin Mitte Work-Friendly Restaurants Map"
|
|
@@ -69707,6 +71529,38 @@ Only output the final Markdown table. Do NOT include explanations, notes, or any
|
|
|
69707
71529
|
text: '```json\n{"type": "app_skill_use", "embed_id": "5d80260f-35df-4dd9-ac4f-925c37abc955", "app_id": "weather", "skill_id": "forecast", "query": "Berlin weather forecast", "provider": "Deutscher Wetterdienst (DWD) + Open-Meteo"}\n```\n\n```json\n{"type": "app_skill_use", "embed_id": "15f125e6-cd71-4a54-9b1b-05d4d5502ed3", "app_id": "images", "skill_id": "search", "query": "Berlin street style June clothing", "provider": "Brave Search"}\n```\n\n```json\n{"type": "app_skill_use", "embed_id": "b2001641-f4c6-4fd5-adfd-660e74df56f3", "app_id": "images", "skill_id": "search", "query": "Berlin bicycle commuting summer", "provider": "Brave Search"}\n```\n\nThe weather in [Berlin](wiki:Berlin) over the next few days will be a mix of warm sunshine and a brief rainy spell, followed by cooler, breezy conditions. Here is the forecast and what it means for your daily routine.\n\n### \u{1F324}\uFE0F Weather Forecast (June 8 \u2013 June 12)\n\n* **Monday (June 8):** The warmest day of the week. Expect a high of **24.3\xB0C** and a low of **12.1\xB0C**. It will be mostly dry and partly cloudy.\n* **Tuesday (June 9):** A noticeable shift. Temperatures drop to a high of **18.3\xB0C** with a **44% chance of rain** throughout the day. Expect roughly 10 hours of light rain and gusty winds up to 40 km/h.\n* **Wednesday \u2013 Friday (June 10-12):** Consistent "Berlin grey" but mostly dry. Highs will hover between **16\xB0C and 19\xB0C**, with chilly mornings around **10\xB0C**. Friday will be particularly breezy with gusts reaching 40 km/h.\n\n[!](embed:berlin-weather-2026-KeQ)\n[!](embed:berlin-weather-2026-ywP)\n[!](embed:berlin-weather-2026-4Gl)\n\n---\n\n### \u{1F9E5} Practical Clothing Advice\n\nThe key for this week is **layering**. Berlin\u2019s temperature swings between early morning and late afternoon can be significant.\n\n1. **Monday:** Standard summer attire like t-shirts and light trousers. Keep a light sweatshirt or denim jacket in your bag for the morning or if you\'re staying out late.\n2. **Tuesday (The Rain Day):** You will need a reliable waterproof shell or raincoat. Since temperatures are mild (18\xB0C), avoid heavy insulated coats; a breathable rain jacket over a light layer is best to prevent overheating while walking.\n3. **Wed-Fri:** Transition back to "spring" mode. A light bomber jacket, windbreaker, or a medium-weight sweater will be necessary. If you\'re sensitive to the cold, a light scarf can help against the constant breeze.\n\n[!](embed:vogue.com-d6E)\n[!](embed:vogue.com-mqs)\n[!](embed:vogue.com-sZU)\n\n---\n\n### \u{1F6B2} Bike-Commute Advice\n\nBicycle culture in Berlin is resilient, but the wind and rain this week require some preparation.\n\n* **Mind the Wind:** Gusts of 40 km/h on Tuesday and Friday can create a significant [wind chill](wiki:Wind_chill) and make pedaling into a headwind much more exhausting. If you have an e-bike, bump up the assistance; if not, leave 5-10 minutes earlier than usual.\n* **The Tuesday Rain:** If you must cycle on Tuesday, full mudguards (fenders) are a lifesaver for your clothes. Wear waterproof trousers or carry a change of pants. Be cautious of "Berlin cobbles" (Pflasterstein) and tram tracks, as they become incredibly slippery when wet.\n* **Visibility:** With cloudier skies and rain, ensure your bike lights are charged. Even during the day, lights can help you stay visible to drivers during grey, rainy spells.\n\n!\n[!](embed:gettyimages.com-Wh8)\n\n**Next Steps:**\n* Would you like me to find a [local bike shop](/#settings/apps/maps) for a quick tune-up before the windy days?\n* I can also [set a reminder](/#settings/apps/reminder) for Tuesday morning to grab your umbrella or rain gear.'
|
|
69708
71530
|
}
|
|
69709
71531
|
},
|
|
71532
|
+
books_after_left_hand_of_darkness: {
|
|
71533
|
+
title: {
|
|
71534
|
+
text: "Books to Read After The Left Hand of Darkness"
|
|
71535
|
+
},
|
|
71536
|
+
summary: {
|
|
71537
|
+
text: "Four thoughtful science fiction recommendations for readers who loved Le Guin\u2019s worldbuilding and social questions."
|
|
71538
|
+
},
|
|
71539
|
+
message_1: {
|
|
71540
|
+
text: "I enjoyed The Left Hand of Darkness for its worldbuilding and social questions. What should I read next, and why?"
|
|
71541
|
+
},
|
|
71542
|
+
message_2: {
|
|
71543
|
+
text: '[The Left Hand of Darkness](wiki:The_Left_Hand_of_Darkness) by [Ursula K. Le Guin](wiki:Ursula_K._Le_Guin) stands out because its worldbuilding isn\'t just scenic backdrop; it operates as an anthropological thought experiment. Le Guin famously described science fiction as a laboratory to ask *"what if?"*\u2014examining how human relationships, institutions, and prejudices reshape themselves when a fundamental variable (such as fixed biological sex) is removed.\n\nHere are four books that continue that kind of worldbuilding and social inquiry:\n\n---\n\n### 1. *The Dispossessed* by Ursula K. Le Guin\n* **The Core Question:** Can a society achieve true freedom without possession, and how does mutual obligation survive institutionalization?\n* **Why It Fits:** Set in the same loose [Hainish Cycle](wiki:Hainish_Cycle) universe, this novel contrasts two neighboring worlds: Anarres, an arid moon founded on anarcho-syndicalism and communal solidarity, and Urras, a resource-rich planet split between competitive capitalism and authoritarian socialism. Where *The Left Hand of Darkness* investigated gender and personal trust (the concept of *shifgrethor*), [The Dispossessed](wiki:The_Dispossessed) examines economics, language, and collective responsibility, asking how communities can nurture the individual while remaining devoted to mutual aid.\n\n### 2. *Dawn* (Lilith\'s Brood / Xenogenesis trilogy) by [Octavia E. Butler](wiki:Octavia_E._Butler)\n* **The Core Question:** What defines human nature, and what happens when survival demands surrendering our drive for hierarchy and biological autonomy?\n* **Why It Fits:** Like Le Guin\u2019s Gethenians, the alien Oankali possess three sexes (male, female, and *ooloi*, who mediate reproduction and genetic exchange). Butler challenges the reader\'s assumptions about consent, family structures, and cooperation. The narrative asks whether humanity\u2019s lethal flaw is the combination of high intelligence paired with an innate drive toward hierarchy\u2014and whether we can evolve beyond domination.\n\n### 3. *Ancillary Justice* by [Ann Leckie](wiki:Ann_Leckie)\n* **The Core Question:** How do imperial institutions shape identity, and what does consciousness look like when separated from individual human form?\n* **Why It Fits:** Leckie\u2019s Radch empire does not divide society along gender lines; in fact, the dominant language lacks gender markers entirely, using feminine pronouns universally. Beyond the linguistic parallel to Le Guin\'s exploration of perception, the story\u2014told from the perspective of an artificial intelligence formerly distributed across a warship and thousands of human "ancillary" bodies\u2014delves into complicity, duty, and individual conscience within an expansionist empire.\n\n### 4. *A Half-Built Garden* by [Ruthanna Emrys](wiki:Ruthanna_Emrys)\n* **The Core Question:** How can human communities organize democratic stewardship to survive ecological collapse, and how do we negotiate with cultures built on fundamentally different values?\n* **Why It Fits:** In a 2080s Earth governed by watershed networks and communal ecological cooperatives, first contact occurs with an alien species offering salvation through migration. It focuses intensively on diplomacy, community consensus, parentage, and societal decision-making, offering the same deliberate, anthropological pacing and ethical nuance found in Le Guin\u2019s works.\n\n---\n\n```interactive_question\n{\n "type": "choice",\n "id": "next_read_focus",\n "multiple": false,\n "question": "Which dimension of The Left Hand of Darkness resonated most with you?",\n "options": [\n {\n "id": "politics_economics",\n "text": "Political philosophy, mutual aid, and contrasting economic systems (Lean towards The Dispossessed)"\n },\n {\n "id": "biology_gender",\n "text": "Biology, alien contact, and redefining kinship or consent (Lean towards Dawn)"\n },\n {\n "id": "identity_language",\n "text": "Language, perspective, and challenging imperial hierarchies (Lean towards Ancillary Justice)"\n },\n {\n "id": "diplomacy_ecology",\n "text": "Ecological stewardship, diplomacy, and community decision-making (Lean towards A Half-Built Garden)"\n }\n ]\n}\n```\n\n---\n\n### Suggested Next Steps\n* [Explore themes of The Dispossessed](/#message=Tell%20me%20more%20about%20the%20philosophical%20themes%20of%20The%20Dispossessed%20by%20Ursula%20K.%20Le%20Guin.)\n* [Compare Genly Ai and Estraven\'s relationship](/#message=Analyze%20the%20relationship%20between%20Genly%20Ai%20and%20Estraven%20in%20The%20Left%20Hand%20of%20Darkness.)'
|
|
71544
|
+
},
|
|
71545
|
+
follow_up_1: {
|
|
71546
|
+
text: "Search for reviews and summaries of The Dispossessed"
|
|
71547
|
+
},
|
|
71548
|
+
follow_up_2: {
|
|
71549
|
+
text: "Explain how the Hainish Cycle novels connect to one another"
|
|
71550
|
+
},
|
|
71551
|
+
follow_up_3: {
|
|
71552
|
+
text: "Find awards won by Ancillary Justice by Ann Leckie"
|
|
71553
|
+
},
|
|
71554
|
+
follow_up_4: {
|
|
71555
|
+
text: "Discuss the role of language in shaping political thought in speculative fiction"
|
|
71556
|
+
},
|
|
71557
|
+
follow_up_5: {
|
|
71558
|
+
text: "Find library availability for Dawn by Octavia E Butler"
|
|
71559
|
+
},
|
|
71560
|
+
follow_up_6: {
|
|
71561
|
+
text: "Compare the alien biology of Gethenians and Oankali"
|
|
71562
|
+
}
|
|
71563
|
+
},
|
|
69710
71564
|
buck_converters_24v_5v: {
|
|
69711
71565
|
title: {
|
|
69712
71566
|
text: "Buck converters for 24V to 5V"
|
|
@@ -69753,6 +71607,93 @@ Only output the final Markdown table. Do NOT include explanations, notes, or any
|
|
|
69753
71607
|
text: "[reminder-set-reminder] Set a reminder to follow up in 3 days"
|
|
69754
71608
|
}
|
|
69755
71609
|
},
|
|
71610
|
+
calm_manager_follow_up: {
|
|
71611
|
+
title: {
|
|
71612
|
+
text: "Plan a Calm Follow-Up with a Manager"
|
|
71613
|
+
},
|
|
71614
|
+
summary: {
|
|
71615
|
+
text: "Work through a tense conversation and draft a clear, accountable follow-up after priorities changed."
|
|
71616
|
+
},
|
|
71617
|
+
message_1: {
|
|
71618
|
+
text: "I had a tense conversation with my manager today and feel unsettled. Can you help me process what happened and plan a calm follow-up?"
|
|
71619
|
+
},
|
|
71620
|
+
message_2: {
|
|
71621
|
+
text: "It is completely normal to feel unsettled after a difficult exchange with a manager. Conversations involving authority, performance, or mismatched expectations often trigger acute stress and disrupt emotional regulation, leaving you replaying words and second-guessing reactions.\n\nTaking time to step back before responding is the healthiest and most strategic approach.\n\nTo help us structure a clear plan for debriefing what happened and drafting an effective follow-up, **what was the core topic of the discussion, and what specific moment or remark felt most tense for you?**\n---\n*\u26A0\uFE0F This is educational information only and not professional psychological advice. For mental health concerns, please consult a qualified therapist or counselor. If you're experiencing a crisis, contact emergency services or a crisis hotline immediately.*"
|
|
71622
|
+
},
|
|
71623
|
+
message_3: {
|
|
71624
|
+
text: "We disagreed about a deadline for updating the support knowledge base. My manager said I should have flagged the risk sooner, and I felt blamed because priorities had changed twice. I want to own my part without accepting all the blame. What could I say in a short follow-up tomorrow?"
|
|
71625
|
+
},
|
|
71626
|
+
message_4: {
|
|
71627
|
+
text: `Navigating this kind of situation requires balancing [assertiveness](wiki:Assertiveness) with collaborative accountability: acknowledging what was in your control (proactive risk escalation) without accepting a narrative that ignores shifting context (changing priorities).
|
|
71628
|
+
|
|
71629
|
+
### The Psychological Framework: Accountability vs. Blame
|
|
71630
|
+
|
|
71631
|
+
When managers feel caught off guard, their immediate reflex is often: *"Why wasn't I warned?"* When contributors receive shifting instructions, their reflex is often: *"I was only adapting to what you told me to prioritize."* Both perspectives make sense within their own frame of reference.
|
|
71632
|
+
|
|
71633
|
+
To bridge this constructively:
|
|
71634
|
+
1. **Validate the process improvement**: Agree that earlier visibility is better for everyone.
|
|
71635
|
+
2. **Contextualize neutrally without defensiveness**: Describe the priority shifts as the operational trigger for the delay, rather than an excuse.
|
|
71636
|
+
3. **Focus on the shared objective**: Frame future communication around keeping team resources and timelines clear.
|
|
71637
|
+
|
|
71638
|
+
---
|
|
71639
|
+
|
|
71640
|
+
### Option 1: Quick In-Person or Slack/Teams Message
|
|
71641
|
+
|
|
71642
|
+
> *"Hi [Manager's Name], I\u2019ve been reflecting on our discussion yesterday about the support knowledge base deadline. You were right that I should have raised the capacity risk sooner once the other priority shifts came in.*
|
|
71643
|
+
>
|
|
71644
|
+
> *I want to make sure we stay aligned when priorities shift in the future, so I\u2019ll proactively flag timeline trade-offs right away. For the knowledge base, here is where things stand today and what I need to get it wrapped up by [Proposed Date]. Let\u2019s touch base briefly if you\u2019d like to adjust that plan."*
|
|
71645
|
+
|
|
71646
|
+
---
|
|
71647
|
+
|
|
71648
|
+
### Option 2: Short, Direct Email or 1-on-1 Opening
|
|
71649
|
+
|
|
71650
|
+
> *"Hi [Manager's Name],*
|
|
71651
|
+
>
|
|
71652
|
+
> *Following up on our conversation yesterday: I took your feedback to heart about flagging risks earlier. When priorities shifted over the last couple of weeks, I focused on absorbing those requests rather than explicitly raising how they impacted the knowledge base timeline.*
|
|
71653
|
+
>
|
|
71654
|
+
> *Going forward, whenever competing priorities arise, I\u2019ll immediately send a quick note outlining the impact on existing deadlines so we can decide together what takes precedence.*
|
|
71655
|
+
>
|
|
71656
|
+
> *Current status of the knowledge base:*
|
|
71657
|
+
> *\u2022 [1\u20132 sentence status update or next milestone]*
|
|
71658
|
+
> *\u2022 Target completion: [Date/Time]*
|
|
71659
|
+
>
|
|
71660
|
+
> *Thanks for the feedback\u2014let me know if you\u2019d like to review the remaining items together."*
|
|
71661
|
+
|
|
71662
|
+
---
|
|
71663
|
+
|
|
71664
|
+
### Key Points Why This Works
|
|
71665
|
+
* **Eliminates defensive debate:** You aren't arguing about who was right yesterday; you are defining how priority conflicts are handled tomorrow.
|
|
71666
|
+
* **Demonstrates systemic thinking:** You acknowledge that shifting priorities inherently affect capacity, and the fix is an explicit trade-off agreement.
|
|
71667
|
+
* **Refocuses on delivery:** It ends with a clear path to finishing the actual deliverable.
|
|
71668
|
+
|
|
71669
|
+
---
|
|
71670
|
+
|
|
71671
|
+
### Next Steps & Suggestions
|
|
71672
|
+
|
|
71673
|
+
How does one of these sound for your manager's communication style?
|
|
71674
|
+
|
|
71675
|
+
- [Draft an email version of this follow-up](/#message=Help%20me%20format%20this%20into%20a%20formal%20email%20draft%20for%20my%20manager.)
|
|
71676
|
+
- [Practice a mock discussion for a 1-on-1](/#message=Let's%20roleplay%20the%201-on-1%20conversation%20with%20my%20manager.)`
|
|
71677
|
+
},
|
|
71678
|
+
follow_up_1: {
|
|
71679
|
+
text: "Draft a more formal email to my manager about our deadline disagreement"
|
|
71680
|
+
},
|
|
71681
|
+
follow_up_2: {
|
|
71682
|
+
text: "Explain how to set better boundaries when priorities change rapidly"
|
|
71683
|
+
},
|
|
71684
|
+
follow_up_3: {
|
|
71685
|
+
text: "Create a task reminder to send the follow-up message tomorrow morning"
|
|
71686
|
+
},
|
|
71687
|
+
follow_up_4: {
|
|
71688
|
+
text: "Help me roleplay the conversation with my manager to build confidence"
|
|
71689
|
+
},
|
|
71690
|
+
follow_up_5: {
|
|
71691
|
+
text: "Search for articles on managing shifting workplace priorities effectively"
|
|
71692
|
+
},
|
|
71693
|
+
follow_up_6: {
|
|
71694
|
+
text: "Review my response for any unintended defensive language or tones"
|
|
71695
|
+
}
|
|
71696
|
+
},
|
|
69756
71697
|
cancel_test_reminder: {
|
|
69757
71698
|
title: {
|
|
69758
71699
|
text: "Cancel a Scheduled Reminder"
|
|
@@ -69795,6 +71736,198 @@ Only output the final Markdown table. Do NOT include explanations, notes, or any
|
|
|
69795
71736
|
text: '```json\n{"type": "app_skill_use", "embed_id": "228d2a03-63cb-483a-b495-45489e55bc10", "app_id": "images", "skill_id": "search", "provider": "Brave Search"}\n```\n\n```json\n{"type": "app_skill_use", "embed_id": "45e9c346-341e-466e-aed1-67ee1412dce5", "app_id": "web", "skill_id": "search", "query": "Mercedes-Benz 300 SL Gullwing visual identification features", "provider": "Brave"}\n```\n\n```json\n{"type": "app_skill_use", "embed_id": "d7f2f391-7c8f-44e7-beb4-66bd846dd0ae", "app_id": "images", "skill_id": "search", "query": "Mercedes-Benz 300 SL Gullwing", "provider": "Brave Search"}\n```\n\nThe car in the photo is a **[Mercedes-Benz 300 SL Gullwing](wiki:Mercedes-Benz_300_SL)**.\n\nThis legendary model is most easily identified by its signature upward-opening "gullwing" doors, the prominent horizontal chrome bars flanking the large star in the grille, and the distinctive aerodynamic "eyebrows" positioned over the wheel arches.\n\nBased on the current date of June 15, 2026, this vehicle remains one of the most coveted and valuable collector cars in history.\n\n**Would you like to know more about this car?**\n- I can look up the current [market value and auction history](/#settings/apps/web) for the 300 SL.\n- I can find [technical specifications](/#settings/apps/web) or the history of its development as a racing car.'
|
|
69796
71737
|
}
|
|
69797
71738
|
},
|
|
71739
|
+
community_garden_budget_review: {
|
|
71740
|
+
title: {
|
|
71741
|
+
text: "Review a community garden budget PDF"
|
|
71742
|
+
},
|
|
71743
|
+
summary: {
|
|
71744
|
+
text: "Read a fictional budget to compare expenses, funding, and likely missing costs."
|
|
71745
|
+
},
|
|
71746
|
+
message_1: {
|
|
71747
|
+
text: "Could you summarize the largest expenses, total funding, funding gap, and likely missing costs in this attached community garden budget PDF?\n[!](embed:fictional-community-garden-budget-pdf-e1-146e58)"
|
|
71748
|
+
},
|
|
71749
|
+
message_2: {
|
|
71750
|
+
text: '```json\n{"type":"app_skill_use","embed_id":"e3d392de-f8d3-4bbd-a115-df4a3bf95b1c","app_id":"pdf","skill_id":"read"}\n```\n\nHere\u2019s a concise summary of the budget in the attached community garden budget PDF.\n\n## 1) Largest expenses\nRanked from highest to lowest:\n\n1. **Raised-bed lumber and hardware** \u2014 **\u20AC420**\n2. **Soil and compost** \u2014 **\u20AC300**\n3. **Shared hand tools** \u2014 **\u20AC140**\n4. **Watering hoses and connectors** \u2014 **\u20AC95**\n5. **Seeds and seedlings** \u2014 **\u20AC85**\n6. **Opening event supplies** \u2014 **\u20AC75**\n\n## 2) Total planned expenses\nAdding the listed expenses:\n\n- 420 + 300 + 85 + 140 + 95 + 75 = **\u20AC1,115**\n\n## 3) Total expected funding\nListed funding sources:\n\n- **Neighborhood grant** \u2014 \u20AC800\n- **Volunteer donations** \u2014 \u20AC200\n\nTotal funding:\n\n- 800 + 200 = **\u20AC1,000**\n\n## 4) Funding gap\n- **Total expenses:** \u20AC1,115\n- **Total funding:** \u20AC1,000\n- **Funding gap:** **\u20AC115**\n\n## 5) Likely missing costs\nFor a real community garden, this draft likely leaves out some common items:\n\n- **Site preparation** \u2014 clearing, leveling, debris removal\n- **Delivery/transport costs** \u2014 for lumber, soil, compost\n- **Storage/security** \u2014 tool box, shed, locks\n- **Water access fees** \u2014 hookup, meter use, usage charges\n- **Protective materials** \u2014 gloves, wheelbarrow, tarps\n- **Fencing/signage** \u2014 to protect plots and inform neighbors\n- **Ongoing maintenance** \u2014 replacement tools, extra soil, pest control\n- **Insurance/permits** \u2014 if required by the municipality or landowner\n- **Contingency reserve** \u2014 usually useful because small community projects often run over budget\n\n## Quick interpretation\nThe budget is **close to balanced**, but a **\u20AC115 gap** already exists even before likely omitted costs are added. So in practice, the project may need either:\n- a bit more fundraising,\n- some donated materials/tools,\n- or a reduced first-phase scope.\n\nIf you want, I can also turn this into:\n- a **one-paragraph summary for a grant meeting**, or\n- a **clean budget table with percentages by category**.\n---\n*\u26A0\uFE0F This is educational information only and not financial advice. Consult a qualified financial professional or tax advisor for financial decisions.*'
|
|
71751
|
+
},
|
|
71752
|
+
follow_up_1: {
|
|
71753
|
+
text: "Search for local community garden grants and funding opportunities"
|
|
71754
|
+
},
|
|
71755
|
+
follow_up_2: {
|
|
71756
|
+
text: "Compare different fundraising ideas to cover the funding gap"
|
|
71757
|
+
},
|
|
71758
|
+
follow_up_3: {
|
|
71759
|
+
text: "Search for sustainable urban agriculture and community garden guides"
|
|
71760
|
+
},
|
|
71761
|
+
follow_up_4: {
|
|
71762
|
+
text: "Create a one-paragraph summary for a grant meeting"
|
|
71763
|
+
},
|
|
71764
|
+
follow_up_5: {
|
|
71765
|
+
text: "Search for community garden tool storage and security options"
|
|
71766
|
+
},
|
|
71767
|
+
follow_up_6: {
|
|
71768
|
+
text: "List recommended contingency reserves for small community projects"
|
|
71769
|
+
}
|
|
71770
|
+
},
|
|
71771
|
+
community_garden_calendar_invitation: {
|
|
71772
|
+
title: {
|
|
71773
|
+
text: "Community Garden Calendar Invitation"
|
|
71774
|
+
},
|
|
71775
|
+
summary: {
|
|
71776
|
+
text: "Create an importable calendar invitation with a Berlin time zone, event agenda, and reminder for a volunteer planting session."
|
|
71777
|
+
},
|
|
71778
|
+
message_1: {
|
|
71779
|
+
text: "Could you make an importable calendar invitation for a fictional community garden volunteer planting session on Saturday, October 17, 2026, from 10:00 to 12:00 in Europe/Berlin? Use Gartenweg 12, Berlin as a fictional example location, include a short agenda and a 24-hour reminder, and give me the iCalendar text to save as an .ics file."
|
|
71780
|
+
},
|
|
71781
|
+
message_2: {
|
|
71782
|
+
text: 'Here is the standard [iCalendar](wiki:ICalendar) (`.ics`) data for your community garden planting session. It includes the Europe/Berlin timezone definition, event details, an agenda, and a 24-hour display reminder (VALARM).\n\nSave the content below into a text file named `community_garden_planting.ics` and import it into your calendar client (such as Google Calendar, Apple Calendar, or Microsoft Outlook).\n\n```json\n{"type": "code", "embed_id": "6deff7cb-4e99-4dd3-9052-3985e09a9cc9"}\n```\n\n### Event Summary\n* **Date & Time:** Saturday, October 17, 2026, 10:00 \u2013 12:00 CEST\n* **Location:** Gartenweg 12, Berlin\n* **Reminder:** 1 day before (`TRIGGER:-P1D`)\n\n***\n\n**Suggested Next Steps:**\n* [Draft an invitation email for volunteers](/#message=Draft%20a%20friendly%20email%20announcing%20the%20community%20garden%20planting%20session%20on%20October%2017%20with%20the%20attached%20calendar%20invite.)\n* [Prepare a planting & tool checklist document](/#message=Create%20a%20volunteer%20checklist%20document%20for%20the%20community%20garden%20session.)'
|
|
71783
|
+
},
|
|
71784
|
+
follow_up_1: {
|
|
71785
|
+
text: "Search for community garden volunteering tips online"
|
|
71786
|
+
},
|
|
71787
|
+
follow_up_2: {
|
|
71788
|
+
text: "Draft a friendly email inviting volunteers to the planting session"
|
|
71789
|
+
},
|
|
71790
|
+
follow_up_3: {
|
|
71791
|
+
text: "Find upcoming gardening workshops in Berlin"
|
|
71792
|
+
},
|
|
71793
|
+
follow_up_4: {
|
|
71794
|
+
text: "Create a comprehensive tool checklist for the gardening event"
|
|
71795
|
+
},
|
|
71796
|
+
follow_up_5: {
|
|
71797
|
+
text: "Search for beginner-friendly perennial plants online"
|
|
71798
|
+
},
|
|
71799
|
+
follow_up_6: {
|
|
71800
|
+
text: "Explain how to import .ics files into Google Calendar"
|
|
71801
|
+
}
|
|
71802
|
+
},
|
|
71803
|
+
community_garden_planning_mindmap: {
|
|
71804
|
+
title: {
|
|
71805
|
+
text: "Community Garden Planning Mind Map"
|
|
71806
|
+
},
|
|
71807
|
+
summary: {
|
|
71808
|
+
text: "Map the volunteers, planting, budget, and events needed to launch a community garden."
|
|
71809
|
+
},
|
|
71810
|
+
message_1: {
|
|
71811
|
+
text: "Could you make a mind map for planning a community garden, with branches for volunteers, planting, budget, and events?"
|
|
71812
|
+
},
|
|
71813
|
+
message_2: {
|
|
71814
|
+
text: 'Here is a structured mind map covering the four core pillars of planning your community garden:\n\n```json\n{"type": "mindmap", "embed_id": "02d212e1-3648-42f5-8c96-700bd34a5070"}\n```\n\n### Key Considerations for Next Steps\n\n1. **Site Assessment:** Before purchasing supplies, checking soil quality for contaminants like lead and confirming access to reliable municipal or rainwater connections is crucial.\n2. **Community Input:** Involving nearby residents early helps establish shared stewardship and ensures the crops match the neighborhood\'s culinary preferences and cultural traditions.\n\nWould you like to explore:\n- [Draft a volunteer sign-up checklist](/#message=Help%20me%20create%20a%20volunteer%20role%20description%20and%20sign-up%20sheet%20for%20our%20community%20garden.)\n- [Outline a starter budget template](/#message=Create%20a%20starter%20budget%20template%20and%20materials%20list%20for%20a%20community%20garden.)'
|
|
71815
|
+
},
|
|
71816
|
+
follow_up_1: {
|
|
71817
|
+
text: "Search for community garden grant funding opportunities and local agricultural programs"
|
|
71818
|
+
},
|
|
71819
|
+
follow_up_2: {
|
|
71820
|
+
text: "Explain how to conduct a basic soil test for community gardens"
|
|
71821
|
+
},
|
|
71822
|
+
follow_up_3: {
|
|
71823
|
+
text: "Create a starter budget template and materials list for a community garden"
|
|
71824
|
+
},
|
|
71825
|
+
follow_up_4: {
|
|
71826
|
+
text: "List best practices for organizing neighborhood meetings for urban farming projects"
|
|
71827
|
+
},
|
|
71828
|
+
follow_up_5: {
|
|
71829
|
+
text: "Help me create a volunteer role description and sign-up sheet for our community garden"
|
|
71830
|
+
},
|
|
71831
|
+
follow_up_6: {
|
|
71832
|
+
text: "Discuss strategies for maintaining community engagement after the initial launch phase"
|
|
71833
|
+
}
|
|
71834
|
+
},
|
|
71835
|
+
community_garden_sunflower_illustration: {
|
|
71836
|
+
title: {
|
|
71837
|
+
text: "Generate a botanical sunflower illustration"
|
|
71838
|
+
},
|
|
71839
|
+
summary: {
|
|
71840
|
+
text: "Create a text-free sunflower illustration for a community garden handout."
|
|
71841
|
+
},
|
|
71842
|
+
message_1: {
|
|
71843
|
+
text: "Please create a warm botanical illustration of a sunflower for a community garden handout, on a clean light background with no text."
|
|
71844
|
+
},
|
|
71845
|
+
message_2: {
|
|
71846
|
+
text: '```json\n{"type":"app_skill_use","embed_id":"6a3857ca-aa90-486f-b481-4e1df6f95faa","app_id":"images","skill_id":"generate"}\n```\n\nI\'m generating that botanical illustration of the sunflower for your community garden handout now; it\'s currently processing and will appear right here in the chat once complete.\n\n### Quick Design Tips for Community Handouts\n\nTo make your garden handout both inviting and easy to read:\n\n- **Visual Hierarchy & Spacing:** Give the illustration breathing room. Placing it along a margin or header leaves clear space for gardening tips or event details without feeling cluttered.\n- **Color Harmony:** Pull warm tones directly from the artwork\u2014like deep honey gold, olive leaf green, or earthy terracotta\u2014for section headings and borders.\n- **Blending Your Own Art:** If community members or local gardeners create sketches, leaf prints, or photos of your actual garden beds, integrating those alongside digital illustrations creates a wonderful grassroots, welcoming touch.\n\n---\n\n**Next Steps & Options:**\n- [Design a handout layout with headings and tips](/#message=Help%20me%20design%20a%20clean%20layout%20and%20copy%20for%20a%20community%20garden%20handout.)\n- [Suggest a color palette based on sunflowers](/#message=Suggest%20a%20warm%20color%20palette%20and%20typography%20pairing%20for%20a%20botanical%20garden%20flyer.)'
|
|
71847
|
+
},
|
|
71848
|
+
follow_up_1: {
|
|
71849
|
+
text: "Search for local community garden events in the area"
|
|
71850
|
+
},
|
|
71851
|
+
follow_up_2: {
|
|
71852
|
+
text: "Help me write friendly introductory text for the garden handout"
|
|
71853
|
+
},
|
|
71854
|
+
follow_up_3: {
|
|
71855
|
+
text: "Find free SVG plant icons for handout decoration"
|
|
71856
|
+
},
|
|
71857
|
+
follow_up_4: {
|
|
71858
|
+
text: "List essential tips to include in a community garden guide"
|
|
71859
|
+
},
|
|
71860
|
+
follow_up_5: {
|
|
71861
|
+
text: "Search for typography pairing ideas for garden flyers"
|
|
71862
|
+
},
|
|
71863
|
+
follow_up_6: {
|
|
71864
|
+
text: "Explain how to arrange visual elements in a print layout"
|
|
71865
|
+
}
|
|
71866
|
+
},
|
|
71867
|
+
community_garden_volunteer_onboarding: {
|
|
71868
|
+
title: {
|
|
71869
|
+
text: "Community Garden Volunteer Onboarding"
|
|
71870
|
+
},
|
|
71871
|
+
summary: {
|
|
71872
|
+
text: "Create a shareable one-page volunteer guide with first-day tasks, safety basics, and help contacts."
|
|
71873
|
+
},
|
|
71874
|
+
message_1: {
|
|
71875
|
+
text: "Please make a shareable, one-page volunteer onboarding document for a community garden. Keep it under 220 words. Cover arrival, first-day tasks, safety, and how to ask for help. This is a general template, so use placeholders where garden-specific contacts or locations are needed."
|
|
71876
|
+
},
|
|
71877
|
+
message_2: {
|
|
71878
|
+
text: '```json\n{"type": "document", "embed_id": "f40fc42f-df5d-4116-bba3-3500b1805eb5"}\n```\n\nThe onboarding document has been generated above in standard `.docx` format with placeholders (such as `[Coordinator Name]`, `[Check-In Location]`, and `[Phone Number]`) for easy customization. At under 170 words, it fits cleanly on a single printable page.\n\n***\n\n### Suggested Next Steps:\n1. [Customize placeholders with your garden\'s specific details](/#message=Help%20me%20fill%20in%20the%20placeholders%20with%20our%20garden\'s%20specific%20details.)\n2. [Add a volunteer code of conduct or photo release section](/#message=Add%20a%20brief%20volunteer%20code%20of%20conduct%20section%20to%20the%20guide.)'
|
|
71879
|
+
},
|
|
71880
|
+
follow_up_1: {
|
|
71881
|
+
text: "Search for community garden volunteer management best practices"
|
|
71882
|
+
},
|
|
71883
|
+
follow_up_2: {
|
|
71884
|
+
text: "Help me add a volunteer code of conduct section"
|
|
71885
|
+
},
|
|
71886
|
+
follow_up_3: {
|
|
71887
|
+
text: "Create a task list for organizing our volunteer orientation day"
|
|
71888
|
+
},
|
|
71889
|
+
follow_up_4: {
|
|
71890
|
+
text: "Explain how to structure a welcoming orientation checklist"
|
|
71891
|
+
},
|
|
71892
|
+
follow_up_5: {
|
|
71893
|
+
text: "Search for volunteer handbook templates online"
|
|
71894
|
+
},
|
|
71895
|
+
follow_up_6: {
|
|
71896
|
+
text: "List essential safety guidelines for outdoor community spaces"
|
|
71897
|
+
}
|
|
71898
|
+
},
|
|
71899
|
+
community_garden_welcome_melody: {
|
|
71900
|
+
title: {
|
|
71901
|
+
text: "A Melody for a Community Garden Welcome"
|
|
71902
|
+
},
|
|
71903
|
+
summary: {
|
|
71904
|
+
text: "Create a gentle instrumental melody for a community garden welcome video."
|
|
71905
|
+
},
|
|
71906
|
+
message_1: {
|
|
71907
|
+
text: "Could you create a short, gentle instrumental melody for a community garden welcome video, without vocals?"
|
|
71908
|
+
},
|
|
71909
|
+
message_2: {
|
|
71910
|
+
text: '```json\n{"type":"app_skill_use","embed_id":"296e122a-cd23-4fc6-9c27-99f21f8e3401","app_id":"music","skill_id":"generate"}\n```\n\nI\'m creating that gentle instrumental track for your community garden welcome video now. It is currently processing and will appear right here once ready.\n\n[Community gardening](wiki:Community_gardening) projects are a wonderful way to bring neighbors together and foster local biodiversity. While the music generates, would you like help planning the narrative or visual flow of the welcome video?\n\n- [Draft an outline for the welcome video](/#message=Help%20me%20draft%20a%20simple%20storyboard%20or%20script%20for%20our%20community%20garden%20welcome%20video.)\n- [Brainstorm introductory text or voiceover tips](/#message=Give%20me%20some%20ideas%20for%20welcoming%20voiceover%20lines%20for%20our%20garden%20video.)'
|
|
71911
|
+
},
|
|
71912
|
+
follow_up_1: {
|
|
71913
|
+
text: "Search for local community garden events and workshops"
|
|
71914
|
+
},
|
|
71915
|
+
follow_up_2: {
|
|
71916
|
+
text: "Help me draft a storyboard for the garden video"
|
|
71917
|
+
},
|
|
71918
|
+
follow_up_3: {
|
|
71919
|
+
text: "Find stock videos of plants and flowers"
|
|
71920
|
+
},
|
|
71921
|
+
follow_up_4: {
|
|
71922
|
+
text: "Write welcoming voiceover lines for the community video"
|
|
71923
|
+
},
|
|
71924
|
+
follow_up_5: {
|
|
71925
|
+
text: "Search for gardening tips for community projects"
|
|
71926
|
+
},
|
|
71927
|
+
follow_up_6: {
|
|
71928
|
+
text: "Suggest ideas for community garden opening day activities"
|
|
71929
|
+
}
|
|
71930
|
+
},
|
|
69798
71931
|
creativity_drawing_meetups_berlin: {
|
|
69799
71932
|
title: {
|
|
69800
71933
|
text: "Creativity Drawing Meetups Berlin"
|
|
@@ -69827,6 +71960,38 @@ Only output the final Markdown table. Do NOT include explanations, notes, or any
|
|
|
69827
71960
|
text: "What live music or performance events are happening in Berlin next week?"
|
|
69828
71961
|
}
|
|
69829
71962
|
},
|
|
71963
|
+
damped_sine_decay_plot: {
|
|
71964
|
+
title: {
|
|
71965
|
+
text: "Damped Sine Wave and Its Envelopes"
|
|
71966
|
+
},
|
|
71967
|
+
summary: {
|
|
71968
|
+
text: "Plot a damped sine wave with its upper and lower envelopes, then understand how the oscillation fades."
|
|
71969
|
+
},
|
|
71970
|
+
message_1: {
|
|
71971
|
+
text: "Can you plot y = e^(-0.2x) sin(3x) for x from 0 to 12, including the upper and lower envelopes, and explain what the graph shows?"
|
|
71972
|
+
},
|
|
71973
|
+
message_2: {
|
|
71974
|
+
text: 'Here is the plot of the function along with its upper and lower bounding envelopes:\n\n```json\n{"type": "math-plot", "embed_id": "9ef899d2-4b73-4c4e-88bf-d4fd31d61e79"}\n```\n\n---\n\n### What the Graph Shows\n\nThis graph is a classic representation of a damped harmonic oscillator, commonly encountered in physics and engineering (such as a vibrating guitar string, a shock absorber, or an electrical [RLC circuit](wiki:RLC_circuit)).\n\n#### 1. The Oscillatory Component: $\\sin(3x)$\n* The term $\\sin(3x)$ generates continuous periodic wave motion.\n* The angular frequency is $\\omega = 3\\text{ rad/s}$, which corresponds to a period of:\n $$T = \\frac{2\\pi}{3} \\approx 2.094$$\n* This means the curve crosses zero every $\\frac{\\pi}{3} \\approx 1.05$ units along the $x$-axis.\n\n#### 2. The Damping Factor: $e^{-0.2x}$\n* The exponential factor $e^{-0.2x}$ describes [exponential decay](wiki:Exponential_decay) with a decay rate parameter of $\\alpha = 0.2$.\n* As $x$ increases, energy is lost from the system due to [damping](wiki:Damping) (such as friction or electrical resistance), shrinking the amplitude over time.\n\n#### 3. The Envelopes: $\\pm e^{-0.2x}$\n* Because the sine function is bounded by $-1 \\le \\sin(3x) \\le 1$, multiplying by the positive term $e^{-0.2x}$ yields:\n $$-e^{-0.2x} \\le e^{-0.2x}\\sin(3x) \\le e^{-0.2x}$$\n* **Upper Envelope ($g(x) = e^{-0.2x}$)**: Forms the smooth upper boundary that caps the positive peaks.\n* **Lower Envelope ($h(x) = -e^{-0.2x}$)**: Forms the symmetric boundary that cradles the negative troughs.\n* The oscillating curve touches the upper envelope whenever $\\sin(3x) = 1$ (at $x = \\frac{\\pi}{6} + \\frac{2\\pi k}{3}$) and the lower envelope whenever $\\sin(3x) = -1$.\n\n---\n\n### Suggested Next Steps\n\n- [Calculate the exact local extrema using the derivative](/#message=Find%20the%20exact%20maxima%20and%20minima%20of%20y%20%3D%20exp(-0.2*x)*sin(3*x)%20using%20calculus)\n- [Compare underdamped vs critically damped systems](/#message=Explain%20the%20difference%20between%20underdamped,%20critically%20damped,%20and%20overdamped%20oscillations)'
|
|
71975
|
+
},
|
|
71976
|
+
follow_up_1: {
|
|
71977
|
+
text: "Calculate the local extrema of this function using calculus"
|
|
71978
|
+
},
|
|
71979
|
+
follow_up_2: {
|
|
71980
|
+
text: "Explain how changing the decay rate parameter affects the curve"
|
|
71981
|
+
},
|
|
71982
|
+
follow_up_3: {
|
|
71983
|
+
text: "Find similar physics formulas for harmonic motion"
|
|
71984
|
+
},
|
|
71985
|
+
follow_up_4: {
|
|
71986
|
+
text: "Describe real-world physical systems modeled by this equation"
|
|
71987
|
+
},
|
|
71988
|
+
follow_up_5: {
|
|
71989
|
+
text: "Search for differential equations describing damped oscillations"
|
|
71990
|
+
},
|
|
71991
|
+
follow_up_6: {
|
|
71992
|
+
text: "Compare this wave behavior with undamped simple harmonic motion"
|
|
71993
|
+
}
|
|
71994
|
+
},
|
|
69830
71995
|
dashboard_sidebar_svg_icons: {
|
|
69831
71996
|
title: {
|
|
69832
71997
|
text: "Dashboard Sidebar SVG Icons"
|
|
@@ -70370,6 +72535,44 @@ How are you leaning personally on this issue heading into the dinner? Are you ho
|
|
|
70370
72535
|
embed_ref: mastodon-today-is-U4M`
|
|
70371
72536
|
}
|
|
70372
72537
|
},
|
|
72538
|
+
mastodon_public_post_themes: {
|
|
72539
|
+
title: {
|
|
72540
|
+
text: "Themes in Mastodon\u2019s Public Posts"
|
|
72541
|
+
},
|
|
72542
|
+
summary: {
|
|
72543
|
+
text: "Summarize themes in recent posts from Mastodon\u2019s official account and explore representative examples."
|
|
72544
|
+
},
|
|
72545
|
+
message_1: {
|
|
72546
|
+
text: "Could you summarize the main themes in recent public posts by the official Mastodon account on mastodon.social, with links to a few examples?"
|
|
72547
|
+
},
|
|
72548
|
+
message_2: {
|
|
72549
|
+
text: '```json\n{"type":"app_skill_use","embed_id":"33ebec48-4730-4b4b-b7d7-f967173ac9b6","app_id":"social_media","skill_id":"get-posts"}\n```\n\nThe request to fetch recent public posts from @Mastodon (`@Mastodon@mastodon.social`) is currently still running in the background and will update the chat once it is ready.\n\nWhile we wait for the feed to load:\n- [Check recent Mastodon blog announcements](/#message=Search%20for%20the%20latest%20official%20Mastodon%20blog%20announcements%20and%20releases.)\n- [Explore the Mastodon roadmap](/#message=What%20are%20the%20major%20features%20currently%20on%20the%20Mastodon%20roadmap%3F)'
|
|
72550
|
+
},
|
|
72551
|
+
message_3: {
|
|
72552
|
+
text: "The posts have loaded now. Could you summarize the main themes and link to three representative posts?"
|
|
72553
|
+
},
|
|
72554
|
+
message_4: {
|
|
72555
|
+
text: '```json\n{"type":"app_skill_use","embed_id":"65b92905-0838-46dd-8fff-8e28cdc8789a","app_id":"social_media","skill_id":"get-posts"}\n```\n\nThe official @Mastodon account on `mastodon.social` highlights several core themes in its recent public posts:\n\n### 1. Major Product Evolution & User Research\nA primary focus has been the groundwork for **Mastodon 5.0**, following their community-wide "Discovery Week" research initiative led by their design team. The team shared previews of a redesigned, calmer interface and an updated composer aimed at making the platform more accessible and user-friendly.\n\n### 2. Community Governance, Policies & Staff Updates\nMastodon regularly communicates governance and policy updates, notably releasing clarifying guidelines around their **Trademark Policy** in direct response to fediverse admin and developer feedback. They also announced key leadership transitions, thanking outgoing community director Hannah Aubry for her contributions.\n\n### 3. Server Spotlights & Fediverse Ecosystem\nThe account actively promotes independent fediverse instances and infrastructure initiatives\u2014such as highlighting themed servers (like Earth.Law) and amplifying industry surveys like IFTAS operations research.\n\n### 4. Community Merchandise & Project Funding\nTo support ongoing open-source development, they share official community merchandise updates, including new plush mascot releases ("Plushtodons").\n\n---\n\n### Three Representative Posts\n\n- **Product Roadmap & Visual Refresh:** [Mastodon 5.0 sneak peek announcement](embed:mastodon-after-publishing-D8d) \u2014 shares a preview of the upcoming 5.0 layout and post composer based on discovery findings.\n- **Policy & Community Feedback:** [Trademark policy guidelines update](embed:mastodon-today-we-YqD) \u2014 outlines revised trademark rules adapted from community input.\n- **Project Support & Merch:** [Plushtodon pre-orders announcement](embed:mastodon-new-plushtodon-A57) \u2014 announces new official plush mascots as a way for supporters to fund development.\n\n---\n\nWould you like to explore any specific topic further?\n- [Read more about Mastodon 5.0 features](/#message=What%20new%20features%20and%20changes%20are%20coming%20in%20Mastodon%205.0%3F)\n- [Review the trademark guidelines](/#message=Summarize%20Mastodon\'s%20updated%20trademark%20policy%20guidelines.)'
|
|
72556
|
+
},
|
|
72557
|
+
follow_up_1: {
|
|
72558
|
+
text: "Search for recent Mastodon blog announcements"
|
|
72559
|
+
},
|
|
72560
|
+
follow_up_2: {
|
|
72561
|
+
text: "Explain how decentralized moderation works on Mastodon"
|
|
72562
|
+
},
|
|
72563
|
+
follow_up_3: {
|
|
72564
|
+
text: "Search for updates on Mastodon 5.0 development"
|
|
72565
|
+
},
|
|
72566
|
+
follow_up_4: {
|
|
72567
|
+
text: "Compare Mastodon 5.0 changes with previous releases"
|
|
72568
|
+
},
|
|
72569
|
+
follow_up_5: {
|
|
72570
|
+
text: "Search for community discussions on Fediverse server moderation"
|
|
72571
|
+
},
|
|
72572
|
+
follow_up_6: {
|
|
72573
|
+
text: "List the key challenges faced by open source platforms"
|
|
72574
|
+
}
|
|
72575
|
+
},
|
|
70373
72576
|
memory_books_currently_reading: {
|
|
70374
72577
|
title: {
|
|
70375
72578
|
text: "Memory Books Currently Reading"
|
|
@@ -70839,6 +73042,38 @@ Like [Denis Villeneuve](wiki:Denis_Villeneuve)\u2019s work, *Contact* avoids the
|
|
|
70839
73042
|
text: '```json\n{"type": "app_skill_use", "embed_id": "3c8e7c97-7502-4407-a07b-79911ca4bbaf", "app_id": "math", "skill_id": "calculate"}\n```\n\n```json\n{"type": "app_skill_use", "embed_id": "965d7fc9-15be-4eba-a774-b0a16bfa2da7", "app_id": "math", "skill_id": "calculate"}\n```\n\nFor a **\u20AC350,000** mortgage with an annual interest rate of **3.8%** over **25 years**, here is the breakdown of your monthly payments and the total interest you would pay.\n\n### 1. The Formula\nTo calculate the monthly payment ($M$), we use the standard [amortization](wiki:Amortization) formula:\n\n$$M = P \\frac{r(1+r)^n}{(1+r)^n - 1}$$\n\n**Where:**\n* **$P$ (Principal):** \u20AC350,000\n* **$r$ (Monthly Interest Rate):** $3.8\\% / 12$ months = $0.00316667$\n* **$n$ (Total Number of Payments):** $25 \\text{ years} \\times 12 \\text{ months} = 300$\n\n### 2. Monthly Payment Calculation\nBased on the values above, your monthly payment would be:\n**\u20AC1,809.00** Calculation result\n\n### 3. Total Interest Paid\nTo find the total interest, we multiply the monthly payment by the number of months and subtract the original loan amount:\n$$\\text{Total Interest} = (M \\times n) - P$$\n\n* **Total Amount Paid:** \u20AC542,699.39\n* **Total Interest:** **\u20AC192,699.39**\n\n***\n\n### Summary Table\n```json\n{"type": "sheet", "embed_id": "551d18d6-164a-41e3-aaa7-f6c92ca882e9"}\n```\n\n\nKeep in mind that this calculation assumes a [fixed-rate mortgage](wiki:Fixed-rate_mortgage) and does not include additional costs like [home insurance](wiki:Home_insurance), property taxes, or potential bank fees.\n\n**Would you like to see how much you could save by increasing your monthly payment or shortening the term to 20 years?**\n\n**Next Steps:**\n- [Explore 20-year mortgage comparison](/#)\n- [Calculate the impact of an extra \u20AC200/month payment](/#)\n---\n*\u26A0\uFE0F This is educational information only and not financial advice. Consult a qualified financial professional or tax advisor for financial decisions.*'
|
|
70840
73043
|
}
|
|
70841
73044
|
},
|
|
73045
|
+
net_cash_from_supplied_balances: {
|
|
73046
|
+
title: {
|
|
73047
|
+
text: "Net Cash from Supplied Balances"
|
|
73048
|
+
},
|
|
73049
|
+
summary: {
|
|
73050
|
+
text: "Calculate net cash from three balances provided by the user and explain checking, savings, and credit card debt."
|
|
73051
|
+
},
|
|
73052
|
+
message_1: {
|
|
73053
|
+
text: "Here are my current balances from statements I have in front of me: checking \u20AC1,850, savings \u20AC4,200, credit card balance owed \u20AC640. Can you show my net cash position and explain what each number means?"
|
|
73054
|
+
},
|
|
73055
|
+
message_2: {
|
|
73056
|
+
text: '```json\n{"type":"app_skill_use","embed_id":"04818ed0-8e67-4cb8-9736-45d5c35d393a","app_id":"math","skill_id":"calculate"}\n```\n\n### Your Net Cash Position\n\nYour **net cash position** is **\u20AC5,410**.\n\nHere is the breakdown:\n\n```json\n{"type": "sheet", "embed_id": "3db1b137-abac-48a5-8c18-31ef7821ec04"}\n```\n\n---\n\n### What Each Number Means\n\n1. **Checking Account (\u20AC1,850): Operational Cash (Working Capital)**\n * This is your most liquid [cash](wiki:Cash) pool, meant to cover regular recurring living costs (rent/mortgage, utilities, groceries, subscriptions).\n * Having \u20AC1,850 provides an immediate buffer to prevent overdraft fees or missed payment deadlines while waiting for incoming income.\n\n2. **Savings Account (\u20AC4,200): Safety Margin & Reserves**\n * This represents parked funds intended for an [emergency fund](wiki:Emergency_fund) or medium-term financial goals.\n * Unlike checking, this cash is separated to discourage day-to-day spending and typically earns some interest while remaining easily accessible if unexpected costs arise.\n\n3. **Credit Card Balance (\u20AC640): Short-Term [Debt](wiki:Debt)**\n * This is a liability owed to the card issuer. If paid in full before the statement grace period expires, it incurs zero interest.\n * However, if carried past the due date, credit cards generally carry high interest rates (APR), which quickly erode your net cash.\n\n4. **Net Cash Position (\u20AC5,410): True Immediate Liquidity**\n * This metric measures what would remain in liquid cash if you settled your current short-term credit card debt immediately.\n * A positive figure indicates you are fully liquid and solvent against current card obligations, with \u20AC5,410 remaining in reserve.\n\n---\n\n### Suggested Next Steps\n\nWould you like to explore how this fits into your broader financial plan?\n\n* [Set up an emergency fund plan](/#message=Help%20me%20evaluate%20if%20my%20%E2%82%AC4%2C200%20savings%20is%20an%20adequate%20emergency%20fund%20based%20on%20my%20monthly%20expenses.)\n* [Create a monthly budget framework](/#message=Suggest%20a%20monthly%20budget%20framework%20based%20on%20my%20current%20cash%20position.)\n---\n*\u26A0\uFE0F This is educational information only and not financial advice. Consult a qualified financial professional or tax advisor for financial decisions.*'
|
|
73057
|
+
},
|
|
73058
|
+
follow_up_1: {
|
|
73059
|
+
text: "Search for recommended emergency fund savings benchmarks online"
|
|
73060
|
+
},
|
|
73061
|
+
follow_up_2: {
|
|
73062
|
+
text: "Explain the difference between net cash and net worth"
|
|
73063
|
+
},
|
|
73064
|
+
follow_up_3: {
|
|
73065
|
+
text: "Calculate how long my current savings will cover monthly living expenses"
|
|
73066
|
+
},
|
|
73067
|
+
follow_up_4: {
|
|
73068
|
+
text: "List strategies to pay off short-term credit card debt quickly"
|
|
73069
|
+
},
|
|
73070
|
+
follow_up_5: {
|
|
73071
|
+
text: "Search for credit card interest rate reduction tips"
|
|
73072
|
+
},
|
|
73073
|
+
follow_up_6: {
|
|
73074
|
+
text: "Help me evaluate whether my \u20AC4,200 savings is an adequate emergency fund"
|
|
73075
|
+
}
|
|
73076
|
+
},
|
|
70842
73077
|
nonprofit_event_planning_use_case: {
|
|
70843
73078
|
title: {
|
|
70844
73079
|
text: "Nonprofit Event Planning Use Case"
|
|
@@ -71562,6 +73797,38 @@ Since we're starting with a blank slate, is there anything you'd like to get off
|
|
|
71562
73797
|
*\u26A0\uFE0F This is educational information only and not professional psychological advice. For mental health concerns, please consult a qualified therapist or counselor. If you're experiencing a crisis, contact emergency services or a crisis hotline immediately.*`
|
|
71563
73798
|
}
|
|
71564
73799
|
},
|
|
73800
|
+
urban_heat_island_at_night: {
|
|
73801
|
+
title: {
|
|
73802
|
+
text: "Why Cities Stay Hot at Night"
|
|
73803
|
+
},
|
|
73804
|
+
summary: {
|
|
73805
|
+
text: "A simple explanation of the urban heat island effect and why city streets cool more slowly after sunset."
|
|
73806
|
+
},
|
|
73807
|
+
message_1: {
|
|
73808
|
+
text: "Why do some cities feel much hotter than nearby rural areas at night? Could you explain the urban heat island effect with a simple example?"
|
|
73809
|
+
},
|
|
73810
|
+
message_2: {
|
|
73811
|
+
text: 'The phenomenon you are describing is known as the **[urban heat island](wiki:Urban_heat_island)** (UHI) effect. While cities can be slightly warmer during the day, the temperature difference is often most pronounced after sunset\u2014sometimes keeping cities anywhere from 2\xB0C to over 10\xB0C (4\xB0F to 18\xB0F) warmer than surrounding rural countryside.\n\n---\n\n### A Simple Everyday Analogy: The Cast-Iron Skillet vs. The Garden Bed\n\nImagine you are standing outside on a sunny afternoon with two items:\n1. A **heavy cast-iron skillet**\n2. A **pot of damp garden soil with grass**\n\nDuring a hot afternoon, the sun beats down on both:\n* The **cast-iron skillet** absorbs intense heat, becomes searingly hot, and stores that thermal energy inside its dense metal body.\n* The **damp soil and grass** also absorb sunlight, but the moisture in the soil evaporates and the grass "sweats" through transpiration. That process of [evapotranspiration](wiki:Evapotranspiration) consumes a large portion of the sun\u2019s energy, keeping the plant and soil significantly cooler.\n\nNow, take both inside a cooler room or wait until nightfall:\n* The garden bed cools down almost immediately because it didn\'t hold onto excess heat and continues to lose moisture.\n* The cast-iron skillet, however, acts as a **thermal battery**. Long after the sun goes down, it slowly radiates all that trapped heat into the surrounding air, keeping the immediate space warm for hours.\n\nA **city** acts like millions of interconnected cast-iron skillets; the **rural countryside** behaves like the damp garden bed.\n\n---\n\n### The Science Behind Why Cities Stay Hot at Night\n\nThe nighttime disparity comes down to several key thermodynamic and physical factors:\n\n#### 1. High Thermal Mass (Heat Retention)\nUrban environments are built out of asphalt, concrete, brick, and stone. These materials have a high [volumetric heat capacity](wiki:Volumetric_heat_capacity) and thermal conductivity. During the day, they soak up solar radiation deep into structures and pavements. At night, as the ambient air cools, these materials release that stored heat back into the lower atmosphere via longwave thermal radiation.\n\n#### 2. Loss of Evaporative Cooling\nRural landscapes are covered in trees, crops, and moist soil. Plants draw water from the ground and release water vapor into the air through transpiration. Because converting liquid water into vapor requires a significant amount of energy (the [latent heat](wiki:Latent_heat) of vaporization), this naturally cools the surrounding environment. In cities, rain is quickly diverted into storm drains via impermeable surfaces, leaving very little moisture available for evaporative cooling.\n\n#### 3. Urban Canyon Geometry\nIn dense cities with tall buildings, streets form "urban canyons." During the day, multiple reflective surfaces bounce sunlight deeper into the street rather than reflecting it back to space. At night, the buildings partially block the sky (reducing what meteorologists call the sky view factor). Instead of escaping freely into the upper atmosphere, heat radiated from the street gets absorbed or reflected back by the walls of adjacent buildings.\n\n#### 4. Anthropogenic Heat (Human-Generated Energy)\nCities continuously produce their own heat independent of the sun. Air conditioning units, vehicle engines, data centers, factories, and building lighting all expel waste heat directly into the street-level atmosphere, reinforcing nighttime warmth.\n\n---\n\n### Mitigating the Effect\n\nCommunities and urban planners frequently adopt strategies that counter these mechanisms:\n* **Cool Pavements & Roofs:** Using high-[albedo](wiki:Albedo) (reflective) coatings so surfaces reflect sunlight rather than absorbing it.\n* **Urban Greening & Tree Canopies:** Planting street trees and creating parks to restore shade and evapotranspiration.\n* **Green Roofs:** Installing vegetation on rooftops to insulate buildings and cool the local microclimate.\n\n---\n\n```interactive_question\n{\n "type": "choice",\n "id": "uhi_interest_followup",\n "multiple": false,\n "question": "Which aspect of the urban heat island effect would you like to explore next?",\n "options": [\n { "id": "solutions", "text": "Architectural and urban design solutions (e.g., green roofs, cool materials)" },\n { "id": "climate_health", "text": "Impacts on public health, air quality, and climate resilience" },\n { "id": "measurement", "text": "How scientists measure and map surface vs. atmospheric heat islands" }\n ]\n}\n```\n\nWould you like to examine how specific urban planning choices in your local area affect nighttime cooling, or explore one of the topics above?'
|
|
73812
|
+
},
|
|
73813
|
+
follow_up_1: {
|
|
73814
|
+
text: "Search for urban planning strategies that reduce heat islands"
|
|
73815
|
+
},
|
|
73816
|
+
follow_up_2: {
|
|
73817
|
+
text: "Explain how scientists distinguish between surface and atmospheric heat islands"
|
|
73818
|
+
},
|
|
73819
|
+
follow_up_3: {
|
|
73820
|
+
text: "Find academic papers measuring urban surface temperature anomalies"
|
|
73821
|
+
},
|
|
73822
|
+
follow_up_4: {
|
|
73823
|
+
text: "Discuss the public health impacts of extreme nighttime urban temperatures"
|
|
73824
|
+
},
|
|
73825
|
+
follow_up_5: {
|
|
73826
|
+
text: "Search for green roof design case studies in cities"
|
|
73827
|
+
},
|
|
73828
|
+
follow_up_6: {
|
|
73829
|
+
text: "Describe how urban canyon geometry traps radiated heat at night"
|
|
73830
|
+
}
|
|
73831
|
+
},
|
|
71565
73832
|
us_egg_prices_deep_research: {
|
|
71566
73833
|
title: {
|
|
71567
73834
|
text: "Why US Egg Prices Stayed High"
|
|
@@ -71704,6 +73971,48 @@ As of mid-2026, the severe supply shocks from the 2024\u20132025 avian flu have
|
|
|
71704
73971
|
follow_up_6: {
|
|
71705
73972
|
text: "Summarize key financial metrics for VITL"
|
|
71706
73973
|
}
|
|
73974
|
+
},
|
|
73975
|
+
voice_note_transcription_action_item: {
|
|
73976
|
+
title: {
|
|
73977
|
+
text: "Transcribe a Short Voice Note"
|
|
73978
|
+
},
|
|
73979
|
+
summary: {
|
|
73980
|
+
text: "Transcribe a short recording and check whether it contains a task to follow up."
|
|
73981
|
+
},
|
|
73982
|
+
message_1: {
|
|
73983
|
+
text: "Could you transcribe this short recording and tell me whether it includes an action item?\n[!](embed:transcription-demo-voice-note-wav-ab2ed0-823c8695-2632-495a-9bff-9e66a805d114)"
|
|
73984
|
+
},
|
|
73985
|
+
message_2: {
|
|
73986
|
+
text: `Here is the transcription of your recording:
|
|
73987
|
+
|
|
73988
|
+
> *"Real-time transcription is working correctly in OpenMates."*
|
|
73989
|
+
|
|
73990
|
+
### Does it contain an action item?
|
|
73991
|
+
**No.** The recording is simply an informational status update confirming that the transcription feature is functional. It does not mention any tasks, deadlines, or requested follow-up actions.
|
|
73992
|
+
|
|
73993
|
+
---
|
|
73994
|
+
|
|
73995
|
+
**Next steps you might consider:**
|
|
73996
|
+
- If you'd like to test a recording that does contain tasks, feel free to share another voice note!`
|
|
73997
|
+
},
|
|
73998
|
+
follow_up_1: {
|
|
73999
|
+
text: "Search for voice memo transcription apps with task extraction features"
|
|
74000
|
+
},
|
|
74001
|
+
follow_up_2: {
|
|
74002
|
+
text: "Explain how automatic action item detection works in AI models"
|
|
74003
|
+
},
|
|
74004
|
+
follow_up_3: {
|
|
74005
|
+
text: "Transcribe another audio file to test task detection"
|
|
74006
|
+
},
|
|
74007
|
+
follow_up_4: {
|
|
74008
|
+
text: "List tips for recording clear voice notes with actionable steps"
|
|
74009
|
+
},
|
|
74010
|
+
follow_up_5: {
|
|
74011
|
+
text: "Create a new task for reviewing voice recording features"
|
|
74012
|
+
},
|
|
74013
|
+
follow_up_6: {
|
|
74014
|
+
text: "Compare different methods for turning spoken ideas into organized tasks"
|
|
74015
|
+
}
|
|
71707
74016
|
}
|
|
71708
74017
|
},
|
|
71709
74018
|
focus_modes: {
|
|
@@ -89170,10 +91479,29 @@ var TuiTerminal = class {
|
|
|
89170
91479
|
active = false;
|
|
89171
91480
|
suspended = false;
|
|
89172
91481
|
selectingText = false;
|
|
91482
|
+
paintedSelection = false;
|
|
91483
|
+
paintedRows = null;
|
|
91484
|
+
paintedCursor = null;
|
|
91485
|
+
paintedWidth = 0;
|
|
91486
|
+
paintedHeight = 0;
|
|
91487
|
+
outputBlocked = false;
|
|
91488
|
+
pendingFrame = null;
|
|
91489
|
+
outputDrained = () => {
|
|
91490
|
+
this.output.off("drain", this.outputDrained);
|
|
91491
|
+
this.outputBlocked = false;
|
|
91492
|
+
const pending = this.pendingFrame;
|
|
91493
|
+
this.pendingFrame = null;
|
|
91494
|
+
if (pending && this.active && !this.suspended) this.paint(pending);
|
|
91495
|
+
};
|
|
91496
|
+
resized = () => {
|
|
91497
|
+
this.paintedRows = null;
|
|
91498
|
+
};
|
|
89173
91499
|
keyInput = new PassThrough();
|
|
89174
91500
|
decoder = new StringDecoder("utf8");
|
|
89175
91501
|
pendingInput = "";
|
|
91502
|
+
pendingInputBlocked = false;
|
|
89176
91503
|
pendingMouse = "";
|
|
91504
|
+
pendingMouseBlocked = false;
|
|
89177
91505
|
discardingMouse = false;
|
|
89178
91506
|
paste = false;
|
|
89179
91507
|
pasteText = "";
|
|
@@ -89203,10 +91531,14 @@ var TuiTerminal = class {
|
|
|
89203
91531
|
}
|
|
89204
91532
|
enter() {
|
|
89205
91533
|
if (this.active) return;
|
|
91534
|
+
this.resetPaint();
|
|
91535
|
+
this.selectingText = false;
|
|
91536
|
+
this.paintedSelection = false;
|
|
89206
91537
|
this.active = true;
|
|
89207
91538
|
this.rawWasEnabled = Boolean(this.input.isRaw);
|
|
89208
91539
|
emitKeypressEvents(this.keyInput);
|
|
89209
91540
|
this.input.on("data", this.rawInput);
|
|
91541
|
+
this.output.on("resize", this.resized);
|
|
89210
91542
|
if (typeof this.input.setRawMode === "function") {
|
|
89211
91543
|
this.input.setRawMode(true);
|
|
89212
91544
|
}
|
|
@@ -89219,6 +91551,7 @@ var TuiTerminal = class {
|
|
|
89219
91551
|
}
|
|
89220
91552
|
leave() {
|
|
89221
91553
|
if (!this.active) return;
|
|
91554
|
+
this.resetPaint();
|
|
89222
91555
|
this.removeListeners();
|
|
89223
91556
|
this.output.write("\x1B[?25h");
|
|
89224
91557
|
this.output.write("\x1B[?2004l");
|
|
@@ -89229,17 +91562,23 @@ var TuiTerminal = class {
|
|
|
89229
91562
|
}
|
|
89230
91563
|
this.input.pause();
|
|
89231
91564
|
this.active = false;
|
|
91565
|
+
this.selectingText = false;
|
|
91566
|
+
this.paintedSelection = false;
|
|
89232
91567
|
}
|
|
89233
91568
|
async suspend(run) {
|
|
89234
91569
|
this.suspended = true;
|
|
91570
|
+
this.resetPaint();
|
|
89235
91571
|
this.input.off("data", this.rawInput);
|
|
91572
|
+
this.output.off("resize", this.resized);
|
|
89236
91573
|
if (this.resizeHandler) this.output.off("resize", this.resizeHandler);
|
|
89237
91574
|
if (this.inputTimer) clearTimeout(this.inputTimer);
|
|
89238
91575
|
if (this.mouseTimer) clearTimeout(this.mouseTimer);
|
|
89239
91576
|
this.mouseTimer = null;
|
|
89240
91577
|
this.inputTimer = null;
|
|
89241
91578
|
this.pendingInput = "";
|
|
91579
|
+
this.pendingInputBlocked = false;
|
|
89242
91580
|
this.pendingMouse = "";
|
|
91581
|
+
this.pendingMouseBlocked = false;
|
|
89243
91582
|
this.discardingMouse = false;
|
|
89244
91583
|
this.paste = false;
|
|
89245
91584
|
this.pasteText = "";
|
|
@@ -89258,6 +91597,7 @@ var TuiTerminal = class {
|
|
|
89258
91597
|
while (this.input.read() !== null) {
|
|
89259
91598
|
}
|
|
89260
91599
|
this.input.on("data", this.rawInput);
|
|
91600
|
+
this.output.on("resize", this.resized);
|
|
89261
91601
|
if (this.resizeHandler) this.output.on("resize", this.resizeHandler);
|
|
89262
91602
|
if (typeof this.input.setRawMode === "function") {
|
|
89263
91603
|
this.input.setRawMode(true);
|
|
@@ -89268,6 +91608,7 @@ var TuiTerminal = class {
|
|
|
89268
91608
|
this.output.write("\x1B[?2004h");
|
|
89269
91609
|
this.output.write(this.selectingText ? "\x1B[?1000l\x1B[?1006l" : "\x1B[?1000h\x1B[?1006h");
|
|
89270
91610
|
this.output.write("\x1B[2J\x1B[H");
|
|
91611
|
+
this.paintedSelection = this.selectingText;
|
|
89271
91612
|
}
|
|
89272
91613
|
}
|
|
89273
91614
|
}
|
|
@@ -89283,18 +91624,51 @@ var TuiTerminal = class {
|
|
|
89283
91624
|
}
|
|
89284
91625
|
render(frame, cursor = null, selectingText = false) {
|
|
89285
91626
|
if (!this.active || this.suspended) return;
|
|
89286
|
-
if (selectingText && this.selectingText) return;
|
|
89287
|
-
const mouse = selectingText ? "\x1B[?1000l\x1B[?1006l" : this.selectingText ? "\x1B[?1000h\x1B[?1006h" : "";
|
|
91627
|
+
if (selectingText && this.selectingText && this.paintedRows !== null) return;
|
|
89288
91628
|
this.selectingText = selectingText;
|
|
89289
|
-
const
|
|
89290
|
-
|
|
89291
|
-
|
|
89292
|
-
|
|
89293
|
-
|
|
91629
|
+
const next = { frame, cursor, selectingText };
|
|
91630
|
+
if (this.outputBlocked) {
|
|
91631
|
+
this.pendingFrame = next;
|
|
91632
|
+
return;
|
|
91633
|
+
}
|
|
91634
|
+
this.paint(next);
|
|
91635
|
+
}
|
|
91636
|
+
paint({ frame, cursor, selectingText }) {
|
|
91637
|
+
const width = this.width;
|
|
91638
|
+
const height = this.height;
|
|
91639
|
+
const rows2 = frame.split("\n").slice(0, height);
|
|
91640
|
+
const repaint = this.paintedRows === null || width !== this.paintedWidth || height !== this.paintedHeight;
|
|
91641
|
+
const body = rows2.map((row3, index) => repaint || row3 !== this.paintedRows?.[index] ? `\x1B[${index + 1};1H\x1B[2K${row3}` : "").join("");
|
|
91642
|
+
const tail = !repaint && this.paintedRows !== null && rows2.length < this.paintedRows.length ? `\x1B[${rows2.length + 1};1H\x1B[J` : "";
|
|
91643
|
+
const nextCursor = cursor && !selectingText && cursor.row >= 0 && cursor.row < height && cursor.column >= 0 && cursor.column < width ? cursor : null;
|
|
91644
|
+
const cursorChanged = nextCursor?.row !== this.paintedCursor?.row || nextCursor?.column !== this.paintedCursor?.column;
|
|
91645
|
+
const mouse = selectingText !== this.paintedSelection ? selectingText ? "\x1B[?1000l\x1B[?1006l" : "\x1B[?1000h\x1B[?1006h" : "";
|
|
91646
|
+
if (!body && !tail && !cursorChanged && !mouse) return;
|
|
91647
|
+
const caret = nextCursor ? `\x1B[${nextCursor.row + 1};${nextCursor.column + 1}H\x1B[?25h` : "";
|
|
91648
|
+
const accepted = this.output.write(`\x1B[?2026h\x1B[?25l${mouse}${repaint ? "\x1B[2J" : ""}${body}${tail}${caret}\x1B[?2026l`);
|
|
91649
|
+
this.paintedRows = rows2;
|
|
91650
|
+
this.paintedWidth = width;
|
|
91651
|
+
this.paintedHeight = height;
|
|
91652
|
+
this.paintedCursor = nextCursor;
|
|
91653
|
+
this.paintedSelection = selectingText;
|
|
91654
|
+
if (!accepted) {
|
|
91655
|
+
this.outputBlocked = true;
|
|
91656
|
+
this.output.on("drain", this.outputDrained);
|
|
91657
|
+
}
|
|
91658
|
+
}
|
|
91659
|
+
resetPaint() {
|
|
91660
|
+
this.output.off("drain", this.outputDrained);
|
|
91661
|
+
this.outputBlocked = false;
|
|
91662
|
+
this.pendingFrame = null;
|
|
91663
|
+
this.paintedRows = null;
|
|
91664
|
+
this.paintedCursor = null;
|
|
91665
|
+
this.paintedWidth = 0;
|
|
91666
|
+
this.paintedHeight = 0;
|
|
89294
91667
|
}
|
|
89295
91668
|
receiveInput(text7) {
|
|
89296
91669
|
if (this.inputTimer) clearTimeout(this.inputTimer);
|
|
89297
91670
|
this.inputTimer = null;
|
|
91671
|
+
const blockedAtStart = this.pendingInputBlocked || this.outputBlocked;
|
|
89298
91672
|
this.pendingInput += text7;
|
|
89299
91673
|
const marker = this.paste ? "\x1B[201~" : "\x1B[200~";
|
|
89300
91674
|
const found = this.pendingInput.indexOf(marker);
|
|
@@ -89305,14 +91679,16 @@ var TuiTerminal = class {
|
|
|
89305
91679
|
this.keyHandler?.(this.pasteText, { name: "paste" });
|
|
89306
91680
|
this.pasteText = "";
|
|
89307
91681
|
} else {
|
|
89308
|
-
this.dispatchInput(before);
|
|
91682
|
+
this.dispatchInput(before, blockedAtStart);
|
|
89309
91683
|
if (this.mouseTimer) clearTimeout(this.mouseTimer);
|
|
89310
91684
|
this.mouseTimer = null;
|
|
89311
91685
|
this.pendingMouse = "";
|
|
91686
|
+
this.pendingMouseBlocked = false;
|
|
89312
91687
|
this.discardingMouse = false;
|
|
89313
91688
|
}
|
|
89314
91689
|
this.paste = !this.paste;
|
|
89315
91690
|
this.pendingInput = this.pendingInput.slice(found + marker.length);
|
|
91691
|
+
this.pendingInputBlocked = false;
|
|
89316
91692
|
this.receiveInput("");
|
|
89317
91693
|
return;
|
|
89318
91694
|
}
|
|
@@ -89320,20 +91696,24 @@ var TuiTerminal = class {
|
|
|
89320
91696
|
for (let i = 1; i < marker.length; i++) if (this.pendingInput.endsWith(marker.slice(0, i))) trailing = i;
|
|
89321
91697
|
const ready2 = this.pendingInput.slice(0, this.pendingInput.length - trailing);
|
|
89322
91698
|
this.pendingInput = trailing ? this.pendingInput.slice(-trailing) : "";
|
|
91699
|
+
this.pendingInputBlocked = Boolean(trailing) && blockedAtStart;
|
|
89323
91700
|
if (this.paste) this.pasteText = (this.pasteText + ready2).slice(0, 131072);
|
|
89324
|
-
else if (ready2) this.dispatchInput(ready2);
|
|
91701
|
+
else if (ready2) this.dispatchInput(ready2, blockedAtStart);
|
|
89325
91702
|
if (trailing && !this.paste) this.inputTimer = setTimeout(() => {
|
|
89326
|
-
this.dispatchInput(this.pendingInput);
|
|
91703
|
+
this.dispatchInput(this.pendingInput, this.pendingInputBlocked);
|
|
89327
91704
|
this.pendingInput = "";
|
|
91705
|
+
this.pendingInputBlocked = false;
|
|
89328
91706
|
this.inputTimer = null;
|
|
89329
91707
|
}, 30);
|
|
89330
91708
|
}
|
|
89331
91709
|
/** Keep SGR mouse bytes out of readline, including malformed and split reports. */
|
|
89332
|
-
dispatchInput(text7) {
|
|
91710
|
+
dispatchInput(text7, blockedAtStart = false) {
|
|
89333
91711
|
if (this.mouseTimer) clearTimeout(this.mouseTimer);
|
|
89334
91712
|
this.mouseTimer = null;
|
|
89335
91713
|
const input = this.pendingMouse + text7;
|
|
89336
91714
|
this.pendingMouse = "";
|
|
91715
|
+
const blockedMouse = blockedAtStart || this.pendingMouseBlocked || this.outputBlocked;
|
|
91716
|
+
this.pendingMouseBlocked = false;
|
|
89337
91717
|
let offset = 0;
|
|
89338
91718
|
if (this.discardingMouse) {
|
|
89339
91719
|
const end = input.search(/[mM\x1b]/);
|
|
@@ -89347,7 +91727,7 @@ var TuiTerminal = class {
|
|
|
89347
91727
|
const rest = input.slice(offset);
|
|
89348
91728
|
const prefix = rest.endsWith("\x1B[") ? "\x1B[" : rest.endsWith("\x1B") ? "\x1B" : "";
|
|
89349
91729
|
this.keyInput.write(prefix ? rest.slice(0, -prefix.length) : rest);
|
|
89350
|
-
if (prefix) this.holdMousePrefix(prefix);
|
|
91730
|
+
if (prefix) this.holdMousePrefix(prefix, blockedMouse);
|
|
89351
91731
|
break;
|
|
89352
91732
|
}
|
|
89353
91733
|
this.keyInput.write(input.slice(offset, start));
|
|
@@ -89360,13 +91740,13 @@ var TuiTerminal = class {
|
|
|
89360
91740
|
offset = nextEscape;
|
|
89361
91741
|
continue;
|
|
89362
91742
|
}
|
|
89363
|
-
if (input.length - start < 128) this.holdMousePrefix(input.slice(start));
|
|
91743
|
+
if (input.length - start < 128) this.holdMousePrefix(input.slice(start), blockedMouse);
|
|
89364
91744
|
else this.discardingMouse = true;
|
|
89365
91745
|
break;
|
|
89366
91746
|
}
|
|
89367
91747
|
const sequence = input.slice(start, end + 1);
|
|
89368
91748
|
const report = /^\x1b\[<(\d+);(\d+);(\d+)([mM])$/.exec(sequence);
|
|
89369
|
-
if (report) {
|
|
91749
|
+
if (report && !blockedMouse && !this.outputBlocked) {
|
|
89370
91750
|
const button = Number(report[1]);
|
|
89371
91751
|
const column = Number(report[2]);
|
|
89372
91752
|
const row3 = Number(report[3]);
|
|
@@ -89382,11 +91762,13 @@ var TuiTerminal = class {
|
|
|
89382
91762
|
offset = end + 1;
|
|
89383
91763
|
}
|
|
89384
91764
|
}
|
|
89385
|
-
holdMousePrefix(prefix) {
|
|
91765
|
+
holdMousePrefix(prefix, blocked) {
|
|
89386
91766
|
this.pendingMouse = prefix;
|
|
91767
|
+
this.pendingMouseBlocked = blocked;
|
|
89387
91768
|
this.mouseTimer = setTimeout(() => {
|
|
89388
91769
|
const pending = this.pendingMouse;
|
|
89389
91770
|
this.pendingMouse = "";
|
|
91771
|
+
this.pendingMouseBlocked = false;
|
|
89390
91772
|
this.mouseTimer = null;
|
|
89391
91773
|
if (pending === "\x1B") this.keyHandler?.("\x1B", { name: "escape", sequence: pending });
|
|
89392
91774
|
else if (pending === "\x1B[") this.keyInput.write(pending);
|
|
@@ -89399,12 +91781,15 @@ var TuiTerminal = class {
|
|
|
89399
91781
|
this.keyHandler = null;
|
|
89400
91782
|
}
|
|
89401
91783
|
this.input.off("data", this.rawInput);
|
|
91784
|
+
this.output.off("resize", this.resized);
|
|
89402
91785
|
if (this.inputTimer) clearTimeout(this.inputTimer);
|
|
89403
91786
|
if (this.mouseTimer) clearTimeout(this.mouseTimer);
|
|
89404
91787
|
this.mouseTimer = null;
|
|
89405
91788
|
this.inputTimer = null;
|
|
89406
91789
|
this.pendingInput = "";
|
|
91790
|
+
this.pendingInputBlocked = false;
|
|
89407
91791
|
this.pendingMouse = "";
|
|
91792
|
+
this.pendingMouseBlocked = false;
|
|
89408
91793
|
this.discardingMouse = false;
|
|
89409
91794
|
this.paste = false;
|
|
89410
91795
|
this.pasteText = "";
|
|
@@ -93410,13 +95795,16 @@ var ACCENT = "#80caff";
|
|
|
93410
95795
|
var LINK = "#85c9e8";
|
|
93411
95796
|
var CODE = "#b8b8b8";
|
|
93412
95797
|
var segmenter = new Intl.Segmenter(void 0, { granularity: "grapheme" });
|
|
93413
|
-
|
|
93414
|
-
|
|
95798
|
+
var INLINE_BOUNDARY = /[\\`[*_\x1b]/;
|
|
95799
|
+
function appendSanitized(out, text7, style = {}) {
|
|
93415
95800
|
if (!text7) return;
|
|
93416
95801
|
const last = out.at(-1);
|
|
93417
|
-
if (last && last.bold === style.bold && last.color === style.color && last.background === style.background && JSON.stringify(last.action) === JSON.stringify(style.action)) last.text += text7;
|
|
95802
|
+
if (last && last.bold === style.bold && last.color === style.color && last.background === style.background && (last.action === style.action || !last.action && !style.action || Boolean(last.action && style.action && JSON.stringify(last.action) === JSON.stringify(style.action)))) last.text += text7;
|
|
93418
95803
|
else out.push({ text: text7, bold: style.bold, color: style.color, background: style.background, action: style.action });
|
|
93419
95804
|
}
|
|
95805
|
+
function append(out, value, style = {}) {
|
|
95806
|
+
appendSanitized(out, terminalText(value), style);
|
|
95807
|
+
}
|
|
93420
95808
|
function closing(source, from, delimiter) {
|
|
93421
95809
|
for (let i = from; i <= source.length - delimiter.length; i++) {
|
|
93422
95810
|
if (source[i] === "\\") {
|
|
@@ -93460,6 +95848,13 @@ function safeReference(value) {
|
|
|
93460
95848
|
function inline(source, options, base = {}) {
|
|
93461
95849
|
const out = [];
|
|
93462
95850
|
for (let i = 0; i < source.length; ) {
|
|
95851
|
+
if (!INLINE_BOUNDARY.test(source[i])) {
|
|
95852
|
+
let end = i + 1;
|
|
95853
|
+
while (end < source.length && !INLINE_BOUNDARY.test(source[end])) end++;
|
|
95854
|
+
append(out, source.slice(i, end), base);
|
|
95855
|
+
i = end;
|
|
95856
|
+
continue;
|
|
95857
|
+
}
|
|
93463
95858
|
if (source[i] === "\\" && i + 1 < source.length) {
|
|
93464
95859
|
append(out, source[i + 1], base);
|
|
93465
95860
|
i += 2;
|
|
@@ -93498,7 +95893,7 @@ function inline(source, options, base = {}) {
|
|
|
93498
95893
|
if (delimiter && source[i + delimiter.length] && !/\s/.test(source[i + delimiter.length])) {
|
|
93499
95894
|
const end = closing(source, i + delimiter.length, delimiter);
|
|
93500
95895
|
if (end > i + delimiter.length && !/\s/.test(source[end - 1])) {
|
|
93501
|
-
for (const span of inline(source.slice(i + delimiter.length, end), options, { ...base, bold: delimiter.length === 2 || base.bold }))
|
|
95896
|
+
for (const span of inline(source.slice(i + delimiter.length, end), options, { ...base, bold: delimiter.length === 2 || base.bold })) appendSanitized(out, span.text, span);
|
|
93502
95897
|
i = end + delimiter.length;
|
|
93503
95898
|
continue;
|
|
93504
95899
|
}
|
|
@@ -93517,14 +95912,14 @@ function wrapped(spans, width, lineStyle = {}) {
|
|
|
93517
95912
|
used = 0;
|
|
93518
95913
|
};
|
|
93519
95914
|
for (const span of spans) for (const { segment } of segmenter.segment(span.text)) {
|
|
93520
|
-
const size =
|
|
95915
|
+
const size = graphemeCellWidth(segment);
|
|
93521
95916
|
if (used && used + size > width) flush();
|
|
93522
95917
|
if (size > width) {
|
|
93523
|
-
|
|
95918
|
+
appendSanitized(parts, "?", span);
|
|
93524
95919
|
used += 1;
|
|
93525
95920
|
continue;
|
|
93526
95921
|
}
|
|
93527
|
-
|
|
95922
|
+
appendSanitized(parts, segment, span);
|
|
93528
95923
|
used += size;
|
|
93529
95924
|
}
|
|
93530
95925
|
flush();
|
|
@@ -97688,6 +100083,61 @@ function readableLabel(key) {
|
|
|
97688
100083
|
return label3 ? label3[0].toUpperCase() + label3.slice(1) : "Value";
|
|
97689
100084
|
}
|
|
97690
100085
|
|
|
100086
|
+
// src/tuiRenderCache.ts
|
|
100087
|
+
var CHAT_RENDER_CACHE_MAX_MESSAGES = 512;
|
|
100088
|
+
var CHAT_RENDER_CACHE_MAX_CHARS = 2e6;
|
|
100089
|
+
var stores = /* @__PURE__ */ new WeakMap();
|
|
100090
|
+
function sameEmbeds(previous, current2) {
|
|
100091
|
+
if (previous.size !== current2.size) return false;
|
|
100092
|
+
for (const [id, value] of current2) if (previous.get(id) !== value) return false;
|
|
100093
|
+
return true;
|
|
100094
|
+
}
|
|
100095
|
+
function cachedChatLayout(state, message, content, context, create) {
|
|
100096
|
+
let store = stores.get(state);
|
|
100097
|
+
if (!store || store.frame !== context.frame && (store.owner !== context.owner || store.width !== context.width || store.aliases !== context.aliases || !sameEmbeds(store.embeds, context.embeds))) {
|
|
100098
|
+
store = {
|
|
100099
|
+
owner: context.owner,
|
|
100100
|
+
width: context.width,
|
|
100101
|
+
aliases: context.aliases,
|
|
100102
|
+
embeds: new Map(context.embeds),
|
|
100103
|
+
frame: context.frame,
|
|
100104
|
+
entries: /* @__PURE__ */ new Map(),
|
|
100105
|
+
chars: 0
|
|
100106
|
+
};
|
|
100107
|
+
stores.set(state, store);
|
|
100108
|
+
}
|
|
100109
|
+
store.frame = context.frame;
|
|
100110
|
+
const hit = store.entries.get(message);
|
|
100111
|
+
if (hit && hit.content === content && hit.variant === context.variant) {
|
|
100112
|
+
store.entries.delete(message);
|
|
100113
|
+
store.entries.set(message, hit);
|
|
100114
|
+
return hit.value;
|
|
100115
|
+
}
|
|
100116
|
+
if (hit) {
|
|
100117
|
+
store.entries.delete(message);
|
|
100118
|
+
store.chars -= hit.size;
|
|
100119
|
+
}
|
|
100120
|
+
const value = create();
|
|
100121
|
+
const size = chatLayoutWeight(content);
|
|
100122
|
+
if (!context.cacheable || size > CHAT_RENDER_CACHE_MAX_CHARS / 4) return value;
|
|
100123
|
+
while (store.entries.size >= CHAT_RENDER_CACHE_MAX_MESSAGES || store.chars + size > CHAT_RENDER_CACHE_MAX_CHARS) {
|
|
100124
|
+
const oldest = store.entries.keys().next().value;
|
|
100125
|
+
if (!oldest) break;
|
|
100126
|
+
const removed = store.entries.get(oldest);
|
|
100127
|
+
store.entries.delete(oldest);
|
|
100128
|
+
store.chars -= removed.size;
|
|
100129
|
+
}
|
|
100130
|
+
store.entries.set(message, { content, variant: context.variant, value, size });
|
|
100131
|
+
store.chars += size;
|
|
100132
|
+
return value;
|
|
100133
|
+
}
|
|
100134
|
+
function chatLayoutWeight(content) {
|
|
100135
|
+
return content.length * 4 + 128;
|
|
100136
|
+
}
|
|
100137
|
+
function clearChatRenderCache(state) {
|
|
100138
|
+
stores.delete(state);
|
|
100139
|
+
}
|
|
100140
|
+
|
|
97691
100141
|
// src/tuiSettingsShell.ts
|
|
97692
100142
|
import { createHash as createHash24 } from "crypto";
|
|
97693
100143
|
function ownerIdentity(context) {
|
|
@@ -98102,6 +100552,7 @@ function rankExamples(examples, interests) {
|
|
|
98102
100552
|
var TUI_SESSION_ENDED_STATUS = "Session ended. Sign in to reopen your work.";
|
|
98103
100553
|
function resetEndedTuiSession(state, hasSession) {
|
|
98104
100554
|
if (!state.signedIn || hasSession) return false;
|
|
100555
|
+
clearChatRenderCache(state);
|
|
98105
100556
|
state.homeAbortController?.abort();
|
|
98106
100557
|
Object.values(state.chatContextAuthoringControls).forEach((control) => control.stop());
|
|
98107
100558
|
const routeVersion = state.routeVersion + 1, homeLoadVersion = state.homeLoadVersion + 1;
|
|
@@ -98109,6 +100560,7 @@ function resetEndedTuiSession(state, hasSession) {
|
|
|
98109
100560
|
return true;
|
|
98110
100561
|
}
|
|
98111
100562
|
function renderTuiFrame(state, width, height, options = {}) {
|
|
100563
|
+
if (state.screen !== "chat") clearChatRenderCache(state);
|
|
98112
100564
|
fenceTuiSettingsView(state);
|
|
98113
100565
|
beginPointerFrame(state, width, height);
|
|
98114
100566
|
if (state.startup || state.privacyOffer) return renderStartupFrame(state, width, height, options.colorMode ?? "none");
|
|
@@ -98418,8 +100870,33 @@ function renderExampleChat(state, width, height) {
|
|
|
98418
100870
|
}
|
|
98419
100871
|
function renderChat(state, width, height) {
|
|
98420
100872
|
const lines = renderChatHeader(state, width, height);
|
|
100873
|
+
const embeds = new Map(Object.entries(state.chatEmbeds));
|
|
100874
|
+
const cacheContext = {
|
|
100875
|
+
owner: JSON.stringify([state.signedIn, state.currentUserHash, state.activeTeamId, state.activeChatId, state.routeVersion]),
|
|
100876
|
+
width,
|
|
100877
|
+
aliases: JSON.stringify(state.embedAliases),
|
|
100878
|
+
embeds,
|
|
100879
|
+
frame: {}
|
|
100880
|
+
};
|
|
100881
|
+
const cacheable = /* @__PURE__ */ new Set();
|
|
100882
|
+
let cachedWeight = 0;
|
|
100883
|
+
for (let index = state.messages.length - 1; index >= 0 && cacheable.size < CHAT_RENDER_CACHE_MAX_MESSAGES; index--) {
|
|
100884
|
+
const weight = chatLayoutWeight(state.messages[index].content);
|
|
100885
|
+
if (weight > CHAT_RENDER_CACHE_MAX_CHARS / 4) continue;
|
|
100886
|
+
if (cachedWeight + weight > CHAT_RENDER_CACHE_MAX_CHARS) break;
|
|
100887
|
+
cachedWeight += weight;
|
|
100888
|
+
cacheable.add(index);
|
|
100889
|
+
}
|
|
100890
|
+
let firstEmbedId, firstEmbedChecked = false;
|
|
100891
|
+
const defaultEmbedId = () => {
|
|
100892
|
+
if (!firstEmbedChecked) {
|
|
100893
|
+
firstEmbedId = chatEmbedReferences(state)[0]?.value;
|
|
100894
|
+
firstEmbedChecked = true;
|
|
100895
|
+
}
|
|
100896
|
+
return firstEmbedId;
|
|
100897
|
+
};
|
|
98421
100898
|
let contextIndex2 = 0, viewOffset = 0, questionOffset = 0;
|
|
98422
|
-
for (const message of state.messages) {
|
|
100899
|
+
for (const [index, message] of state.messages.entries()) {
|
|
98423
100900
|
const event = message.role === "system" ? parseChatContextContent(message.content) : null;
|
|
98424
100901
|
if (event) {
|
|
98425
100902
|
contextIndex2++;
|
|
@@ -98432,10 +100909,26 @@ function renderChat(state, width, height) {
|
|
|
98432
100909
|
continue;
|
|
98433
100910
|
}
|
|
98434
100911
|
lines.push({ text: messageLabel(message.role, message.title, message.category, state.activeChat, message.remoteUser), color: "#5a85eb", bold: true });
|
|
98435
|
-
const
|
|
98436
|
-
|
|
98437
|
-
|
|
98438
|
-
|
|
100912
|
+
const questionBlocks = message.role === "assistant";
|
|
100913
|
+
const prepared = cachedChatLayout(
|
|
100914
|
+
state,
|
|
100915
|
+
message,
|
|
100916
|
+
message.content,
|
|
100917
|
+
{ ...cacheContext, variant: questionBlocks ? "questions" : "literal-questions", cacheable: cacheable.has(index) },
|
|
100918
|
+
() => prepareMessageContent(message.content, width, state, questionBlocks, true)
|
|
100919
|
+
);
|
|
100920
|
+
lines.push(...renderPreparedMessageContent(
|
|
100921
|
+
prepared,
|
|
100922
|
+
width,
|
|
100923
|
+
embeds,
|
|
100924
|
+
state,
|
|
100925
|
+
questionBlocks ? message.embedIds : void 0,
|
|
100926
|
+
viewOffset,
|
|
100927
|
+
questionOffset,
|
|
100928
|
+
defaultEmbedId
|
|
100929
|
+
));
|
|
100930
|
+
viewOffset += prepared.viewCount;
|
|
100931
|
+
if (questionBlocks) questionOffset += prepared.questionCount;
|
|
98439
100932
|
lines.push("");
|
|
98440
100933
|
}
|
|
98441
100934
|
if (state.projectFocusPending) lines.push("Project access starts after the countdown. /project-focus-reject to cancel.");
|
|
@@ -98496,13 +100989,36 @@ function relativeTime(timestamp) {
|
|
|
98496
100989
|
function renderStatus(state, width) {
|
|
98497
100990
|
return ["OpenMates", "", state.status ?? "Working..."].flatMap((line3) => wrap(line3, width));
|
|
98498
100991
|
}
|
|
100992
|
+
function prepareMessageContent(content, width, state, questionBlocks = true, countQuestions = false) {
|
|
100993
|
+
const segments2 = parseMessageSegments(content, { preserveCodeFences: true }).map((segment) => segment.type === "embed" ? segment : {
|
|
100994
|
+
type: "text",
|
|
100995
|
+
value: segment.value,
|
|
100996
|
+
blocks: parseTuiMarkdown(segment.value, width, { resolveEmbedAlias: (id) => state ? aliasForEmbed(state, id) : id, questionBlocks })
|
|
100997
|
+
});
|
|
100998
|
+
return {
|
|
100999
|
+
segments: segments2,
|
|
101000
|
+
viewCount: segments2.reduce((count, segment) => count + (segment.type === "text" ? segment.blocks.filter((block) => block.type === "results-view").length : 0), 0),
|
|
101001
|
+
questionCount: countQuestions && questionBlocks ? messageQuestions(content).length : 0
|
|
101002
|
+
};
|
|
101003
|
+
}
|
|
98499
101004
|
function renderMessageContentStyled(content, width, embeds = /* @__PURE__ */ new Map(), state, extraIds = [], viewOffset = 0, questionOffset = 0, questionBlocks = true) {
|
|
98500
|
-
|
|
101005
|
+
return renderPreparedMessageContent(
|
|
101006
|
+
prepareMessageContent(content, width, state, questionBlocks),
|
|
101007
|
+
width,
|
|
101008
|
+
embeds,
|
|
101009
|
+
state,
|
|
101010
|
+
extraIds,
|
|
101011
|
+
viewOffset,
|
|
101012
|
+
questionOffset
|
|
101013
|
+
);
|
|
101014
|
+
}
|
|
101015
|
+
function renderPreparedMessageContent(prepared, width, embeds, state, extraIds = [], viewOffset = 0, questionOffset = 0, getDefaultEmbedId) {
|
|
101016
|
+
const lines = [], segments2 = prepared.segments;
|
|
98501
101017
|
let pending = [], viewIndex = viewOffset, questionIndex = questionOffset;
|
|
98502
101018
|
const flush = () => {
|
|
98503
101019
|
if (!pending.length) return;
|
|
98504
101020
|
const unique4 = pending.filter((ref, index) => pending.findIndex((other) => other.value === ref.value) === index);
|
|
98505
|
-
const id = state?.chatSelectedEmbedId ?? (state ? chatEmbedReferences(state)[0]?.value : void 0);
|
|
101021
|
+
const id = state?.chatSelectedEmbedId ?? (state ? getDefaultEmbedId ? getDefaultEmbedId() : chatEmbedReferences(state)[0]?.value : void 0);
|
|
98506
101022
|
const selected = unique4.findIndex((ref) => ref.value === id), cardWidth = Math.min(width, 62);
|
|
98507
101023
|
const rawCards = unique4.map((ref) => renderEmbedReference(ref, cardWidth, embeds, state));
|
|
98508
101024
|
const height = Math.max(...rawCards.map((card2) => card2.length));
|
|
@@ -98518,8 +101034,8 @@ function renderMessageContentStyled(content, width, embeds = /* @__PURE__ */ new
|
|
|
98518
101034
|
));
|
|
98519
101035
|
pending = [];
|
|
98520
101036
|
};
|
|
98521
|
-
const text7 = (
|
|
98522
|
-
for (const block of
|
|
101037
|
+
const text7 = (blocks) => {
|
|
101038
|
+
for (const block of blocks) {
|
|
98523
101039
|
if (block.type === "line") lines.push(block.line);
|
|
98524
101040
|
else if (block.type === "question") {
|
|
98525
101041
|
const key = ++questionIndex;
|
|
@@ -98536,8 +101052,8 @@ function renderMessageContentStyled(content, width, embeds = /* @__PURE__ */ new
|
|
|
98536
101052
|
if (segment.type === "embed") pending.push(segment);
|
|
98537
101053
|
else if (segment.value.trim()) {
|
|
98538
101054
|
flush();
|
|
98539
|
-
text7(segment.
|
|
98540
|
-
} else if (!pending.length) text7(segment.
|
|
101055
|
+
text7(segment.blocks);
|
|
101056
|
+
} else if (!pending.length) text7(segment.blocks);
|
|
98541
101057
|
}
|
|
98542
101058
|
const inline2 = new Set(segments2.filter((segment) => segment.type === "embed").map((segment) => segment.value));
|
|
98543
101059
|
pending.push(...extraIds.filter((id) => !inline2.has(id)).map((value) => ({ value })));
|