@almadar/std 16.243.0 → 16.244.0

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.
Files changed (140) hide show
  1. package/behaviors/behaviors-registry.json +4470 -513
  2. package/behaviors/lolo/agent/atoms/std-agent-context.lolo +24 -4
  3. package/behaviors/lolo/agent/atoms/std-agent-memory.lolo +20 -5
  4. package/behaviors/lolo/agent/atoms/std-agent-proposal.lolo +550 -0
  5. package/behaviors/lolo/agent/atoms/std-agent-session.lolo +284 -25
  6. package/behaviors/lolo/agent/atoms/std-agent-suggestions.lolo +841 -0
  7. package/behaviors/lolo/agent/atoms/std-agent-tool-loop.lolo +58 -8
  8. package/behaviors/lolo/agent/organisms/std-agent-assistant.lolo +1 -0
  9. package/behaviors/lolo/infra/atoms/std-page-treat.lolo +28 -1
  10. package/behaviors/lolo/ui/avl/atoms/ui-avl-state-machine.lolo +22 -0
  11. package/behaviors/lolo/ui/avl/atoms/ui-avl-transition-explainer.lolo +175 -0
  12. package/behaviors/lolo/ui/avl/atoms/ui-module-card.lolo +22 -0
  13. package/behaviors/lolo/ui/core/atoms/std-app-layout.lolo +23 -4
  14. package/behaviors/lolo/ui/core/atoms/std-hero.lolo +72 -33
  15. package/behaviors/lolo/ui/core/molecules/ui-agent-chat-feed.lolo +1 -1
  16. package/behaviors/lolo/ui/core/molecules/ui-markdown-content.lolo +54 -0
  17. package/behaviors/lolo/ui/core/molecules/ui-upload-drop-zone.lolo +5 -0
  18. package/behaviors/lolo/ui/core/organisms/ui-segment-renderer.lolo +127 -3
  19. package/behaviors/lolo/ui/core/organisms/ui-state-machine-view.lolo +22 -0
  20. package/behaviors/lolo/ui/core/templates/ui-dashboard-layout.lolo +2 -2
  21. package/behaviors/lolo/ui/learning/atoms/std-learn-arrangement.lolo +87 -17
  22. package/behaviors/lolo/ui/learning/atoms/std-learn-classify.lolo +172 -37
  23. package/behaviors/lolo/ui/learning/atoms/std-learn-coupled-sim.lolo +183 -70
  24. package/behaviors/lolo/ui/learning/atoms/std-learn-derivation.lolo +78 -13
  25. package/behaviors/lolo/ui/learning/atoms/std-learn-diagram.lolo +58 -2
  26. package/behaviors/lolo/ui/learning/atoms/std-learn-doser.lolo +107 -12
  27. package/behaviors/lolo/ui/learning/atoms/std-learn-estimate.lolo +83 -10
  28. package/behaviors/lolo/ui/learning/atoms/std-learn-goal-seek.lolo +130 -9
  29. package/behaviors/lolo/ui/learning/atoms/std-learn-grid-sim.lolo +143 -59
  30. package/behaviors/lolo/ui/learning/atoms/std-learn-hotspot.lolo +96 -22
  31. package/behaviors/lolo/ui/learning/atoms/std-learn-live-sim.lolo +66 -5
  32. package/behaviors/lolo/ui/learning/atoms/std-learn-predict.lolo +84 -6
  33. package/behaviors/lolo/ui/learning/atoms/std-learn-sandbox.lolo +80 -14
  34. package/behaviors/lolo/ui/learning/atoms/std-learn-scatter-fit.lolo +99 -5
  35. package/behaviors/lolo/ui/learning/atoms/std-learn-scenario.lolo +81 -7
  36. package/behaviors/lolo/ui/learning/atoms/std-learn-speed-drill.lolo +83 -7
  37. package/behaviors/lolo/ui/learning/atoms/std-learn-stepper.lolo +224 -99
  38. package/behaviors/lolo/ui/learning/atoms/std-learn-tour-3d.lolo +63 -2
  39. package/behaviors/lolo/ui/learning/atoms/std-learn-trace-player.lolo +99 -38
  40. package/behaviors/lolo/ui/learning/atoms/std-learn-transport.lolo +7 -7
  41. package/behaviors/lolo/ui/learning/atoms/std-learn-tree.lolo +69 -4
  42. package/behaviors/lolo-behavior-contracts.json +1 -1
  43. package/behaviors/registry/agent/atoms/std-agent-context.orb +205 -6
  44. package/behaviors/registry/agent/atoms/std-agent-memory.orb +146 -4
  45. package/behaviors/registry/agent/atoms/std-agent-proposal.orb +1972 -0
  46. package/behaviors/registry/agent/atoms/std-agent-session.orb +2021 -597
  47. package/behaviors/registry/agent/atoms/std-agent-suggestions.orb +5079 -0
  48. package/behaviors/registry/agent/atoms/std-agent-tool-loop.orb +287 -5
  49. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +7 -0
  50. package/behaviors/registry/factory-signatures.json +1 -1
  51. package/behaviors/registry/infra/atoms/std-page-treat.orb +327 -2
  52. package/behaviors/registry/ui/avl/atoms/ui-avl-state-machine.orb +134 -0
  53. package/behaviors/registry/ui/avl/atoms/ui-avl-transition-explainer.orb +678 -0
  54. package/behaviors/registry/ui/avl/atoms/ui-module-card.orb +122 -0
  55. package/behaviors/registry/ui/core/atoms/std-app-layout.orb +73 -4
  56. package/behaviors/registry/ui/core/atoms/std-hero.orb +174 -97
  57. package/behaviors/registry/ui/core/molecules/ui-markdown-content.orb +204 -1
  58. package/behaviors/registry/ui/core/molecules/ui-upload-drop-zone.orb +12 -0
  59. package/behaviors/registry/ui/core/organisms/ui-segment-renderer.orb +683 -30
  60. package/behaviors/registry/ui/learning/atoms/std-learn-arrangement.orb +748 -21
  61. package/behaviors/registry/ui/learning/atoms/std-learn-classify.orb +1429 -41
  62. package/behaviors/registry/ui/learning/atoms/std-learn-coupled-sim.orb +1031 -185
  63. package/behaviors/registry/ui/learning/atoms/std-learn-derivation.orb +807 -132
  64. package/behaviors/registry/ui/learning/atoms/std-learn-diagram.orb +553 -6
  65. package/behaviors/registry/ui/learning/atoms/std-learn-doser.orb +987 -21
  66. package/behaviors/registry/ui/learning/atoms/std-learn-estimate.orb +582 -16
  67. package/behaviors/registry/ui/learning/atoms/std-learn-goal-seek.orb +954 -13
  68. package/behaviors/registry/ui/learning/atoms/std-learn-grid-sim.orb +828 -88
  69. package/behaviors/registry/ui/learning/atoms/std-learn-hotspot.orb +730 -28
  70. package/behaviors/registry/ui/learning/atoms/std-learn-live-sim.orb +479 -9
  71. package/behaviors/registry/ui/learning/atoms/std-learn-predict.orb +797 -46
  72. package/behaviors/registry/ui/learning/atoms/std-learn-sandbox.orb +757 -58
  73. package/behaviors/registry/ui/learning/atoms/std-learn-scatter-fit.orb +1176 -164
  74. package/behaviors/registry/ui/learning/atoms/std-learn-scenario.orb +599 -12
  75. package/behaviors/registry/ui/learning/atoms/std-learn-speed-drill.orb +832 -150
  76. package/behaviors/registry/ui/learning/atoms/std-learn-stepper.orb +1561 -127
  77. package/behaviors/registry/ui/learning/atoms/std-learn-tour-3d.orb +655 -6
  78. package/behaviors/registry/ui/learning/atoms/std-learn-trace-player.orb +634 -43
  79. package/behaviors/registry/ui/learning/atoms/std-learn-transport.orb +85 -31
  80. package/behaviors/registry/ui/learning/atoms/std-learn-tree.orb +425 -9
  81. package/canonical-operators.json +45 -2
  82. package/dist/behaviors/exports-reader.js +16667 -7868
  83. package/dist/behaviors/functions/index.d.ts +711 -32
  84. package/dist/behaviors/functions/index.js +16651 -7869
  85. package/dist/behaviors/index.d.ts +1 -1
  86. package/dist/behaviors/index.js +16668 -7869
  87. package/dist/behaviors/query.js +16667 -7868
  88. package/dist/behaviors-embeddings.hash.json +3 -3
  89. package/dist/behaviors-embeddings.json +77 -53
  90. package/dist/behaviors-registry.json +4470 -513
  91. package/dist/index.d.ts +3 -3
  92. package/dist/index.js +16101 -7275
  93. package/dist/knob-embeddings.hash.json +3 -3
  94. package/dist/knob-embeddings.json +1309 -685
  95. package/dist/modules/anim.d.ts +1 -1
  96. package/dist/modules/array.d.ts +1 -1
  97. package/dist/modules/async.d.ts +1 -1
  98. package/dist/modules/behavior.d.ts +1 -1
  99. package/dist/modules/browser.d.ts +1 -1
  100. package/dist/modules/composition.d.ts +1 -1
  101. package/dist/modules/contract.d.ts +1 -1
  102. package/dist/modules/core.d.ts +1 -1
  103. package/dist/modules/core.js +29 -2
  104. package/dist/modules/data.d.ts +1 -1
  105. package/dist/modules/ease.d.ts +1 -1
  106. package/dist/modules/format.d.ts +1 -1
  107. package/dist/modules/geo.d.ts +1 -1
  108. package/dist/modules/graph.d.ts +1 -1
  109. package/dist/modules/grid.d.ts +1 -1
  110. package/dist/modules/i18n.d.ts +1 -1
  111. package/dist/modules/index.d.ts +1 -1
  112. package/dist/modules/index.js +29 -2
  113. package/dist/modules/integration.d.ts +1 -1
  114. package/dist/modules/json.d.ts +1 -1
  115. package/dist/modules/llm.d.ts +1 -1
  116. package/dist/modules/math.d.ts +1 -1
  117. package/dist/modules/memory.d.ts +1 -1
  118. package/dist/modules/nn.d.ts +1 -1
  119. package/dist/modules/noise.d.ts +1 -1
  120. package/dist/modules/object.d.ts +1 -1
  121. package/dist/modules/os.d.ts +1 -1
  122. package/dist/modules/path.d.ts +1 -1
  123. package/dist/modules/prob.d.ts +1 -1
  124. package/dist/modules/session.d.ts +1 -1
  125. package/dist/modules/str.d.ts +1 -1
  126. package/dist/modules/tensor.d.ts +1 -1
  127. package/dist/modules/time.d.ts +1 -1
  128. package/dist/modules/trace.d.ts +1 -1
  129. package/dist/modules/train.d.ts +1 -1
  130. package/dist/modules/validate.d.ts +1 -1
  131. package/dist/modules/vector.d.ts +1 -1
  132. package/dist/modules/workspace.d.ts +1 -1
  133. package/dist/registry/factory-signatures.json +1 -1
  134. package/dist/registry.d.ts +2 -2
  135. package/dist/registry.js +29 -2
  136. package/dist/{types-Cdb321uM.d.ts → types-Y-yYWEOX.d.ts} +1 -1
  137. package/i18n/ar.json +3 -1
  138. package/i18n/en.json +2 -0
  139. package/i18n/sl.json +3 -1
  140. package/package.json +3 -3
@@ -566,6 +566,24 @@
566
566
  "parent": "trt_01M3WC4PY19N3FHQ4JQF6R9SA4",
567
567
  "renames": []
568
568
  },
