@opengeni/react 3.7.0-canary.1 → 3.7.0-canary.3
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-5IXTJTK3.js → chunk-2ZICNIGZ.js} +353 -286
- package/dist/chunk-2ZICNIGZ.js.map +1 -0
- package/dist/{chunk-INGB2N5R.js → chunk-3IY6UZI6.js} +2 -2
- package/dist/chunk-3IY6UZI6.js.map +1 -0
- package/dist/components/child-session-link.d.ts +5 -0
- package/dist/components/session-chrome.d.ts +8 -4
- package/dist/composer.js +1 -1
- package/dist/index.js +2 -2
- package/dist/session-ui.js +2 -2
- package/package.json +2 -2
- package/src/components/child-session-link.tsx +27 -0
- package/src/components/composer.tsx +1 -1
- package/src/components/machine-input-display.ts +2 -2
- package/src/components/message-timeline.tsx +17 -2
- package/src/components/session-chrome.tsx +75 -37
- package/styles/compiled.css +25 -14
- package/dist/chunk-5IXTJTK3.js.map +0 -1
- package/dist/chunk-INGB2N5R.js.map +0 -1
|
@@ -35,7 +35,7 @@ import {
|
|
|
35
35
|
TooltipTrigger,
|
|
36
36
|
useChatComposerController,
|
|
37
37
|
useLightboxOptional
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-3IY6UZI6.js";
|
|
39
39
|
import {
|
|
40
40
|
ModelPolicyPicker
|
|
41
41
|
} from "./chunk-4JFUT22W.js";
|
|
@@ -5753,6 +5753,27 @@ function StatusDot({ status, className }) {
|
|
|
5753
5753
|
);
|
|
5754
5754
|
}
|
|
5755
5755
|
|
|
5756
|
+
// src/components/child-session-link.tsx
|
|
5757
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
5758
|
+
function ChildSessionLink({
|
|
5759
|
+
kind,
|
|
5760
|
+
sourceId,
|
|
5761
|
+
onOpenSession
|
|
5762
|
+
}) {
|
|
5763
|
+
if (!onOpenSession || !kind.startsWith("child_") || !/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(sourceId)) {
|
|
5764
|
+
return null;
|
|
5765
|
+
}
|
|
5766
|
+
return /* @__PURE__ */ jsx16(
|
|
5767
|
+
"button",
|
|
5768
|
+
{
|
|
5769
|
+
type: "button",
|
|
5770
|
+
onClick: () => onOpenSession(sourceId),
|
|
5771
|
+
className: "mt-1 rounded-og-sm text-og-xs font-medium text-og-accent underline-offset-4 hover:underline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-og-accent",
|
|
5772
|
+
children: "View session"
|
|
5773
|
+
}
|
|
5774
|
+
);
|
|
5775
|
+
}
|
|
5776
|
+
|
|
5756
5777
|
// src/components/message-timeline.tsx
|
|
5757
5778
|
import { dequal } from "dequal/lite";
|
|
5758
5779
|
import {
|
|
@@ -6159,7 +6180,7 @@ var MACHINE_INPUT_META = {
|
|
|
6159
6180
|
session_wait_timeout: "Wait ended",
|
|
6160
6181
|
agent_message: "Agent update",
|
|
6161
6182
|
agent_steer_instruction: "Agent direction",
|
|
6162
|
-
child_terminal_result: "Agent
|
|
6183
|
+
child_terminal_result: "Agent result received",
|
|
6163
6184
|
media_generation_result: "Video update",
|
|
6164
6185
|
child_requires_action: "Agent needs input",
|
|
6165
6186
|
child_requires_action_resolved: "Agent unblocked",
|
|
@@ -6182,7 +6203,7 @@ function machineInputBatchLabel(members) {
|
|
|
6182
6203
|
case "session_wait_timeout":
|
|
6183
6204
|
return n === 1 ? "Wait ended" : `${n} waits ended`;
|
|
6184
6205
|
case "child_terminal_result":
|
|
6185
|
-
return n === 1 ? "Agent
|
|
6206
|
+
return n === 1 ? "Agent result received" : `${n} agent results received`;
|
|
6186
6207
|
case "goal_continuation":
|
|
6187
6208
|
return n === 1 ? "Goal continued" : `${n} goal continuations`;
|
|
6188
6209
|
case "scheduled_occurrence":
|
|
@@ -6234,7 +6255,7 @@ function machineInputSummaryIsUseful(kind, cleanedSummary) {
|
|
|
6234
6255
|
}
|
|
6235
6256
|
|
|
6236
6257
|
// src/components/message-timeline.tsx
|
|
6237
|
-
import { Fragment as Fragment5, jsx as
|
|
6258
|
+
import { Fragment as Fragment5, jsx as jsx17, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
6238
6259
|
var TimelineAnnotationSelection = lazy3(() => import("./timeline-annotation-selection-3L7LHGG2.js"));
|
|
6239
6260
|
var PIN_THRESHOLD_PX = 48;
|
|
6240
6261
|
var JUMP_TO_LATEST_CATCHUP_DEBT_PX = 240;
|
|
@@ -7271,8 +7292,8 @@ function MessageTimeline({
|
|
|
7271
7292
|
}
|
|
7272
7293
|
releasePinAfterScrollSettled(node);
|
|
7273
7294
|
};
|
|
7274
|
-
return /* @__PURE__ */
|
|
7275
|
-
onAnnotate ? /* @__PURE__ */
|
|
7295
|
+
return /* @__PURE__ */ jsx17(LightboxProvider, { children: /* @__PURE__ */ jsx17(FoldMemoryProvider, { value: foldMemoryRef.current, children: /* @__PURE__ */ jsx17(SeenActivityIdsProvider, { value: seenActivityIdsRef.current, children: /* @__PURE__ */ jsx17(TimelineComputeLabelProvider, { value: computeLabel ?? null, children: /* @__PURE__ */ jsx17(EntranceAnimationProvider, { value: false, children: /* @__PURE__ */ jsx17(TooltipProvider, { delayDuration: 400, children: /* @__PURE__ */ jsxs11("div", { className: cn("og-root relative flex min-h-0 flex-col", className), children: [
|
|
7296
|
+
onAnnotate ? /* @__PURE__ */ jsx17(Suspense3, { fallback: null, children: /* @__PURE__ */ jsx17(
|
|
7276
7297
|
TimelineAnnotationSelection,
|
|
7277
7298
|
{
|
|
7278
7299
|
rootRef: scrollRef,
|
|
@@ -7280,7 +7301,7 @@ function MessageTimeline({
|
|
|
7280
7301
|
onAnnotate
|
|
7281
7302
|
}
|
|
7282
7303
|
) }) : null,
|
|
7283
|
-
/* @__PURE__ */
|
|
7304
|
+
/* @__PURE__ */ jsx17(
|
|
7284
7305
|
"div",
|
|
7285
7306
|
{
|
|
7286
7307
|
ref: scrollRef,
|
|
@@ -7334,14 +7355,14 @@ function MessageTimeline({
|
|
|
7334
7355
|
"min-h-0 flex-1 overflow-y-auto overscroll-contain px-4 pt-16 pb-6 sm:px-6 outline-hidden",
|
|
7335
7356
|
autoFollow && pinned && !hasNewer ? "[overflow-anchor:none]" : "[overflow-anchor:auto]"
|
|
7336
7357
|
),
|
|
7337
|
-
children: /* @__PURE__ */
|
|
7358
|
+
children: /* @__PURE__ */ jsx17(
|
|
7338
7359
|
TimelineBeforeLayout,
|
|
7339
7360
|
{
|
|
7340
7361
|
capture: () => {
|
|
7341
7362
|
readingAnchorRef.current = !pinnedRef.current && scrollRef.current ? captureTimelineAnchor(scrollRef.current) : null;
|
|
7342
7363
|
},
|
|
7343
7364
|
children: /* @__PURE__ */ jsxs11("div", { className: "relative mx-auto flex w-full max-w-3xl flex-col gap-5", children: [
|
|
7344
|
-
/* @__PURE__ */
|
|
7365
|
+
/* @__PURE__ */ jsx17(AnimatePresence, { children: loadingOlder || loadingOldest || hasOlder && onJumpToStart && olderPrefetchArmed || underfillRetryReady ? (
|
|
7345
7366
|
// Reserved top gutter: controls scroll with history and cannot
|
|
7346
7367
|
// cover a disclosure. Visibility never changes content height.
|
|
7347
7368
|
/* @__PURE__ */ jsxs11(
|
|
@@ -7355,8 +7376,8 @@ function MessageTimeline({
|
|
|
7355
7376
|
"aria-live": "polite",
|
|
7356
7377
|
className: "pointer-events-none absolute inset-x-0 -top-11 z-10 flex justify-center",
|
|
7357
7378
|
children: [
|
|
7358
|
-
loadingOlder || loadingOldest ? /* @__PURE__ */
|
|
7359
|
-
hasOlder && !loadingOlder && !loadingOldest && (underfillRetryReady || onJumpToStart) ? /* @__PURE__ */
|
|
7379
|
+
loadingOlder || loadingOldest ? /* @__PURE__ */ jsx17("span", { className: LOADING_CHIP_CLASS, children: /* @__PURE__ */ jsx17("span", { className: "og-shimmer-text", children: loadingOldest ? "Jumping to start\u2026" : "Loading earlier activity\u2026" }) }) : null,
|
|
7380
|
+
hasOlder && !loadingOlder && !loadingOldest && (underfillRetryReady || onJumpToStart) ? /* @__PURE__ */ jsx17(
|
|
7360
7381
|
"button",
|
|
7361
7382
|
{
|
|
7362
7383
|
type: "button",
|
|
@@ -7400,13 +7421,13 @@ function MessageTimeline({
|
|
|
7400
7421
|
}
|
|
7401
7422
|
)
|
|
7402
7423
|
) : null }),
|
|
7403
|
-
!groups.length ? emptyState ?? /* @__PURE__ */
|
|
7424
|
+
!groups.length ? emptyState ?? /* @__PURE__ */ jsx17("p", { className: "py-10 text-center text-og-menu text-og-fg-subtle", children: "No activity yet." }) : null,
|
|
7404
7425
|
hasOlder && olderPrefetchArmed ? (
|
|
7405
7426
|
// Overlaid, not a layout row: mounting/unmounting the sentinel
|
|
7406
7427
|
// must never shift content (that shift was itself a wobble).
|
|
7407
7428
|
// End at the scroll origin above the pt-16 gutter so the
|
|
7408
7429
|
// observer and scrollTop cooldown share the same 400px band.
|
|
7409
|
-
/* @__PURE__ */
|
|
7430
|
+
/* @__PURE__ */ jsx17(
|
|
7410
7431
|
"div",
|
|
7411
7432
|
{
|
|
7412
7433
|
ref: topSentinelRef,
|
|
@@ -7418,7 +7439,7 @@ function MessageTimeline({
|
|
|
7418
7439
|
)
|
|
7419
7440
|
) : null,
|
|
7420
7441
|
groups.map(({ group, key, entranceEnabled }, index) => {
|
|
7421
|
-
return /* @__PURE__ */
|
|
7442
|
+
return /* @__PURE__ */ jsx17(
|
|
7422
7443
|
TimelineGroupEntry,
|
|
7423
7444
|
{
|
|
7424
7445
|
groupKey: key,
|
|
@@ -7431,8 +7452,8 @@ function MessageTimeline({
|
|
|
7431
7452
|
key
|
|
7432
7453
|
);
|
|
7433
7454
|
}),
|
|
7434
|
-
groups.length > 0 && trailingState ? /* @__PURE__ */
|
|
7435
|
-
hasNewer ? /* @__PURE__ */
|
|
7455
|
+
groups.length > 0 && trailingState ? /* @__PURE__ */ jsx17("div", { "data-og-timeline-trailing-state": "", children: trailingState }) : null,
|
|
7456
|
+
hasNewer ? /* @__PURE__ */ jsx17(
|
|
7436
7457
|
"div",
|
|
7437
7458
|
{
|
|
7438
7459
|
ref: bottomSentinelRef,
|
|
@@ -7447,7 +7468,7 @@ function MessageTimeline({
|
|
|
7447
7468
|
)
|
|
7448
7469
|
}
|
|
7449
7470
|
),
|
|
7450
|
-
/* @__PURE__ */
|
|
7471
|
+
/* @__PURE__ */ jsx17(AnimatePresence, { children: loadingNewer ? /* @__PURE__ */ jsx17(
|
|
7451
7472
|
motion.div,
|
|
7452
7473
|
{
|
|
7453
7474
|
initial: { opacity: 0, y: 6 },
|
|
@@ -7457,10 +7478,10 @@ function MessageTimeline({
|
|
|
7457
7478
|
"data-og-loading-newer": "",
|
|
7458
7479
|
"aria-live": "polite",
|
|
7459
7480
|
className: "pointer-events-none absolute inset-x-0 bottom-14 z-10 flex justify-center",
|
|
7460
|
-
children: /* @__PURE__ */
|
|
7481
|
+
children: /* @__PURE__ */ jsx17("span", { className: LOADING_CHIP_CLASS, children: /* @__PURE__ */ jsx17("span", { className: "og-shimmer-text", children: "Loading later activity\u2026" }) })
|
|
7461
7482
|
}
|
|
7462
7483
|
) : null }),
|
|
7463
|
-
/* @__PURE__ */
|
|
7484
|
+
/* @__PURE__ */ jsx17(AnimatePresence, { children: (!pinned && autoFollow || hasNewer || canSkipTipCatchup) && autoFollow ? /* @__PURE__ */ jsxs11(
|
|
7464
7485
|
motion.button,
|
|
7465
7486
|
{
|
|
7466
7487
|
type: "button",
|
|
@@ -7506,7 +7527,7 @@ function MessageTimeline({
|
|
|
7506
7527
|
"hover:border-og-border-strong"
|
|
7507
7528
|
),
|
|
7508
7529
|
children: [
|
|
7509
|
-
/* @__PURE__ */
|
|
7530
|
+
/* @__PURE__ */ jsx17(ArrowDownIcon, { className: "size-3.5" }),
|
|
7510
7531
|
"Jump to latest"
|
|
7511
7532
|
]
|
|
7512
7533
|
}
|
|
@@ -7599,10 +7620,10 @@ var TimelineGroupRenderBoundary = class extends Component3 {
|
|
|
7599
7620
|
role: "status",
|
|
7600
7621
|
className: "flex items-start gap-2 rounded-lg border border-og-border bg-og-surface-muted px-3 py-2 text-og-menu text-og-fg-muted",
|
|
7601
7622
|
children: [
|
|
7602
|
-
/* @__PURE__ */
|
|
7623
|
+
/* @__PURE__ */ jsx17(TriangleAlertIcon2, { "aria-hidden": "true", className: "mt-0.5 size-4 shrink-0" }),
|
|
7603
7624
|
/* @__PURE__ */ jsxs11("div", { children: [
|
|
7604
|
-
/* @__PURE__ */
|
|
7605
|
-
/* @__PURE__ */
|
|
7625
|
+
/* @__PURE__ */ jsx17("p", { className: "font-medium text-og-fg", children: "Timeline item unavailable" }),
|
|
7626
|
+
/* @__PURE__ */ jsx17("p", { children: "This item could not be displayed. The rest of the conversation is still available." })
|
|
7606
7627
|
] })
|
|
7607
7628
|
]
|
|
7608
7629
|
}
|
|
@@ -7621,7 +7642,7 @@ var TimelineGroupEntry = memo2(function TimelineGroupEntry2({
|
|
|
7621
7642
|
}) {
|
|
7622
7643
|
const { behavior, userMessageDisclosureContext } = context;
|
|
7623
7644
|
const contextCompactionCount = group.kind === "turn" ? group.contextCompactionCount ?? 0 : group.kind === "activity" && nextGroup?.kind === "item" && nextGroup.item.kind === "context-compaction" && nextGroup.item.phase === "compacted" ? 1 : 0;
|
|
7624
|
-
return /* @__PURE__ */
|
|
7645
|
+
return /* @__PURE__ */ jsx17("div", { "data-og-timeline-group-anchor": "", "data-og-group-key": groupKey, children: /* @__PURE__ */ jsx17(EntranceAnimationProvider, { value: entranceEnabled, liveValue: liveEntranceEnabled, children: /* @__PURE__ */ jsx17(TimelineGroupRenderBoundary, { resetKeys: [group, behavior], children: /* @__PURE__ */ jsx17(UserMessageDisclosureProvider, { value: userMessageDisclosureContext, children: /* @__PURE__ */ jsx17(
|
|
7625
7646
|
TimelineGroupView,
|
|
7626
7647
|
{
|
|
7627
7648
|
...behavior,
|
|
@@ -7670,7 +7691,7 @@ var TimelineGroupView = memo2(function TimelineGroupView2({
|
|
|
7670
7691
|
if (insideTurn) {
|
|
7671
7692
|
const useNestedChip = nestClusterChips && activityShouldFold && !containsGeneratedImage;
|
|
7672
7693
|
if (!useNestedChip) {
|
|
7673
|
-
return /* @__PURE__ */
|
|
7694
|
+
return /* @__PURE__ */ jsx17(
|
|
7674
7695
|
ActivityRail,
|
|
7675
7696
|
{
|
|
7676
7697
|
items: group.items,
|
|
@@ -7683,7 +7704,7 @@ var TimelineGroupView = memo2(function TimelineGroupView2({
|
|
|
7683
7704
|
}
|
|
7684
7705
|
);
|
|
7685
7706
|
}
|
|
7686
|
-
return /* @__PURE__ */
|
|
7707
|
+
return /* @__PURE__ */ jsx17(
|
|
7687
7708
|
TurnSummary,
|
|
7688
7709
|
{
|
|
7689
7710
|
items: group.items,
|
|
@@ -7694,7 +7715,7 @@ var TimelineGroupView = memo2(function TimelineGroupView2({
|
|
|
7694
7715
|
foldKey: group.id,
|
|
7695
7716
|
facets: turnSummary?.facets,
|
|
7696
7717
|
contextCompactionCount,
|
|
7697
|
-
children: /* @__PURE__ */
|
|
7718
|
+
children: /* @__PURE__ */ jsx17(
|
|
7698
7719
|
ActivityRail,
|
|
7699
7720
|
{
|
|
7700
7721
|
items: group.items,
|
|
@@ -7710,7 +7731,7 @@ var TimelineGroupView = memo2(function TimelineGroupView2({
|
|
|
7710
7731
|
settleChrome ? "settle" : "rest"
|
|
7711
7732
|
);
|
|
7712
7733
|
}
|
|
7713
|
-
return /* @__PURE__ */
|
|
7734
|
+
return /* @__PURE__ */ jsx17(
|
|
7714
7735
|
TurnSummary,
|
|
7715
7736
|
{
|
|
7716
7737
|
items: group.items,
|
|
@@ -7721,7 +7742,7 @@ var TimelineGroupView = memo2(function TimelineGroupView2({
|
|
|
7721
7742
|
facets: turnSummary?.facets,
|
|
7722
7743
|
settleFold,
|
|
7723
7744
|
contextCompactionCount,
|
|
7724
|
-
children: /* @__PURE__ */
|
|
7745
|
+
children: /* @__PURE__ */ jsx17(FoldBody, { children: /* @__PURE__ */ jsx17(TurnRailFrame, { children: /* @__PURE__ */ jsx17(
|
|
7725
7746
|
ActivityRail,
|
|
7726
7747
|
{
|
|
7727
7748
|
items: group.items,
|
|
@@ -7741,7 +7762,7 @@ var TimelineGroupView = memo2(function TimelineGroupView2({
|
|
|
7741
7762
|
const turnCopyText = collectTurnCopyText(group.groups, trailingAgentText);
|
|
7742
7763
|
const body = group.groups.map((child) => {
|
|
7743
7764
|
const key = timelineGroupKey(child);
|
|
7744
|
-
return /* @__PURE__ */
|
|
7765
|
+
return /* @__PURE__ */ jsx17(
|
|
7745
7766
|
TimelineGroupRenderBoundary,
|
|
7746
7767
|
{
|
|
7747
7768
|
resetKeys: [
|
|
@@ -7757,7 +7778,7 @@ var TimelineGroupView = memo2(function TimelineGroupView2({
|
|
|
7757
7778
|
loadVideoArtifactPlayback,
|
|
7758
7779
|
turnSummary
|
|
7759
7780
|
],
|
|
7760
|
-
children: /* @__PURE__ */
|
|
7781
|
+
children: /* @__PURE__ */ jsx17(
|
|
7761
7782
|
TimelineGroupView2,
|
|
7762
7783
|
{
|
|
7763
7784
|
group: child,
|
|
@@ -7779,7 +7800,7 @@ var TimelineGroupView = memo2(function TimelineGroupView2({
|
|
|
7779
7800
|
key
|
|
7780
7801
|
);
|
|
7781
7802
|
});
|
|
7782
|
-
return /* @__PURE__ */
|
|
7803
|
+
return /* @__PURE__ */ jsx17(
|
|
7783
7804
|
TurnSummary,
|
|
7784
7805
|
{
|
|
7785
7806
|
items: activityItems,
|
|
@@ -7793,16 +7814,16 @@ var TimelineGroupView = memo2(function TimelineGroupView2({
|
|
|
7793
7814
|
settleFold,
|
|
7794
7815
|
copyText: insideTurn ? void 0 : turnCopyText,
|
|
7795
7816
|
contextCompactionCount: contextCompactionCount ?? group.contextCompactionCount,
|
|
7796
|
-
children: /* @__PURE__ */
|
|
7817
|
+
children: /* @__PURE__ */ jsx17(FoldBody, { children: insideTurn ? (
|
|
7797
7818
|
// A nested turn is already on an ancestor rail — its body just stacks
|
|
7798
7819
|
// flush (the bare-node body already indents it), so no second rule.
|
|
7799
|
-
/* @__PURE__ */
|
|
7800
|
-
) : /* @__PURE__ */
|
|
7820
|
+
/* @__PURE__ */ jsx17("div", { className: "flex flex-col gap-4", children: body })
|
|
7821
|
+
) : /* @__PURE__ */ jsx17(TurnRailFrame, { children: body }) })
|
|
7801
7822
|
}
|
|
7802
7823
|
);
|
|
7803
7824
|
}
|
|
7804
7825
|
case "item":
|
|
7805
|
-
return /* @__PURE__ */
|
|
7826
|
+
return /* @__PURE__ */ jsx17(
|
|
7806
7827
|
TimelineRow,
|
|
7807
7828
|
{
|
|
7808
7829
|
item: group.item,
|
|
@@ -7816,10 +7837,10 @@ var TimelineGroupView = memo2(function TimelineGroupView2({
|
|
|
7816
7837
|
}
|
|
7817
7838
|
});
|
|
7818
7839
|
function FoldBody({ children }) {
|
|
7819
|
-
return /* @__PURE__ */
|
|
7840
|
+
return /* @__PURE__ */ jsx17(Fragment5, { children });
|
|
7820
7841
|
}
|
|
7821
7842
|
function TurnRailFrame({ children }) {
|
|
7822
|
-
return /* @__PURE__ */
|
|
7843
|
+
return /* @__PURE__ */ jsx17("div", { className: "flex flex-col gap-4 border-l-2 border-og-border pl-3 sm:pl-4", children });
|
|
7823
7844
|
}
|
|
7824
7845
|
function useLiveSettleFold(folded) {
|
|
7825
7846
|
const previousFoldedRef = useRef10(folded);
|
|
@@ -7994,25 +8015,32 @@ function TimelineRow({
|
|
|
7994
8015
|
}) {
|
|
7995
8016
|
switch (item.kind) {
|
|
7996
8017
|
case "user-message":
|
|
7997
|
-
return /* @__PURE__ */
|
|
8018
|
+
return /* @__PURE__ */ jsx17(UserMessageRow, { item, renderMessageText });
|
|
7998
8019
|
case "human-input":
|
|
7999
|
-
return /* @__PURE__ */
|
|
8020
|
+
return /* @__PURE__ */ jsx17(HumanInputConversationRow, { item });
|
|
8000
8021
|
case "agent-message":
|
|
8001
|
-
return /* @__PURE__ */
|
|
8022
|
+
return /* @__PURE__ */ jsx17(AgentMessageRow, { item, renderMessageText });
|
|
8002
8023
|
case "worker-completion":
|
|
8003
|
-
return /* @__PURE__ */
|
|
8024
|
+
return /* @__PURE__ */ jsx17(WorkerCompletionRow, { item, onOpenSession });
|
|
8004
8025
|
case "session-status":
|
|
8005
|
-
return /* @__PURE__ */
|
|
8026
|
+
return /* @__PURE__ */ jsx17(SessionStatusRow, { item });
|
|
8006
8027
|
case "goal":
|
|
8007
|
-
return /* @__PURE__ */
|
|
8028
|
+
return /* @__PURE__ */ jsx17(GoalRow, { item });
|
|
8008
8029
|
case "machine-input-batch":
|
|
8009
|
-
return /* @__PURE__ */
|
|
8030
|
+
return /* @__PURE__ */ jsx17(
|
|
8031
|
+
MachineInputBatchRow,
|
|
8032
|
+
{
|
|
8033
|
+
item,
|
|
8034
|
+
onOpenSession,
|
|
8035
|
+
loadVideoArtifactPlayback
|
|
8036
|
+
}
|
|
8037
|
+
);
|
|
8010
8038
|
case "notice":
|
|
8011
|
-
return /* @__PURE__ */
|
|
8039
|
+
return /* @__PURE__ */ jsx17(NoticeRow, { item });
|
|
8012
8040
|
case "context-compaction":
|
|
8013
|
-
return /* @__PURE__ */
|
|
8041
|
+
return /* @__PURE__ */ jsx17(CompactionRow, { item });
|
|
8014
8042
|
case "auth-needed":
|
|
8015
|
-
return /* @__PURE__ */
|
|
8043
|
+
return /* @__PURE__ */ jsx17(
|
|
8016
8044
|
AuthNeededRow,
|
|
8017
8045
|
{
|
|
8018
8046
|
item,
|
|
@@ -8038,7 +8066,7 @@ function CompactionRow({ item }) {
|
|
|
8038
8066
|
const title = item.phase === "started" ? "Compacting conversation history\u2026" : item.phase === "compacted" ? before && after ? `Conversation history compacted \xB7 ~${before} \u2192 ~${after} estimated history tokens` : "Conversation history compacted" : "Couldn\u2019t compact conversation history";
|
|
8039
8067
|
const subtitle = item.phase === "compacted" ? "Chat history above is unchanged" : item.phase === "skipped" ? compactionSkipSubtitle(item.skipReason) : null;
|
|
8040
8068
|
const pill = item.phase === "skipped" && item.skipReason === "summarization_failed" ? "border-og-status-failed/35 bg-og-status-failed/10 text-og-status-failed" : item.phase === "started" ? WAITING_PILL_CLASS : NEUTRAL_PILL;
|
|
8041
|
-
return /* @__PURE__ */
|
|
8069
|
+
return /* @__PURE__ */ jsx17("div", { className: cn(enter && "animate-og-enter", "flex justify-center"), children: /* @__PURE__ */ jsxs11(
|
|
8042
8070
|
"div",
|
|
8043
8071
|
{
|
|
8044
8072
|
className: cn(
|
|
@@ -8048,13 +8076,13 @@ function CompactionRow({ item }) {
|
|
|
8048
8076
|
role: "status",
|
|
8049
8077
|
children: [
|
|
8050
8078
|
/* @__PURE__ */ jsxs11("span", { className: "inline-flex max-w-full items-center gap-1.5", children: [
|
|
8051
|
-
/* @__PURE__ */
|
|
8079
|
+
/* @__PURE__ */ jsx17(ShrinkIcon, { className: "size-3.5 shrink-0" }),
|
|
8052
8080
|
/* @__PURE__ */ jsxs11("span", { className: "truncate", children: [
|
|
8053
8081
|
title,
|
|
8054
8082
|
trigger ? ` \xB7 ${trigger}` : ""
|
|
8055
8083
|
] })
|
|
8056
8084
|
] }),
|
|
8057
|
-
subtitle ? /* @__PURE__ */
|
|
8085
|
+
subtitle ? /* @__PURE__ */ jsx17("span", { className: "truncate text-og-xs opacity-80", children: subtitle }) : null
|
|
8058
8086
|
]
|
|
8059
8087
|
}
|
|
8060
8088
|
) });
|
|
@@ -8074,7 +8102,7 @@ function compactionSkipSubtitle(reason) {
|
|
|
8074
8102
|
}
|
|
8075
8103
|
}
|
|
8076
8104
|
function MessageFooterTime({ occurredAt }) {
|
|
8077
|
-
return /* @__PURE__ */
|
|
8105
|
+
return /* @__PURE__ */ jsx17(
|
|
8078
8106
|
"time",
|
|
8079
8107
|
{
|
|
8080
8108
|
dateTime: occurredAt,
|
|
@@ -8093,18 +8121,18 @@ function UserMessageRow({
|
|
|
8093
8121
|
}) {
|
|
8094
8122
|
const enter = useEntranceAnimation();
|
|
8095
8123
|
const deliveryFailed = item.delivery?.state === "failed";
|
|
8096
|
-
return /* @__PURE__ */
|
|
8097
|
-
/* @__PURE__ */
|
|
8124
|
+
return /* @__PURE__ */ jsx17("div", { className: cn(enter && "animate-og-enter", "flex justify-end"), children: /* @__PURE__ */ jsxs11("div", { className: "flex max-w-[85%] min-w-0 flex-col items-end gap-1", children: [
|
|
8125
|
+
/* @__PURE__ */ jsx17(
|
|
8098
8126
|
CopyHoverFrame,
|
|
8099
8127
|
{
|
|
8100
8128
|
copyText: item.text || (item.annotations ?? []).map((annotation) => `${annotation.quote}
|
|
8101
8129
|
${annotation.note}`).join("\n\n"),
|
|
8102
8130
|
label: "Copy message",
|
|
8103
8131
|
className: "w-fit max-w-full min-w-0",
|
|
8104
|
-
trailing: /* @__PURE__ */
|
|
8132
|
+
trailing: /* @__PURE__ */ jsx17(MessageFooterTime, { occurredAt: item.occurredAt }),
|
|
8105
8133
|
children: /* @__PURE__ */ jsxs11("div", { className: MESSAGE_BUBBLE_CLASS, children: [
|
|
8106
|
-
item.text ? /* @__PURE__ */
|
|
8107
|
-
(item.annotations?.length ?? 0) > 0 ? /* @__PURE__ */
|
|
8134
|
+
item.text ? /* @__PURE__ */ jsx17("div", { "data-og-annotation-source-key": item.annotationSource?.eventId, children: renderMessageText ? renderMessageText(item.text, item) : /* @__PURE__ */ jsx17(UserMessageBody, { messageId: item.id, text: item.text, children: /* @__PURE__ */ jsx17(Markdown, { children: item.text }) }) }) : null,
|
|
8135
|
+
(item.annotations?.length ?? 0) > 0 ? /* @__PURE__ */ jsx17(
|
|
8108
8136
|
TimelineAnnotationsChip,
|
|
8109
8137
|
{
|
|
8110
8138
|
annotations: item.annotations ?? [],
|
|
@@ -8121,10 +8149,10 @@ ${annotation.note}`).join("\n\n"),
|
|
|
8121
8149
|
className: "flex max-w-full items-center gap-2 px-1 text-og-xs text-og-status-failed",
|
|
8122
8150
|
children: [
|
|
8123
8151
|
/* @__PURE__ */ jsxs11("span", { className: "inline-flex items-center gap-1", title: item.delivery?.error, children: [
|
|
8124
|
-
/* @__PURE__ */
|
|
8125
|
-
/* @__PURE__ */
|
|
8152
|
+
/* @__PURE__ */ jsx17(TriangleAlertIcon2, { className: "size-3.5 shrink-0", "aria-hidden": "true" }),
|
|
8153
|
+
/* @__PURE__ */ jsx17("span", { children: "Message not sent" })
|
|
8126
8154
|
] }),
|
|
8127
|
-
item.delivery?.onRetry ? /* @__PURE__ */
|
|
8155
|
+
item.delivery?.onRetry ? /* @__PURE__ */ jsx17(
|
|
8128
8156
|
"button",
|
|
8129
8157
|
{
|
|
8130
8158
|
type: "button",
|
|
@@ -8133,7 +8161,7 @@ ${annotation.note}`).join("\n\n"),
|
|
|
8133
8161
|
children: "Retry"
|
|
8134
8162
|
}
|
|
8135
8163
|
) : null,
|
|
8136
|
-
item.delivery?.onRemove ? /* @__PURE__ */
|
|
8164
|
+
item.delivery?.onRemove ? /* @__PURE__ */ jsx17(
|
|
8137
8165
|
"button",
|
|
8138
8166
|
{
|
|
8139
8167
|
type: "button",
|
|
@@ -8162,10 +8190,10 @@ function HumanInputConversationRow({ item }) {
|
|
|
8162
8190
|
"data-human-input-history": item.requestId,
|
|
8163
8191
|
children: [
|
|
8164
8192
|
/* @__PURE__ */ jsxs11("div", { className: "flex max-w-[90%] items-start gap-3 rounded-og-lg rounded-bl-og-xs border border-og-border bg-og-surface-1 px-3.5 py-3 sm:max-w-[82%]", children: [
|
|
8165
|
-
/* @__PURE__ */
|
|
8193
|
+
/* @__PURE__ */ jsx17("span", { className: "mt-0.5 inline-flex size-8 shrink-0 items-center justify-center rounded-og-md bg-og-status-waiting/10 text-og-status-waiting", children: /* @__PURE__ */ jsx17(MessageCircleQuestionIcon3, { "aria-hidden": "true", className: "size-4" }) }),
|
|
8166
8194
|
/* @__PURE__ */ jsxs11("div", { className: "min-w-0 flex-1", children: [
|
|
8167
|
-
/* @__PURE__ */
|
|
8168
|
-
/* @__PURE__ */
|
|
8195
|
+
/* @__PURE__ */ jsx17("p", { className: "text-og-xs font-medium text-og-fg-subtle", children: "Agent asked" }),
|
|
8196
|
+
/* @__PURE__ */ jsx17("div", { className: "mt-1.5 space-y-3", children: item.questions.length > 0 ? item.questions.map((question, index) => /* @__PURE__ */ jsxs11("div", { children: [
|
|
8169
8197
|
question.label ? /* @__PURE__ */ jsxs11("p", { className: "text-og-sm font-semibold text-og-fg", children: [
|
|
8170
8198
|
multipleQuestions ? /* @__PURE__ */ jsxs11("span", { className: "mr-1.5 tabular-nums text-og-fg-muted", children: [
|
|
8171
8199
|
index + 1,
|
|
@@ -8191,19 +8219,19 @@ function HumanInputConversationRow({ item }) {
|
|
|
8191
8219
|
]
|
|
8192
8220
|
}
|
|
8193
8221
|
)
|
|
8194
|
-
] }, question.id)) : /* @__PURE__ */
|
|
8222
|
+
] }, question.id)) : /* @__PURE__ */ jsx17("p", { className: "text-og-sm text-og-fg-muted", children: "The agent requested structured input." }) })
|
|
8195
8223
|
] })
|
|
8196
8224
|
] }),
|
|
8197
|
-
/* @__PURE__ */
|
|
8225
|
+
/* @__PURE__ */ jsx17("div", { className: "flex justify-end", children: /* @__PURE__ */ jsx17(
|
|
8198
8226
|
CopyHoverFrame,
|
|
8199
8227
|
{
|
|
8200
8228
|
copyText,
|
|
8201
8229
|
label: "Copy answer",
|
|
8202
8230
|
className: "w-fit max-w-[90%] min-w-0 sm:max-w-[82%]",
|
|
8203
|
-
trailing: /* @__PURE__ */
|
|
8231
|
+
trailing: /* @__PURE__ */ jsx17(MessageFooterTime, { occurredAt: item.occurredAt }),
|
|
8204
8232
|
children: /* @__PURE__ */ jsxs11("div", { className: MESSAGE_BUBBLE_CLASS, children: [
|
|
8205
|
-
/* @__PURE__ */
|
|
8206
|
-
item.response.outcome === "answered" ? /* @__PURE__ */
|
|
8233
|
+
/* @__PURE__ */ jsx17("p", { className: "text-og-xs font-medium text-og-fg-subtle", children: settledLabel }),
|
|
8234
|
+
item.response.outcome === "answered" ? /* @__PURE__ */ jsx17("div", { className: "mt-1.5 space-y-3", children: item.answers.length > 0 ? item.answers.map((answer, answerIndex) => /* @__PURE__ */ jsxs11("div", { children: [
|
|
8207
8235
|
multipleQuestions ? /* @__PURE__ */ jsxs11("p", { className: "text-og-sm font-semibold text-og-fg", children: [
|
|
8208
8236
|
/* @__PURE__ */ jsxs11("span", { className: "mr-1.5 tabular-nums text-og-fg-muted", children: [
|
|
8209
8237
|
questionNumberById.get(answer.questionId) ?? answerIndex + 1,
|
|
@@ -8212,8 +8240,8 @@ function HumanInputConversationRow({ item }) {
|
|
|
8212
8240
|
" ",
|
|
8213
8241
|
answer.label
|
|
8214
8242
|
] }) : null,
|
|
8215
|
-
/* @__PURE__ */
|
|
8216
|
-
] }, answer.questionId)) : /* @__PURE__ */
|
|
8243
|
+
/* @__PURE__ */ jsx17("div", { className: cn("text-og-md text-og-fg", multipleQuestions && "mt-0.5"), children: answer.values.length > 1 ? /* @__PURE__ */ jsx17("ul", { className: "list-disc space-y-0.5 pl-5", children: answer.values.map((value) => /* @__PURE__ */ jsx17("li", { children: value }, `${answer.questionId}-${value}`)) }) : /* @__PURE__ */ jsx17("p", { children: answer.values[0] || "Answered" }) })
|
|
8244
|
+
] }, answer.questionId)) : /* @__PURE__ */ jsx17("p", { children: "Answered" }) }) : null
|
|
8217
8245
|
] })
|
|
8218
8246
|
}
|
|
8219
8247
|
) })
|
|
@@ -8240,15 +8268,15 @@ function AgentMessageRow({
|
|
|
8240
8268
|
renderMessageText
|
|
8241
8269
|
}) {
|
|
8242
8270
|
const enter = useEntranceAnimation();
|
|
8243
|
-
const body = renderMessageText ? renderMessageText(item.text, item) : /* @__PURE__ */
|
|
8244
|
-
return /* @__PURE__ */
|
|
8271
|
+
const body = renderMessageText ? renderMessageText(item.text, item) : /* @__PURE__ */ jsx17(Markdown, { streaming: item.streaming, children: item.text });
|
|
8272
|
+
return /* @__PURE__ */ jsx17("div", { "data-og-annotation-source-key": item.annotationSource?.eventId, children: /* @__PURE__ */ jsx17(
|
|
8245
8273
|
CopyHoverFrame,
|
|
8246
8274
|
{
|
|
8247
8275
|
copyText: item.text,
|
|
8248
8276
|
label: "Copy message",
|
|
8249
8277
|
align: "start",
|
|
8250
8278
|
className: cn(enter && "animate-og-enter", "min-w-0 text-og-md leading-7 text-og-fg"),
|
|
8251
|
-
trailing: item.streaming ? null : /* @__PURE__ */
|
|
8279
|
+
trailing: item.streaming ? null : /* @__PURE__ */ jsx17(MessageFooterTime, { occurredAt: item.occurredAt }),
|
|
8252
8280
|
children: body
|
|
8253
8281
|
}
|
|
8254
8282
|
) });
|
|
@@ -8300,11 +8328,11 @@ function WorkerCompletionRow({
|
|
|
8300
8328
|
...showPausedReason ? [{ label: "Paused because", value: item.pausedReason.trim(), muted: true }] : []
|
|
8301
8329
|
];
|
|
8302
8330
|
const hasDetails = details.length > 0;
|
|
8303
|
-
return /* @__PURE__ */
|
|
8331
|
+
return /* @__PURE__ */ jsx17("div", { className: cn(enter && "animate-og-enter", "min-w-0"), children: /* @__PURE__ */ jsxs11("div", { className: cn("flex flex-col gap-2 border-l-2 pl-3", meta.accentClass), children: [
|
|
8304
8332
|
/* @__PURE__ */ jsxs11("div", { className: "flex items-start gap-2.5", children: [
|
|
8305
|
-
/* @__PURE__ */
|
|
8306
|
-
/* @__PURE__ */
|
|
8307
|
-
/* @__PURE__ */
|
|
8333
|
+
/* @__PURE__ */ jsx17("span", { className: cn("mt-0.5 shrink-0", meta.iconClass), children: /* @__PURE__ */ jsx17(Icon, { className: "size-4" }) }),
|
|
8334
|
+
/* @__PURE__ */ jsx17("div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ jsxs11("p", { className: "text-og-base leading-5 text-og-fg", children: [
|
|
8335
|
+
/* @__PURE__ */ jsx17("span", { className: "font-medium", children: meta.label }),
|
|
8308
8336
|
item.goalText ? /* @__PURE__ */ jsxs11("span", { className: "text-og-fg-muted", children: [
|
|
8309
8337
|
" \xB7 ",
|
|
8310
8338
|
truncate(item.goalText, 90)
|
|
@@ -8322,13 +8350,13 @@ function WorkerCompletionRow({
|
|
|
8322
8350
|
),
|
|
8323
8351
|
children: [
|
|
8324
8352
|
"View session",
|
|
8325
|
-
/* @__PURE__ */
|
|
8353
|
+
/* @__PURE__ */ jsx17(ArrowRightIcon2, { className: "size-3.5" })
|
|
8326
8354
|
]
|
|
8327
8355
|
}
|
|
8328
8356
|
) : null
|
|
8329
8357
|
] }),
|
|
8330
8358
|
hasDetails ? /* @__PURE__ */ jsxs11(Collapsible2.Root, { open, onOpenChange: setOpen, children: [
|
|
8331
|
-
/* @__PURE__ */
|
|
8359
|
+
/* @__PURE__ */ jsx17(Collapsible2.Trigger, { asChild: true, children: /* @__PURE__ */ jsxs11(
|
|
8332
8360
|
"button",
|
|
8333
8361
|
{
|
|
8334
8362
|
type: "button",
|
|
@@ -8337,14 +8365,14 @@ function WorkerCompletionRow({
|
|
|
8337
8365
|
"outline-hidden transition-colors duration-150 hover:text-og-fg-muted focus-visible:ring-2 focus-visible:ring-og-accent"
|
|
8338
8366
|
),
|
|
8339
8367
|
children: [
|
|
8340
|
-
/* @__PURE__ */
|
|
8368
|
+
/* @__PURE__ */ jsx17(ChevronRightIcon3, { className: "size-3 transition-transform duration-150 ease-og-in-out group-data-[state=open]/wc:rotate-90" }),
|
|
8341
8369
|
open ? "Hide details" : "Show details"
|
|
8342
8370
|
]
|
|
8343
8371
|
}
|
|
8344
8372
|
) }),
|
|
8345
|
-
/* @__PURE__ */
|
|
8346
|
-
/* @__PURE__ */
|
|
8347
|
-
/* @__PURE__ */
|
|
8373
|
+
/* @__PURE__ */ jsx17(Collapsible2.Content, { className: "overflow-hidden data-[state=closed]:animate-og-collapse data-[state=open]:animate-og-expand", children: /* @__PURE__ */ jsx17("div", { className: "ml-1 mt-1.5 flex flex-col gap-2.5", children: details.map((detail) => /* @__PURE__ */ jsxs11("div", { className: "min-w-0", children: [
|
|
8374
|
+
/* @__PURE__ */ jsx17("p", { className: "mb-1 text-og-xs font-medium uppercase tracking-[0.08em] text-og-fg-subtle", children: detail.label }),
|
|
8375
|
+
/* @__PURE__ */ jsx17(
|
|
8348
8376
|
"p",
|
|
8349
8377
|
{
|
|
8350
8378
|
className: cn(
|
|
@@ -8370,14 +8398,14 @@ function SessionStatusRow({ item }) {
|
|
|
8370
8398
|
),
|
|
8371
8399
|
role: "status",
|
|
8372
8400
|
children: [
|
|
8373
|
-
/* @__PURE__ */
|
|
8401
|
+
/* @__PURE__ */ jsx17("span", { className: "h-px flex-1 bg-og-border" }),
|
|
8374
8402
|
/* @__PURE__ */ jsxs11("span", { className: "inline-flex items-center gap-1.5", children: [
|
|
8375
|
-
/* @__PURE__ */
|
|
8403
|
+
/* @__PURE__ */ jsx17(StatusDot, { status: item.status, className: "size-1" }),
|
|
8376
8404
|
meta.label.toLowerCase(),
|
|
8377
8405
|
" \xB7 ",
|
|
8378
8406
|
formatRelativeTime(item.occurredAt)
|
|
8379
8407
|
] }),
|
|
8380
|
-
/* @__PURE__ */
|
|
8408
|
+
/* @__PURE__ */ jsx17("span", { className: "h-px flex-1 bg-og-border" })
|
|
8381
8409
|
]
|
|
8382
8410
|
}
|
|
8383
8411
|
);
|
|
@@ -8415,7 +8443,7 @@ function goalMeta(action) {
|
|
|
8415
8443
|
function GoalRow({ item }) {
|
|
8416
8444
|
const enter = useEntranceAnimation();
|
|
8417
8445
|
const { label, pill, icon: Icon } = goalMeta(item.action);
|
|
8418
|
-
return /* @__PURE__ */
|
|
8446
|
+
return /* @__PURE__ */ jsx17("div", { className: cn(enter && "animate-og-enter", "flex justify-center"), children: /* @__PURE__ */ jsxs11(
|
|
8419
8447
|
"span",
|
|
8420
8448
|
{
|
|
8421
8449
|
className: cn(
|
|
@@ -8423,7 +8451,7 @@ function GoalRow({ item }) {
|
|
|
8423
8451
|
pill
|
|
8424
8452
|
),
|
|
8425
8453
|
children: [
|
|
8426
|
-
/* @__PURE__ */
|
|
8454
|
+
/* @__PURE__ */ jsx17(Icon, { className: "size-3.5 shrink-0" }),
|
|
8427
8455
|
/* @__PURE__ */ jsxs11("span", { className: "truncate", children: [
|
|
8428
8456
|
label,
|
|
8429
8457
|
item.text ? `: ${truncate(item.text, 90)}` : ""
|
|
@@ -8434,13 +8462,14 @@ function GoalRow({ item }) {
|
|
|
8434
8462
|
}
|
|
8435
8463
|
function MachineInputBatchRow({
|
|
8436
8464
|
item,
|
|
8465
|
+
onOpenSession,
|
|
8437
8466
|
loadVideoArtifactPlayback
|
|
8438
8467
|
}) {
|
|
8439
8468
|
const enter = useEntranceAnimation();
|
|
8440
8469
|
const label = machineInputBatchLabel(item.members);
|
|
8441
8470
|
const single = item.members.length === 1 ? item.members[0] : null;
|
|
8442
8471
|
if (single?.kind === "media_generation_result" && single.result) {
|
|
8443
|
-
return /* @__PURE__ */
|
|
8472
|
+
return /* @__PURE__ */ jsx17(
|
|
8444
8473
|
VideoGenerationResultRow,
|
|
8445
8474
|
{
|
|
8446
8475
|
result: single.result,
|
|
@@ -8458,7 +8487,7 @@ function MachineInputBatchRow({
|
|
|
8458
8487
|
"data-og-machine-input-batch": "",
|
|
8459
8488
|
title: `Received ${formatClockTime(item.occurredAt)}`,
|
|
8460
8489
|
children: [
|
|
8461
|
-
/* @__PURE__ */
|
|
8490
|
+
/* @__PURE__ */ jsx17("summary", { className: "flex cursor-pointer list-none justify-center [&::-webkit-details-marker]:hidden", children: /* @__PURE__ */ jsxs11(
|
|
8462
8491
|
"span",
|
|
8463
8492
|
{
|
|
8464
8493
|
className: cn(
|
|
@@ -8466,26 +8495,27 @@ function MachineInputBatchRow({
|
|
|
8466
8495
|
NEUTRAL_PILL
|
|
8467
8496
|
),
|
|
8468
8497
|
children: [
|
|
8469
|
-
/* @__PURE__ */
|
|
8498
|
+
/* @__PURE__ */ jsx17(
|
|
8470
8499
|
ChevronRightIcon3,
|
|
8471
8500
|
{
|
|
8472
8501
|
"aria-hidden": true,
|
|
8473
8502
|
className: "size-3.5 shrink-0 transition-transform group-open:rotate-90"
|
|
8474
8503
|
}
|
|
8475
8504
|
),
|
|
8476
|
-
/* @__PURE__ */
|
|
8505
|
+
/* @__PURE__ */ jsx17("span", { className: "truncate", children: label })
|
|
8477
8506
|
]
|
|
8478
8507
|
}
|
|
8479
8508
|
) }),
|
|
8480
8509
|
/* @__PURE__ */ jsxs11("div", { className: "mx-auto mt-2 w-full max-w-lg space-y-2 border-t border-og-border/50 pt-2", children: [
|
|
8481
8510
|
/* @__PURE__ */ jsxs11("p", { className: "text-og-xs text-og-fg-subtle", children: [
|
|
8482
8511
|
"Received ",
|
|
8483
|
-
/* @__PURE__ */
|
|
8512
|
+
/* @__PURE__ */ jsx17("time", { dateTime: item.occurredAt, children: formatClockTime(item.occurredAt) })
|
|
8484
8513
|
] }),
|
|
8485
|
-
item.members.map((member) => /* @__PURE__ */
|
|
8514
|
+
item.members.map((member) => /* @__PURE__ */ jsx17(
|
|
8486
8515
|
MachineInputRow,
|
|
8487
8516
|
{
|
|
8488
8517
|
member,
|
|
8518
|
+
onOpenSession,
|
|
8489
8519
|
loadVideoArtifactPlayback
|
|
8490
8520
|
},
|
|
8491
8521
|
member.id
|
|
@@ -8494,15 +8524,16 @@ function MachineInputBatchRow({
|
|
|
8494
8524
|
]
|
|
8495
8525
|
}
|
|
8496
8526
|
),
|
|
8497
|
-
showCollapsedSummary ? /* @__PURE__ */
|
|
8527
|
+
showCollapsedSummary ? /* @__PURE__ */ jsx17("p", { className: "max-w-lg px-3 text-center text-og-xs leading-4 text-og-fg-subtle", children: truncate(singleSummary, 160) }) : null
|
|
8498
8528
|
] });
|
|
8499
8529
|
}
|
|
8500
8530
|
function MachineInputRow({
|
|
8501
8531
|
member,
|
|
8532
|
+
onOpenSession,
|
|
8502
8533
|
loadVideoArtifactPlayback
|
|
8503
8534
|
}) {
|
|
8504
8535
|
if (member.kind === "media_generation_result" && member.result) {
|
|
8505
|
-
return /* @__PURE__ */
|
|
8536
|
+
return /* @__PURE__ */ jsx17(
|
|
8506
8537
|
VideoGenerationResultRow,
|
|
8507
8538
|
{
|
|
8508
8539
|
result: member.result,
|
|
@@ -8514,14 +8545,22 @@ function MachineInputRow({
|
|
|
8514
8545
|
const source = readableMachineInputSource(member.sourceId);
|
|
8515
8546
|
const summary = cleanMachineInputSummary(member.summary);
|
|
8516
8547
|
return /* @__PURE__ */ jsxs11("div", { className: "flex min-w-0 items-start gap-2.5", children: [
|
|
8517
|
-
/* @__PURE__ */
|
|
8548
|
+
/* @__PURE__ */ jsx17("span", { className: "mt-2 size-1.5 shrink-0 rounded-full bg-og-fg-subtle", "aria-hidden": true }),
|
|
8518
8549
|
/* @__PURE__ */ jsxs11("div", { className: "min-w-0 flex-1", children: [
|
|
8519
|
-
/* @__PURE__ */
|
|
8550
|
+
/* @__PURE__ */ jsx17("span", { className: "text-og-control font-medium text-og-fg-muted", children: MACHINE_INPUT_META[member.kind] }),
|
|
8520
8551
|
source && /* @__PURE__ */ jsxs11("span", { className: "ml-1.5 text-og-control text-og-fg-subtle", children: [
|
|
8521
8552
|
"from ",
|
|
8522
8553
|
source
|
|
8523
8554
|
] }),
|
|
8524
|
-
summary ? /* @__PURE__ */
|
|
8555
|
+
summary ? /* @__PURE__ */ jsx17("p", { className: "mt-0.5 whitespace-pre-wrap break-words text-og-menu leading-5 text-og-fg", children: truncate(summary, 320) }) : null,
|
|
8556
|
+
/* @__PURE__ */ jsx17(
|
|
8557
|
+
ChildSessionLink,
|
|
8558
|
+
{
|
|
8559
|
+
kind: member.kind,
|
|
8560
|
+
sourceId: member.sourceId,
|
|
8561
|
+
onOpenSession
|
|
8562
|
+
}
|
|
8563
|
+
)
|
|
8525
8564
|
] })
|
|
8526
8565
|
] });
|
|
8527
8566
|
}
|
|
@@ -8541,10 +8580,10 @@ function VideoGenerationResultRow({
|
|
|
8541
8580
|
),
|
|
8542
8581
|
children: [
|
|
8543
8582
|
/* @__PURE__ */ jsxs11("div", { className: "flex items-center gap-2 text-og-sm font-medium text-og-status-failed", children: [
|
|
8544
|
-
/* @__PURE__ */
|
|
8583
|
+
/* @__PURE__ */ jsx17(XCircleIcon, { "aria-hidden": true, className: "size-4" }),
|
|
8545
8584
|
"Video generation failed"
|
|
8546
8585
|
] }),
|
|
8547
|
-
/* @__PURE__ */
|
|
8586
|
+
/* @__PURE__ */ jsx17("p", { className: "mt-1 text-og-sm leading-5 text-og-fg-muted", children: result.boundedPublicReason })
|
|
8548
8587
|
]
|
|
8549
8588
|
}
|
|
8550
8589
|
);
|
|
@@ -8561,17 +8600,17 @@ function VideoGenerationResultRow({
|
|
|
8561
8600
|
compact && "max-w-lg"
|
|
8562
8601
|
),
|
|
8563
8602
|
children: [
|
|
8564
|
-
loadVideoArtifactPlayback ? /* @__PURE__ */
|
|
8603
|
+
loadVideoArtifactPlayback ? /* @__PURE__ */ jsx17(
|
|
8565
8604
|
GeneratedVideoPlayer,
|
|
8566
8605
|
{
|
|
8567
8606
|
receipt,
|
|
8568
8607
|
loadPlaybackSource: loadVideoArtifactPlayback,
|
|
8569
8608
|
className: "rounded-none border-0 shadow-none"
|
|
8570
8609
|
}
|
|
8571
|
-
) : /* @__PURE__ */
|
|
8610
|
+
) : /* @__PURE__ */ jsx17("div", { className: "flex aspect-video items-center justify-center bg-og-surface-2 text-og-fg-subtle", children: /* @__PURE__ */ jsx17(PlayIcon, { "aria-hidden": true, className: "size-6" }) }),
|
|
8572
8611
|
/* @__PURE__ */ jsxs11("div", { className: "flex items-center justify-between gap-4 px-3.5 py-2.5", children: [
|
|
8573
8612
|
/* @__PURE__ */ jsxs11("div", { className: "min-w-0", children: [
|
|
8574
|
-
/* @__PURE__ */
|
|
8613
|
+
/* @__PURE__ */ jsx17("p", { className: "text-og-sm font-medium text-og-fg", children: "Generated video" }),
|
|
8575
8614
|
/* @__PURE__ */ jsxs11("p", { className: "truncate text-og-xs text-og-fg-subtle", children: [
|
|
8576
8615
|
facts.width,
|
|
8577
8616
|
"\xD7",
|
|
@@ -8581,7 +8620,7 @@ function VideoGenerationResultRow({
|
|
|
8581
8620
|
facts.hasAudio ? " \xB7 Audio" : ""
|
|
8582
8621
|
] })
|
|
8583
8622
|
] }),
|
|
8584
|
-
/* @__PURE__ */
|
|
8623
|
+
/* @__PURE__ */ jsx17(CheckCircle2Icon, { "aria-label": "Ready", className: "size-4 shrink-0 text-og-status-success" })
|
|
8585
8624
|
] })
|
|
8586
8625
|
]
|
|
8587
8626
|
}
|
|
@@ -8604,7 +8643,7 @@ function NoticeRow({ item }) {
|
|
|
8604
8643
|
role: item.recordedOutcome ? "note" : "status",
|
|
8605
8644
|
"data-og-recorded-outcome": item.recordedOutcome ? "wait" : void 0,
|
|
8606
8645
|
children: [
|
|
8607
|
-
/* @__PURE__ */
|
|
8646
|
+
/* @__PURE__ */ jsx17(
|
|
8608
8647
|
TriangleAlertIcon2,
|
|
8609
8648
|
{
|
|
8610
8649
|
className: cn("mt-0.5 size-4 shrink-0", item.tone === "cancelled" && "opacity-60")
|
|
@@ -8614,18 +8653,18 @@ function NoticeRow({ item }) {
|
|
|
8614
8653
|
item.recordedOutcome ? /* @__PURE__ */ jsxs11("p", { className: "mb-1 text-og-control font-medium", children: [
|
|
8615
8654
|
"Wait recorded",
|
|
8616
8655
|
" ",
|
|
8617
|
-
/* @__PURE__ */
|
|
8656
|
+
/* @__PURE__ */ jsx17("time", { dateTime: item.occurredAt, children: new Date(item.occurredAt).toLocaleString(void 0, {
|
|
8618
8657
|
dateStyle: "medium",
|
|
8619
8658
|
timeStyle: "short"
|
|
8620
8659
|
}) })
|
|
8621
8660
|
] }) : null,
|
|
8622
|
-
/* @__PURE__ */
|
|
8661
|
+
/* @__PURE__ */ jsx17("span", { className: "whitespace-pre-wrap break-words", children: item.text }),
|
|
8623
8662
|
item.details ? /* @__PURE__ */ jsxs11("details", { className: "mt-2 text-og-control", children: [
|
|
8624
|
-
/* @__PURE__ */
|
|
8625
|
-
/* @__PURE__ */
|
|
8663
|
+
/* @__PURE__ */ jsx17("summary", { className: "cursor-pointer font-medium", children: item.details.label }),
|
|
8664
|
+
/* @__PURE__ */ jsx17("pre", { className: "mt-2 max-h-64 overflow-auto whitespace-pre-wrap break-all rounded-og-sm bg-og-fg/5 p-2 font-mono", children: JSON.stringify(item.details.value, null, 2) })
|
|
8626
8665
|
] }) : null
|
|
8627
8666
|
] }),
|
|
8628
|
-
item.action ? /* @__PURE__ */
|
|
8667
|
+
item.action ? /* @__PURE__ */ jsx17(
|
|
8629
8668
|
"a",
|
|
8630
8669
|
{
|
|
8631
8670
|
className: "shrink-0 rounded-og-sm border border-current/25 px-2 py-1 text-og-control font-medium hover:bg-current/10",
|
|
@@ -8672,7 +8711,7 @@ function AuthNeededRow({
|
|
|
8672
8711
|
return /* @__PURE__ */ jsxs11("div", { className: cn(enter && "animate-og-enter", "flex flex-col gap-2"), role: "status", children: [
|
|
8673
8712
|
/* @__PURE__ */ jsxs11("div", { className: "flex flex-col gap-3 rounded-og-lg border border-og-border bg-og-surface-1 px-3.5 py-3 sm:flex-row sm:items-center", children: [
|
|
8674
8713
|
/* @__PURE__ */ jsxs11("div", { className: "flex min-w-0 flex-1 items-center gap-3", children: [
|
|
8675
|
-
/* @__PURE__ */
|
|
8714
|
+
/* @__PURE__ */ jsx17(
|
|
8676
8715
|
AuthProviderLogo,
|
|
8677
8716
|
{
|
|
8678
8717
|
src: resolveProviderLogo?.(item.providerDomain) ?? null,
|
|
@@ -8680,8 +8719,8 @@ function AuthNeededRow({
|
|
|
8680
8719
|
}
|
|
8681
8720
|
),
|
|
8682
8721
|
/* @__PURE__ */ jsxs11("div", { className: "min-w-0", children: [
|
|
8683
|
-
/* @__PURE__ */
|
|
8684
|
-
/* @__PURE__ */
|
|
8722
|
+
/* @__PURE__ */ jsx17("p", { className: "truncate text-og-md font-medium text-og-fg", children: title }),
|
|
8723
|
+
/* @__PURE__ */ jsx17("p", { className: "line-clamp-2 text-og-sm text-og-fg-subtle", children: reasonLine }),
|
|
8685
8724
|
recommendation ? /* @__PURE__ */ jsxs11("p", { className: "mt-1 truncate text-og-xs text-og-fg-muted", children: [
|
|
8686
8725
|
"Provider: ",
|
|
8687
8726
|
item.providerDomain
|
|
@@ -8703,7 +8742,7 @@ function AuthNeededRow({
|
|
|
8703
8742
|
"transition-colors hover:bg-og-accent-strong pointer-coarse:min-h-9"
|
|
8704
8743
|
),
|
|
8705
8744
|
children: [
|
|
8706
|
-
/* @__PURE__ */
|
|
8745
|
+
/* @__PURE__ */ jsx17(RefreshCwIcon, { className: "size-3.5", "aria-hidden": true }),
|
|
8707
8746
|
actionLabel
|
|
8708
8747
|
]
|
|
8709
8748
|
}
|
|
@@ -8718,7 +8757,7 @@ function AuthNeededRow({
|
|
|
8718
8757
|
"transition-colors hover:bg-og-accent-strong disabled:opacity-70 pointer-coarse:min-h-9"
|
|
8719
8758
|
),
|
|
8720
8759
|
children: [
|
|
8721
|
-
/* @__PURE__ */
|
|
8760
|
+
/* @__PURE__ */ jsx17(RefreshCwIcon, { className: cn("size-3.5", busy && "animate-og-spin"), "aria-hidden": true }),
|
|
8722
8761
|
busy ? "Opening\u2026" : actionLabel
|
|
8723
8762
|
]
|
|
8724
8763
|
}
|
|
@@ -8733,13 +8772,13 @@ function AuthNeededRow({
|
|
|
8733
8772
|
"transition-colors hover:bg-og-accent-strong pointer-coarse:min-h-9"
|
|
8734
8773
|
),
|
|
8735
8774
|
children: [
|
|
8736
|
-
/* @__PURE__ */
|
|
8775
|
+
/* @__PURE__ */ jsx17(RefreshCwIcon, { className: "size-3.5", "aria-hidden": true }),
|
|
8737
8776
|
actionLabel
|
|
8738
8777
|
]
|
|
8739
8778
|
}
|
|
8740
8779
|
) : null
|
|
8741
8780
|
] }),
|
|
8742
|
-
!unavailable ? /* @__PURE__ */
|
|
8781
|
+
!unavailable ? /* @__PURE__ */ jsx17("p", { className: "px-1 text-og-xs text-og-fg-subtle", children: recommendation ? "No access has been granted. Review and confirm the provider before continuing." : `This tool call wasn't replayed. After ${missing ? "connecting" : "reconnecting"}, send a new message to try again.` }) : null,
|
|
8743
8782
|
failed ? /* @__PURE__ */ jsxs11("p", { className: "px-1 text-og-xs text-og-status-failed", children: [
|
|
8744
8783
|
"Couldn't start ",
|
|
8745
8784
|
missing ? "connecting" : "reconnecting",
|
|
@@ -8753,12 +8792,12 @@ function AuthProviderLogo({ src, label }) {
|
|
|
8753
8792
|
const [failed, setFailed] = useState12(false);
|
|
8754
8793
|
useEffect10(() => setFailed(false), [src]);
|
|
8755
8794
|
const showImage = src && !failed;
|
|
8756
|
-
return /* @__PURE__ */
|
|
8795
|
+
return /* @__PURE__ */ jsx17(
|
|
8757
8796
|
"span",
|
|
8758
8797
|
{
|
|
8759
8798
|
className: "relative flex size-10 shrink-0 items-center justify-center overflow-hidden rounded-og-md border border-og-border bg-og-surface-2 text-og-menu font-semibold text-og-fg-muted",
|
|
8760
8799
|
"aria-hidden": true,
|
|
8761
|
-
children: showImage ? /* @__PURE__ */
|
|
8800
|
+
children: showImage ? /* @__PURE__ */ jsx17(
|
|
8762
8801
|
"img",
|
|
8763
8802
|
{
|
|
8764
8803
|
src,
|
|
@@ -8768,7 +8807,7 @@ function AuthProviderLogo({ src, label }) {
|
|
|
8768
8807
|
className: "size-full object-contain p-1.5",
|
|
8769
8808
|
onError: () => setFailed(true)
|
|
8770
8809
|
}
|
|
8771
|
-
) : /* @__PURE__ */
|
|
8810
|
+
) : /* @__PURE__ */ jsx17("span", { children: monogram(label) })
|
|
8772
8811
|
}
|
|
8773
8812
|
);
|
|
8774
8813
|
}
|
|
@@ -8813,7 +8852,7 @@ function authReasonLine(reason) {
|
|
|
8813
8852
|
// src/components/queue-surface.tsx
|
|
8814
8853
|
import { Loader2Icon } from "lucide-react";
|
|
8815
8854
|
import { lazy as lazy4, Suspense as Suspense4 } from "react";
|
|
8816
|
-
import { jsx as
|
|
8855
|
+
import { jsx as jsx18, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
8817
8856
|
var loadQueueSurface = () => import("./queue-surface-implementation-XL2A6PBM.js");
|
|
8818
8857
|
var QueueSurface = createQueueSurface(loadQueueSurface);
|
|
8819
8858
|
function createQueueSurface(loadImplementation) {
|
|
@@ -8824,21 +8863,21 @@ function createQueueSurface(loadImplementation) {
|
|
|
8824
8863
|
const { queue } = props;
|
|
8825
8864
|
if (queue.queue.length + queue.pendingInputs.length === 0) {
|
|
8826
8865
|
if (!queue.stoppingPreviousAttempt && !queue.error && !queue.mutationError) return null;
|
|
8827
|
-
return /* @__PURE__ */
|
|
8866
|
+
return /* @__PURE__ */ jsx18(EmptyQueueStateSurface, { queue });
|
|
8828
8867
|
}
|
|
8829
|
-
return /* @__PURE__ */
|
|
8868
|
+
return /* @__PURE__ */ jsx18(Suspense4, { fallback: /* @__PURE__ */ jsx18(QueueSurfaceFallback, {}), children: /* @__PURE__ */ jsx18(LazyQueueSurface, { ...props }) });
|
|
8830
8869
|
};
|
|
8831
8870
|
}
|
|
8832
8871
|
function QueueSurfaceFallback() {
|
|
8833
|
-
return /* @__PURE__ */
|
|
8872
|
+
return /* @__PURE__ */ jsx18(
|
|
8834
8873
|
"div",
|
|
8835
8874
|
{
|
|
8836
8875
|
"aria-live": "polite",
|
|
8837
8876
|
className: "og-root mx-auto mb-2 w-full max-w-3xl shrink-0 px-4 sm:px-6",
|
|
8838
8877
|
"data-testid": "queue-surface-loading",
|
|
8839
8878
|
role: "status",
|
|
8840
|
-
children: /* @__PURE__ */
|
|
8841
|
-
/* @__PURE__ */
|
|
8879
|
+
children: /* @__PURE__ */ jsx18("div", { className: "overflow-hidden rounded-lg border border-border bg-surface/80 shadow-sm", children: /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-2 px-3 py-2 text-og-control text-fg-muted pointer-coarse:min-h-[44px]", children: [
|
|
8880
|
+
/* @__PURE__ */ jsx18(
|
|
8842
8881
|
Loader2Icon,
|
|
8843
8882
|
{
|
|
8844
8883
|
"aria-hidden": "true",
|
|
@@ -8906,7 +8945,7 @@ function useWorkspaceModelCatalog(options) {
|
|
|
8906
8945
|
|
|
8907
8946
|
// src/components/chat-composer.tsx
|
|
8908
8947
|
import { LayoutGroup, motion as motion2 } from "motion/react";
|
|
8909
|
-
import { Fragment as Fragment6, jsx as
|
|
8948
|
+
import { Fragment as Fragment6, jsx as jsx19, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
8910
8949
|
function ChatComposer({
|
|
8911
8950
|
composer,
|
|
8912
8951
|
responsiveBasis,
|
|
@@ -8957,15 +8996,15 @@ function ChatComposer({
|
|
|
8957
8996
|
attachments || models || controlsLeading || controlsStart || transcription
|
|
8958
8997
|
);
|
|
8959
8998
|
const stackActions = hasControls && Boolean(actionsStart);
|
|
8960
|
-
return /* @__PURE__ */
|
|
8999
|
+
return /* @__PURE__ */ jsx19(Fragment6, { children: /* @__PURE__ */ jsxs13(Root, { controller, responsiveBasis, className, children: [
|
|
8961
9000
|
/* @__PURE__ */ jsxs13(Frame, { children: [
|
|
8962
|
-
/* @__PURE__ */
|
|
9001
|
+
/* @__PURE__ */ jsx19(CommandPalette, {}),
|
|
8963
9002
|
/* @__PURE__ */ jsxs13(Surface, { children: [
|
|
8964
|
-
/* @__PURE__ */
|
|
8965
|
-
/* @__PURE__ */
|
|
8966
|
-
/* @__PURE__ */
|
|
9003
|
+
/* @__PURE__ */ jsx19(PausedState, {}),
|
|
9004
|
+
/* @__PURE__ */ jsx19(RestoredResources, {}),
|
|
9005
|
+
/* @__PURE__ */ jsx19(Attachments, {}),
|
|
8967
9006
|
header,
|
|
8968
|
-
composer.annotations && composer.annotations.length > 0 ? /* @__PURE__ */
|
|
9007
|
+
composer.annotations && composer.annotations.length > 0 ? /* @__PURE__ */ jsx19("div", { className: "px-3 pt-2 sm:px-4", children: /* @__PURE__ */ jsx19(
|
|
8969
9008
|
TimelineAnnotationsChip,
|
|
8970
9009
|
{
|
|
8971
9010
|
annotations: composer.annotations,
|
|
@@ -8976,8 +9015,8 @@ function ChatComposer({
|
|
|
8976
9015
|
onRemove: composer.removeAnnotation
|
|
8977
9016
|
}
|
|
8978
9017
|
) }) : null,
|
|
8979
|
-
/* @__PURE__ */
|
|
8980
|
-
controller.confirmState ? /* @__PURE__ */
|
|
9018
|
+
/* @__PURE__ */ jsx19(Input, { placeholder, autoFocus }),
|
|
9019
|
+
controller.confirmState ? /* @__PURE__ */ jsx19(Confirmation, {}) : /* @__PURE__ */ jsx19(
|
|
8981
9020
|
Footer,
|
|
8982
9021
|
{
|
|
8983
9022
|
"data-og-stack-actions": stackActions ? "" : void 0,
|
|
@@ -8989,8 +9028,8 @@ function ChatComposer({
|
|
|
8989
9028
|
className: stackActions ? "min-w-0 max-sm:flex-1 sm:w-auto" : void 0,
|
|
8990
9029
|
children: [
|
|
8991
9030
|
controlsLeading,
|
|
8992
|
-
/* @__PURE__ */
|
|
8993
|
-
transcription ? /* @__PURE__ */
|
|
9031
|
+
/* @__PURE__ */ jsx19(AttachButton, { className: attachButtonClassName }),
|
|
9032
|
+
transcription ? /* @__PURE__ */ jsx19(
|
|
8994
9033
|
ComposerTranscriptionControl,
|
|
8995
9034
|
{
|
|
8996
9035
|
...transcription,
|
|
@@ -8998,13 +9037,13 @@ function ChatComposer({
|
|
|
8998
9037
|
className: [transcription.className, transcriptionClassName].filter(Boolean).join(" ")
|
|
8999
9038
|
}
|
|
9000
9039
|
) : null,
|
|
9001
|
-
models ? /* @__PURE__ */
|
|
9040
|
+
models ? /* @__PURE__ */ jsx19(
|
|
9002
9041
|
motion2.span,
|
|
9003
9042
|
{
|
|
9004
9043
|
layout: true,
|
|
9005
9044
|
transition: { duration: 0.36, ease: [0.22, 1, 0.36, 1] },
|
|
9006
9045
|
className: "inline-flex min-w-0",
|
|
9007
|
-
children: /* @__PURE__ */
|
|
9046
|
+
children: /* @__PURE__ */ jsx19(
|
|
9008
9047
|
ModelPicker,
|
|
9009
9048
|
{
|
|
9010
9049
|
models,
|
|
@@ -9014,7 +9053,7 @@ function ChatComposer({
|
|
|
9014
9053
|
)
|
|
9015
9054
|
}
|
|
9016
9055
|
) : null,
|
|
9017
|
-
controlsStart ? /* @__PURE__ */
|
|
9056
|
+
controlsStart ? /* @__PURE__ */ jsx19(
|
|
9018
9057
|
motion2.span,
|
|
9019
9058
|
{
|
|
9020
9059
|
layout: true,
|
|
@@ -9025,15 +9064,15 @@ function ChatComposer({
|
|
|
9025
9064
|
) : null
|
|
9026
9065
|
]
|
|
9027
9066
|
}
|
|
9028
|
-
) : /* @__PURE__ */
|
|
9067
|
+
) : /* @__PURE__ */ jsx19(Hint, { children: hint }),
|
|
9029
9068
|
/* @__PURE__ */ jsxs13(
|
|
9030
9069
|
Actions,
|
|
9031
9070
|
{
|
|
9032
9071
|
className: stackActions ? "max-sm:shrink-0 sm:w-auto sm:justify-end" : void 0,
|
|
9033
9072
|
children: [
|
|
9034
9073
|
actionsStart,
|
|
9035
|
-
/* @__PURE__ */
|
|
9036
|
-
/* @__PURE__ */
|
|
9074
|
+
/* @__PURE__ */ jsx19(PauseButton, {}),
|
|
9075
|
+
/* @__PURE__ */ jsx19(SendButton, {})
|
|
9037
9076
|
]
|
|
9038
9077
|
}
|
|
9039
9078
|
)
|
|
@@ -9042,8 +9081,8 @@ function ChatComposer({
|
|
|
9042
9081
|
)
|
|
9043
9082
|
] })
|
|
9044
9083
|
] }),
|
|
9045
|
-
/* @__PURE__ */
|
|
9046
|
-
/* @__PURE__ */
|
|
9084
|
+
/* @__PURE__ */ jsx19(Help, {}),
|
|
9085
|
+
/* @__PURE__ */ jsx19(Status, {})
|
|
9047
9086
|
] }) });
|
|
9048
9087
|
}
|
|
9049
9088
|
|
|
@@ -9102,9 +9141,9 @@ function conversationTimeline(items, queue, composer) {
|
|
|
9102
9141
|
}
|
|
9103
9142
|
|
|
9104
9143
|
// src/components/session-conversation.tsx
|
|
9105
|
-
import { jsx as
|
|
9144
|
+
import { jsx as jsx20, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
9106
9145
|
function SessionConversation(props) {
|
|
9107
|
-
return /* @__PURE__ */
|
|
9146
|
+
return /* @__PURE__ */ jsx20(Conversation, { ...props }, `${props.workspaceId ?? ""}:${props.sessionId}`);
|
|
9108
9147
|
}
|
|
9109
9148
|
function Conversation({
|
|
9110
9149
|
sessionId,
|
|
@@ -9142,8 +9181,8 @@ function Conversation({
|
|
|
9142
9181
|
style: { height },
|
|
9143
9182
|
"data-og-conversation": "",
|
|
9144
9183
|
children: [
|
|
9145
|
-
error && /* @__PURE__ */
|
|
9146
|
-
/* @__PURE__ */
|
|
9184
|
+
error && /* @__PURE__ */ jsx20("p", { role: "alert", children: error.message }),
|
|
9185
|
+
/* @__PURE__ */ jsx20(
|
|
9147
9186
|
MessageTimeline,
|
|
9148
9187
|
{
|
|
9149
9188
|
className: "min-h-0 flex-1",
|
|
@@ -9166,7 +9205,7 @@ function Conversation({
|
|
|
9166
9205
|
}
|
|
9167
9206
|
),
|
|
9168
9207
|
/* @__PURE__ */ jsxs14("div", { className: "min-h-0 max-h-[40%] shrink-0 overflow-y-auto", "data-og-conversation-inputs": "", children: [
|
|
9169
|
-
/* @__PURE__ */
|
|
9208
|
+
/* @__PURE__ */ jsx20(
|
|
9170
9209
|
HumanInputSurface,
|
|
9171
9210
|
{
|
|
9172
9211
|
requests: human.requests,
|
|
@@ -9178,7 +9217,7 @@ function Conversation({
|
|
|
9178
9217
|
autoFocus: false
|
|
9179
9218
|
}
|
|
9180
9219
|
),
|
|
9181
|
-
terminal ? /* @__PURE__ */
|
|
9220
|
+
terminal ? /* @__PURE__ */ jsx20(QueueSurface, { queue, readOnly: true }) : /* @__PURE__ */ jsx20(
|
|
9182
9221
|
QueueSurface,
|
|
9183
9222
|
{
|
|
9184
9223
|
queue,
|
|
@@ -9187,13 +9226,13 @@ function Conversation({
|
|
|
9187
9226
|
}
|
|
9188
9227
|
)
|
|
9189
9228
|
] }),
|
|
9190
|
-
/* @__PURE__ */
|
|
9229
|
+
/* @__PURE__ */ jsx20("div", { className: "shrink-0", "data-og-conversation-composer": "", children: /* @__PURE__ */ jsx20(
|
|
9191
9230
|
ChatComposer,
|
|
9192
9231
|
{
|
|
9193
9232
|
...composerProps,
|
|
9194
9233
|
composer,
|
|
9195
9234
|
disabled: terminal || composerProps?.disabled,
|
|
9196
|
-
controlsStart: composerProps?.controlsStart ?? (composer.policy && /* @__PURE__ */
|
|
9235
|
+
controlsStart: composerProps?.controlsStart ?? (composer.policy && /* @__PURE__ */ jsx20(
|
|
9197
9236
|
ModelPolicyPicker,
|
|
9198
9237
|
{
|
|
9199
9238
|
rows: catalog.rows,
|
|
@@ -9242,12 +9281,13 @@ import {
|
|
|
9242
9281
|
} from "lucide-react";
|
|
9243
9282
|
import { AnimatePresence as AnimatePresence2, motion as motion3, useReducedMotion } from "motion/react";
|
|
9244
9283
|
import { useEffect as useEffect11, useId as useId3, useMemo as useMemo5, useRef as useRef12, useState as useState13 } from "react";
|
|
9245
|
-
import { Fragment as Fragment7, jsx as
|
|
9284
|
+
import { Fragment as Fragment7, jsx as jsx21, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
9246
9285
|
var GOAL_LABEL = {
|
|
9247
9286
|
pursuing: "Pursuing",
|
|
9248
9287
|
waiting: "Waiting",
|
|
9249
9288
|
scheduled: "Waiting",
|
|
9250
9289
|
blocked: "Blocked",
|
|
9290
|
+
session_failed: "Blocked by session failure",
|
|
9251
9291
|
held: "Held",
|
|
9252
9292
|
paused: "Paused",
|
|
9253
9293
|
invariant_broken: "Needs attention",
|
|
@@ -9274,6 +9314,9 @@ function sessionChromeGoalPillLabel(state, record) {
|
|
|
9274
9314
|
}
|
|
9275
9315
|
function sessionChromeGoalPillExplanation(state, record) {
|
|
9276
9316
|
const continuation = record?.continuation ?? null;
|
|
9317
|
+
if (state === "session_failed") {
|
|
9318
|
+
return "Resolve the session failure, then use Continue or send a message to continue this active goal.";
|
|
9319
|
+
}
|
|
9277
9320
|
if (state === "paused") {
|
|
9278
9321
|
return record?.pausedReason ? GOAL_PAUSED_REASON_EXPLANATION[record.pausedReason] ?? null : null;
|
|
9279
9322
|
}
|
|
@@ -9325,9 +9368,10 @@ function sessionChromeShouldOfferQueue(input) {
|
|
|
9325
9368
|
function objectValue(value) {
|
|
9326
9369
|
return value !== null && typeof value === "object" && !Array.isArray(value) ? value : null;
|
|
9327
9370
|
}
|
|
9328
|
-
function sessionChromeGoalPillState(goalStatus, continuation) {
|
|
9371
|
+
function sessionChromeGoalPillState(goalStatus, continuation, sessionStatus) {
|
|
9329
9372
|
if (goalStatus === "completed") return "completed";
|
|
9330
9373
|
if (goalStatus === "paused") return "paused";
|
|
9374
|
+
if (sessionStatus === "failed") return "session_failed";
|
|
9331
9375
|
if (!continuation) return "invariant_broken";
|
|
9332
9376
|
if (continuation.state === "running") {
|
|
9333
9377
|
return continuation.reason === "goal_turn_running" ? "pursuing" : continuation.reason === "human_turn_running" ? "waiting" : "invariant_broken";
|
|
@@ -9408,6 +9452,7 @@ function toneClass(tone, selected) {
|
|
|
9408
9452
|
}
|
|
9409
9453
|
function SessionChrome({
|
|
9410
9454
|
compact = false,
|
|
9455
|
+
sessionStatus,
|
|
9411
9456
|
queue,
|
|
9412
9457
|
composer,
|
|
9413
9458
|
goal,
|
|
@@ -9416,6 +9461,7 @@ function SessionChrome({
|
|
|
9416
9461
|
commandsCount = 0,
|
|
9417
9462
|
agentsSignal,
|
|
9418
9463
|
onDismissIncoming,
|
|
9464
|
+
onOpenSession,
|
|
9419
9465
|
readOnly = false,
|
|
9420
9466
|
className,
|
|
9421
9467
|
active: activeControlled,
|
|
@@ -9447,7 +9493,7 @@ function SessionChrome({
|
|
|
9447
9493
|
const stopping = stoppingKind !== null;
|
|
9448
9494
|
const canMutateQueue = !readOnly && composer !== void 0;
|
|
9449
9495
|
const elapsed = useLiveElapsed(record?.createdAt, Boolean(record));
|
|
9450
|
-
const goalState = record ? sessionChromeGoalPillState(record.status, record.continuation) : null;
|
|
9496
|
+
const goalState = record ? sessionChromeGoalPillState(record.status, record.continuation, sessionStatus) : null;
|
|
9451
9497
|
const initialAuthoritativeQueuedCount = countAuthoritativeQueuedTurns(
|
|
9452
9498
|
queue.queue,
|
|
9453
9499
|
queue.mutationFor
|
|
@@ -9490,7 +9536,7 @@ function SessionChrome({
|
|
|
9490
9536
|
tone: incoming.some(
|
|
9491
9537
|
(item) => item.classification === "action_required" || item.classification === "failure"
|
|
9492
9538
|
) ? "waiting" : "neutral",
|
|
9493
|
-
icon: /* @__PURE__ */
|
|
9539
|
+
icon: /* @__PURE__ */ jsx21(InboxIcon, { className: "size-3" })
|
|
9494
9540
|
});
|
|
9495
9541
|
}
|
|
9496
9542
|
const queuedCount = queuedTurns.length + optimisticQueued.length;
|
|
@@ -9507,11 +9553,11 @@ function SessionChrome({
|
|
|
9507
9553
|
label: queueProblem ? queuedCount > 0 ? `${queuedCount} queued \xB7 needs attention` : "Queue needs attention" : allVoiceRequests ? queuedCount === 1 ? "Voice request queued" : `${queuedCount} voice requests queued` : onlyVoiceHandoff ? "Voice handoff queued" : `${queuedCount} queued prompt${queuedCount === 1 ? "" : "s"}`,
|
|
9508
9554
|
...detail ? { detail } : {},
|
|
9509
9555
|
tone: queueProblem ? "waiting" : "neutral",
|
|
9510
|
-
icon: queueProblem ? /* @__PURE__ */
|
|
9556
|
+
icon: queueProblem ? /* @__PURE__ */ jsx21(TriangleAlertIcon3, { className: "size-3" }) : voiceOnly ? /* @__PURE__ */ jsx21(AudioLinesIcon, { className: "size-3" }) : /* @__PURE__ */ jsx21(ListOrderedIcon, { className: "size-3" })
|
|
9511
9557
|
});
|
|
9512
9558
|
}
|
|
9513
9559
|
if (record && goalState) {
|
|
9514
|
-
const waiting = goalState === "waiting" || goalState === "blocked" || goalState === "held" || goalState === "paused";
|
|
9560
|
+
const waiting = goalState === "waiting" || goalState === "blocked" || goalState === "session_failed" || goalState === "held" || goalState === "paused";
|
|
9515
9561
|
const explanation = sessionChromeGoalPillExplanation(goalState, record);
|
|
9516
9562
|
rows.push({
|
|
9517
9563
|
id: "goal",
|
|
@@ -9519,7 +9565,7 @@ function SessionChrome({
|
|
|
9519
9565
|
detail: elapsed ? `${elapsed} \xB7 ${record.text}` : record.text,
|
|
9520
9566
|
...explanation ? { title: explanation } : {},
|
|
9521
9567
|
tone: waiting ? "waiting" : goalState === "pursuing" || goalState === "scheduled" ? "accent" : "neutral",
|
|
9522
|
-
icon: /* @__PURE__ */
|
|
9568
|
+
icon: /* @__PURE__ */ jsx21(TargetIcon3, { className: "size-3" })
|
|
9523
9569
|
});
|
|
9524
9570
|
}
|
|
9525
9571
|
if (agentsSignal && agentsSignal.count > 0) {
|
|
@@ -9529,7 +9575,7 @@ function SessionChrome({
|
|
|
9529
9575
|
label: `${agentsSignal.count} agent${agentsSignal.count === 1 ? "" : "s"}`,
|
|
9530
9576
|
...detail ? { detail } : {},
|
|
9531
9577
|
tone: agentsSignal.tone ?? "neutral",
|
|
9532
|
-
icon: /* @__PURE__ */
|
|
9578
|
+
icon: /* @__PURE__ */ jsx21(BotIcon3, { className: "size-3" })
|
|
9533
9579
|
});
|
|
9534
9580
|
}
|
|
9535
9581
|
if (commandsCount > 0 || active === "commands" && hasCommandsPanel) {
|
|
@@ -9537,7 +9583,7 @@ function SessionChrome({
|
|
|
9537
9583
|
id: "commands",
|
|
9538
9584
|
label: commandsCount > 0 ? `${commandsCount} command${commandsCount === 1 ? "" : "s"}` : "Commands",
|
|
9539
9585
|
tone: commandsCount > 0 ? "running" : "neutral",
|
|
9540
|
-
icon: /* @__PURE__ */
|
|
9586
|
+
icon: /* @__PURE__ */ jsx21(TerminalIcon2, { className: "size-3" })
|
|
9541
9587
|
});
|
|
9542
9588
|
}
|
|
9543
9589
|
return rows;
|
|
@@ -9657,7 +9703,14 @@ function SessionChrome({
|
|
|
9657
9703
|
const shellDuration = reduceMotion ? 0 : 0.22;
|
|
9658
9704
|
const crossfadeDuration = reduceMotion ? 0 : 0.18;
|
|
9659
9705
|
const ease = [0.22, 1, 0.36, 1];
|
|
9660
|
-
const panelBody = active === "incoming" ? /* @__PURE__ */
|
|
9706
|
+
const panelBody = active === "incoming" ? /* @__PURE__ */ jsx21(
|
|
9707
|
+
IncomingPanel,
|
|
9708
|
+
{
|
|
9709
|
+
inputs: incoming,
|
|
9710
|
+
onDismiss: onDismissIncoming,
|
|
9711
|
+
onOpenSession
|
|
9712
|
+
}
|
|
9713
|
+
) : active === "queue" ? /* @__PURE__ */ jsx21(
|
|
9661
9714
|
QueuePanel,
|
|
9662
9715
|
{
|
|
9663
9716
|
turns: queuedTurns,
|
|
@@ -9708,8 +9761,8 @@ function SessionChrome({
|
|
|
9708
9761
|
void queue.moveTurn(turnId, beforeTurnId);
|
|
9709
9762
|
} : void 0
|
|
9710
9763
|
}
|
|
9711
|
-
) : active === "goal" && record && goalState && goal ? /* @__PURE__ */
|
|
9712
|
-
return /* @__PURE__ */
|
|
9764
|
+
) : active === "goal" && record && goalState && goal ? /* @__PURE__ */ jsx21(GoalPanel, { goal, state: goalState, elapsed, readOnly }) : active === "commands" ? /* @__PURE__ */ jsx21("div", { "data-og-session-chrome-panel": "commands", children: commandsPanel }) : active === "agents" ? /* @__PURE__ */ jsx21("div", { "data-og-session-chrome-panel": "agents", children: agentsPanel ?? /* @__PURE__ */ jsx21("p", { className: "text-og-xs text-og-fg-muted", children: "No agent details." }) }) : null;
|
|
9765
|
+
return /* @__PURE__ */ jsx21(TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ jsx21(
|
|
9713
9766
|
"div",
|
|
9714
9767
|
{
|
|
9715
9768
|
className: cn("og-session-chrome og-root w-full", className),
|
|
@@ -9732,7 +9785,7 @@ function SessionChrome({
|
|
|
9732
9785
|
transitionTimingFunction: "var(--_og-session-chrome-ease)"
|
|
9733
9786
|
},
|
|
9734
9787
|
children: [
|
|
9735
|
-
/* @__PURE__ */
|
|
9788
|
+
/* @__PURE__ */ jsx21(
|
|
9736
9789
|
"div",
|
|
9737
9790
|
{
|
|
9738
9791
|
className: "relative",
|
|
@@ -9751,7 +9804,7 @@ function SessionChrome({
|
|
|
9751
9804
|
gap: compact ? "10px" : "var(--og-session-chrome-chip-gap)"
|
|
9752
9805
|
},
|
|
9753
9806
|
children: [
|
|
9754
|
-
/* @__PURE__ */
|
|
9807
|
+
/* @__PURE__ */ jsx21(
|
|
9755
9808
|
motion3.div,
|
|
9756
9809
|
{
|
|
9757
9810
|
"aria-hidden": true,
|
|
@@ -9815,7 +9868,7 @@ function SessionChrome({
|
|
|
9815
9868
|
paddingInline: "var(--og-session-chrome-chip-pad-x)"
|
|
9816
9869
|
},
|
|
9817
9870
|
children: [
|
|
9818
|
-
signal.id === "queue" && queueArrivalNonce > 0 && !reduceMotion ? /* @__PURE__ */
|
|
9871
|
+
signal.id === "queue" && queueArrivalNonce > 0 && !reduceMotion ? /* @__PURE__ */ jsx21(
|
|
9819
9872
|
motion3.span,
|
|
9820
9873
|
{
|
|
9821
9874
|
"aria-hidden": "true",
|
|
@@ -9827,7 +9880,7 @@ function SessionChrome({
|
|
|
9827
9880
|
},
|
|
9828
9881
|
queueArrivalNonce
|
|
9829
9882
|
) : null,
|
|
9830
|
-
/* @__PURE__ */
|
|
9883
|
+
/* @__PURE__ */ jsx21("span", { className: cn("shrink-0", toneClass(signal.tone, selected)), children: signal.icon }),
|
|
9831
9884
|
/* @__PURE__ */ jsxs15(
|
|
9832
9885
|
"span",
|
|
9833
9886
|
{
|
|
@@ -9842,33 +9895,33 @@ function SessionChrome({
|
|
|
9842
9895
|
}
|
|
9843
9896
|
),
|
|
9844
9897
|
signal.detail && !compact ? /* @__PURE__ */ jsxs15(Fragment7, { children: [
|
|
9845
|
-
/* @__PURE__ */
|
|
9846
|
-
/* @__PURE__ */
|
|
9898
|
+
/* @__PURE__ */ jsx21("span", { "aria-hidden": true, className: "shrink-0 text-og-fg-subtle/60", children: "\xB7" }),
|
|
9899
|
+
/* @__PURE__ */ jsx21("span", { className: "min-w-0 max-w-[8.5rem] truncate text-og-fg sm:max-w-[12rem]", children: signal.detail })
|
|
9847
9900
|
] }) : null,
|
|
9848
|
-
selected && !compact ? /* @__PURE__ */
|
|
9901
|
+
selected && !compact ? /* @__PURE__ */ jsx21(
|
|
9849
9902
|
"span",
|
|
9850
9903
|
{
|
|
9851
9904
|
"data-testid": "session-chrome-close",
|
|
9852
9905
|
className: "ml-0.5 inline-flex size-4 shrink-0 items-center justify-center rounded-og-sm text-og-fg-subtle transition-colors group-hover:text-og-fg pointer-coarse:size-5",
|
|
9853
9906
|
"aria-hidden": true,
|
|
9854
|
-
children: /* @__PURE__ */
|
|
9907
|
+
children: /* @__PURE__ */ jsx21(XIcon, { className: "size-3" })
|
|
9855
9908
|
}
|
|
9856
9909
|
) : null
|
|
9857
9910
|
]
|
|
9858
9911
|
}
|
|
9859
9912
|
),
|
|
9860
9913
|
signal.id === "goal" && goal && record && !readOnly ? /* @__PURE__ */ jsxs15("div", { className: cn("flex shrink-0 items-center pr-1", compact && "pl-0.5"), children: [
|
|
9861
|
-
record.status === "active" || record.status === "paused" ? /* @__PURE__ */
|
|
9914
|
+
record.status === "active" || record.status === "paused" ? /* @__PURE__ */ jsx21(
|
|
9862
9915
|
IconAction,
|
|
9863
9916
|
{
|
|
9864
9917
|
label: record.status === "paused" ? "Resume goal" : "Pause goal",
|
|
9865
9918
|
tip: record.status === "paused" ? "Resume goal" : "Pause goal",
|
|
9866
9919
|
disabled: goal.updating,
|
|
9867
9920
|
onClick: () => void (record.status === "paused" ? goal.resume() : goal.pause("Paused from session chrome")),
|
|
9868
|
-
children: goal.updating ? /* @__PURE__ */
|
|
9921
|
+
children: goal.updating ? /* @__PURE__ */ jsx21(Loader2Icon2, { className: "size-3 animate-og-spin" }) : record.status === "paused" ? /* @__PURE__ */ jsx21(PlayIcon2, { className: "size-3" }) : /* @__PURE__ */ jsx21(PauseIcon2, { className: "size-3" })
|
|
9869
9922
|
}
|
|
9870
9923
|
) : null,
|
|
9871
|
-
/* @__PURE__ */
|
|
9924
|
+
/* @__PURE__ */ jsx21(
|
|
9872
9925
|
IconAction,
|
|
9873
9926
|
{
|
|
9874
9927
|
label: "Clear goal",
|
|
@@ -9876,10 +9929,10 @@ function SessionChrome({
|
|
|
9876
9929
|
danger: true,
|
|
9877
9930
|
disabled: goal.updating,
|
|
9878
9931
|
onClick: () => void goal.deleteGoal(),
|
|
9879
|
-
children: /* @__PURE__ */
|
|
9932
|
+
children: /* @__PURE__ */ jsx21(Trash2Icon2, { className: "size-3" })
|
|
9880
9933
|
}
|
|
9881
9934
|
)
|
|
9882
|
-
] }) : signal.id === "queue" && canMutateQueue && queuedTurns[0] ? /* @__PURE__ */
|
|
9935
|
+
] }) : signal.id === "queue" && canMutateQueue && queuedTurns[0] ? /* @__PURE__ */ jsx21("div", { className: cn("flex shrink-0 items-center pr-1", compact && "pl-0.5"), children: /* @__PURE__ */ jsx21(
|
|
9883
9936
|
IconAction,
|
|
9884
9937
|
{
|
|
9885
9938
|
label: "Steer first queued message",
|
|
@@ -9887,7 +9940,7 @@ function SessionChrome({
|
|
|
9887
9940
|
tip: QUEUE_STEER_TIP,
|
|
9888
9941
|
disabled: queue.mutating || Boolean(queue.mutationFor(queuedTurns[0].id)),
|
|
9889
9942
|
onClick: () => void queue.steerTurn(queuedTurns[0].id),
|
|
9890
|
-
children: /* @__PURE__ */
|
|
9943
|
+
children: /* @__PURE__ */ jsx21(CornerDownRightIcon, { className: "size-3" })
|
|
9891
9944
|
}
|
|
9892
9945
|
) }) : null
|
|
9893
9946
|
]
|
|
@@ -9916,9 +9969,9 @@ function SessionChrome({
|
|
|
9916
9969
|
activityOpen ? "bg-og-surface-3 text-og-fg" : "text-og-fg-muted hover:bg-og-surface-2 hover:text-og-fg"
|
|
9917
9970
|
),
|
|
9918
9971
|
children: [
|
|
9919
|
-
/* @__PURE__ */
|
|
9920
|
-
/* @__PURE__ */
|
|
9921
|
-
incoming.length > 0 ? /* @__PURE__ */
|
|
9972
|
+
/* @__PURE__ */ jsx21(ActivityIcon, { className: "size-3.5" }),
|
|
9973
|
+
/* @__PURE__ */ jsx21("span", { className: "sr-only", children: "Activity" }),
|
|
9974
|
+
incoming.length > 0 ? /* @__PURE__ */ jsx21("span", { className: "size-1.5 rounded-full bg-og-accent" }) : null
|
|
9922
9975
|
]
|
|
9923
9976
|
}
|
|
9924
9977
|
) : null,
|
|
@@ -9930,7 +9983,7 @@ function SessionChrome({
|
|
|
9930
9983
|
className: "inline-flex min-h-[var(--og-session-chrome-chip-min-height)] items-center gap-1.5 px-1.5 text-og-xs text-og-fg-muted",
|
|
9931
9984
|
"data-testid": "session-chrome-stopping",
|
|
9932
9985
|
children: [
|
|
9933
|
-
/* @__PURE__ */
|
|
9986
|
+
/* @__PURE__ */ jsx21(
|
|
9934
9987
|
Loader2Icon2,
|
|
9935
9988
|
{
|
|
9936
9989
|
"aria-hidden": "true",
|
|
@@ -9946,7 +9999,7 @@ function SessionChrome({
|
|
|
9946
9999
|
)
|
|
9947
10000
|
}
|
|
9948
10001
|
),
|
|
9949
|
-
/* @__PURE__ */
|
|
10002
|
+
/* @__PURE__ */ jsx21(AnimatePresence2, { initial: false, children: compact && activityOpen ? /* @__PURE__ */ jsx21(
|
|
9950
10003
|
motion3.div,
|
|
9951
10004
|
{
|
|
9952
10005
|
initial: { height: 0, opacity: 0 },
|
|
@@ -9954,7 +10007,7 @@ function SessionChrome({
|
|
|
9954
10007
|
exit: { height: 0, opacity: 0 },
|
|
9955
10008
|
transition: { duration: shellDuration, ease },
|
|
9956
10009
|
style: { overflow: "hidden" },
|
|
9957
|
-
children: /* @__PURE__ */
|
|
10010
|
+
children: /* @__PURE__ */ jsx21("div", { className: "mt-1 flex items-center gap-1 rounded-t-og-lg bg-og-surface-2/50 px-2 py-1", children: signals.filter((signal) => ["incoming", "agents", "commands"].includes(signal.id)).map((signal) => /* @__PURE__ */ jsxs15(
|
|
9958
10011
|
"button",
|
|
9959
10012
|
{
|
|
9960
10013
|
type: "button",
|
|
@@ -9980,7 +10033,7 @@ function SessionChrome({
|
|
|
9980
10033
|
"Goal action not confirmed. ",
|
|
9981
10034
|
goal.mutationError.message
|
|
9982
10035
|
] }) : null,
|
|
9983
|
-
/* @__PURE__ */
|
|
10036
|
+
/* @__PURE__ */ jsx21(
|
|
9984
10037
|
"div",
|
|
9985
10038
|
{
|
|
9986
10039
|
id: panelId,
|
|
@@ -9996,7 +10049,7 @@ function SessionChrome({
|
|
|
9996
10049
|
transitionDuration: "var(--og-session-chrome-duration)",
|
|
9997
10050
|
transitionTimingFunction: "var(--_og-session-chrome-ease)"
|
|
9998
10051
|
},
|
|
9999
|
-
children: /* @__PURE__ */
|
|
10052
|
+
children: /* @__PURE__ */ jsx21("div", { className: "min-h-0 overflow-hidden", children: /* @__PURE__ */ jsxs15(
|
|
10000
10053
|
"div",
|
|
10001
10054
|
{
|
|
10002
10055
|
className: cn(
|
|
@@ -10009,7 +10062,7 @@ function SessionChrome({
|
|
|
10009
10062
|
paddingBlock: "var(--og-session-chrome-panel-pad-y)"
|
|
10010
10063
|
},
|
|
10011
10064
|
children: [
|
|
10012
|
-
/* @__PURE__ */
|
|
10065
|
+
/* @__PURE__ */ jsx21(AnimatePresence2, { initial: false, children: active && active !== "commands" && panelBody ? /* @__PURE__ */ jsx21(
|
|
10013
10066
|
motion3.div,
|
|
10014
10067
|
{
|
|
10015
10068
|
"data-og-session-chrome-panel-frame": active,
|
|
@@ -10027,7 +10080,7 @@ function SessionChrome({
|
|
|
10027
10080
|
},
|
|
10028
10081
|
active
|
|
10029
10082
|
) : null }),
|
|
10030
|
-
active === "commands" ? /* @__PURE__ */
|
|
10083
|
+
active === "commands" ? /* @__PURE__ */ jsx21(
|
|
10031
10084
|
motion3.div,
|
|
10032
10085
|
{
|
|
10033
10086
|
initial: reduceMotion ? false : { opacity: 0 },
|
|
@@ -10050,46 +10103,60 @@ function SessionChrome({
|
|
|
10050
10103
|
}
|
|
10051
10104
|
function IncomingPanel({
|
|
10052
10105
|
inputs,
|
|
10053
|
-
onDismiss
|
|
10106
|
+
onDismiss,
|
|
10107
|
+
onOpenSession
|
|
10054
10108
|
}) {
|
|
10055
|
-
return /* @__PURE__ */
|
|
10056
|
-
"
|
|
10057
|
-
|
|
10058
|
-
|
|
10059
|
-
|
|
10060
|
-
|
|
10061
|
-
|
|
10062
|
-
"
|
|
10063
|
-
|
|
10064
|
-
|
|
10065
|
-
|
|
10066
|
-
|
|
10067
|
-
|
|
10068
|
-
|
|
10069
|
-
|
|
10070
|
-
|
|
10071
|
-
|
|
10072
|
-
|
|
10073
|
-
|
|
10074
|
-
|
|
10075
|
-
|
|
10076
|
-
|
|
10077
|
-
|
|
10078
|
-
|
|
10079
|
-
|
|
10080
|
-
|
|
10081
|
-
|
|
10082
|
-
|
|
10083
|
-
|
|
10084
|
-
|
|
10085
|
-
|
|
10086
|
-
|
|
10087
|
-
|
|
10088
|
-
|
|
10089
|
-
|
|
10090
|
-
|
|
10091
|
-
|
|
10092
|
-
|
|
10109
|
+
return /* @__PURE__ */ jsxs15("div", { children: [
|
|
10110
|
+
/* @__PURE__ */ jsx21("p", { className: "mb-2 text-og-xs text-og-fg-subtle", children: "Waiting to be included in an agent turn." }),
|
|
10111
|
+
/* @__PURE__ */ jsx21(
|
|
10112
|
+
"ul",
|
|
10113
|
+
{
|
|
10114
|
+
className: "flex flex-col gap-0.5",
|
|
10115
|
+
"aria-label": "Incoming updates",
|
|
10116
|
+
"data-og-session-chrome-panel": "incoming",
|
|
10117
|
+
children: inputs.map((input) => /* @__PURE__ */ jsxs15(
|
|
10118
|
+
"li",
|
|
10119
|
+
{
|
|
10120
|
+
className: "group flex items-start gap-1.5 rounded-og-sm px-1.5 py-1 transition-colors hover:bg-[var(--_og-session-chrome-row-hover)]",
|
|
10121
|
+
children: [
|
|
10122
|
+
/* @__PURE__ */ jsx21(
|
|
10123
|
+
"span",
|
|
10124
|
+
{
|
|
10125
|
+
className: cn(
|
|
10126
|
+
"mt-px shrink-0 rounded px-1 py-px text-[10px] font-medium leading-4",
|
|
10127
|
+
input.classification === "action_required" || input.classification === "failure" ? "bg-og-status-waiting/12 text-og-status-waiting" : "bg-og-surface-3/80 text-og-fg-muted"
|
|
10128
|
+
),
|
|
10129
|
+
children: pendingKindLabel(input.kind)
|
|
10130
|
+
}
|
|
10131
|
+
),
|
|
10132
|
+
/* @__PURE__ */ jsxs15("div", { className: "min-w-0 flex-1", children: [
|
|
10133
|
+
/* @__PURE__ */ jsx21("p", { className: "break-words text-og-xs leading-4 text-og-fg", children: input.summary }),
|
|
10134
|
+
/* @__PURE__ */ jsx21(
|
|
10135
|
+
ChildSessionLink,
|
|
10136
|
+
{
|
|
10137
|
+
kind: input.kind,
|
|
10138
|
+
sourceId: input.sourceId,
|
|
10139
|
+
onOpenSession
|
|
10140
|
+
}
|
|
10141
|
+
)
|
|
10142
|
+
] }),
|
|
10143
|
+
onDismiss ? /* @__PURE__ */ jsx21("div", { className: "flex shrink-0 items-center gap-0.5 opacity-0 transition-opacity group-hover:opacity-100 focus-within:opacity-100 max-sm:opacity-100", children: /* @__PURE__ */ jsx21(
|
|
10144
|
+
IconAction,
|
|
10145
|
+
{
|
|
10146
|
+
label: `Dismiss incoming ${pendingKindLabel(input.kind)}`,
|
|
10147
|
+
tip: "Dismiss",
|
|
10148
|
+
onClick: () => onDismiss(input.id),
|
|
10149
|
+
danger: true,
|
|
10150
|
+
children: /* @__PURE__ */ jsx21(Trash2Icon2, { className: "size-3" })
|
|
10151
|
+
}
|
|
10152
|
+
) }) : null
|
|
10153
|
+
]
|
|
10154
|
+
},
|
|
10155
|
+
input.id
|
|
10156
|
+
))
|
|
10157
|
+
}
|
|
10158
|
+
)
|
|
10159
|
+
] });
|
|
10093
10160
|
}
|
|
10094
10161
|
function QueuePanel({
|
|
10095
10162
|
turns,
|
|
@@ -10151,38 +10218,38 @@ function QueuePanel({
|
|
|
10151
10218
|
className: "group flex flex-col gap-1 rounded-og-sm px-1.5 py-1 transition-colors hover:bg-[var(--_og-session-chrome-row-hover)]",
|
|
10152
10219
|
children: [
|
|
10153
10220
|
/* @__PURE__ */ jsxs15("div", { className: "flex items-start gap-1.5", children: [
|
|
10154
|
-
voice ? /* @__PURE__ */
|
|
10221
|
+
voice ? /* @__PURE__ */ jsx21(
|
|
10155
10222
|
AudioLinesIcon,
|
|
10156
10223
|
{
|
|
10157
10224
|
"aria-hidden": "true",
|
|
10158
10225
|
className: "mt-0.5 size-3 shrink-0 text-og-accent"
|
|
10159
10226
|
}
|
|
10160
|
-
) : /* @__PURE__ */
|
|
10161
|
-
/* @__PURE__ */
|
|
10227
|
+
) : /* @__PURE__ */ jsx21("span", { className: "mt-px shrink-0 font-og-mono text-[10px] leading-4 text-og-fg-subtle", children: index + 1 }),
|
|
10228
|
+
/* @__PURE__ */ jsx21("p", { className: "min-w-0 flex-1 truncate text-og-xs leading-4 text-og-fg", children: presentation.text }),
|
|
10162
10229
|
showActions ? /* @__PURE__ */ jsxs15("div", { className: "flex shrink-0 items-center gap-0.5 opacity-0 transition-opacity group-hover:opacity-100 focus-within:opacity-100 max-sm:opacity-100", children: [
|
|
10163
10230
|
onMove && turns.length > 1 ? /* @__PURE__ */ jsxs15(Fragment7, { children: [
|
|
10164
|
-
/* @__PURE__ */
|
|
10231
|
+
/* @__PURE__ */ jsx21(
|
|
10165
10232
|
IconAction,
|
|
10166
10233
|
{
|
|
10167
10234
|
label: `Move queued prompt ${index + 1} up`,
|
|
10168
10235
|
tip: "Move up",
|
|
10169
10236
|
disabled: settling || pending !== null || index === 0,
|
|
10170
10237
|
onClick: () => onMove(turn.id, beforeUp),
|
|
10171
|
-
children: /* @__PURE__ */
|
|
10238
|
+
children: /* @__PURE__ */ jsx21(ArrowUpIcon, { className: "size-3" })
|
|
10172
10239
|
}
|
|
10173
10240
|
),
|
|
10174
|
-
/* @__PURE__ */
|
|
10241
|
+
/* @__PURE__ */ jsx21(
|
|
10175
10242
|
IconAction,
|
|
10176
10243
|
{
|
|
10177
10244
|
label: `Move queued prompt ${index + 1} down`,
|
|
10178
10245
|
tip: "Move down",
|
|
10179
10246
|
disabled: settling || pending !== null || index >= turns.length - 1,
|
|
10180
10247
|
onClick: () => onMove(turn.id, beforeDown),
|
|
10181
|
-
children: /* @__PURE__ */
|
|
10248
|
+
children: /* @__PURE__ */ jsx21(ArrowDownIcon2, { className: "size-3" })
|
|
10182
10249
|
}
|
|
10183
10250
|
)
|
|
10184
10251
|
] }) : null,
|
|
10185
|
-
onSteer ? /* @__PURE__ */
|
|
10252
|
+
onSteer ? /* @__PURE__ */ jsx21(
|
|
10186
10253
|
IconAction,
|
|
10187
10254
|
{
|
|
10188
10255
|
label: `Steer queued prompt ${index + 1}`,
|
|
@@ -10190,20 +10257,20 @@ function QueuePanel({
|
|
|
10190
10257
|
tip: QUEUE_STEER_TIP,
|
|
10191
10258
|
disabled: settling || pending !== null,
|
|
10192
10259
|
onClick: () => onSteer(turn.id),
|
|
10193
|
-
children: pending === "steer" ? /* @__PURE__ */
|
|
10260
|
+
children: pending === "steer" ? /* @__PURE__ */ jsx21(Loader2Icon2, { className: "size-3 animate-og-spin" }) : /* @__PURE__ */ jsx21(CornerDownRightIcon, { className: "size-3" })
|
|
10194
10261
|
}
|
|
10195
10262
|
) : null,
|
|
10196
|
-
onEdit ? /* @__PURE__ */
|
|
10263
|
+
onEdit ? /* @__PURE__ */ jsx21(
|
|
10197
10264
|
IconAction,
|
|
10198
10265
|
{
|
|
10199
10266
|
label: `Edit queued prompt ${index + 1}`,
|
|
10200
10267
|
tip: QUEUE_EDIT_TIP,
|
|
10201
10268
|
disabled: settling || pending !== null,
|
|
10202
10269
|
onClick: () => onEdit(turn),
|
|
10203
|
-
children: pending === "edit" ? /* @__PURE__ */
|
|
10270
|
+
children: pending === "edit" ? /* @__PURE__ */ jsx21(Loader2Icon2, { className: "size-3 animate-og-spin" }) : /* @__PURE__ */ jsx21(PencilIcon, { className: "size-3" })
|
|
10204
10271
|
}
|
|
10205
10272
|
) : null,
|
|
10206
|
-
onRemove ? /* @__PURE__ */
|
|
10273
|
+
onRemove ? /* @__PURE__ */ jsx21(
|
|
10207
10274
|
IconAction,
|
|
10208
10275
|
{
|
|
10209
10276
|
label: `Remove queued prompt ${index + 1}`,
|
|
@@ -10211,16 +10278,16 @@ function QueuePanel({
|
|
|
10211
10278
|
disabled: settling || pending !== null,
|
|
10212
10279
|
onClick: () => onRemove(turn.id),
|
|
10213
10280
|
danger: true,
|
|
10214
|
-
children: pending === "delete" ? /* @__PURE__ */
|
|
10281
|
+
children: pending === "delete" ? /* @__PURE__ */ jsx21(Loader2Icon2, { className: "size-3 animate-og-spin" }) : /* @__PURE__ */ jsx21(Trash2Icon2, { className: "size-3" })
|
|
10215
10282
|
}
|
|
10216
10283
|
) : null
|
|
10217
10284
|
] }) : null
|
|
10218
10285
|
] }),
|
|
10219
10286
|
confirmingReplace ? /* @__PURE__ */ jsxs15("div", { className: "rounded-og-sm border border-og-status-waiting/30 bg-og-status-waiting/10 p-2 text-og-xs text-og-fg", children: [
|
|
10220
|
-
/* @__PURE__ */
|
|
10221
|
-
/* @__PURE__ */
|
|
10287
|
+
/* @__PURE__ */ jsx21("p", { children: "Your composer already has a draft. Replace it with this queued prompt?" }),
|
|
10288
|
+
/* @__PURE__ */ jsx21("p", { className: "mt-0.5 text-og-fg-muted", children: "The current draft will be permanently discarded; this queued prompt is preserved until you confirm." }),
|
|
10222
10289
|
/* @__PURE__ */ jsxs15("div", { className: "mt-2 flex justify-end gap-1.5", children: [
|
|
10223
|
-
/* @__PURE__ */
|
|
10290
|
+
/* @__PURE__ */ jsx21(
|
|
10224
10291
|
"button",
|
|
10225
10292
|
{
|
|
10226
10293
|
type: "button",
|
|
@@ -10229,7 +10296,7 @@ function QueuePanel({
|
|
|
10229
10296
|
children: "Keep current draft"
|
|
10230
10297
|
}
|
|
10231
10298
|
),
|
|
10232
|
-
/* @__PURE__ */
|
|
10299
|
+
/* @__PURE__ */ jsx21(
|
|
10233
10300
|
"button",
|
|
10234
10301
|
{
|
|
10235
10302
|
type: "button",
|
|
@@ -10245,7 +10312,7 @@ function QueuePanel({
|
|
|
10245
10312
|
turn.id
|
|
10246
10313
|
);
|
|
10247
10314
|
}),
|
|
10248
|
-
/* @__PURE__ */
|
|
10315
|
+
/* @__PURE__ */ jsx21(AnimatePresence2, { initial: false, children: optimistic.map((message, index) => /* @__PURE__ */ jsxs15(
|
|
10249
10316
|
motion3.li,
|
|
10250
10317
|
{
|
|
10251
10318
|
"aria-live": "polite",
|
|
@@ -10258,11 +10325,11 @@ function QueuePanel({
|
|
|
10258
10325
|
message.state === "failed" ? "bg-og-danger/8 text-og-danger" : "bg-og-accent-soft/45"
|
|
10259
10326
|
),
|
|
10260
10327
|
children: [
|
|
10261
|
-
/* @__PURE__ */
|
|
10262
|
-
/* @__PURE__ */
|
|
10263
|
-
/* @__PURE__ */
|
|
10328
|
+
/* @__PURE__ */ jsx21("span", { className: "shrink-0 font-og-mono text-[10px] leading-4 text-og-fg-subtle", children: turns.length + index + 1 }),
|
|
10329
|
+
/* @__PURE__ */ jsx21("p", { className: "min-w-0 flex-1 truncate text-og-xs leading-4 text-og-fg", children: message.text }),
|
|
10330
|
+
/* @__PURE__ */ jsx21("span", { className: "sr-only", children: message.state === "failed" ? "Not confirmed" : message.state === "sending" ? "Placing in queue" : "Queued" }),
|
|
10264
10331
|
message.state === "failed" ? /* @__PURE__ */ jsxs15("div", { className: "flex shrink-0 items-center gap-1 text-[10px]", children: [
|
|
10265
|
-
onRetryOptimistic ? /* @__PURE__ */
|
|
10332
|
+
onRetryOptimistic ? /* @__PURE__ */ jsx21(
|
|
10266
10333
|
"button",
|
|
10267
10334
|
{
|
|
10268
10335
|
type: "button",
|
|
@@ -10271,23 +10338,23 @@ function QueuePanel({
|
|
|
10271
10338
|
children: "Retry"
|
|
10272
10339
|
}
|
|
10273
10340
|
) : null,
|
|
10274
|
-
onRemoveOptimistic ? /* @__PURE__ */
|
|
10341
|
+
onRemoveOptimistic ? /* @__PURE__ */ jsx21(
|
|
10275
10342
|
"button",
|
|
10276
10343
|
{
|
|
10277
10344
|
type: "button",
|
|
10278
10345
|
"aria-label": "Dismiss unconfirmed queued prompt",
|
|
10279
10346
|
className: "rounded-og-sm p-1 text-og-fg-muted hover:bg-og-surface-2 hover:text-og-fg pointer-coarse:min-h-11 pointer-coarse:min-w-11",
|
|
10280
10347
|
onClick: () => onRemoveOptimistic(message.clientEventId),
|
|
10281
|
-
children: /* @__PURE__ */
|
|
10348
|
+
children: /* @__PURE__ */ jsx21(XIcon, { className: "size-3" })
|
|
10282
10349
|
}
|
|
10283
10350
|
) : null
|
|
10284
|
-
] }) : message.state === "sending" ? /* @__PURE__ */
|
|
10351
|
+
] }) : message.state === "sending" ? /* @__PURE__ */ jsx21(
|
|
10285
10352
|
Loader2Icon2,
|
|
10286
10353
|
{
|
|
10287
10354
|
"aria-hidden": "true",
|
|
10288
10355
|
className: "size-3 shrink-0 animate-og-spin text-og-accent motion-reduce:animate-none"
|
|
10289
10356
|
}
|
|
10290
|
-
) : /* @__PURE__ */
|
|
10357
|
+
) : /* @__PURE__ */ jsx21(CheckIcon3, { "aria-hidden": "true", className: "size-3 shrink-0 text-og-accent" })
|
|
10291
10358
|
]
|
|
10292
10359
|
},
|
|
10293
10360
|
message.clientEventId
|
|
@@ -10298,9 +10365,9 @@ function QueuePanel({
|
|
|
10298
10365
|
role: "alert",
|
|
10299
10366
|
className: "flex items-center gap-1.5 rounded-og-sm bg-og-danger/8 px-1.5 py-1 text-og-xs text-og-danger",
|
|
10300
10367
|
children: [
|
|
10301
|
-
/* @__PURE__ */
|
|
10302
|
-
/* @__PURE__ */
|
|
10303
|
-
/* @__PURE__ */
|
|
10368
|
+
/* @__PURE__ */ jsx21(TriangleAlertIcon3, { className: "size-3 shrink-0" }),
|
|
10369
|
+
/* @__PURE__ */ jsx21("span", { className: "min-w-0 flex-1", children: "Queue unavailable." }),
|
|
10370
|
+
/* @__PURE__ */ jsx21(
|
|
10304
10371
|
"button",
|
|
10305
10372
|
{
|
|
10306
10373
|
type: "button",
|
|
@@ -10318,9 +10385,9 @@ function QueuePanel({
|
|
|
10318
10385
|
role: "alert",
|
|
10319
10386
|
className: "flex items-center gap-1.5 rounded-og-sm bg-og-danger/8 px-1.5 py-1 text-og-xs text-og-danger",
|
|
10320
10387
|
children: [
|
|
10321
|
-
/* @__PURE__ */
|
|
10322
|
-
/* @__PURE__ */
|
|
10323
|
-
/* @__PURE__ */
|
|
10388
|
+
/* @__PURE__ */ jsx21(TriangleAlertIcon3, { className: "size-3 shrink-0" }),
|
|
10389
|
+
/* @__PURE__ */ jsx21("span", { className: "min-w-0 flex-1", children: "Not confirmed. Check the queue before retrying." }),
|
|
10390
|
+
/* @__PURE__ */ jsx21(
|
|
10324
10391
|
"button",
|
|
10325
10392
|
{
|
|
10326
10393
|
type: "button",
|
|
@@ -10348,7 +10415,7 @@ function GoalPanel({
|
|
|
10348
10415
|
const explanation = sessionChromeGoalPillExplanation(state, record);
|
|
10349
10416
|
return /* @__PURE__ */ jsxs15("div", { className: "space-y-1.5", "data-og-session-chrome-panel": "goal", children: [
|
|
10350
10417
|
/* @__PURE__ */ jsxs15("div", { className: "flex flex-wrap items-center gap-1.5 text-[10px] font-medium uppercase tracking-wider text-og-fg-subtle", children: [
|
|
10351
|
-
/* @__PURE__ */
|
|
10418
|
+
/* @__PURE__ */ jsx21("span", { children: sessionChromeGoalPillLabel(state, record) }),
|
|
10352
10419
|
elapsed ? /* @__PURE__ */ jsxs15("span", { className: "tabular-nums normal-case tracking-normal text-og-fg-muted", children: [
|
|
10353
10420
|
"\xB7 Created ",
|
|
10354
10421
|
elapsed,
|
|
@@ -10359,13 +10426,13 @@ function GoalPanel({
|
|
|
10359
10426
|
record.version
|
|
10360
10427
|
] })
|
|
10361
10428
|
] }),
|
|
10362
|
-
/* @__PURE__ */
|
|
10429
|
+
/* @__PURE__ */ jsx21("p", { className: "text-og-sm leading-5 text-og-fg", children: record.text }),
|
|
10363
10430
|
record.successCriteria ? /* @__PURE__ */ jsxs15("p", { className: "text-og-xs leading-4 text-og-fg-muted", children: [
|
|
10364
|
-
/* @__PURE__ */
|
|
10431
|
+
/* @__PURE__ */ jsx21("span", { className: "font-medium text-og-fg", children: "Done when" }),
|
|
10365
10432
|
" ",
|
|
10366
10433
|
record.successCriteria
|
|
10367
10434
|
] }) : null,
|
|
10368
|
-
explanation ? /* @__PURE__ */
|
|
10435
|
+
explanation ? /* @__PURE__ */ jsx21(
|
|
10369
10436
|
"p",
|
|
10370
10437
|
{
|
|
10371
10438
|
"data-og-session-chrome-goal-explanation": true,
|
|
@@ -10373,7 +10440,7 @@ function GoalPanel({
|
|
|
10373
10440
|
children: explanation
|
|
10374
10441
|
}
|
|
10375
10442
|
) : null,
|
|
10376
|
-
record.continuation?.lastError ? /* @__PURE__ */
|
|
10443
|
+
record.continuation?.lastError ? /* @__PURE__ */ jsx21("p", { className: "rounded-og-sm bg-og-status-waiting/10 px-1.5 py-1 text-og-xs leading-4 text-og-status-waiting", children: record.continuation.lastError }) : null,
|
|
10377
10444
|
/* @__PURE__ */ jsxs15("div", { className: "flex flex-wrap items-center justify-between gap-1.5 pt-0.5", children: [
|
|
10378
10445
|
/* @__PURE__ */ jsxs15("div", { className: "flex flex-wrap gap-1 text-[10px] text-og-fg-muted", children: [
|
|
10379
10446
|
/* @__PURE__ */ jsxs15("span", { className: "rounded bg-og-surface-3/70 px-1 py-px", children: [
|
|
@@ -10394,7 +10461,7 @@ function GoalPanel({
|
|
|
10394
10461
|
onClick: () => void (record.status === "paused" ? goal.resume() : goal.pause("Paused from session chrome")),
|
|
10395
10462
|
className: "inline-flex h-6 items-center gap-1 rounded-og-sm px-1.5 text-og-xs font-medium text-og-fg-muted outline-hidden transition-colors hover:bg-og-surface-3/70 hover:text-og-fg focus-visible:ring-2 focus-visible:ring-og-accent/40 disabled:opacity-50",
|
|
10396
10463
|
children: [
|
|
10397
|
-
goal.updating ? /* @__PURE__ */
|
|
10464
|
+
goal.updating ? /* @__PURE__ */ jsx21(Loader2Icon2, { className: "size-3 animate-og-spin" }) : record.status === "paused" ? /* @__PURE__ */ jsx21(PlayIcon2, { className: "size-3" }) : /* @__PURE__ */ jsx21(PauseIcon2, { className: "size-3" }),
|
|
10398
10465
|
record.status === "paused" ? "Resume" : "Pause"
|
|
10399
10466
|
]
|
|
10400
10467
|
}
|
|
@@ -10407,7 +10474,7 @@ function GoalPanel({
|
|
|
10407
10474
|
onClick: () => void goal.deleteGoal(),
|
|
10408
10475
|
className: "inline-flex h-6 items-center gap-1 rounded-og-sm px-1.5 text-og-xs font-medium text-og-fg-subtle outline-hidden transition-colors hover:bg-og-surface-3/70 hover:text-og-danger focus-visible:ring-2 focus-visible:ring-og-accent/40 disabled:opacity-50",
|
|
10409
10476
|
children: [
|
|
10410
|
-
/* @__PURE__ */
|
|
10477
|
+
/* @__PURE__ */ jsx21(Trash2Icon2, { className: "size-3" }),
|
|
10411
10478
|
"Clear"
|
|
10412
10479
|
]
|
|
10413
10480
|
}
|
|
@@ -10417,8 +10484,8 @@ function GoalPanel({
|
|
|
10417
10484
|
] });
|
|
10418
10485
|
}
|
|
10419
10486
|
var QUEUE_STEER_TIP = /* @__PURE__ */ jsxs15("span", { className: "flex flex-col gap-0.5 text-left", children: [
|
|
10420
|
-
/* @__PURE__ */
|
|
10421
|
-
/* @__PURE__ */
|
|
10487
|
+
/* @__PURE__ */ jsx21("span", { className: "font-medium", children: "Steer" }),
|
|
10488
|
+
/* @__PURE__ */ jsx21("span", { className: "opacity-80", children: "Interrupt the current turn and send this message now" })
|
|
10422
10489
|
] });
|
|
10423
10490
|
var QUEUE_EDIT_TIP = "Edit in composer";
|
|
10424
10491
|
var QUEUE_DELETE_TIP = "Delete this queued prompt";
|
|
@@ -10432,7 +10499,7 @@ function IconAction({
|
|
|
10432
10499
|
children
|
|
10433
10500
|
}) {
|
|
10434
10501
|
return /* @__PURE__ */ jsxs15(Tooltip, { children: [
|
|
10435
|
-
/* @__PURE__ */
|
|
10502
|
+
/* @__PURE__ */ jsx21(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxs15(
|
|
10436
10503
|
"button",
|
|
10437
10504
|
{
|
|
10438
10505
|
type: "button",
|
|
@@ -10453,14 +10520,14 @@ function IconAction({
|
|
|
10453
10520
|
]
|
|
10454
10521
|
}
|
|
10455
10522
|
) }),
|
|
10456
|
-
/* @__PURE__ */
|
|
10523
|
+
/* @__PURE__ */ jsx21(TooltipContent, { side: "top", children: tip })
|
|
10457
10524
|
] });
|
|
10458
10525
|
}
|
|
10459
10526
|
|
|
10460
10527
|
// src/components/session-commands-panel.tsx
|
|
10461
10528
|
import { ChevronRightIcon as ChevronRightIcon4, Loader2Icon as Loader2Icon3, SquareIcon } from "lucide-react";
|
|
10462
10529
|
import { useState as useState14 } from "react";
|
|
10463
|
-
import { jsx as
|
|
10530
|
+
import { jsx as jsx22, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
10464
10531
|
function SessionCommandsPanel({
|
|
10465
10532
|
commands: state,
|
|
10466
10533
|
readOnly = false
|
|
@@ -10482,10 +10549,10 @@ function SessionCommandsPanel({
|
|
|
10482
10549
|
}
|
|
10483
10550
|
};
|
|
10484
10551
|
return /* @__PURE__ */ jsxs16("div", { className: "space-y-2 text-og-xs", "data-og-session-commands": "", children: [
|
|
10485
|
-
state.loading && active.length === 0 ? /* @__PURE__ */
|
|
10552
|
+
state.loading && active.length === 0 ? /* @__PURE__ */ jsx22("p", { role: "status", className: "text-og-fg-muted", children: "Loading commands\u2026" }) : null,
|
|
10486
10553
|
state.error ? /* @__PURE__ */ jsxs16("div", { role: "alert", className: "flex items-center justify-between gap-2 text-og-danger", children: [
|
|
10487
|
-
/* @__PURE__ */
|
|
10488
|
-
/* @__PURE__ */
|
|
10554
|
+
/* @__PURE__ */ jsx22("span", { children: "Commands unavailable." }),
|
|
10555
|
+
/* @__PURE__ */ jsx22(
|
|
10489
10556
|
"button",
|
|
10490
10557
|
{
|
|
10491
10558
|
type: "button",
|
|
@@ -10495,8 +10562,8 @@ function SessionCommandsPanel({
|
|
|
10495
10562
|
}
|
|
10496
10563
|
)
|
|
10497
10564
|
] }) : null,
|
|
10498
|
-
!state.loading && !state.error && active.length === 0 ? /* @__PURE__ */
|
|
10499
|
-
active.length > 0 ? /* @__PURE__ */
|
|
10565
|
+
!state.loading && !state.error && active.length === 0 ? /* @__PURE__ */ jsx22("p", { role: "status", className: "text-og-fg-muted", children: "No background commands running." }) : null,
|
|
10566
|
+
active.length > 0 ? /* @__PURE__ */ jsx22("ul", { className: "max-h-64 overflow-y-auto overscroll-contain divide-y divide-og-border/40", children: active.map((command) => /* @__PURE__ */ jsxs16("li", { className: "flex items-start gap-3 py-2 first:pt-0 last:pb-0", children: [
|
|
10500
10567
|
/* @__PURE__ */ jsxs16("div", { className: "min-w-0 flex-1", children: [
|
|
10501
10568
|
/* @__PURE__ */ jsxs16("details", { className: "group/command", children: [
|
|
10502
10569
|
/* @__PURE__ */ jsxs16(
|
|
@@ -10505,13 +10572,13 @@ function SessionCommandsPanel({
|
|
|
10505
10572
|
className: "flex cursor-pointer list-none items-center gap-1.5 rounded-og-sm font-mono text-og-fg outline-hidden focus-visible:ring-2 focus-visible:ring-og-accent/40",
|
|
10506
10573
|
title: "Expand command",
|
|
10507
10574
|
children: [
|
|
10508
|
-
/* @__PURE__ */
|
|
10509
|
-
/* @__PURE__ */
|
|
10575
|
+
/* @__PURE__ */ jsx22(ChevronRightIcon4, { className: "size-3 shrink-0 text-og-fg-subtle transition-transform group-open/command:rotate-90" }),
|
|
10576
|
+
/* @__PURE__ */ jsx22("span", { className: "truncate", children: command.commandPreview || "Background command" })
|
|
10510
10577
|
]
|
|
10511
10578
|
}
|
|
10512
10579
|
),
|
|
10513
10580
|
/* @__PURE__ */ jsxs16("div", { className: "mt-2 space-y-1", children: [
|
|
10514
|
-
/* @__PURE__ */
|
|
10581
|
+
/* @__PURE__ */ jsx22("p", { className: "whitespace-pre-wrap break-all font-mono text-og-fg-muted", children: command.commandPreview || "Background command" }),
|
|
10515
10582
|
/* @__PURE__ */ jsxs16(
|
|
10516
10583
|
"time",
|
|
10517
10584
|
{
|
|
@@ -10526,7 +10593,7 @@ function SessionCommandsPanel({
|
|
|
10526
10593
|
)
|
|
10527
10594
|
] })
|
|
10528
10595
|
] }),
|
|
10529
|
-
/* @__PURE__ */
|
|
10596
|
+
/* @__PURE__ */ jsx22("p", { className: "mt-1 text-og-fg-subtle", children: command.state === "stopping" ? "Stopping\u2026" : "Running" })
|
|
10530
10597
|
] }),
|
|
10531
10598
|
!readOnly ? /* @__PURE__ */ jsxs16(
|
|
10532
10599
|
"button",
|
|
@@ -10537,13 +10604,13 @@ function SessionCommandsPanel({
|
|
|
10537
10604
|
onClick: () => void stop(command.id),
|
|
10538
10605
|
className: "inline-flex min-h-7 shrink-0 items-center gap-1 rounded-og-sm px-2 text-og-fg-muted outline-hidden hover:bg-og-surface-3/70 hover:text-og-fg focus-visible:ring-2 focus-visible:ring-og-accent/40 disabled:opacity-50 pointer-coarse:min-h-11",
|
|
10539
10606
|
children: [
|
|
10540
|
-
pending === command.id || command.state === "stopping" ? /* @__PURE__ */
|
|
10607
|
+
pending === command.id || command.state === "stopping" ? /* @__PURE__ */ jsx22(Loader2Icon3, { className: "size-3 animate-og-spin motion-reduce:animate-none" }) : /* @__PURE__ */ jsx22(SquareIcon, { className: "size-3" }),
|
|
10541
10608
|
"Stop"
|
|
10542
10609
|
]
|
|
10543
10610
|
}
|
|
10544
10611
|
) : null
|
|
10545
10612
|
] }, command.id)) }) : null,
|
|
10546
|
-
error ? /* @__PURE__ */
|
|
10613
|
+
error ? /* @__PURE__ */ jsx22("p", { role: "alert", className: "text-og-danger", children: error }) : null
|
|
10547
10614
|
] });
|
|
10548
10615
|
}
|
|
10549
10616
|
|
|
@@ -10611,4 +10678,4 @@ export {
|
|
|
10611
10678
|
SessionChrome,
|
|
10612
10679
|
SessionCommandsPanel
|
|
10613
10680
|
};
|
|
10614
|
-
//# sourceMappingURL=chunk-
|
|
10681
|
+
//# sourceMappingURL=chunk-2ZICNIGZ.js.map
|