569
+ "evt_01M45SH0HA6G6H1W5H4GV96QGJ": {
570
+ "bakedName": "ASSISTANT_EPHEMERAL_SEND",
571
+ "curName": "ASSISTANT_EPHEMERAL_SEND",
572
+ "id": "evt_01M45SH0HA6G6H1W5H4GV96QGJ",
573
+ "kind": "event",
574
+ "owner": "workspace",
575
+ "parent": "trt_01M3WC4PY19N3FHQ4JQF6R9SA4",
576
+ "renames": []
577
+ },
578
+ "evt_01M45SH0HAH0SB9C1CQGWN2T6Y": {
579
+ "bakedName": "START_CHAT",
580
+ "curName": "START_CHAT",
581
+ "id": "evt_01M45SH0HAH0SB9C1CQGWN2T6Y",
582
+ "kind": "event",
583
+ "owner": "workspace",
584
+ "parent": "trt_01M3WC4PY19N3FHQ4JQF6R9SA4",
585
+ "renames": []
586
+ },
569
587
  "orb_01KXG04EKXYAHSWY6RJPZ81FXF": {
570
588
  "bakedName": "AgentSessionOrbital",
571
589
  "curName": "AgentSessionOrbital",
@@ -913,6 +931,59 @@
913
931
  "description": "The assistant is answering.",
914
932
  "name": "working",
915
933
  "type": "boolean"
934
+ },
935
+ {
936
+ "default": "",
937
+ "description": "The ephemeral conversation's own instructions (empty: the assistant's configured ones).",
938
+ "name": "chatInstructions",
939
+ "type": "string"
940
+ },
941
+ {
942
+ "default": [],
943
+ "description": "The ephemeral conversation's own tools (empty: none).",
944
+ "items": {
945
+ "properties": {
946
+ "event": {
947
+ "name": "event",
948
+ "required": false,
949
+ "type": "event"
950
+ },
951
+ "read": {
952
+ "name": "read",
953
+ "required": false,
954
+ "type": "string"
955
+ },
956
+ "scope": {
957
+ "name": "scope",
958
+ "required": false,
959
+ "type": "string",
960
+ "values": [
961
+ "declared"
962
+ ]
963
+ }
964
+ },
965
+ "type": "object"
966
+ },
967
+ "name": "chatTools",
968
+ "type": "array"
969
+ },
970
+ {
971
+ "default": "",
972
+ "description": "The ephemeral conversation's header title.",
973
+ "name": "chatTitle",
974
+ "type": "string"
975
+ },
976
+ {
977
+ "default": "",
978
+ "description": "The ephemeral conversation's header subtitle.",
979
+ "name": "chatSubtitle",
980
+ "type": "string"
981
+ },
982
+ {
983
+ "default": "",
984
+ "description": "The ephemeral conversation's header avatar image.",
985
+ "name": "chatAvatar",
986
+ "type": "string"
916
987
  }
917
988
  ],
918
989
  "id": "ent_01M3WC4PY11QN1558Y1ZV83259",
@@ -1786,6 +1857,14 @@
1786
1857
  "tier": "presentation",
1787
1858
  "type": "string"
1788
1859
  },
1860
+ "ephemeral": {
1861
+ "default": false,
1862
+ "description": "A self-contained conversation: it runs under the instructions, tools, greeting and header the app starts it with (ASSISTANT_CHAT_START), is never stored among the person's conversations or remembered, shows no conversation, past-chat or memory buttons, and ignores the assistant's own replies.",
1863
+ "label": "Ephemeral conversation?",
1864
+ "synonyms": "private, one-off, scoped chat, own persona, not saved",
1865
+ "tier": "domain",
1866
+ "type": "boolean"
1867
+ },
1789
1868
  "links": {
1790
1869
  "default": [
1791
1870
  {
@@ -1855,6 +1934,10 @@
1855
1934
  "kind": "emit",
1856
1935
  "resource": "ASSISTANT_CHAT_SELECTED"
1857
1936
  },
1937
+ {
1938
+ "kind": "emit",
1939
+ "resource": "ASSISTANT_EPHEMERAL_SEND"
1940
+ },
1858
1941
  {
1859
1942
  "kind": "emit",
1860
1943
  "resource": "ASSISTANT_HISTORY_REQUESTED"
@@ -1875,6 +1958,26 @@
1875
1958
  "kind": "render-ui",
1876
1959
  "resource": "main"
1877
1960
  },
1961
+ {
1962
+ "kind": "set",
1963
+ "resource": "@entity.chatAvatar"
1964
+ },
1965
+ {
1966
+ "kind": "set",
1967
+ "resource": "@entity.chatInstructions"
1968
+ },
1969
+ {
1970
+ "kind": "set",
1971
+ "resource": "@entity.chatSubtitle"
1972
+ },
1973
+ {
1974
+ "kind": "set",
1975
+ "resource": "@entity.chatTitle"
1976
+ },
1977
+ {
1978
+ "kind": "set",
1979
+ "resource": "@entity.chatTools"
1980
+ },
1878
1981
  {
1879
1982
  "kind": "set",
1880
1983
  "resource": "@entity.entries"
@@ -1908,6 +2011,62 @@
1908
2011
  "synonyms": "new chat, start over, clear",
1909
2012
  "tier": "presentation"
1910
2013
  },
2014
+ {
2015
+ "description": "An ephemeral conversation asked something: the whole conversation so far (greeting included), and its own `instructions` and `tools`. Nothing is stored or remembered; the assistant answers under exactly these.",
2016
+ "event": "ASSISTANT_EPHEMERAL_SEND",
2017
+ "eventId": "evt_01M45SH0HA6G6H1W5H4GV96QGJ",
2018
+ "payloadSchema": [
2019
+ {
2020
+ "entity": "AgentChatMessage",
2021
+ "name": "messages",
2022
+ "properties": [
2023
+ {
2024
+ "name": "role",
2025
+ "required": true,
2026
+ "type": "string"
2027
+ },
2028
+ {
2029
+ "name": "content",
2030
+ "required": true,
2031
+ "type": "string"
2032
+ }
2033
+ ],
2034
+ "required": true,
2035
+ "type": "[object]"
2036
+ },
2037
+ {
2038
+ "name": "instructions",
2039
+ "type": "string"
2040
+ },
2041
+ {
2042
+ "entity": "AgentTool",
2043
+ "name": "tools",
2044
+ "properties": [
2045
+ {
2046
+ "name": "event",
2047
+ "type": "event"
2048
+ },
2049
+ {
2050
+ "name": "read",
2051
+ "type": "string"
2052
+ },
2053
+ {
2054
+ "name": "scope",
2055
+ "type": "string"
2056
+ }
2057
+ ],
2058
+ "type": "[object]"
2059
+ },
2060
+ {
2061
+ "name": "ephemeral",
2062
+ "required": true,
2063
+ "type": "boolean"
2064
+ }
2065
+ ],
2066
+ "scope": "external",
2067
+ "synonyms": "ask privately, scoped ask",
2068
+ "tier": "domain"
2069
+ },
1911
2070
  {
1912
2071
  "description": "The user asked something; AgentThread stores it and asks the assistant.",
1913
2072
  "event": "ASSISTANT_SEND",
@@ -2015,6 +2174,11 @@
2015
2174
  ],
2016
2175
  "entityContract": {
2017
2176
  "provides": [
2177
+ "chatAvatar",
2178
+ "chatInstructions",
2179
+ "chatSubtitle",
2180
+ "chatTitle",
2181
+ "chatTools",
2018
2182
  "entries",
2019
2183
  "working"
2020
2184
  ],
@@ -2085,6 +2249,14 @@
2085
2249
  },
2086
2250
  "triggers": "MEMORIES_LISTED",
2087
2251
  "triggersId": "evt_01M42F8KA623G0Z6VCEA15JJT8"
2252
+ },
2253
+ {
2254
+ "event": "ASSISTANT_CHAT_START",
2255
+ "source": {
2256
+ "kind": "any"
2257
+ },
2258
+ "triggers": "START_CHAT",
2259
+ "triggersId": "evt_01M45SH0HAH0SB9C1CQGWN2T6Y"
2088
2260
  }
2089
2261
  ],
2090
2262
  "name": "AgentConversation",
@@ -2139,6 +2311,53 @@
2139
2311
  "synonyms": "send, ask, submit",
2140
2312
  "tier": "presentation"
2141
2313
  },
2314
+ {
2315
+ "description": "Start an ephemeral conversation (only on an AgentConversation whose `ephemeral` knob is on): it opens with `greeting` as the assistant's first message under a header of `title`, `subtitle` and `avatar` (an image URL), and every ask runs under `instructions` (empty: the assistant's configured ones) and exactly `tools` (absent or `[]`: none). Ignored while it is answering.",
2316
+ "id": "evt_01M45SH0HAH0SB9C1CQGWN2T6Y",
2317
+ "key": "START_CHAT",
2318
+ "name": "Start Chat",
2319
+ "payloadSchema": [
2320
+ {
2321
+ "name": "greeting",
2322
+ "type": "string"
2323
+ },
2324
+ {
2325
+ "name": "instructions",
2326
+ "type": "string"
2327
+ },
2328
+ {
2329
+ "name": "tools",
2330
+ "properties": [
2331
+ {
2332
+ "name": "event",
2333
+ "type": "event"
2334
+ },
2335
+ {
2336
+ "name": "read",
2337
+ "type": "string"
2338
+ },
2339
+ {
2340
+ "name": "scope",
2341
+ "type": "string"
2342
+ }
2343
+ ],
2344
+ "type": "[object]"
2345
+ },
2346
+ {
2347
+ "name": "title",
2348
+ "type": "string"
2349
+ },
2350
+ {
2351
+ "name": "subtitle",
2352
+ "type": "string"
2353
+ },
2354
+ {
2355
+ "name": "avatar",
2356
+ "type": "string"
2357
+ }
2358
+ ],
2359
+ "synonyms": "open private chat, begin scoped conversation"
2360
+ },
2142
2361
  {
2143
2362
  "description": "One step the assistant just took, shown as it happens.",
2144
2363
  "id": "evt_01M3WC4PY1REQ5RNNQBSR6JFXP",
@@ -2163,6 +2382,10 @@
2163
2382
  "name": "reply",
2164
2383
  "required": true,
2165
2384
  "type": "string"
2385
+ },
2386
+ {
2387
+ "name": "ephemeral",
2388
+ "type": "boolean"
2166
2389
  }
2167
2390
  ]
2168
2391
  },
@@ -2292,6 +2515,10 @@
2292
2515
  "name": "error",
2293
2516
  "required": true,
2294
2517
  "type": "string"
2518
+ },
2519
+ {
2520
+ "name": "ephemeral",
2521
+ "type": "boolean"
2295
2522
  }
2296
2523
  ]
2297
2524
  },
@@ -2311,6 +2538,62 @@
2311
2538
  "synonyms": "new chat, new conversation, start over",
2312
2539
  "tier": "domain"
2313
2540
  },
2541
+ {
2542
+ "description": "An ephemeral conversation asked something: the whole conversation so far (greeting included), and its own `instructions` and `tools`. Nothing is stored or remembered; the assistant answers under exactly these.",
2543
+ "id": "evt_01M45SH0HA6G6H1W5H4GV96QGJ",
2544
+ "key": "ASSISTANT_EPHEMERAL_SEND",
2545
+ "name": "Assistant Ephemeral Send",
2546
+ "payloadSchema": [
2547
+ {
2548
+ "entity": "AgentChatMessage",
2549
+ "name": "messages",
2550
+ "properties": [
2551
+ {
2552
+ "name": "role",
2553
+ "required": true,
2554
+ "type": "string"
2555
+ },
2556
+ {
2557
+ "name": "content",
2558
+ "required": true,
2559
+ "type": "string"
2560
+ }
2561
+ ],
2562
+ "required": true,
2563
+ "type": "[object]"
2564
+ },
2565
+ {
2566
+ "name": "instructions",
2567
+ "type": "string"
2568
+ },
2569
+ {
2570
+ "entity": "AgentTool",
2571
+ "name": "tools",
2572
+ "properties": [
2573
+ {
2574
+ "name": "event",
2575
+ "type": "event"
2576
+ },
2577
+ {
2578
+ "name": "read",
2579
+ "type": "string"
2580
+ },
2581
+ {
2582
+ "name": "scope",
2583
+ "type": "string"
2584
+ }
2585
+ ],
2586
+ "type": "[object]"
2587
+ },
2588
+ {
2589
+ "name": "ephemeral",
2590
+ "required": true,
2591
+ "type": "boolean"
2592
+ }
2593
+ ],
2594
+ "synonyms": "ask privately, scoped ask",
2595
+ "tier": "domain"
2596
+ },
2314
2597
  {
2315
2598
  "description": "The user asked something; AgentThread stores it and asks the assistant.",
2316
2599
  "id": "evt_01M41HQTH54GY51QWJDQFYYXSQ",
@@ -2377,71 +2660,122 @@
2377
2660
  "main",
2378
2661
  {
2379
2662
  "children": [
2380
- {
2381
- "align": "center",
2382
- "children": [
2383
- {
2384
- "action": "NEW_CHAT_CLICKED",
2385
- "aria-label": "@config.newChatLabel",
2386
- "icon": "message-square-plus",
2387
- "label": "@config.newChatLabel",
2388
- "size": "sm",
2389
- "type": "button",
2390
- "variant": "secondary"
2391
- },
2392
- {
2393
- "align": "center",
2394
- "children": [
2395
- {
2396
- "action": "OPEN_CHATS_CLICKED",
2397
- "aria-label": "@config.chatsLabel",
2398
- "label": "@config.chatsLabel",
2399
- "size": "sm",
2400
- "type": "button",
2401
- "variant": "ghost"
2402
- },
2403
- {
2404
- "action": "OPEN_MEMORY_CLICKED",
2405
- "aria-label": "@config.memoryLabel",
2406
- "label": "@config.memoryLabel",
2407
- "size": "sm",
2408
- "type": "button",
2409
- "variant": "ghost"
2410
- },
2411
- {
2412
- "children": [
2413
- "array/map",
2414
- "@config.links",
2415
- [
2416
- "fn",
2417
- "item",
2418
- {
2419
- "href": "@item.href",
2420
- "label": "@item.label",
2421
- "size": "sm",
2422
- "type": "button",
2423
- "variant": "ghost"
2424
- }
2425
- ]
2663
+ [
2664
+ "if",
2665
+ "@config.ephemeral",
2666
+ {
2667
+ "align": "center",
2668
+ "children": [
2669
+ {
2670
+ "className": [
2671
+ "if",
2672
+ [
2673
+ "=",
2674
+ "@entity.chatAvatar",
2675
+ ""
2426
2676
  ],
2427
- "direction": "horizontal",
2428
- "gap": "xs",
2429
- "type": "stack"
2430
- }
2431
- ],
2432
- "className": "shrink-0",
2433
- "direction": "horizontal",
2434
- "gap": "none",
2435
- "type": "stack"
2436
- }
2437
- ],
2438
- "className": "shrink-0",
2439
- "direction": "horizontal",
2440
- "gap": "sm",
2441
- "justify": "between",
2442
- "type": "stack",
2443
- "wrap": true
2444
- },
2677
+ "hidden",
2678
+ ""
2679
+ ],
2680
+ "name": "@entity.chatTitle",
2681
+ "size": "md",
2682
+ "src": [
2683
+ "object/get",
2684
+ "@entity",
2685
+ "chatAvatar",
2686
+ ""
2687
+ ],
2688
+ "type": "avatar"
2689
+ },
2690
+ {
2691
+ "children": [
2692
+ {
2693
+ "content": "@entity.chatTitle",
2694
+ "type": "typography",
2695
+ "variant": "h4"
2696
+ },
2697
+ {
2698
+ "content": "@entity.chatSubtitle",
2699
+ "type": "typography",
2700
+ "variant": "caption"
2701
+ }
2702
+ ],
2703
+ "direction": "vertical",
2704
+ "gap": "none",
2705
+ "type": "stack"
2706
+ }
2707
+ ],
2708
+ "className": "shrink-0",
2709
+ "direction": "horizontal",
2710
+ "gap": "sm",
2711
+ "type": "stack"
2712
+ },
2713
+ {
2714
+ "align": "center",
2715
+ "children": [
2716
+ {
2717
+ "action": "NEW_CHAT_CLICKED",
2718
+ "aria-label": "@config.newChatLabel",
2719
+ "icon": "message-square-plus",
2720
+ "label": "@config.newChatLabel",
2721
+ "size": "sm",
2722
+ "type": "button",
2723
+ "variant": "secondary"
2724
+ },
2725
+ {
2726
+ "align": "center",
2727
+ "children": [
2728
+ {
2729
+ "action": "OPEN_CHATS_CLICKED",
2730
+ "aria-label": "@config.chatsLabel",
2731
+ "label": "@config.chatsLabel",
2732
+ "size": "sm",
2733
+ "type": "button",
2734
+ "variant": "ghost"
2735
+ },
2736
+ {
2737
+ "action": "OPEN_MEMORY_CLICKED",
2738
+ "aria-label": "@config.memoryLabel",
2739
+ "label": "@config.memoryLabel",
2740
+ "size": "sm",
2741
+ "type": "button",
2742
+ "variant": "ghost"
2743
+ },
2744
+ {
2745
+ "children": [
2746
+ "array/map",
2747
+ "@config.links",
2748
+ [
2749
+ "fn",
2750
+ "item",
2751
+ {
2752
+ "href": "@item.href",
2753
+ "label": "@item.label",
2754
+ "size": "sm",
2755
+ "type": "button",
2756
+ "variant": "ghost"
2757
+ }
2758
+ ]
2759
+ ],
2760
+ "direction": "horizontal",
2761
+ "gap": "xs",
2762
+ "type": "stack"
2763
+ }
2764
+ ],
2765
+ "className": "shrink-0",
2766
+ "direction": "horizontal",
2767
+ "gap": "none",
2768
+ "type": "stack"
2769
+ }
2770
+ ],
2771
+ "className": "shrink-0",
2772
+ "direction": "horizontal",
2773
+ "gap": "sm",
2774
+ "justify": "between",
2775
+ "type": "stack",
2776
+ "wrap": true
2777
+ }
2778
+ ],
2445
2779
  {
2446
2780
  "activities": "@entity.entries",
2447
2781
  "className": "flex-1",
@@ -2467,103 +2801,309 @@
2467
2801
  "event": "INIT",
2468
2802
  "eventId": "evt_01M3WC4PY186J45C1NERG11RG8",
2469
2803
  "from": "idle",
2804
+ "guard": [
2805
+ "not",
2806
+ "@config.ephemeral"
2807
+ ],
2470
2808
  "to": "idle"
2471
2809
  },
2472
2810
  {
2473
2811
  "effects": [
2474
- [
2475
- "set",
2476
- "@entity.entries",
2477
- [
2478
- "array/map",
2479
- [
2480
- "array/sort",
2481
- "@payload.data",
2482
- "createdAt",
2483
- "asc"
2484
- ],
2485
- [
2486
- "fn",
2487
- "item",
2488
- {
2489
- "content": "@item.content",
2490
- "role": "@item.role",
2491
- "timestamp": "@item.createdAt",
2492
- "type": "message"
2493
- }
2494
- ]
2495
- ]
2496
- ],
2497
2812
  [
2498
2813
  "render-ui",
2499
2814
  "main",
2500
2815
  {
2501
2816
  "children": [
2817
+ [
2818
+ "if",
2819
+ "@config.ephemeral",
2820
+ {
2821
+ "align": "center",
2822
+ "children": [
2823
+ {
2824
+ "className": [
2825
+ "if",
2826
+ [
2827
+ "=",
2828
+ "@entity.chatAvatar",
2829
+ ""
2830
+ ],
2831
+ "hidden",
2832
+ ""
2833
+ ],
2834
+ "name": "@entity.chatTitle",
2835
+ "size": "md",
2836
+ "src": [
2837
+ "object/get",
2838
+ "@entity",
2839
+ "chatAvatar",
2840
+ ""
2841
+ ],
2842
+ "type": "avatar"
2843
+ },
2844
+ {
2845
+ "children": [
2846
+ {
2847
+ "content": "@entity.chatTitle",
2848
+ "type": "typography",
2849
+ "variant": "h4"
2850
+ },
2851
+ {
2852
+ "content": "@entity.chatSubtitle",
2853
+ "type": "typography",
2854
+ "variant": "caption"
2855
+ }
2856
+ ],
2857
+ "direction": "vertical",
2858
+ "gap": "none",
2859
+ "type": "stack"
2860
+ }
2861
+ ],
2862
+ "className": "shrink-0",
2863
+ "direction": "horizontal",
2864
+ "gap": "sm",
2865
+ "type": "stack"
2866
+ },
2867
+ {
2868
+ "align": "center",
2869
+ "children": [
2870
+ {
2871
+ "action": "NEW_CHAT_CLICKED",
2872
+ "aria-label": "@config.newChatLabel",
2873
+ "icon": "message-square-plus",
2874
+ "label": "@config.newChatLabel",
2875
+ "size": "sm",
2876
+ "type": "button",
2877
+ "variant": "secondary"
2878
+ },
2879
+ {
2880
+ "align": "center",
2881
+ "children": [
2882
+ {
2883
+ "action": "OPEN_CHATS_CLICKED",
2884
+ "aria-label": "@config.chatsLabel",
2885
+ "label": "@config.chatsLabel",
2886
+ "size": "sm",
2887
+ "type": "button",
2888
+ "variant": "ghost"
2889
+ },
2890
+ {
2891
+ "action": "OPEN_MEMORY_CLICKED",
2892
+ "aria-label": "@config.memoryLabel",
2893
+ "label": "@config.memoryLabel",
2894
+ "size": "sm",
2895
+ "type": "button",
2896
+ "variant": "ghost"
2897
+ },
2898
+ {
2899
+ "children": [
2900
+ "array/map",
2901
+ "@config.links",
2902
+ [
2903
+ "fn",
2904
+ "item",
2905
+ {
2906
+ "href": "@item.href",
2907
+ "label": "@item.label",
2908
+ "size": "sm",
2909
+ "type": "button",
2910
+ "variant": "ghost"
2911
+ }
2912
+ ]
2913
+ ],
2914
+ "direction": "horizontal",
2915
+ "gap": "xs",
2916
+ "type": "stack"
2917
+ }
2918
+ ],
2919
+ "className": "shrink-0",
2920
+ "direction": "horizontal",
2921
+ "gap": "none",
2922
+ "type": "stack"
2923
+ }
2924
+ ],
2925
+ "className": "shrink-0",
2926
+ "direction": "horizontal",
2927
+ "gap": "sm",
2928
+ "justify": "between",
2929
+ "type": "stack",
2930
+ "wrap": true
2931
+ }
2932
+ ],
2502
2933
  {
2503
- "align": "center",
2504
- "children": [
2505
- {
2506
- "action": "NEW_CHAT_CLICKED",
2507
- "aria-label": "@config.newChatLabel",
2508
- "icon": "message-square-plus",
2509
- "label": "@config.newChatLabel",
2510
- "size": "sm",
2511
- "type": "button",
2512
- "variant": "secondary"
2513
- },
2514
- {
2515
- "align": "center",
2516
- "children": [
2517
- {
2518
- "action": "OPEN_CHATS_CLICKED",
2519
- "aria-label": "@config.chatsLabel",
2520
- "label": "@config.chatsLabel",
2521
- "size": "sm",
2522
- "type": "button",
2523
- "variant": "ghost"
2524
- },
2525
- {
2526
- "action": "OPEN_MEMORY_CLICKED",
2527
- "aria-label": "@config.memoryLabel",
2528
- "label": "@config.memoryLabel",
2529
- "size": "sm",
2530
- "type": "button",
2531
- "variant": "ghost"
2532
- },
2533
- {
2534
- "children": [
2535
- "array/map",
2536
- "@config.links",
2537
- [
2538
- "fn",
2539
- "item",
2540
- {
2541
- "href": "@item.href",
2542
- "label": "@item.label",
2543
- "size": "sm",
2544
- "type": "button",
2545
- "variant": "ghost"
2546
- }
2547
- ]
2548
- ],
2549
- "direction": "horizontal",
2550
- "gap": "xs",
2551
- "type": "stack"
2552
- }
2553
- ],
2554
- "className": "shrink-0",
2555
- "direction": "horizontal",
2556
- "gap": "none",
2557
- "type": "stack"
2558
- }
2559
- ],
2560
- "className": "shrink-0",
2561
- "direction": "horizontal",
2562
- "gap": "sm",
2563
- "justify": "between",
2564
- "type": "stack",
2565
- "wrap": true
2934
+ "activities": "@entity.entries",
2935
+ "className": "flex-1",
2936
+ "emptyTitle": "@config.emptyTitle",
2937
+ "idPrefix": "agent-conversation",
2938
+ "rawLlmPreferenceKey": "agent-conversation-raw-llm",
2939
+ "type": "agent-chat-feed",
2940
+ "working": "@entity.working"
2566
2941
  },
2942
+ {
2943
+ "placeholder": "@config.placeholder",
2944
+ "sendEvent": "ASK",
2945
+ "type": "chat-bar"
2946
+ }
2947
+ ],
2948
+ "className": "h-full min-h-0 flex-1",
2949
+ "direction": "vertical",
2950
+ "gap": "sm",
2951
+ "type": "stack"
2952
+ }
2953
+ ]
2954
+ ],
2955
+ "event": "INIT",
2956
+ "eventId": "evt_01M3WC4PY186J45C1NERG11RG8",
2957
+ "from": "idle",
2958
+ "guard": "@config.ephemeral",
2959
+ "to": "idle"
2960
+ },
2961
+ {
2962
+ "effects": [
2963
+ [
2964
+ "set",
2965
+ "@entity.entries",
2966
+ [
2967
+ "array/map",
2968
+ [
2969
+ "array/sort",
2970
+ "@payload.data",
2971
+ "createdAt",
2972
+ "asc"
2973
+ ],
2974
+ [
2975
+ "fn",
2976
+ "item",
2977
+ {
2978
+ "content": "@item.content",
2979
+ "role": "@item.role",
2980
+ "timestamp": "@item.createdAt",
2981
+ "type": "message"
2982
+ }
2983
+ ]
2984
+ ]
2985
+ ],
2986
+ [
2987
+ "render-ui",
2988
+ "main",
2989
+ {
2990
+ "children": [
2991
+ [
2992
+ "if",
2993
+ "@config.ephemeral",
2994
+ {
2995
+ "align": "center",
2996
+ "children": [
2997
+ {
2998
+ "className": [
2999
+ "if",
3000
+ [
3001
+ "=",
3002
+ "@entity.chatAvatar",
3003
+ ""
3004
+ ],
3005
+ "hidden",
3006
+ ""
3007
+ ],
3008
+ "name": "@entity.chatTitle",
3009
+ "size": "md",
3010
+ "src": [
3011
+ "object/get",
3012
+ "@entity",
3013
+ "chatAvatar",
3014
+ ""
3015
+ ],
3016
+ "type": "avatar"
3017
+ },
3018
+ {
3019
+ "children": [
3020
+ {
3021
+ "content": "@entity.chatTitle",
3022
+ "type": "typography",
3023
+ "variant": "h4"
3024
+ },
3025
+ {
3026
+ "content": "@entity.chatSubtitle",
3027
+ "type": "typography",
3028
+ "variant": "caption"
3029
+ }
3030
+ ],
3031
+ "direction": "vertical",
3032
+ "gap": "none",
3033
+ "type": "stack"
3034
+ }
3035
+ ],
3036
+ "className": "shrink-0",
3037
+ "direction": "horizontal",
3038
+ "gap": "sm",
3039
+ "type": "stack"
3040
+ },
3041
+ {
3042
+ "align": "center",
3043
+ "children": [
3044
+ {
3045
+ "action": "NEW_CHAT_CLICKED",
3046
+ "aria-label": "@config.newChatLabel",
3047
+ "icon": "message-square-plus",
3048
+ "label": "@config.newChatLabel",
3049
+ "size": "sm",
3050
+ "type": "button",
3051
+ "variant": "secondary"
3052
+ },
3053
+ {
3054
+ "align": "center",
3055
+ "children": [
3056
+ {
3057
+ "action": "OPEN_CHATS_CLICKED",
3058
+ "aria-label": "@config.chatsLabel",
3059
+ "label": "@config.chatsLabel",
3060
+ "size": "sm",
3061
+ "type": "button",
3062
+ "variant": "ghost"
3063
+ },
3064
+ {
3065
+ "action": "OPEN_MEMORY_CLICKED",
3066
+ "aria-label": "@config.memoryLabel",
3067
+ "label": "@config.memoryLabel",
3068
+ "size": "sm",
3069
+ "type": "button",
3070
+ "variant": "ghost"
3071
+ },
3072
+ {
3073
+ "children": [
3074
+ "array/map",
3075
+ "@config.links",
3076
+ [
3077
+ "fn",
3078
+ "item",
3079
+ {
3080
+ "href": "@item.href",
3081
+ "label": "@item.label",
3082
+ "size": "sm",
3083
+ "type": "button",
3084
+ "variant": "ghost"
3085
+ }
3086
+ ]
3087
+ ],
3088
+ "direction": "horizontal",
3089
+ "gap": "xs",
3090
+ "type": "stack"
3091
+ }
3092
+ ],
3093
+ "className": "shrink-0",
3094
+ "direction": "horizontal",
3095
+ "gap": "none",
3096
+ "type": "stack"
3097
+ }
3098
+ ],
3099
+ "className": "shrink-0",
3100
+ "direction": "horizontal",
3101
+ "gap": "sm",
3102
+ "justify": "between",
3103
+ "type": "stack",
3104
+ "wrap": true
3105
+ }
3106
+ ],
2567
3107
  {
2568
3108
  "activities": "@entity.entries",
2569
3109
  "className": "flex-1",
@@ -2589,6 +3129,10 @@
2589
3129
  "event": "THREAD_LOADED",
2590
3130
  "eventId": "evt_01M3WC4PY11N0BPZ1WZMMGJGR8",
2591
3131
  "from": "idle",
3132
+ "guard": [
3133
+ "not",
3134
+ "@config.ephemeral"
3135
+ ],
2592
3136
  "to": "idle"
2593
3137
  },
2594
3138
  {
@@ -2624,71 +3168,347 @@
2624
3168
  "main",
2625
3169
  {
2626
3170
  "children": [
2627
- {
2628
- "align": "center",
2629
- "children": [
2630
- {
2631
- "action": "NEW_CHAT_CLICKED",
2632
- "aria-label": "@config.newChatLabel",
2633
- "icon": "message-square-plus",
2634
- "label": "@config.newChatLabel",
2635
- "size": "sm",
2636
- "type": "button",
2637
- "variant": "secondary"
2638
- },
2639
- {
2640
- "align": "center",
2641
- "children": [
2642
- {
2643
- "action": "OPEN_CHATS_CLICKED",
2644
- "aria-label": "@config.chatsLabel",
2645
- "label": "@config.chatsLabel",
2646
- "size": "sm",
2647
- "type": "button",
2648
- "variant": "ghost"
2649
- },
2650
- {
2651
- "action": "OPEN_MEMORY_CLICKED",
2652
- "aria-label": "@config.memoryLabel",
2653
- "label": "@config.memoryLabel",
2654
- "size": "sm",
2655
- "type": "button",
2656
- "variant": "ghost"
2657
- },
2658
- {
2659
- "children": [
2660
- "array/map",
2661
- "@config.links",
2662
- [
2663
- "fn",
2664
- "item",
2665
- {
2666
- "href": "@item.href",
2667
- "label": "@item.label",
2668
- "size": "sm",
2669
- "type": "button",
2670
- "variant": "ghost"
2671
- }
2672
- ]
3171
+ [
3172
+ "if",
3173
+ "@config.ephemeral",
3174
+ {
3175
+ "align": "center",
3176
+ "children": [
3177
+ {
3178
+ "className": [
3179
+ "if",
3180
+ [
3181
+ "=",
3182
+ "@entity.chatAvatar",
3183
+ ""
2673
3184
  ],
2674
- "direction": "horizontal",
2675
- "gap": "xs",
2676
- "type": "stack"
2677
- }
2678
- ],
2679
- "className": "shrink-0",
2680
- "direction": "horizontal",
2681
- "gap": "none",
2682
- "type": "stack"
2683
- }
2684
- ],
2685
- "className": "shrink-0",
2686
- "direction": "horizontal",
2687
- "gap": "sm",
2688
- "justify": "between",
2689
- "type": "stack",
2690
- "wrap": true
3185
+ "hidden",
3186
+ ""
3187
+ ],
3188
+ "name": "@entity.chatTitle",
3189
+ "size": "md",
3190
+ "src": [
3191
+ "object/get",
3192
+ "@entity",
3193
+ "chatAvatar",
3194
+ ""
3195
+ ],
3196
+ "type": "avatar"
3197
+ },
3198
+ {
3199
+ "children": [
3200
+ {
3201
+ "content": "@entity.chatTitle",
3202
+ "type": "typography",
3203
+ "variant": "h4"
3204
+ },
3205
+ {
3206
+ "content": "@entity.chatSubtitle",
3207
+ "type": "typography",
3208
+ "variant": "caption"
3209
+ }
3210
+ ],
3211
+ "direction": "vertical",
3212
+ "gap": "none",
3213
+ "type": "stack"
3214
+ }
3215
+ ],
3216
+ "className": "shrink-0",
3217
+ "direction": "horizontal",
3218
+ "gap": "sm",
3219
+ "type": "stack"
3220
+ },
3221
+ {
3222
+ "align": "center",
3223
+ "children": [
3224
+ {
3225
+ "action": "NEW_CHAT_CLICKED",
3226
+ "aria-label": "@config.newChatLabel",
3227
+ "icon": "message-square-plus",
3228
+ "label": "@config.newChatLabel",
3229
+ "size": "sm",
3230
+ "type": "button",
3231
+ "variant": "secondary"
3232
+ },
3233
+ {
3234
+ "align": "center",
3235
+ "children": [
3236
+ {
3237
+ "action": "OPEN_CHATS_CLICKED",
3238
+ "aria-label": "@config.chatsLabel",
3239
+ "label": "@config.chatsLabel",
3240
+ "size": "sm",
3241
+ "type": "button",
3242
+ "variant": "ghost"
3243
+ },
3244
+ {
3245
+ "action": "OPEN_MEMORY_CLICKED",
3246
+ "aria-label": "@config.memoryLabel",
3247
+ "label": "@config.memoryLabel",
3248
+ "size": "sm",
3249
+ "type": "button",
3250
+ "variant": "ghost"
3251
+ },
3252
+ {
3253
+ "children": [
3254
+ "array/map",
3255
+ "@config.links",
3256
+ [
3257
+ "fn",
3258
+ "item",
3259
+ {
3260
+ "href": "@item.href",
3261
+ "label": "@item.label",
3262
+ "size": "sm",
3263
+ "type": "button",
3264
+ "variant": "ghost"
3265
+ }
3266
+ ]
3267
+ ],
3268
+ "direction": "horizontal",
3269
+ "gap": "xs",
3270
+ "type": "stack"
3271
+ }
3272
+ ],
3273
+ "className": "shrink-0",
3274
+ "direction": "horizontal",
3275
+ "gap": "none",
3276
+ "type": "stack"
3277
+ }
3278
+ ],
3279
+ "className": "shrink-0",
3280
+ "direction": "horizontal",
3281
+ "gap": "sm",
3282
+ "justify": "between",
3283
+ "type": "stack",
3284
+ "wrap": true
3285
+ }
3286
+ ],
3287
+ {
3288
+ "activities": "@entity.entries",
3289
+ "className": "flex-1",
3290
+ "emptyTitle": "@config.emptyTitle",
3291
+ "idPrefix": "agent-conversation",
3292
+ "rawLlmPreferenceKey": "agent-conversation-raw-llm",
3293
+ "type": "agent-chat-feed",
3294
+ "working": "@entity.working"
2691
3295
  },
3296
+ {
3297
+ "placeholder": "@config.placeholder",
3298
+ "sendEvent": "ASK",
3299
+ "type": "chat-bar"
3300
+ }
3301
+ ],
3302
+ "className": "h-full min-h-0 flex-1",
3303
+ "direction": "vertical",
3304
+ "gap": "sm",
3305
+ "type": "stack"
3306
+ }
3307
+ ]
3308
+ ],
3309
+ "event": "ASK",
3310
+ "eventId": "evt_01M3WC4PY1TK0PTERMDE5BWR5W",
3311
+ "from": "idle",
3312
+ "guard": [
3313
+ "and",
3314
+ [
3315
+ "not",
3316
+ "@config.ephemeral"
3317
+ ],
3318
+ [
3319
+ "not",
3320
+ "@entity.working"
3321
+ ],
3322
+ [
3323
+ "not",
3324
+ [
3325
+ "=",
3326
+ [
3327
+ "str/default",
3328
+ "@payload.message",
3329
+ ""
3330
+ ],
3331
+ ""
3332
+ ]
3333
+ ]
3334
+ ],
3335
+ "to": "idle"
3336
+ },
3337
+ {
3338
+ "effects": [
3339
+ [
3340
+ "set",
3341
+ "@entity.entries",
3342
+ [
3343
+ "array/append",
3344
+ "@entity.entries",
3345
+ {
3346
+ "content": "@payload.message",
3347
+ "role": "user",
3348
+ "timestamp": "@now",
3349
+ "type": "message"
3350
+ }
3351
+ ]
3352
+ ],
3353
+ [
3354
+ "set",
3355
+ "@entity.working",
3356
+ true
3357
+ ],
3358
+ [
3359
+ "emit",
3360
+ "ASSISTANT_EPHEMERAL_SEND",
3361
+ {
3362
+ "ephemeral": true,
3363
+ "instructions": "@entity.chatInstructions",
3364
+ "messages": [
3365
+ "array/map",
3366
+ [
3367
+ "array/filter",
3368
+ "@entity.entries",
3369
+ [
3370
+ "fn",
3371
+ "item",
3372
+ [
3373
+ "=",
3374
+ "@item.type",
3375
+ "message"
3376
+ ]
3377
+ ]
3378
+ ],
3379
+ [
3380
+ "fn",
3381
+ "item",
3382
+ {
3383
+ "content": "@item.content",
3384
+ "role": "@item.role"
3385
+ }
3386
+ ]
3387
+ ],
3388
+ "tools": "@entity.chatTools"
3389
+ }
3390
+ ],
3391
+ [
3392
+ "render-ui",
3393
+ "main",
3394
+ {
3395
+ "children": [
3396
+ [
3397
+ "if",
3398
+ "@config.ephemeral",
3399
+ {
3400
+ "align": "center",
3401
+ "children": [
3402
+ {
3403
+ "className": [
3404
+ "if",
3405
+ [
3406
+ "=",
3407
+ "@entity.chatAvatar",
3408
+ ""
3409
+ ],
3410
+ "hidden",
3411
+ ""
3412
+ ],
3413
+ "name": "@entity.chatTitle",
3414
+ "size": "md",
3415
+ "src": [
3416
+ "object/get",
3417
+ "@entity",
3418
+ "chatAvatar",
3419
+ ""
3420
+ ],
3421
+ "type": "avatar"
3422
+ },
3423
+ {
3424
+ "children": [
3425
+ {
3426
+ "content": "@entity.chatTitle",
3427
+ "type": "typography",
3428
+ "variant": "h4"
3429
+ },
3430
+ {
3431
+ "content": "@entity.chatSubtitle",
3432
+ "type": "typography",
3433
+ "variant": "caption"
3434
+ }
3435
+ ],
3436
+ "direction": "vertical",
3437
+ "gap": "none",
3438
+ "type": "stack"
3439
+ }
3440
+ ],
3441
+ "className": "shrink-0",
3442
+ "direction": "horizontal",
3443
+ "gap": "sm",
3444
+ "type": "stack"
3445
+ },
3446
+ {
3447
+ "align": "center",
3448
+ "children": [
3449
+ {
3450
+ "action": "NEW_CHAT_CLICKED",
3451
+ "aria-label": "@config.newChatLabel",
3452
+ "icon": "message-square-plus",
3453
+ "label": "@config.newChatLabel",
3454
+ "size": "sm",
3455
+ "type": "button",
3456
+ "variant": "secondary"
3457
+ },
3458
+ {
3459
+ "align": "center",
3460
+ "children": [
3461
+ {
3462
+ "action": "OPEN_CHATS_CLICKED",
3463
+ "aria-label": "@config.chatsLabel",
3464
+ "label": "@config.chatsLabel",
3465
+ "size": "sm",
3466
+ "type": "button",
3467
+ "variant": "ghost"
3468
+ },
3469
+ {
3470
+ "action": "OPEN_MEMORY_CLICKED",
3471
+ "aria-label": "@config.memoryLabel",
3472
+ "label": "@config.memoryLabel",
3473
+ "size": "sm",
3474
+ "type": "button",
3475
+ "variant": "ghost"
3476
+ },
3477
+ {
3478
+ "children": [
3479
+ "array/map",
3480
+ "@config.links",
3481
+ [
3482
+ "fn",
3483
+ "item",
3484
+ {
3485
+ "href": "@item.href",
3486
+ "label": "@item.label",
3487
+ "size": "sm",
3488
+ "type": "button",
3489
+ "variant": "ghost"
3490
+ }
3491
+ ]
3492
+ ],
3493
+ "direction": "horizontal",
3494
+ "gap": "xs",
3495
+ "type": "stack"
3496
+ }
3497
+ ],
3498
+ "className": "shrink-0",
3499
+ "direction": "horizontal",
3500
+ "gap": "none",
3501
+ "type": "stack"
3502
+ }
3503
+ ],
3504
+ "className": "shrink-0",
3505
+ "direction": "horizontal",
3506
+ "gap": "sm",
3507
+ "justify": "between",
3508
+ "type": "stack",
3509
+ "wrap": true
3510
+ }
3511
+ ],
2692
3512
  {
2693
3513
  "activities": "@entity.entries",
2694
3514
  "className": "flex-1",
@@ -2716,6 +3536,7 @@
2716
3536
  "from": "idle",
2717
3537
  "guard": [
2718
3538
  "and",
3539
+ "@config.ephemeral",
2719
3540
  [
2720
3541
  "not",
2721
3542
  "@entity.working"
@@ -2735,6 +3556,235 @@
2735
3556
  ],
2736
3557
  "to": "idle"
2737
3558
  },
3559
+ {
3560
+ "effects": [
3561
+ [
3562
+ "set",
3563
+ "@entity.entries",
3564
+ [
3565
+ "if",
3566
+ [
3567
+ "=",
3568
+ [
3569
+ "str/default",
3570
+ "@payload.greeting",
3571
+ ""
3572
+ ],
3573
+ ""
3574
+ ],
3575
+ [],
3576
+ [
3577
+ {
3578
+ "content": "@payload.greeting",
3579
+ "role": "assistant",
3580
+ "timestamp": "@now",
3581
+ "type": "message"
3582
+ }
3583
+ ]
3584
+ ]
3585
+ ],
3586
+ [
3587
+ "set",
3588
+ "@entity.chatInstructions",
3589
+ [
3590
+ "str/default",
3591
+ "@payload.instructions",
3592
+ ""
3593
+ ]
3594
+ ],
3595
+ [
3596
+ "set",
3597
+ "@entity.chatTools",
3598
+ [
3599
+ "object/get",
3600
+ "@payload",
3601
+ "tools",
3602
+ []
3603
+ ]
3604
+ ],
3605
+ [
3606
+ "set",
3607
+ "@entity.chatTitle",
3608
+ [
3609
+ "str/default",
3610
+ "@payload.title",
3611
+ ""
3612
+ ]
3613
+ ],
3614
+ [
3615
+ "set",
3616
+ "@entity.chatSubtitle",
3617
+ [
3618
+ "str/default",
3619
+ "@payload.subtitle",
3620
+ ""
3621
+ ]
3622
+ ],
3623
+ [
3624
+ "set",
3625
+ "@entity.chatAvatar",
3626
+ [
3627
+ "str/default",
3628
+ "@payload.avatar",
3629
+ ""
3630
+ ]
3631
+ ],
3632
+ [
3633
+ "render-ui",
3634
+ "main",
3635
+ {
3636
+ "children": [
3637
+ [
3638
+ "if",
3639
+ "@config.ephemeral",
3640
+ {
3641
+ "align": "center",
3642
+ "children": [
3643
+ {
3644
+ "className": [
3645
+ "if",
3646
+ [
3647
+ "=",
3648
+ "@entity.chatAvatar",
3649
+ ""
3650
+ ],
3651
+ "hidden",
3652
+ ""
3653
+ ],
3654
+ "name": "@entity.chatTitle",
3655
+ "size": "md",
3656
+ "src": [
3657
+ "object/get",
3658
+ "@entity",
3659
+ "chatAvatar",
3660
+ ""
3661
+ ],
3662
+ "type": "avatar"
3663
+ },
3664
+ {
3665
+ "children": [
3666
+ {
3667
+ "content": "@entity.chatTitle",
3668
+ "type": "typography",
3669
+ "variant": "h4"
3670
+ },
3671
+ {
3672
+ "content": "@entity.chatSubtitle",
3673
+ "type": "typography",
3674
+ "variant": "caption"
3675
+ }
3676
+ ],
3677
+ "direction": "vertical",
3678
+ "gap": "none",
3679
+ "type": "stack"
3680
+ }
3681
+ ],
3682
+ "className": "shrink-0",
3683
+ "direction": "horizontal",
3684
+ "gap": "sm",
3685
+ "type": "stack"
3686
+ },
3687
+ {
3688
+ "align": "center",
3689
+ "children": [
3690
+ {
3691
+ "action": "NEW_CHAT_CLICKED",
3692
+ "aria-label": "@config.newChatLabel",
3693
+ "icon": "message-square-plus",
3694
+ "label": "@config.newChatLabel",
3695
+ "size": "sm",
3696
+ "type": "button",
3697
+ "variant": "secondary"
3698
+ },
3699
+ {
3700
+ "align": "center",
3701
+ "children": [
3702
+ {
3703
+ "action": "OPEN_CHATS_CLICKED",
3704
+ "aria-label": "@config.chatsLabel",
3705
+ "label": "@config.chatsLabel",
3706
+ "size": "sm",
3707
+ "type": "button",
3708
+ "variant": "ghost"
3709
+ },
3710
+ {
3711
+ "action": "OPEN_MEMORY_CLICKED",
3712
+ "aria-label": "@config.memoryLabel",
3713
+ "label": "@config.memoryLabel",
3714
+ "size": "sm",
3715
+ "type": "button",
3716
+ "variant": "ghost"
3717
+ },
3718
+ {
3719
+ "children": [
3720
+ "array/map",
3721
+ "@config.links",
3722
+ [
3723
+ "fn",
3724
+ "item",
3725
+ {
3726
+ "href": "@item.href",
3727
+ "label": "@item.label",
3728
+ "size": "sm",
3729
+ "type": "button",
3730
+ "variant": "ghost"
3731
+ }
3732
+ ]
3733
+ ],
3734
+ "direction": "horizontal",
3735
+ "gap": "xs",
3736
+ "type": "stack"
3737
+ }
3738
+ ],
3739
+ "className": "shrink-0",
3740
+ "direction": "horizontal",
3741
+ "gap": "none",
3742
+ "type": "stack"
3743
+ }
3744
+ ],
3745
+ "className": "shrink-0",
3746
+ "direction": "horizontal",
3747
+ "gap": "sm",
3748
+ "justify": "between",
3749
+ "type": "stack",
3750
+ "wrap": true
3751
+ }
3752
+ ],
3753
+ {
3754
+ "activities": "@entity.entries",
3755
+ "className": "flex-1",
3756
+ "emptyTitle": "@config.emptyTitle",
3757
+ "idPrefix": "agent-conversation",
3758
+ "rawLlmPreferenceKey": "agent-conversation-raw-llm",
3759
+ "type": "agent-chat-feed",
3760
+ "working": "@entity.working"
3761
+ },
3762
+ {
3763
+ "placeholder": "@config.placeholder",
3764
+ "sendEvent": "ASK",
3765
+ "type": "chat-bar"
3766
+ }
3767
+ ],
3768
+ "className": "h-full min-h-0 flex-1",
3769
+ "direction": "vertical",
3770
+ "gap": "sm",
3771
+ "type": "stack"
3772
+ }
3773
+ ]
3774
+ ],
3775
+ "event": "START_CHAT",
3776
+ "eventId": "evt_01M45SH0HAH0SB9C1CQGWN2T6Y",
3777
+ "from": "idle",
3778
+ "guard": [
3779
+ "and",
3780
+ "@config.ephemeral",
3781
+ [
3782
+ "not",
3783
+ "@entity.working"
3784
+ ]
3785
+ ],
3786
+ "to": "idle"
3787
+ },
2738
3788
  {
2739
3789
  "effects": [
2740
3790
  [
@@ -2751,71 +3801,122 @@
2751
3801
  "main",
2752
3802
  {
2753
3803
  "children": [
2754
- {
2755
- "align": "center",
2756
- "children": [
2757
- {
2758
- "action": "NEW_CHAT_CLICKED",
2759
- "aria-label": "@config.newChatLabel",
2760
- "icon": "message-square-plus",
2761
- "label": "@config.newChatLabel",
2762
- "size": "sm",
2763
- "type": "button",
2764
- "variant": "secondary"
2765
- },
2766
- {
2767
- "align": "center",
2768
- "children": [
2769
- {
2770
- "action": "OPEN_CHATS_CLICKED",
2771
- "aria-label": "@config.chatsLabel",
2772
- "label": "@config.chatsLabel",
2773
- "size": "sm",
2774
- "type": "button",
2775
- "variant": "ghost"
2776
- },
2777
- {
2778
- "action": "OPEN_MEMORY_CLICKED",
2779
- "aria-label": "@config.memoryLabel",
2780
- "label": "@config.memoryLabel",
2781
- "size": "sm",
2782
- "type": "button",
2783
- "variant": "ghost"
2784
- },
2785
- {
2786
- "children": [
2787
- "array/map",
2788
- "@config.links",
2789
- [
2790
- "fn",
2791
- "item",
2792
- {
2793
- "href": "@item.href",
2794
- "label": "@item.label",
2795
- "size": "sm",
2796
- "type": "button",
2797
- "variant": "ghost"
2798
- }
2799
- ]
3804
+ [
3805
+ "if",
3806
+ "@config.ephemeral",
3807
+ {
3808
+ "align": "center",
3809
+ "children": [
3810
+ {
3811
+ "className": [
3812
+ "if",
3813
+ [
3814
+ "=",
3815
+ "@entity.chatAvatar",
3816
+ ""
2800
3817
  ],
2801
- "direction": "horizontal",
2802
- "gap": "xs",
2803
- "type": "stack"
2804
- }
2805
- ],
2806
- "className": "shrink-0",
2807
- "direction": "horizontal",
2808
- "gap": "none",
2809
- "type": "stack"
2810
- }
2811
- ],
2812
- "className": "shrink-0",
2813
- "direction": "horizontal",
2814
- "gap": "sm",
2815
- "justify": "between",
2816
- "type": "stack",
2817
- "wrap": true
2818
- },
3818
+ "hidden",
3819
+ ""
3820
+ ],
3821
+ "name": "@entity.chatTitle",
3822
+ "size": "md",
3823
+ "src": [
3824
+ "object/get",
3825
+ "@entity",
3826
+ "chatAvatar",
3827
+ ""
3828
+ ],
3829
+ "type": "avatar"
3830
+ },
3831
+ {
3832
+ "children": [
3833
+ {
3834
+ "content": "@entity.chatTitle",
3835
+ "type": "typography",
3836
+ "variant": "h4"
3837
+ },
3838
+ {
3839
+ "content": "@entity.chatSubtitle",
3840
+ "type": "typography",
3841
+ "variant": "caption"
3842
+ }
3843
+ ],
3844
+ "direction": "vertical",
3845
+ "gap": "none",
3846
+ "type": "stack"
3847
+ }
3848
+ ],
3849
+ "className": "shrink-0",
3850
+ "direction": "horizontal",
3851
+ "gap": "sm",
3852
+ "type": "stack"
3853
+ },
3854
+ {
3855
+ "align": "center",
3856
+ "children": [
3857
+ {
3858
+ "action": "NEW_CHAT_CLICKED",
3859
+ "aria-label": "@config.newChatLabel",
3860
+ "icon": "message-square-plus",
3861
+ "label": "@config.newChatLabel",
3862
+ "size": "sm",
3863
+ "type": "button",
3864
+ "variant": "secondary"
3865
+ },
3866
+ {
3867
+ "align": "center",
3868
+ "children": [
3869
+ {
3870
+ "action": "OPEN_CHATS_CLICKED",
3871
+ "aria-label": "@config.chatsLabel",
3872
+ "label": "@config.chatsLabel",
3873
+ "size": "sm",
3874
+ "type": "button",
3875
+ "variant": "ghost"
3876
+ },
3877
+ {
3878
+ "action": "OPEN_MEMORY_CLICKED",
3879
+ "aria-label": "@config.memoryLabel",
3880
+ "label": "@config.memoryLabel",
3881
+ "size": "sm",
3882
+ "type": "button",
3883
+ "variant": "ghost"
3884
+ },
3885
+ {
3886
+ "children": [
3887
+ "array/map",
3888
+ "@config.links",
3889
+ [
3890
+ "fn",
3891
+ "item",
3892
+ {
3893
+ "href": "@item.href",
3894
+ "label": "@item.label",
3895
+ "size": "sm",
3896
+ "type": "button",
3897
+ "variant": "ghost"
3898
+ }
3899
+ ]
3900
+ ],
3901
+ "direction": "horizontal",
3902
+ "gap": "xs",
3903
+ "type": "stack"
3904
+ }
3905
+ ],
3906
+ "className": "shrink-0",
3907
+ "direction": "horizontal",
3908
+ "gap": "none",
3909
+ "type": "stack"
3910
+ }
3911
+ ],
3912
+ "className": "shrink-0",
3913
+ "direction": "horizontal",
3914
+ "gap": "sm",
3915
+ "justify": "between",
3916
+ "type": "stack",
3917
+ "wrap": true
3918
+ }
3919
+ ],
2819
3920
  {
2820
3921
  "activities": "@entity.entries",
2821
3922
  "className": "flex-1",
@@ -2841,6 +3942,10 @@
2841
3942
  "event": "STEP",
2842
3943
  "eventId": "evt_01M3WC4PY1REQ5RNNQBSR6JFXP",
2843
3944
  "from": "idle",
3945
+ "guard": [
3946
+ "not",
3947
+ "@config.ephemeral"
3948
+ ],
2844
3949
  "to": "idle"
2845
3950
  },
2846
3951
  {
@@ -2869,71 +3974,122 @@
2869
3974
  "main",
2870
3975
  {
2871
3976
  "children": [
2872
- {
2873
- "align": "center",
2874
- "children": [
2875
- {
2876
- "action": "NEW_CHAT_CLICKED",
2877
- "aria-label": "@config.newChatLabel",
2878
- "icon": "message-square-plus",
2879
- "label": "@config.newChatLabel",
2880
- "size": "sm",
2881
- "type": "button",
2882
- "variant": "secondary"
2883
- },
2884
- {
2885
- "align": "center",
2886
- "children": [
2887
- {
2888
- "action": "OPEN_CHATS_CLICKED",
2889
- "aria-label": "@config.chatsLabel",
2890
- "label": "@config.chatsLabel",
2891
- "size": "sm",
2892
- "type": "button",
2893
- "variant": "ghost"
2894
- },
2895
- {
2896
- "action": "OPEN_MEMORY_CLICKED",
2897
- "aria-label": "@config.memoryLabel",
2898
- "label": "@config.memoryLabel",
2899
- "size": "sm",
2900
- "type": "button",
2901
- "variant": "ghost"
2902
- },
2903
- {
2904
- "children": [
2905
- "array/map",
2906
- "@config.links",
2907
- [
2908
- "fn",
2909
- "item",
2910
- {
2911
- "href": "@item.href",
2912
- "label": "@item.label",
2913
- "size": "sm",
2914
- "type": "button",
2915
- "variant": "ghost"
2916
- }
2917
- ]
3977
+ [
3978
+ "if",
3979
+ "@config.ephemeral",
3980
+ {
3981
+ "align": "center",
3982
+ "children": [
3983
+ {
3984
+ "className": [
3985
+ "if",
3986
+ [
3987
+ "=",
3988
+ "@entity.chatAvatar",
3989
+ ""
2918
3990
  ],
2919
- "direction": "horizontal",
2920
- "gap": "xs",
2921
- "type": "stack"
2922
- }
2923
- ],
2924
- "className": "shrink-0",
2925
- "direction": "horizontal",
2926
- "gap": "none",
2927
- "type": "stack"
2928
- }
2929
- ],
2930
- "className": "shrink-0",
2931
- "direction": "horizontal",
2932
- "gap": "sm",
2933
- "justify": "between",
2934
- "type": "stack",
2935
- "wrap": true
2936
- },
3991
+ "hidden",
3992
+ ""
3993
+ ],
3994
+ "name": "@entity.chatTitle",
3995
+ "size": "md",
3996
+ "src": [
3997
+ "object/get",
3998
+ "@entity",
3999
+ "chatAvatar",
4000
+ ""
4001
+ ],
4002
+ "type": "avatar"
4003
+ },
4004
+ {
4005
+ "children": [
4006
+ {
4007
+ "content": "@entity.chatTitle",
4008
+ "type": "typography",
4009
+ "variant": "h4"
4010
+ },
4011
+ {
4012
+ "content": "@entity.chatSubtitle",
4013
+ "type": "typography",
4014
+ "variant": "caption"
4015
+ }
4016
+ ],
4017
+ "direction": "vertical",
4018
+ "gap": "none",
4019
+ "type": "stack"
4020
+ }
4021
+ ],
4022
+ "className": "shrink-0",
4023
+ "direction": "horizontal",
4024
+ "gap": "sm",
4025
+ "type": "stack"
4026
+ },
4027
+ {
4028
+ "align": "center",
4029
+ "children": [
4030
+ {
4031
+ "action": "NEW_CHAT_CLICKED",
4032
+ "aria-label": "@config.newChatLabel",
4033
+ "icon": "message-square-plus",
4034
+ "label": "@config.newChatLabel",
4035
+ "size": "sm",
4036
+ "type": "button",
4037
+ "variant": "secondary"
4038
+ },
4039
+ {
4040
+ "align": "center",
4041
+ "children": [
4042
+ {
4043
+ "action": "OPEN_CHATS_CLICKED",
4044
+ "aria-label": "@config.chatsLabel",
4045
+ "label": "@config.chatsLabel",
4046
+ "size": "sm",
4047
+ "type": "button",
4048
+ "variant": "ghost"
4049
+ },
4050
+ {
4051
+ "action": "OPEN_MEMORY_CLICKED",
4052
+ "aria-label": "@config.memoryLabel",
4053
+ "label": "@config.memoryLabel",
4054
+ "size": "sm",
4055
+ "type": "button",
4056
+ "variant": "ghost"
4057
+ },
4058
+ {
4059
+ "children": [
4060
+ "array/map",
4061
+ "@config.links",
4062
+ [
4063
+ "fn",
4064
+ "item",
4065
+ {
4066
+ "href": "@item.href",
4067
+ "label": "@item.label",
4068
+ "size": "sm",
4069
+ "type": "button",
4070
+ "variant": "ghost"
4071
+ }
4072
+ ]
4073
+ ],
4074
+ "direction": "horizontal",
4075
+ "gap": "xs",
4076
+ "type": "stack"
4077
+ }
4078
+ ],
4079
+ "className": "shrink-0",
4080
+ "direction": "horizontal",
4081
+ "gap": "none",
4082
+ "type": "stack"
4083
+ }
4084
+ ],
4085
+ "className": "shrink-0",
4086
+ "direction": "horizontal",
4087
+ "gap": "sm",
4088
+ "justify": "between",
4089
+ "type": "stack",
4090
+ "wrap": true
4091
+ }
4092
+ ],
2937
4093
  {
2938
4094
  "activities": "@entity.entries",
2939
4095
  "className": "flex-1",
@@ -2959,6 +4115,16 @@
2959
4115
  "event": "REPLIED",
2960
4116
  "eventId": "evt_01M3WC4PY17CBXZBP39ZBSYT2B",
2961
4117
  "from": "idle",
4118
+ "guard": [
4119
+ "=",
4120
+ [
4121
+ "if",
4122
+ "@payload.ephemeral",
4123
+ true,
4124
+ false
4125
+ ],
4126
+ "@config.ephemeral"
4127
+ ],
2962
4128
  "to": "idle"
2963
4129
  },
2964
4130
  {
@@ -2978,71 +4144,122 @@
2978
4144
  "main",
2979
4145
  {
2980
4146
  "children": [
2981
- {
2982
- "align": "center",
2983
- "children": [
2984
- {
2985
- "action": "NEW_CHAT_CLICKED",
2986
- "aria-label": "@config.newChatLabel",
2987
- "icon": "message-square-plus",
2988
- "label": "@config.newChatLabel",
2989
- "size": "sm",
2990
- "type": "button",
2991
- "variant": "secondary"
2992
- },
2993
- {
2994
- "align": "center",
2995
- "children": [
2996
- {
2997
- "action": "OPEN_CHATS_CLICKED",
2998
- "aria-label": "@config.chatsLabel",
2999
- "label": "@config.chatsLabel",
3000
- "size": "sm",
3001
- "type": "button",
3002
- "variant": "ghost"
3003
- },
3004
- {
3005
- "action": "OPEN_MEMORY_CLICKED",
3006
- "aria-label": "@config.memoryLabel",
3007
- "label": "@config.memoryLabel",
3008
- "size": "sm",
3009
- "type": "button",
3010
- "variant": "ghost"
3011
- },
3012
- {
3013
- "children": [
3014
- "array/map",
3015
- "@config.links",
3016
- [
3017
- "fn",
3018
- "item",
3019
- {
3020
- "href": "@item.href",
3021
- "label": "@item.label",
3022
- "size": "sm",
3023
- "type": "button",
3024
- "variant": "ghost"
3025
- }
3026
- ]
4147
+ [
4148
+ "if",
4149
+ "@config.ephemeral",
4150
+ {
4151
+ "align": "center",
4152
+ "children": [
4153
+ {
4154
+ "className": [
4155
+ "if",
4156
+ [
4157
+ "=",
4158
+ "@entity.chatAvatar",
4159
+ ""
3027
4160
  ],
3028
- "direction": "horizontal",
3029
- "gap": "xs",
3030
- "type": "stack"
3031
- }
3032
- ],
3033
- "className": "shrink-0",
3034
- "direction": "horizontal",
3035
- "gap": "none",
3036
- "type": "stack"
3037
- }
3038
- ],
3039
- "className": "shrink-0",
3040
- "direction": "horizontal",
3041
- "gap": "sm",
3042
- "justify": "between",
3043
- "type": "stack",
3044
- "wrap": true
3045
- },
4161
+ "hidden",
4162
+ ""
4163
+ ],
4164
+ "name": "@entity.chatTitle",
4165
+ "size": "md",
4166
+ "src": [
4167
+ "object/get",
4168
+ "@entity",
4169
+ "chatAvatar",
4170
+ ""
4171
+ ],
4172
+ "type": "avatar"
4173
+ },
4174
+ {
4175
+ "children": [
4176
+ {
4177
+ "content": "@entity.chatTitle",
4178
+ "type": "typography",
4179
+ "variant": "h4"
4180
+ },
4181
+ {
4182
+ "content": "@entity.chatSubtitle",
4183
+ "type": "typography",
4184
+ "variant": "caption"
4185
+ }
4186
+ ],
4187
+ "direction": "vertical",
4188
+ "gap": "none",
4189
+ "type": "stack"
4190
+ }
4191
+ ],
4192
+ "className": "shrink-0",
4193
+ "direction": "horizontal",
4194
+ "gap": "sm",
4195
+ "type": "stack"
4196
+ },
4197
+ {
4198
+ "align": "center",
4199
+ "children": [
4200
+ {
4201
+ "action": "NEW_CHAT_CLICKED",
4202
+ "aria-label": "@config.newChatLabel",
4203
+ "icon": "message-square-plus",
4204
+ "label": "@config.newChatLabel",
4205
+ "size": "sm",
4206
+ "type": "button",
4207
+ "variant": "secondary"
4208
+ },
4209
+ {
4210
+ "align": "center",
4211
+ "children": [
4212
+ {
4213
+ "action": "OPEN_CHATS_CLICKED",
4214
+ "aria-label": "@config.chatsLabel",
4215
+ "label": "@config.chatsLabel",
4216
+ "size": "sm",
4217
+ "type": "button",
4218
+ "variant": "ghost"
4219
+ },
4220
+ {
4221
+ "action": "OPEN_MEMORY_CLICKED",
4222
+ "aria-label": "@config.memoryLabel",
4223
+ "label": "@config.memoryLabel",
4224
+ "size": "sm",
4225
+ "type": "button",
4226
+ "variant": "ghost"
4227
+ },
4228
+ {
4229
+ "children": [
4230
+ "array/map",
4231
+ "@config.links",
4232
+ [
4233
+ "fn",
4234
+ "item",
4235
+ {
4236
+ "href": "@item.href",
4237
+ "label": "@item.label",
4238
+ "size": "sm",
4239
+ "type": "button",
4240
+ "variant": "ghost"
4241
+ }
4242
+ ]
4243
+ ],
4244
+ "direction": "horizontal",
4245
+ "gap": "xs",
4246
+ "type": "stack"
4247
+ }
4248
+ ],
4249
+ "className": "shrink-0",
4250
+ "direction": "horizontal",
4251
+ "gap": "none",
4252
+ "type": "stack"
4253
+ }
4254
+ ],
4255
+ "className": "shrink-0",
4256
+ "direction": "horizontal",
4257
+ "gap": "sm",
4258
+ "justify": "between",
4259
+ "type": "stack",
4260
+ "wrap": true
4261
+ }
4262
+ ],
3046
4263
  {
3047
4264
  "activities": "@entity.entries",
3048
4265
  "className": "flex-1",
@@ -3174,6 +4391,10 @@
3174
4391
  "event": "CHATS_LISTED",
3175
4392
  "eventId": "evt_01M42F8KA6Y435Y3QRXQKV1Q5G",
3176
4393
  "from": "idle",
4394
+ "guard": [
4395
+ "not",
4396
+ "@config.ephemeral"
4397
+ ],
3177
4398
  "to": "idle"
3178
4399
  },
3179
4400
  {
@@ -3190,71 +4411,122 @@
3190
4411
  "main",
3191
4412
  {
3192
4413
  "children": [
3193
- {
3194
- "align": "center",
3195
- "children": [
3196
- {
3197
- "action": "NEW_CHAT_CLICKED",
3198
- "aria-label": "@config.newChatLabel",
3199
- "icon": "message-square-plus",
3200
- "label": "@config.newChatLabel",
3201
- "size": "sm",
3202
- "type": "button",
3203
- "variant": "secondary"
3204
- },
3205
- {
3206
- "align": "center",
3207
- "children": [
3208
- {
3209
- "action": "OPEN_CHATS_CLICKED",
3210
- "aria-label": "@config.chatsLabel",
3211
- "label": "@config.chatsLabel",
3212
- "size": "sm",
3213
- "type": "button",
3214
- "variant": "ghost"
3215
- },
3216
- {
3217
- "action": "OPEN_MEMORY_CLICKED",
3218
- "aria-label": "@config.memoryLabel",
3219
- "label": "@config.memoryLabel",
3220
- "size": "sm",
3221
- "type": "button",
3222
- "variant": "ghost"
3223
- },
3224
- {
3225
- "children": [
3226
- "array/map",
3227
- "@config.links",
3228
- [
3229
- "fn",
3230
- "item",
3231
- {
3232
- "href": "@item.href",
3233
- "label": "@item.label",
3234
- "size": "sm",
3235
- "type": "button",
3236
- "variant": "ghost"
3237
- }
3238
- ]
4414
+ [
4415
+ "if",
4416
+ "@config.ephemeral",
4417
+ {
4418
+ "align": "center",
4419
+ "children": [
4420
+ {
4421
+ "className": [
4422
+ "if",
4423
+ [
4424
+ "=",
4425
+ "@entity.chatAvatar",
4426
+ ""
3239
4427
  ],
3240
- "direction": "horizontal",
3241
- "gap": "xs",
3242
- "type": "stack"
3243
- }
3244
- ],
3245
- "className": "shrink-0",
3246
- "direction": "horizontal",
3247
- "gap": "none",
3248
- "type": "stack"
3249
- }
3250
- ],
3251
- "className": "shrink-0",
3252
- "direction": "horizontal",
3253
- "gap": "sm",
3254
- "justify": "between",
3255
- "type": "stack",
3256
- "wrap": true
3257
- },
4428
+ "hidden",
4429
+ ""
4430
+ ],
4431
+ "name": "@entity.chatTitle",
4432
+ "size": "md",
4433
+ "src": [
4434
+ "object/get",
4435
+ "@entity",
4436
+ "chatAvatar",
4437
+ ""
4438
+ ],
4439
+ "type": "avatar"
4440
+ },
4441
+ {
4442
+ "children": [
4443
+ {
4444
+ "content": "@entity.chatTitle",
4445
+ "type": "typography",
4446
+ "variant": "h4"
4447
+ },
4448
+ {
4449
+ "content": "@entity.chatSubtitle",
4450
+ "type": "typography",
4451
+ "variant": "caption"
4452
+ }
4453
+ ],
4454
+ "direction": "vertical",
4455
+ "gap": "none",
4456
+ "type": "stack"
4457
+ }
4458
+ ],
4459
+ "className": "shrink-0",
4460
+ "direction": "horizontal",
4461
+ "gap": "sm",
4462
+ "type": "stack"
4463
+ },
4464
+ {
4465
+ "align": "center",
4466
+ "children": [
4467
+ {
4468
+ "action": "NEW_CHAT_CLICKED",
4469
+ "aria-label": "@config.newChatLabel",
4470
+ "icon": "message-square-plus",
4471
+ "label": "@config.newChatLabel",
4472
+ "size": "sm",
4473
+ "type": "button",
4474
+ "variant": "secondary"
4475
+ },
4476
+ {
4477
+ "align": "center",
4478
+ "children": [
4479
+ {
4480
+ "action": "OPEN_CHATS_CLICKED",
4481
+ "aria-label": "@config.chatsLabel",
4482
+ "label": "@config.chatsLabel",
4483
+ "size": "sm",
4484
+ "type": "button",
4485
+ "variant": "ghost"
4486
+ },
4487
+ {
4488
+ "action": "OPEN_MEMORY_CLICKED",
4489
+ "aria-label": "@config.memoryLabel",
4490
+ "label": "@config.memoryLabel",
4491
+ "size": "sm",
4492
+ "type": "button",
4493
+ "variant": "ghost"
4494
+ },
4495
+ {
4496
+ "children": [
4497
+ "array/map",
4498
+ "@config.links",
4499
+ [
4500
+ "fn",
4501
+ "item",
4502
+ {
4503
+ "href": "@item.href",
4504
+ "label": "@item.label",
4505
+ "size": "sm",
4506
+ "type": "button",
4507
+ "variant": "ghost"
4508
+ }
4509
+ ]
4510
+ ],
4511
+ "direction": "horizontal",
4512
+ "gap": "xs",
4513
+ "type": "stack"
4514
+ }
4515
+ ],
4516
+ "className": "shrink-0",
4517
+ "direction": "horizontal",
4518
+ "gap": "none",
4519
+ "type": "stack"
4520
+ }
4521
+ ],
4522
+ "className": "shrink-0",
4523
+ "direction": "horizontal",
4524
+ "gap": "sm",
4525
+ "justify": "between",
4526
+ "type": "stack",
4527
+ "wrap": true
4528
+ }
4529
+ ],
3258
4530
  {
3259
4531
  "activities": "@entity.entries",
3260
4532
  "className": "flex-1",
@@ -3370,6 +4642,10 @@
3370
4642
  "event": "MEMORIES_LISTED",
3371
4643
  "eventId": "evt_01M42F8KA623G0Z6VCEA15JJT8",
3372
4644
  "from": "idle",
4645
+ "guard": [
4646
+ "not",
4647
+ "@config.ephemeral"
4648
+ ],
3373
4649
  "to": "idle"
3374
4650
  },
3375
4651
  {
@@ -3379,71 +4655,122 @@
3379
4655
  "main",
3380
4656
  {
3381
4657
  "children": [
3382
- {
3383
- "align": "center",
3384
- "children": [
3385
- {
3386
- "action": "NEW_CHAT_CLICKED",
3387
- "aria-label": "@config.newChatLabel",
3388
- "icon": "message-square-plus",
3389
- "label": "@config.newChatLabel",
3390
- "size": "sm",
3391
- "type": "button",
3392
- "variant": "secondary"
3393
- },
3394
- {
3395
- "align": "center",
3396
- "children": [
3397
- {
3398
- "action": "OPEN_CHATS_CLICKED",
3399
- "aria-label": "@config.chatsLabel",
3400
- "label": "@config.chatsLabel",
3401
- "size": "sm",
3402
- "type": "button",
3403
- "variant": "ghost"
3404
- },
3405
- {
3406
- "action": "OPEN_MEMORY_CLICKED",
3407
- "aria-label": "@config.memoryLabel",
3408
- "label": "@config.memoryLabel",
3409
- "size": "sm",
3410
- "type": "button",
3411
- "variant": "ghost"
3412
- },
3413
- {
3414
- "children": [
3415
- "array/map",
3416
- "@config.links",
3417
- [
3418
- "fn",
3419
- "item",
3420
- {
3421
- "href": "@item.href",
3422
- "label": "@item.label",
3423
- "size": "sm",
3424
- "type": "button",
3425
- "variant": "ghost"
3426
- }
3427
- ]
4658
+ [
4659
+ "if",
4660
+ "@config.ephemeral",
4661
+ {
4662
+ "align": "center",
4663
+ "children": [
4664
+ {
4665
+ "className": [
4666
+ "if",
4667
+ [
4668
+ "=",
4669
+ "@entity.chatAvatar",
4670
+ ""
3428
4671
  ],
3429
- "direction": "horizontal",
3430
- "gap": "xs",
3431
- "type": "stack"
3432
- }
3433
- ],
3434
- "className": "shrink-0",
3435
- "direction": "horizontal",
3436
- "gap": "none",
3437
- "type": "stack"
3438
- }
3439
- ],
3440
- "className": "shrink-0",
3441
- "direction": "horizontal",
3442
- "gap": "sm",
3443
- "justify": "between",
3444
- "type": "stack",
3445
- "wrap": true
3446
- },
4672
+ "hidden",
4673
+ ""
4674
+ ],
4675
+ "name": "@entity.chatTitle",
4676
+ "size": "md",
4677
+ "src": [
4678
+ "object/get",
4679
+ "@entity",
4680
+ "chatAvatar",
4681
+ ""
4682
+ ],
4683
+ "type": "avatar"
4684
+ },
4685
+ {
4686
+ "children": [
4687
+ {
4688
+ "content": "@entity.chatTitle",
4689
+ "type": "typography",
4690
+ "variant": "h4"
4691
+ },
4692
+ {
4693
+ "content": "@entity.chatSubtitle",
4694
+ "type": "typography",
4695
+ "variant": "caption"
4696
+ }
4697
+ ],
4698
+ "direction": "vertical",
4699
+ "gap": "none",
4700
+ "type": "stack"
4701
+ }
4702
+ ],
4703
+ "className": "shrink-0",
4704
+ "direction": "horizontal",
4705
+ "gap": "sm",
4706
+ "type": "stack"
4707
+ },
4708
+ {
4709
+ "align": "center",
4710
+ "children": [
4711
+ {
4712
+ "action": "NEW_CHAT_CLICKED",
4713
+ "aria-label": "@config.newChatLabel",
4714
+ "icon": "message-square-plus",
4715
+ "label": "@config.newChatLabel",
4716
+ "size": "sm",
4717
+ "type": "button",
4718
+ "variant": "secondary"
4719
+ },
4720
+ {
4721
+ "align": "center",
4722
+ "children": [
4723
+ {
4724
+ "action": "OPEN_CHATS_CLICKED",
4725
+ "aria-label": "@config.chatsLabel",
4726
+ "label": "@config.chatsLabel",
4727
+ "size": "sm",
4728
+ "type": "button",
4729
+ "variant": "ghost"
4730
+ },
4731
+ {
4732
+ "action": "OPEN_MEMORY_CLICKED",
4733
+ "aria-label": "@config.memoryLabel",
4734
+ "label": "@config.memoryLabel",
4735
+ "size": "sm",
4736
+ "type": "button",
4737
+ "variant": "ghost"
4738
+ },
4739
+ {
4740
+ "children": [
4741
+ "array/map",
4742
+ "@config.links",
4743
+ [
4744
+ "fn",
4745
+ "item",
4746
+ {
4747
+ "href": "@item.href",
4748
+ "label": "@item.label",
4749
+ "size": "sm",
4750
+ "type": "button",
4751
+ "variant": "ghost"
4752
+ }
4753
+ ]
4754
+ ],
4755
+ "direction": "horizontal",
4756
+ "gap": "xs",
4757
+ "type": "stack"
4758
+ }
4759
+ ],
4760
+ "className": "shrink-0",
4761
+ "direction": "horizontal",
4762
+ "gap": "none",
4763
+ "type": "stack"
4764
+ }
4765
+ ],
4766
+ "className": "shrink-0",
4767
+ "direction": "horizontal",
4768
+ "gap": "sm",
4769
+ "justify": "between",
4770
+ "type": "stack",
4771
+ "wrap": true
4772
+ }
4773
+ ],
3447
4774
  {
3448
4775
  "activities": "@entity.entries",
3449
4776
  "className": "flex-1",
@@ -3496,71 +4823,122 @@
3496
4823
  "main",
3497
4824
  {
3498
4825
  "children": [
3499
- {
3500
- "align": "center",
3501
- "children": [
3502
- {
3503
- "action": "NEW_CHAT_CLICKED",
3504
- "aria-label": "@config.newChatLabel",
3505
- "icon": "message-square-plus",
3506
- "label": "@config.newChatLabel",
3507
- "size": "sm",
3508
- "type": "button",
3509
- "variant": "secondary"
3510
- },
3511
- {
3512
- "align": "center",
3513
- "children": [
3514
- {
3515
- "action": "OPEN_CHATS_CLICKED",
3516
- "aria-label": "@config.chatsLabel",
3517
- "label": "@config.chatsLabel",
3518
- "size": "sm",
3519
- "type": "button",
3520
- "variant": "ghost"
3521
- },
3522
- {
3523
- "action": "OPEN_MEMORY_CLICKED",
3524
- "aria-label": "@config.memoryLabel",
3525
- "label": "@config.memoryLabel",
3526
- "size": "sm",
3527
- "type": "button",
3528
- "variant": "ghost"
3529
- },
3530
- {
3531
- "children": [
3532
- "array/map",
3533
- "@config.links",
3534
- [
3535
- "fn",
3536
- "item",
3537
- {
3538
- "href": "@item.href",
3539
- "label": "@item.label",
3540
- "size": "sm",
3541
- "type": "button",
3542
- "variant": "ghost"
3543
- }
3544
- ]
4826
+ [
4827
+ "if",
4828
+ "@config.ephemeral",
4829
+ {
4830
+ "align": "center",
4831
+ "children": [
4832
+ {
4833
+ "className": [
4834
+ "if",
4835
+ [
4836
+ "=",
4837
+ "@entity.chatAvatar",
4838
+ ""
3545
4839
  ],
3546
- "direction": "horizontal",
3547
- "gap": "xs",
3548
- "type": "stack"
3549
- }
3550
- ],
3551
- "className": "shrink-0",
3552
- "direction": "horizontal",
3553
- "gap": "none",
3554
- "type": "stack"
3555
- }
3556
- ],
3557
- "className": "shrink-0",
3558
- "direction": "horizontal",
3559
- "gap": "sm",
3560
- "justify": "between",
3561
- "type": "stack",
3562
- "wrap": true
3563
- },
4840
+ "hidden",
4841
+ ""
4842
+ ],
4843
+ "name": "@entity.chatTitle",
4844
+ "size": "md",
4845
+ "src": [
4846
+ "object/get",
4847
+ "@entity",
4848
+ "chatAvatar",
4849
+ ""
4850
+ ],
4851
+ "type": "avatar"
4852
+ },
4853
+ {
4854
+ "children": [
4855
+ {
4856
+ "content": "@entity.chatTitle",
4857
+ "type": "typography",
4858
+ "variant": "h4"
4859
+ },
4860
+ {
4861
+ "content": "@entity.chatSubtitle",
4862
+ "type": "typography",
4863
+ "variant": "caption"
4864
+ }
4865
+ ],
4866
+ "direction": "vertical",
4867
+ "gap": "none",
4868
+ "type": "stack"
4869
+ }
4870
+ ],
4871
+ "className": "shrink-0",
4872
+ "direction": "horizontal",
4873
+ "gap": "sm",
4874
+ "type": "stack"
4875
+ },
4876
+ {
4877
+ "align": "center",
4878
+ "children": [
4879
+ {
4880
+ "action": "NEW_CHAT_CLICKED",
4881
+ "aria-label": "@config.newChatLabel",
4882
+ "icon": "message-square-plus",
4883
+ "label": "@config.newChatLabel",
4884
+ "size": "sm",
4885
+ "type": "button",
4886
+ "variant": "secondary"
4887
+ },
4888
+ {
4889
+ "align": "center",
4890
+ "children": [
4891
+ {
4892
+ "action": "OPEN_CHATS_CLICKED",
4893
+ "aria-label": "@config.chatsLabel",
4894
+ "label": "@config.chatsLabel",
4895
+ "size": "sm",
4896
+ "type": "button",
4897
+ "variant": "ghost"
4898
+ },
4899
+ {
4900
+ "action": "OPEN_MEMORY_CLICKED",
4901
+ "aria-label": "@config.memoryLabel",
4902
+ "label": "@config.memoryLabel",
4903
+ "size": "sm",
4904
+ "type": "button",
4905
+ "variant": "ghost"
4906
+ },
4907
+ {
4908
+ "children": [
4909
+ "array/map",
4910
+ "@config.links",
4911
+ [
4912
+ "fn",
4913
+ "item",
4914
+ {
4915
+ "href": "@item.href",
4916
+ "label": "@item.label",
4917
+ "size": "sm",
4918
+ "type": "button",
4919
+ "variant": "ghost"
4920
+ }
4921
+ ]
4922
+ ],
4923
+ "direction": "horizontal",
4924
+ "gap": "xs",
4925
+ "type": "stack"
4926
+ }
4927
+ ],
4928
+ "className": "shrink-0",
4929
+ "direction": "horizontal",
4930
+ "gap": "none",
4931
+ "type": "stack"
4932
+ }
4933
+ ],
4934
+ "className": "shrink-0",
4935
+ "direction": "horizontal",
4936
+ "gap": "sm",
4937
+ "justify": "between",
4938
+ "type": "stack",
4939
+ "wrap": true
4940
+ }
4941
+ ],
3564
4942
  {
3565
4943
  "activities": "@entity.entries",
3566
4944
  "className": "flex-1",
@@ -3586,6 +4964,16 @@
3586
4964
  "event": "REPLY_FAILED",
3587
4965
  "eventId": "evt_01M3WC4PY1FP4JAXE259KW86F8",
3588
4966
  "from": "idle",
4967
+ "guard": [
4968
+ "=",
4969
+ [
4970
+ "if",
4971
+ "@payload.ephemeral",
4972
+ true,
4973
+ false
4974
+ ],
4975
+ "@config.ephemeral"
4976
+ ],
3589
4977
  "to": "idle"
3590
4978
  }
3591
4979
  ]
@@ -3836,6 +5224,20 @@
3836
5224
  "type": "number"
3837
5225
  }
3838
5226
  ],
5227
+ "AgentTool": [
5228
+ {
5229
+ "name": "event",
5230
+ "type": "event"
5231
+ },
5232
+ {
5233
+ "name": "read",
5234
+ "type": "string"
5235
+ },
5236
+ {
5237
+ "name": "scope",
5238
+ "type": "string"
5239
+ }
5240
+ ],
3839
5241
  "AgentToolCallActivity": [
3840
5242
  {
3841
5243
  "name": "type",
@@ -4729,6 +6131,10 @@
4729
6131
  "name": "reply",
4730
6132
  "required": true,
4731
6133
  "type": "string"
6134
+ },
6135
+ {
6136
+ "name": "ephemeral",
6137
+ "type": "boolean"
4732
6138
  }
4733
6139
  ]
4734
6140
  },
@@ -5379,6 +6785,10 @@
5379
6785
  "event": "REPLIED",
5380
6786
  "eventId": "evt_01M42AXGB6RZ31FP4M56835VN9",
5381
6787
  "from": "ready",
6788
+ "guard": [
6789
+ "not",
6790
+ "@payload.ephemeral"
6791
+ ],
5382
6792
  "to": "ready"
5383
6793
  },
5384
6794
  {
@@ -6493,6 +7903,20 @@
6493
7903
  "type": "number"
6494
7904
  }
6495
7905
  ],
7906
+ "AgentTool": [
7907
+ {
7908
+ "name": "event",
7909
+ "type": "event"
7910
+ },
7911
+ {
7912
+ "name": "read",
7913
+ "type": "string"
7914
+ },
7915
+ {
7916
+ "name": "scope",
7917
+ "type": "string"
7918
+ }
7919
+ ],
6496
7920
  "AgentToolCallActivity": [
6497
7921
  {
6498
7922
  "name": "type",