Skip to content

feat(slack-app): stream live agent status to Slack thread (chat.startStream)#64293

Draft
VojtechBartos wants to merge 12 commits into
masterfrom
vojtab/slack-agent-design-relay
Draft

feat(slack-app): stream live agent status to Slack thread (chat.startStream)#64293
VojtechBartos wants to merge 12 commits into
masterfrom
vojtab/slack-agent-design-relay

Conversation

@VojtechBartos

@VojtechBartos VojtechBartos commented Jun 17, 2026

Copy link
Copy Markdown
Member

Problem

Slack threads triggered by PostHog Code @-mentions show only a static "Working on task…" placeholder during multi-minute runs. We want a live status line that updates as the agent works — matching Slack's agent design for channel mentions.

Slack's full assistant UI (AGENT badge, collapsible plan block) is gated to DM assistant containers, but chat.startStream / chat.appendStream / chat.stopStream are available in channels and support task_display_mode: "plan" — same primitive Claude uses for its in-channel "Summarising findings…" status. Only requires chat:write (no assistant:write needed).

Architecture

posthog-code sandbox
  └ SSE: _posthog/status notification (emitted by paired PostHog/code#2732)
     └ relay_sandbox_events activity (existing, long-running)
        ├ on first session/update of a turn → signal parent.turn_started
        ├ on status notification → signal parent.agent_status_update(text)
        └ on is_turn_complete → signal parent.turn_completed
        │
        ▼ (signals, async fire-and-forget — never blocks the activity loop)
ProcessTaskWorkflow (parent · per-task · sandbox lifecycle unchanged)
  ├ @signal turn_started → start_child_workflow(SlackStatusRelayWorkflow)
  ├ @signal agent_status_update → forward to current child
  └ @signal turn_completed → child.complete_turn()
        │
        ▼ (per turn)
SlackStatusRelayWorkflow  (NEW per-turn child)
  ├ debounce 1 s · throttle ≥ 2 s · one in-flight activity
  ├ idle timeout 5 m · execution ceiling 1 h
  ├ on first signal → start_slack_status_stream  (chat.startStream + task_display_mode: "plan")
  ├ on each coalesced status → append_slack_status_step  (chat.appendStream: previous→complete, new→in_progress)
  └ on complete_turn → stop_slack_status_stream  (chat.appendStream: last→complete, chat.stopStream)

Changes

  • New SlackThreadHandler methods: start_status_stream, append_status_step, stop_status_stream. Each wraps the corresponding slack_sdk stream call.
  • New short activities: start_slack_status_stream (returns the stream ts or None), append_slack_status_step, stop_slack_status_stream. Failures logged + swallowed.
  • New SlackStatusRelayWorkflow per-turn child. Tracks _stream_ts, _current_task_id, _current_task_title. Opens the stream on first signal, appends step transitions, finalizes in try / finally so cancellation or idle timeout still closes the stream.
  • relay_sandbox_events consumes the new _posthog/status notification (paired with feat(agent): emit status notifications for orchestrator streaming code#2732) and emits three signal types: turn_started, agent_status_update, turn_completed.
  • ProcessTaskWorkflow gains three signal handlers that own the child workflow lifecycle. Static "Working on task…" placeholder is skipped when the streaming gate is on.
  • evaluate_slack_streaming_gate activity wraps the region-aware feature flag posthog-code-slack-agent-status + chat:write scope check.
  • Workflow + three activities registered on TASKS_TASK_QUEUE.

Rate-limit math: chat.appendStream shares chat.update's tier-3 ceilings (~50/min). Debounce 1 s + throttle ≥ 2 s caps us at ≤ 30 appendStream calls/min/turn — comfortably under.

How did you test this code?

Agent-authored. Follow-up tests planned (not yet committed):

  • Workflow time-skipping tests for the child (debounce, throttle, idle timeout, stream lifecycle).
  • Parent workflow tests for child-spawn / forward-signal / child-shutdown across two consecutive turns and gate-off path.

End-to-end verification with the flag enabled is paired with PostHog/code; once both deploy I'll enable for one team locally and confirm the plan block renders in the channel thread.

🤖 Agent context

Autonomy: Human-driven (agent-assisted)

Model: Claude Opus 4.7. Paired with PostHog/code#2732 which emits the upstream _posthog/status events. Decisions:

  • Channel surface with chat.startStream (over DM-assistant surface with assistant.threads.setStatus) — keeps the @-mention flow which is where PostHog Code users actually live; channel streaming gets us the native plan-block UI without needing assistant:write granted to existing installs.
  • Per-turn child workflow (over per-task long-running activity) — atomic turn state, no cross-turn leakage, deterministic time-skipping testable, no new long-running activity.
  • Rate-limit machinery inside the workflow (over per-event activity) — workflow.sleep / workflow.now stay deterministic for replay.

Replace the static "Working on task…" placeholder with a single live status
message that gets chat_update'd as the agent works ("Reading api.py" →
"Running tests" → completion).

Architecture: relay_sandbox_events consumes the new _posthog/status
notification (emitted by the agent in PostHog/code) and signals the parent
ProcessTaskWorkflow on per-turn boundaries. The parent spawns a per-turn
SlackStatusRelayWorkflow child workflow that owns a debounce + throttle
flusher (1s debounce, ≥2s throttle, one in-flight activity, idle timeout
5m, execution ceiling 1h) and dispatches update_slack_status activities.

Region-aware feature flag posthog-code-slack-agent-status gates the whole
thing; requires chat:write on the integration. With the flag off the
legacy placeholder path is unchanged.
@greptile-apps

greptile-apps Bot commented Jun 17, 2026

Copy link
Copy Markdown
Contributor
Prompt To Fix All With AI
Fix the following 2 code review issues. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 2
products/tasks/backend/temporal/process_task/slack_status_relay.py:64-81
**Last pending status silently dropped at turn boundary**

When `complete_turn` and a recent `agent_status_update` signal arrive in the same scheduler tick, `wait_condition` returns with both `_turn_complete = True` and `_pending_text != None` already set. The `if self._turn_complete: break` guard fires immediately, bypassing the debounce/dispatch path and discarding the pending text. The last agent status message before a turn ends is therefore silently lost.

To flush the final status, a one-shot dispatch before `break` would prevent the loss — e.g. check `self._pending_text` after `wait_condition` returns, and dispatch if `_pending_text` is set and differs from `_last_dispatched_text`, even when `_turn_complete` is True.

### Issue 2 of 2
products/tasks/backend/temporal/process_task/activities/evaluate_slack_streaming_gate.py:32
Loading `Integration` without `select_related('team')` causes an extra DB query when `should_stream_slack_status` accesses `integration.team.organization_id`, giving an N+1 roundtrip on every gate evaluation.

```suggestion
        integration = Integration.objects.select_related("team").get(id=input.integration_id)
```

Reviews (1): Last reviewed commit: "feat(slack-app): stream live agent statu..." | Re-trigger Greptile

Comment thread products/tasks/backend/temporal/process_task/slack_status_relay.py Outdated
from products.slack_app.backend.services.agent_status import should_stream_slack_status

try:
integration = Integration.objects.get(id=input.integration_id)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Loading Integration without select_related('team') causes an extra DB query when should_stream_slack_status accesses integration.team.organization_id, giving an N+1 roundtrip on every gate evaluation.

Suggested change
integration = Integration.objects.get(id=input.integration_id)
integration = Integration.objects.select_related("team").get(id=input.integration_id)
Prompt To Fix With AI
This is a comment left during a code review.
Path: products/tasks/backend/temporal/process_task/activities/evaluate_slack_streaming_gate.py
Line: 32

Comment:
Loading `Integration` without `select_related('team')` causes an extra DB query when `should_stream_slack_status` accesses `integration.team.organization_id`, giving an N+1 roundtrip on every gate evaluation.

```suggestion
        integration = Integration.objects.select_related("team").get(id=input.integration_id)
```

How can I resolve this? If you propose a fix, please make it concise.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Switch the per-turn status flow from chat_update on a single message to
Slack's native streaming methods (chat.startStream / appendStream /
stopStream) with task_display_mode='plan'. Renders as the collapsible
plan block in the channel thread, with task_update chunks transitioning
each step from in_progress to complete as the agent moves between
actions.

SlackThreadHandler grows three stream methods (start / append / stop)
to replace the single update_status. The per-turn child workflow opens
the stream on first signal, appends step transitions for each coalesced
status, and finalizes in a try/finally so a cancellation or idle timeout
still closes the stream cleanly.

Still only requires chat:write (no assistant:write needed for the
channel surface). Rate limits (debounce 1s, throttle ≥2s, one in-flight,
idle 5m, execution 1h) carry over unchanged.
@VojtechBartos VojtechBartos changed the title feat(slack-app): stream live agent status to Slack thread feat(slack-app): stream live agent status to Slack thread (chat.startStream) Jun 17, 2026
VojtechBartos and others added 4 commits June 17, 2026 16:25
Two refinements on top of the streaming-plan-block path:

1. Plan-block steps now show the bare tool name (e.g. "Read", "Bash") as
   the title and a short args preview (file path / command / query) as the
   details line, matching the Wordsmith / posthog-code agent UI. The
   `_posthog/status` notification from the agent carries tool_name and
   tool_args_preview; the orchestrator forwards them through as an
   agent_status_update payload dict.

2. Agent narrative text (assistant message chunks from session/update
   events) streams into the same Slack message as markdown_text chunks,
   appearing under the plan block exactly like the screenshot. A new
   agent_text_delta signal wires the relay activity → parent workflow →
   per-turn child workflow; the child's debounce/throttle flusher emits
   step transitions and narrative deltas in a single appendStream call.

Single-channel-message UX: one streamed chat message per turn carries
both the thinking plan block and the streaming answer.
When the streaming path is on, the follow-up turn's assistant text has
already streamed into the per-turn plan-block message via markdown_text
chunks. The legacy posthog-code-agent-relay workflow would post the same
text as a separate thread message — duplicating what the user just saw.

Persist the gate decision to TaskRun.state under STREAMING_STATE_KEY when
evaluate_slack_streaming_gate runs, then have forward_pending_message's
_enqueue_pending_reply_relay early-return when that flag is set.

Delivery-failure path (_enqueue_pending_delivery_failure_relay) still
fires unconditionally — that's a critical error the user needs to see,
and the streamed message can't carry it after chat.stopStream has been
called.
Add a `kind` field to TaskRunRelayMessageRequestSerializer with values
'reply' (default) or 'question'. When the streaming plan-block path is
active for a run (TaskRun.state[STREAMING_STATE_KEY] is True), the
relay_message endpoint returns skipped for kind='reply' — the agent's
narrative has already streamed into the per-turn plan-block message and
posting it again duplicates the entire reply as a separate message.
Questions always relay; they're a pause-and-wait interaction the user
needs to see.

The paired PostHog/code change tags the agent-server's initial-response
relay as kind='reply' (default) and the question relay as kind='question'.
@github-actions

github-actions Bot commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Size Change: 0 B

Total Size: 64.4 MB

ℹ️ View Unchanged
Filename Size
frontend/dist-report/decompression-worker/src/scenes/session-recordings/player/snapshot-processing/decompressionWorker 2.85 kB
frontend/dist-report/exporter/_chunks/chunk 2.62 MB
frontend/dist-report/exporter/_parent/products/actions/frontend/pages/Action 27.7 kB
frontend/dist-report/exporter/_parent/products/actions/frontend/pages/Actions 5.42 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/AIObservabilityScene 121 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/AIObservabilitySessionScene 20.9 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/AIObservabilityTraceScene 134 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/AIObservabilityUsers 3.31 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/clusters/AIObservabilityClusterScene 21.8 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/clusters/AIObservabilityClustersScene 54.5 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/datasets/AIObservabilityDatasetScene 20.7 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/datasets/AIObservabilityDatasetsScene 4.1 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/evaluations/AIObservabilityEvaluation 59.9 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/evaluations/AIObservabilityEvaluationsScene 31.9 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/evaluations/EvaluationTemplates 671 B
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/LLMASessionFeedbackDisplay 4.81 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/playground/AIObservabilityPlaygroundScene 37.9 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/prompts/LLMPromptScene 32.6 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/prompts/LLMPromptsScene 5.25 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/tags/AIObservabilityTag 31.7 kB
frontend/dist-report/exporter/_parent/products/ai_observability/frontend/tags/AIObservabilityTagsScene 11.5 kB
frontend/dist-report/exporter/_parent/products/business_knowledge/frontend/scenes/BusinessKnowledgeScene 22.4 kB
frontend/dist-report/exporter/_parent/products/conversations/frontend/components/Assignee/CyclotronJobInputAssignee 1.38 kB
frontend/dist-report/exporter/_parent/products/conversations/frontend/components/SlaBusinessHours/CyclotronJobInputBusinessHours 2.69 kB
frontend/dist-report/exporter/_parent/products/conversations/frontend/components/TicketTags/CyclotronJobInputTicketTags 783 B
frontend/dist-report/exporter/_parent/products/conversations/frontend/scenes/settings/SupportSettingsScene 5.56 kB
frontend/dist-report/exporter/_parent/products/conversations/frontend/scenes/ticket/SupportTicketScene 38.8 kB
frontend/dist-report/exporter/_parent/products/conversations/frontend/scenes/tickets/SupportTicketsScene 1.68 kB
frontend/dist-report/exporter/_parent/products/customer_analytics/frontend/CustomerAnalyticsScene 92.3 kB
frontend/dist-report/exporter/_parent/products/customer_analytics/frontend/scenes/CustomerAnalyticsConfigurationScene/CustomerAnalyticsConfigurationScene 6.31 kB
frontend/dist-report/exporter/_parent/products/customer_analytics/frontend/scenes/CustomerJourneyBuilderScene/CustomerJourneyBuilderScene 6.09 kB
frontend/dist-report/exporter/_parent/products/customer_analytics/frontend/scenes/CustomerJourneyTemplatesScene/CustomerJourneyTemplatesScene 9.13 kB
frontend/dist-report/exporter/_parent/products/data_warehouse/DataWarehouseScene 29.2 kB
frontend/dist-report/exporter/_parent/products/data_warehouse/frontend/scenes/NewSourceScene/NewSourceScene 2.74 kB
frontend/dist-report/exporter/_parent/products/data_warehouse/frontend/scenes/SchemaScene/SchemaScene 28.7 kB
frontend/dist-report/exporter/_parent/products/data_warehouse/frontend/scenes/SourceConnectScene/SourceConnectScene 6.83 kB
frontend/dist-report/exporter/_parent/products/data_warehouse/frontend/scenes/SourceScene/SourceScene 2.52 kB
frontend/dist-report/exporter/_parent/products/data_warehouse/frontend/scenes/SourcesScene/SourcesScene 7.39 kB
frontend/dist-report/exporter/_parent/products/early_access_features/frontend/EarlyAccessFeature 5.3 kB
frontend/dist-report/exporter/_parent/products/early_access_features/frontend/EarlyAccessFeatures 3.76 kB
frontend/dist-report/exporter/_parent/products/endpoints/frontend/EndpointScene 47.3 kB
frontend/dist-report/exporter/_parent/products/endpoints/frontend/EndpointsScene 27.2 kB
frontend/dist-report/exporter/_parent/products/engineering_analytics/frontend/scenes/EngineeringAnalyticsScene 20.7 kB
frontend/dist-report/exporter/_parent/products/engineering_analytics/frontend/scenes/PullRequestDetailScene 11.5 kB
frontend/dist-report/exporter/_parent/products/error_tracking/frontend/scenes/ErrorTrackingFingerprintsScene/ErrorTrackingIssueFingerprintsScene 7.69 kB
frontend/dist-report/exporter/_parent/products/error_tracking/frontend/scenes/ErrorTrackingIssueScene/ErrorTrackingIssueScene 102 kB
frontend/dist-report/exporter/_parent/products/error_tracking/frontend/scenes/ErrorTrackingScene/ErrorTrackingScene 42.2 kB
frontend/dist-report/exporter/_parent/products/feature_flags/frontend/FeatureFlagTemplatesScene 6.91 kB
frontend/dist-report/exporter/_parent/products/games/368Hedgehogs/368Hedgehogs 5.24 kB
frontend/dist-report/exporter/_parent/products/games/FlappyHog/FlappyHog 5.7 kB
frontend/dist-report/exporter/_parent/products/legal_documents/frontend/scenes/LegalDocumentNewScene 60.5 kB
frontend/dist-report/exporter/_parent/products/legal_documents/frontend/scenes/LegalDocumentsScene 6.71 kB
frontend/dist-report/exporter/_parent/products/links/frontend/LinkScene 25.5 kB
frontend/dist-report/exporter/_parent/products/links/frontend/LinksScene 5.18 kB
frontend/dist-report/exporter/_parent/products/live_debugger/frontend/LiveDebugger 19.6 kB
frontend/dist-report/exporter/_parent/products/logs/frontend/LogsScene 22.7 kB
frontend/dist-report/exporter/_parent/products/logs/frontend/scenes/LogsAlertDetailScene/LogsAlertDetailScene 18.6 kB
frontend/dist-report/exporter/_parent/products/logs/frontend/scenes/LogsAlertNotificationDetailScene/LogsAlertNotificationDetailScene 9.03 kB
frontend/dist-report/exporter/_parent/products/logs/frontend/scenes/LogsSamplingDetailScene/LogsSamplingDetailScene 6.18 kB
frontend/dist-report/exporter/_parent/products/logs/frontend/scenes/LogsSamplingNewScene/LogsSamplingNewScene 3.19 kB
frontend/dist-report/exporter/_parent/products/managed_migrations/frontend/ManagedMigration 15.3 kB
frontend/dist-report/exporter/_parent/products/mcp_analytics/frontend/MCPAnalyticsScene 106 kB
frontend/dist-report/exporter/_parent/products/mcp_analytics/frontend/MCPAnalyticsToolDetail 20.4 kB
frontend/dist-report/exporter/_parent/products/metrics/frontend/MetricsScene 18 kB
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/stickiness/StickinessBarChart/StickinessBarChart 4.07 kB
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/stickiness/StickinessLineChart/StickinessLineChart 3.95 kB
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/trends/TrendsBarChart/TrendsBarChart 9.76 kB
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/trends/TrendsLifecycleChart/TrendsLifecycleChart 5.92 kB
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/trends/TrendsLineChart/TrendsLineChart 5.63 kB
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/trends/TrendsPieChart/TrendsPieChart 5.13 kB
frontend/dist-report/exporter/_parent/products/product_analytics/frontend/insights/trends/TrendsSlopeChart/TrendsSlopeChart 2.69 kB
frontend/dist-report/exporter/_parent/products/replay_vision/frontend/observations/ReplayObservation 17.7 kB
frontend/dist-report/exporter/_parent/products/replay_vision/frontend/replay_scanners/ReplayScanner 35.5 kB
frontend/dist-report/exporter/_parent/products/replay_vision/frontend/replay_scanners/ReplayScannersScene 21.8 kB
frontend/dist-report/exporter/_parent/products/replay_vision/frontend/replay_scanners/ScannerEditorScene 25.1 kB
frontend/dist-report/exporter/_parent/products/revenue_analytics/frontend/revenueAnalyticsLogic 1.52 kB
frontend/dist-report/exporter/_parent/products/revenue_analytics/frontend/RevenueAnalyticsScene 29.5 kB
frontend/dist-report/exporter/_parent/products/session_summaries/frontend/SessionGroupSummariesTable 5.44 kB
frontend/dist-report/exporter/_parent/products/session_summaries/frontend/SessionGroupSummaryScene 23 kB
frontend/dist-report/exporter/_parent/products/skills/frontend/LLMSkillScene 1.5 kB
frontend/dist-report/exporter/_parent/products/skills/frontend/LLMSkillsScene 1.51 kB
frontend/dist-report/exporter/_parent/products/tasks/frontend/SlackTaskContextScene 9.33 kB
frontend/dist-report/exporter/_parent/products/tasks/frontend/TaskDetailScene 25.1 kB
frontend/dist-report/exporter/_parent/products/tasks/frontend/TaskTracker 14.8 kB
frontend/dist-report/exporter/_parent/products/tracing/frontend/TracingScene 86.4 kB
frontend/dist-report/exporter/_parent/products/user_interviews/frontend/UserInterview 10.9 kB
frontend/dist-report/exporter/_parent/products/user_interviews/frontend/UserInterviewResponse 8.08 kB
frontend/dist-report/exporter/_parent/products/user_interviews/frontend/UserInterviews 6.49 kB
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewIndexScene 3.03 kB
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewRunScene 46.8 kB
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewRunsScene 8.21 kB
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewSettingsScene 11.6 kB
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewSnapshotHistoryScene 14.3 kB
frontend/dist-report/exporter/_parent/products/visual_review/frontend/scenes/VisualReviewSnapshotOverviewScene 19.8 kB
frontend/dist-report/exporter/_parent/products/workflows/frontend/TemplateLibrary/MessageTemplate 17 kB
frontend/dist-report/exporter/_parent/products/workflows/frontend/Workflows/WorkflowScene 110 kB
frontend/dist-report/exporter/_parent/products/workflows/frontend/WorkflowsScene 61.3 kB
frontend/dist-report/exporter/src/exporter/exporter 44.6 kB
frontend/dist-report/exporter/src/exporter/scenes/ExporterDashboardScene 6.33 kB
frontend/dist-report/exporter/src/exporter/scenes/ExporterHeatmapScene 20.2 kB
frontend/dist-report/exporter/src/exporter/scenes/ExporterInsightScene 6.97 kB
frontend/dist-report/exporter/src/exporter/scenes/ExporterInterviewScene 310 kB
frontend/dist-report/exporter/src/exporter/scenes/ExporterNotebookScene 2.88 MB
frontend/dist-report/exporter/src/exporter/scenes/ExporterRecordingScene 5.36 kB
frontend/dist-report/exporter/src/exporterSharedChunkAnchors 1.3 kB
frontend/dist-report/exporter/src/lib/components/ActivityLog/describers 129 kB
frontend/dist-report/exporter/src/lib/components/Cards/TextCard/TextCardMarkdownEditor 10.6 kB
frontend/dist-report/exporter/src/lib/components/MonacoDiffEditor 533 B
frontend/dist-report/exporter/src/lib/lemon-ui/LemonMarkdown/MermaidDiagram 2 kB
frontend/dist-report/exporter/src/lib/lemon-ui/LemonTextArea/LemonTextAreaMarkdown 790 B
frontend/dist-report/exporter/src/lib/lemon-ui/Link/Link 415 B
frontend/dist-report/exporter/src/lib/monaco/CodeEditor 448 B
frontend/dist-report/exporter/src/lib/monaco/CodeEditorImpl 26 kB
frontend/dist-report/exporter/src/lib/monaco/CodeEditorInline 649 B
frontend/dist-report/exporter/src/lib/monaco/vimMode 211 kB
frontend/dist-report/exporter/src/lib/ui/Button/ButtonPrimitives 482 B
frontend/dist-report/exporter/src/queries/nodes/WebVitals/WebVitals 11.2 kB
frontend/dist-report/exporter/src/queries/nodes/WebVitals/WebVitalsPathBreakdown 4.77 kB
frontend/dist-report/exporter/src/queries/Query/Query 4.84 kB
frontend/dist-report/exporter/src/queries/schema 931 kB
frontend/dist-report/exporter/src/scenes/approvals/changeRequestsLogic 622 B
frontend/dist-report/exporter/src/scenes/authentication/login/loginLogic 569 B
frontend/dist-report/exporter/src/scenes/authentication/shared/passkeyLogic 602 B
frontend/dist-report/exporter/src/scenes/data-pipelines/event-filtering/EventFilterScene 22.7 kB
frontend/dist-report/exporter/src/scenes/data-pipelines/TransformationsScene 7.92 kB
frontend/dist-report/exporter/src/scenes/experiments/notebook/NotebookCompactTable 1.57 kB
frontend/dist-report/exporter/src/scenes/hog-functions/misc/Diff 1.35 kB
frontend/dist-report/exporter/src/scenes/insights/views/BoxPlot/BoxPlot 6.19 kB
frontend/dist-report/exporter/src/scenes/insights/views/CalendarHeatMap/CalendarHeatMap 8.92 kB
frontend/dist-report/exporter/src/scenes/insights/views/RegionMap/RegionMap 30.4 kB
frontend/dist-report/exporter/src/scenes/insights/views/WorldMap/WorldMap 1.04 MB
frontend/dist-report/exporter/src/scenes/models/ModelsScene 19.1 kB
frontend/dist-report/exporter/src/scenes/models/NodeDetailScene 18.9 kB
frontend/dist-report/monaco-editor-worker/src/lib/monaco/workers/monacoEditorWorker 288 kB
frontend/dist-report/monaco-json-worker/src/lib/monaco/workers/monacoJsonWorker 419 kB
frontend/dist-report/monaco-typescript-worker/src/lib/monaco/workers/monacoTsWorker 7.02 MB
frontend/dist-report/posthog-app/_chunks/chunk 2.62 MB
frontend/dist-report/posthog-app/_parent/products/actions/frontend/pages/Action 29.2 kB
frontend/dist-report/posthog-app/_parent/products/actions/frontend/pages/Actions 6.82 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/AIObservabilityScene 123 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/AIObservabilitySessionScene 21.1 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/AIObservabilityTraceScene 135 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/AIObservabilityUsers 4.19 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/clusters/AIObservabilityClusterScene 22.4 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/clusters/AIObservabilityClustersScene 55 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/datasets/AIObservabilityDatasetScene 21.3 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/datasets/AIObservabilityDatasetsScene 4.65 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/evaluations/AIObservabilityEvaluation 60.5 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/evaluations/AIObservabilityEvaluationsScene 33.3 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/evaluations/EvaluationTemplates 671 B
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/LLMASessionFeedbackDisplay 4.81 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/playground/AIObservabilityPlaygroundScene 38.5 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/prompts/LLMPromptScene 34 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/prompts/LLMPromptsScene 5.79 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/tags/AIObservabilityTag 33.1 kB
frontend/dist-report/posthog-app/_parent/products/ai_observability/frontend/tags/AIObservabilityTagsScene 12.9 kB
frontend/dist-report/posthog-app/_parent/products/business_knowledge/frontend/scenes/BusinessKnowledgeScene 23 kB
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/components/Assignee/CyclotronJobInputAssignee 1.38 kB
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/components/SlaBusinessHours/CyclotronJobInputBusinessHours 2.7 kB
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/components/TicketTags/CyclotronJobInputTicketTags 783 B
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/scenes/settings/SupportSettingsScene 7.67 kB
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/scenes/ticket/SupportTicketScene 33.6 kB
frontend/dist-report/posthog-app/_parent/products/conversations/frontend/scenes/tickets/SupportTicketsScene 2.22 kB
frontend/dist-report/posthog-app/_parent/products/customer_analytics/frontend/CustomerAnalyticsScene 92.6 kB
frontend/dist-report/posthog-app/_parent/products/customer_analytics/frontend/scenes/CustomerAnalyticsConfigurationScene/CustomerAnalyticsConfigurationScene 8.42 kB
frontend/dist-report/posthog-app/_parent/products/customer_analytics/frontend/scenes/CustomerJourneyBuilderScene/CustomerJourneyBuilderScene 7.45 kB
frontend/dist-report/posthog-app/_parent/products/customer_analytics/frontend/scenes/CustomerJourneyTemplatesScene/CustomerJourneyTemplatesScene 10 kB
frontend/dist-report/posthog-app/_parent/products/data_warehouse/DataWarehouseScene 2.11 kB
frontend/dist-report/posthog-app/_parent/products/data_warehouse/frontend/scenes/NewSourceScene/NewSourceScene 3.56 kB
frontend/dist-report/posthog-app/_parent/products/data_warehouse/frontend/scenes/SchemaScene/SchemaScene 29.2 kB
frontend/dist-report/posthog-app/_parent/products/data_warehouse/frontend/scenes/SourceConnectScene/SourceConnectScene 7.58 kB
frontend/dist-report/posthog-app/_parent/products/data_warehouse/frontend/scenes/SourceScene/SourceScene 3.23 kB
frontend/dist-report/posthog-app/_parent/products/data_warehouse/frontend/scenes/SourcesScene/SourcesScene 8.1 kB
frontend/dist-report/posthog-app/_parent/products/early_access_features/frontend/EarlyAccessFeature 6.83 kB
frontend/dist-report/posthog-app/_parent/products/early_access_features/frontend/EarlyAccessFeatures 4.31 kB
frontend/dist-report/posthog-app/_parent/products/endpoints/frontend/EndpointScene 48.7 kB
frontend/dist-report/posthog-app/_parent/products/endpoints/frontend/EndpointsScene 26.6 kB
frontend/dist-report/posthog-app/_parent/products/engineering_analytics/frontend/scenes/EngineeringAnalyticsScene 21.3 kB
frontend/dist-report/posthog-app/_parent/products/engineering_analytics/frontend/scenes/PullRequestDetailScene 12 kB
frontend/dist-report/posthog-app/_parent/products/error_tracking/frontend/scenes/ErrorTrackingFingerprintsScene/ErrorTrackingIssueFingerprintsScene 8.27 kB
frontend/dist-report/posthog-app/_parent/products/error_tracking/frontend/scenes/ErrorTrackingIssueScene/ErrorTrackingIssueScene 103 kB
frontend/dist-report/posthog-app/_parent/products/error_tracking/frontend/scenes/ErrorTrackingScene/ErrorTrackingScene 44.6 kB
frontend/dist-report/posthog-app/_parent/products/feature_flags/frontend/FeatureFlagTemplatesScene 6.92 kB
frontend/dist-report/posthog-app/_parent/products/games/368Hedgehogs/368Hedgehogs 5.24 kB
frontend/dist-report/posthog-app/_parent/products/games/FlappyHog/FlappyHog 5.7 kB
frontend/dist-report/posthog-app/_parent/products/legal_documents/frontend/scenes/LegalDocumentNewScene 61.1 kB
frontend/dist-report/posthog-app/_parent/products/legal_documents/frontend/scenes/LegalDocumentsScene 7.26 kB
frontend/dist-report/posthog-app/_parent/products/links/frontend/LinkScene 26 kB
frontend/dist-report/posthog-app/_parent/products/links/frontend/LinksScene 5.73 kB
frontend/dist-report/posthog-app/_parent/products/live_debugger/frontend/LiveDebugger 20.1 kB
frontend/dist-report/posthog-app/_parent/products/logs/frontend/components/LogsViewer/LogsViewerModal/LogsViewerModal 2.58 kB
frontend/dist-report/posthog-app/_parent/products/logs/frontend/LogsScene 24 kB
frontend/dist-report/posthog-app/_parent/products/logs/frontend/scenes/LogsAlertDetailScene/LogsAlertDetailScene 19.3 kB
frontend/dist-report/posthog-app/_parent/products/logs/frontend/scenes/LogsAlertNotificationDetailScene/LogsAlertNotificationDetailScene 9.6 kB
frontend/dist-report/posthog-app/_parent/products/logs/frontend/scenes/LogsSamplingDetailScene/LogsSamplingDetailScene 6.73 kB
frontend/dist-report/posthog-app/_parent/products/logs/frontend/scenes/LogsSamplingNewScene/LogsSamplingNewScene 3.73 kB
frontend/dist-report/posthog-app/_parent/products/managed_migrations/frontend/ManagedMigration 15.8 kB
frontend/dist-report/posthog-app/_parent/products/mcp_analytics/frontend/MCPAnalyticsScene 107 kB
frontend/dist-report/posthog-app/_parent/products/mcp_analytics/frontend/MCPAnalyticsToolDetail 21 kB
frontend/dist-report/posthog-app/_parent/products/metrics/frontend/MetricsScene 18.9 kB
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/stickiness/StickinessBarChart/StickinessBarChart 4.58 kB
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/stickiness/StickinessLineChart/StickinessLineChart 4.46 kB
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/trends/TrendsBarChart/TrendsBarChart 10.3 kB
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/trends/TrendsLifecycleChart/TrendsLifecycleChart 6.43 kB
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/trends/TrendsLineChart/TrendsLineChart 6.14 kB
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/trends/TrendsPieChart/TrendsPieChart 5.64 kB
frontend/dist-report/posthog-app/_parent/products/product_analytics/frontend/insights/trends/TrendsSlopeChart/TrendsSlopeChart 3.1 kB
frontend/dist-report/posthog-app/_parent/products/replay_vision/frontend/observations/ReplayObservation 19.9 kB
frontend/dist-report/posthog-app/_parent/products/replay_vision/frontend/replay_scanners/ReplayScanner 36.9 kB
frontend/dist-report/posthog-app/_parent/products/replay_vision/frontend/replay_scanners/ReplayScannersScene 23.2 kB
frontend/dist-report/posthog-app/_parent/products/replay_vision/frontend/replay_scanners/ScannerEditorScene 25.7 kB
frontend/dist-report/posthog-app/_parent/products/revenue_analytics/frontend/revenueAnalyticsLogic 1.9 kB
frontend/dist-report/posthog-app/_parent/products/revenue_analytics/frontend/RevenueAnalyticsScene 31 kB
frontend/dist-report/posthog-app/_parent/products/session_summaries/frontend/SessionGroupSummariesTable 5.98 kB
frontend/dist-report/posthog-app/_parent/products/session_summaries/frontend/SessionGroupSummaryScene 25.2 kB
frontend/dist-report/posthog-app/_parent/products/skills/frontend/LLMSkillScene 2.04 kB
frontend/dist-report/posthog-app/_parent/products/skills/frontend/LLMSkillsScene 2.06 kB
frontend/dist-report/posthog-app/_parent/products/tasks/frontend/SlackTaskContextScene 9.88 kB
frontend/dist-report/posthog-app/_parent/products/tasks/frontend/TaskDetailScene 25.7 kB
frontend/dist-report/posthog-app/_parent/products/tasks/frontend/TaskTracker 15.4 kB
frontend/dist-report/posthog-app/_parent/products/tracing/frontend/TracingScene 87 kB
frontend/dist-report/posthog-app/_parent/products/user_interviews/frontend/UserInterview 10.9 kB
frontend/dist-report/posthog-app/_parent/products/user_interviews/frontend/UserInterviewResponse 8.63 kB
frontend/dist-report/posthog-app/_parent/products/user_interviews/frontend/UserInterviews 7.04 kB
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewIndexScene 3.58 kB
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewRunScene 47.4 kB
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewRunsScene 8.76 kB
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewSettingsScene 12.2 kB
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewSnapshotHistoryScene 14.8 kB
frontend/dist-report/posthog-app/_parent/products/visual_review/frontend/scenes/VisualReviewSnapshotOverviewScene 20.3 kB
frontend/dist-report/posthog-app/_parent/products/workflows/frontend/TemplateLibrary/MessageTemplate 17.6 kB
frontend/dist-report/posthog-app/_parent/products/workflows/frontend/Workflows/WorkflowScene 104 kB
frontend/dist-report/posthog-app/_parent/products/workflows/frontend/WorkflowsScene 62.4 kB
frontend/dist-report/posthog-app/src/index 62.4 kB
frontend/dist-report/posthog-app/src/layout/panel-layout/ai-first/tabs/NavTabChat 7.99 kB
frontend/dist-report/posthog-app/src/lib/components/ActivityLog/describers 130 kB
frontend/dist-report/posthog-app/src/lib/components/AppShortcuts/utils/DebugCHQueriesImpl 19.2 kB
frontend/dist-report/posthog-app/src/lib/components/Cards/TextCard/TextCardMarkdownEditor 10.6 kB
frontend/dist-report/posthog-app/src/lib/components/MonacoDiffEditor 533 B
frontend/dist-report/posthog-app/src/lib/lemon-ui/LemonMarkdown/MermaidDiagram 2 kB
frontend/dist-report/posthog-app/src/lib/lemon-ui/LemonTextArea/LemonTextAreaMarkdown 790 B
frontend/dist-report/posthog-app/src/lib/lemon-ui/Link/Link 415 B
frontend/dist-report/posthog-app/src/lib/monaco/CodeEditor 448 B
frontend/dist-report/posthog-app/src/lib/monaco/CodeEditorImpl 26 kB
frontend/dist-report/posthog-app/src/lib/monaco/CodeEditorInline 649 B
frontend/dist-report/posthog-app/src/lib/monaco/vimMode 211 kB
frontend/dist-report/posthog-app/src/lib/ui/Button/ButtonPrimitives 482 B
frontend/dist-report/posthog-app/src/queries/nodes/WebVitals/WebVitals 12.6 kB
frontend/dist-report/posthog-app/src/queries/nodes/WebVitals/WebVitalsPathBreakdown 5.21 kB
frontend/dist-report/posthog-app/src/queries/Query/Query 6.2 kB
frontend/dist-report/posthog-app/src/queries/schema 931 kB
frontend/dist-report/posthog-app/src/scenes/activity/explore/EventsScene 8.37 kB
frontend/dist-report/posthog-app/src/scenes/activity/explore/SessionsScene 9.71 kB
frontend/dist-report/posthog-app/src/scenes/activity/live/LiveEventsTable 6.71 kB
frontend/dist-report/posthog-app/src/scenes/agentic/AgenticAuthorize 5.51 kB
frontend/dist-report/posthog-app/src/scenes/approvals/ApprovalDetail 17.8 kB
frontend/dist-report/posthog-app/src/scenes/approvals/changeRequestsLogic 622 B
frontend/dist-report/posthog-app/src/scenes/audit-logs/AdvancedActivityLogsScene 43.1 kB
frontend/dist-report/posthog-app/src/scenes/AuthenticatedShell 212 kB
frontend/dist-report/posthog-app/src/scenes/authentication/account/AccountConnected 3.04 kB
frontend/dist-report/posthog-app/src/scenes/authentication/account/AgenticAccountMismatch 2.43 kB
frontend/dist-report/posthog-app/src/scenes/authentication/account/credential-review/CredentialReview 5.04 kB
frontend/dist-report/posthog-app/src/scenes/authentication/cli/CLIAuthorize 11.3 kB
frontend/dist-report/posthog-app/src/scenes/authentication/cli/CLILive 4.05 kB
frontend/dist-report/posthog-app/src/scenes/authentication/email-mfa-verify/EmailMFAVerify 3.04 kB
frontend/dist-report/posthog-app/src/scenes/authentication/invite-signup/InviteSignup 1.4 kB
frontend/dist-report/posthog-app/src/scenes/authentication/login-2fa/Login2FA 4.74 kB
frontend/dist-report/posthog-app/src/scenes/authentication/login/Login 1.41 kB
frontend/dist-report/posthog-app/src/scenes/authentication/login/loginLogic 569 B
frontend/dist-report/posthog-app/src/scenes/authentication/password-reset/PasswordReset 4.5 kB
frontend/dist-report/posthog-app/src/scenes/authentication/password-reset/PasswordResetComplete 3.06 kB
frontend/dist-report/posthog-app/src/scenes/authentication/shared/passkeyLogic 602 B
frontend/dist-report/posthog-app/src/scenes/authentication/signup/SignupContainer 1.39 kB
frontend/dist-report/posthog-app/src/scenes/authentication/two-factor-reset/TwoFactorReset 4.04 kB
frontend/dist-report/posthog-app/src/scenes/authentication/vercel/VercelConnect 5.03 kB
frontend/dist-report/posthog-app/src/scenes/authentication/vercel/VercelLinkError 2.3 kB
frontend/dist-report/posthog-app/src/scenes/authentication/verify-email/VerifyEmail 4.79 kB
frontend/dist-report/posthog-app/src/scenes/billing/AuthorizationStatus 768 B
frontend/dist-report/posthog-app/src/scenes/billing/Billing 751 B
frontend/dist-report/posthog-app/src/scenes/billing/BillingSection 21.6 kB
frontend/dist-report/posthog-app/src/scenes/cohorts/Cohort 33.8 kB
frontend/dist-report/posthog-app/src/scenes/cohorts/CohortCalculationHistory 7.41 kB
frontend/dist-report/posthog-app/src/scenes/cohorts/Cohorts 11 kB
frontend/dist-report/posthog-app/src/scenes/coupons/Coupons 895 B
frontend/dist-report/posthog-app/src/scenes/dashboard/Dashboard 7.62 kB
frontend/dist-report/posthog-app/src/scenes/dashboard/dashboards/Dashboards 21.1 kB
frontend/dist-report/posthog-app/src/scenes/dashboard/dashboards/templates/DashboardTemplateCopyScene 7.13 kB
frontend/dist-report/posthog-app/src/scenes/data-management/DataManagementScene 6.52 kB
frontend/dist-report/posthog-app/src/scenes/data-management/definition/DefinitionEdit 23.1 kB
frontend/dist-report/posthog-app/src/scenes/data-management/definition/DefinitionView 31.3 kB
frontend/dist-report/posthog-app/src/scenes/data-management/MaterializedColumns/MaterializedColumns 12.9 kB
frontend/dist-report/posthog-app/src/scenes/data-management/variables/SqlVariableEditScene 8.6 kB
frontend/dist-report/posthog-app/src/scenes/data-pipelines/batch-exports/BatchExportScene 67.6 kB
frontend/dist-report/posthog-app/src/scenes/data-pipelines/DataPipelinesNewScene 5.11 kB
frontend/dist-report/posthog-app/src/scenes/data-pipelines/DestinationsScene 5.64 kB
frontend/dist-report/posthog-app/src/scenes/data-pipelines/event-filtering/EventFilterScene 23.3 kB
frontend/dist-report/posthog-app/src/scenes/data-pipelines/legacy-plugins/LegacyPluginScene 22 kB
frontend/dist-report/posthog-app/src/scenes/data-pipelines/TransformationsScene 4.75 kB
frontend/dist-report/posthog-app/src/scenes/data-pipelines/WebScriptsScene 5.51 kB
frontend/dist-report/posthog-app/src/scenes/data-warehouse/DataWarehouseScene 2.09 kB
frontend/dist-report/posthog-app/src/scenes/data-warehouse/editor/EditorScene 4.85 kB
frontend/dist-report/posthog-app/src/scenes/debug/DebugScene 25.2 kB
frontend/dist-report/posthog-app/src/scenes/debug/hog/HogRepl 9.09 kB
frontend/dist-report/posthog-app/src/scenes/experiments/Experiment 223 kB
frontend/dist-report/posthog-app/src/scenes/experiments/Experiments 23.1 kB
frontend/dist-report/posthog-app/src/scenes/experiments/notebook/NotebookCompactTable 2.01 kB
frontend/dist-report/posthog-app/src/scenes/experiments/SharedMetrics/SharedMetric 12.2 kB
frontend/dist-report/posthog-app/src/scenes/experiments/SharedMetrics/SharedMetrics 1.84 kB
frontend/dist-report/posthog-app/src/scenes/exports/ExportsScene 5.41 kB
frontend/dist-report/posthog-app/src/scenes/feature-flags/FeatureFlag 117 kB
frontend/dist-report/posthog-app/src/scenes/feature-flags/FeatureFlags 3.9 kB
frontend/dist-report/posthog-app/src/scenes/groups/Group 23.1 kB
frontend/dist-report/posthog-app/src/scenes/groups/Groups 9.35 kB
frontend/dist-report/posthog-app/src/scenes/groups/GroupsNew 8.69 kB
frontend/dist-report/posthog-app/src/scenes/health-alerts/HealthAlertsScene 6.37 kB
frontend/dist-report/posthog-app/src/scenes/health/categoryDetail/HealthCategoryDetailScene 13.1 kB
frontend/dist-report/posthog-app/src/scenes/health/HealthScene 17 kB
frontend/dist-report/posthog-app/src/scenes/health/pipelineStatus/PipelineStatusScene 12.4 kB
frontend/dist-report/posthog-app/src/scenes/heatmaps/scenes/heatmap/HeatmapNewScene 6.45 kB
frontend/dist-report/posthog-app/src/scenes/heatmaps/scenes/heatmap/HeatmapRecordingScene 5.18 kB
frontend/dist-report/posthog-app/src/scenes/heatmaps/scenes/heatmap/HeatmapScene 8.03 kB
frontend/dist-report/posthog-app/src/scenes/heatmaps/scenes/heatmaps/HeatmapsScene 5.26 kB
frontend/dist-report/posthog-app/src/scenes/hog-functions/HogFunctionScene 60.5 kB
frontend/dist-report/posthog-app/src/scenes/hog-functions/misc/Diff 1.39 kB
frontend/dist-report/posthog-app/src/scenes/inbox/InboxScene 164 kB
frontend/dist-report/posthog-app/src/scenes/insights/InsightQuickStart/InsightQuickStart 8.16 kB
frontend/dist-report/posthog-app/src/scenes/insights/InsightScene 39.6 kB
frontend/dist-report/posthog-app/src/scenes/insights/views/BoxPlot/BoxPlot 6.7 kB
frontend/dist-report/posthog-app/src/scenes/insights/views/CalendarHeatMap/CalendarHeatMap 9.29 kB
frontend/dist-report/posthog-app/src/scenes/insights/views/RegionMap/RegionMap 30.9 kB
frontend/dist-report/posthog-app/src/scenes/insights/views/WorldMap/WorldMap 6.23 kB
frontend/dist-report/posthog-app/src/scenes/instance/AsyncMigrations/AsyncMigrations 14.4 kB
frontend/dist-report/posthog-app/src/scenes/instance/DeadLetterQueue/DeadLetterQueue 6.75 kB
frontend/dist-report/posthog-app/src/scenes/instance/QueryPerformance/QueryPerformance 9.98 kB
frontend/dist-report/posthog-app/src/scenes/instance/SystemStatus/SystemStatus 18.2 kB
frontend/dist-report/posthog-app/src/scenes/integrations/IntegrationsLandingScene 1.67 kB
frontend/dist-report/posthog-app/src/scenes/IntegrationsRedirect/IntegrationsRedirect 921 B
frontend/dist-report/posthog-app/src/scenes/marketing-analytics/MarketingAnalyticsScene 46.7 kB
frontend/dist-report/posthog-app/src/scenes/max/Max 20 kB
frontend/dist-report/posthog-app/src/scenes/models/ModelsScene 19.7 kB
frontend/dist-report/posthog-app/src/scenes/models/NodeDetailScene 19.8 kB
frontend/dist-report/posthog-app/src/scenes/moveToPostHogCloud/MoveToPostHogCloud 4.5 kB
frontend/dist-report/posthog-app/src/scenes/new-tab/NewTabScene 2.76 kB
frontend/dist-report/posthog-app/src/scenes/notebooks/NotebookCanvasScene 12 kB
frontend/dist-report/posthog-app/src/scenes/notebooks/NotebookPanel/NotebookPanel 14 kB
frontend/dist-report/posthog-app/src/scenes/notebooks/NotebookScene 17.3 kB
frontend/dist-report/posthog-app/src/scenes/notebooks/NotebooksScene 8.79 kB
frontend/dist-report/posthog-app/src/scenes/oauth/OAuthAuthorize 810 B
frontend/dist-report/posthog-app/src/scenes/onboarding/coupon/OnboardingCouponRedemption 1.34 kB
frontend/dist-report/posthog-app/src/scenes/onboarding/Onboarding 795 kB
frontend/dist-report/posthog-app/src/scenes/onboarding/sdks/SdkHealthScene 9.21 kB
frontend/dist-report/posthog-app/src/scenes/organization/ConfirmOrganization/ConfirmOrganization 4.5 kB
frontend/dist-report/posthog-app/src/scenes/organization/Create/Create 704 B
frontend/dist-report/posthog-app/src/scenes/organization/Deactivated 1.17 kB
frontend/dist-report/posthog-app/src/scenes/organization/PendingDeletion 2.24 kB
frontend/dist-report/posthog-app/src/scenes/persons/PersonScene 28 kB
frontend/dist-report/posthog-app/src/scenes/persons/PersonsScene 11.6 kB
frontend/dist-report/posthog-app/src/scenes/PreflightCheck/PreflightCheck 5.57 kB
frontend/dist-report/posthog-app/src/scenes/product-tours/ProductTour 273 kB
frontend/dist-report/posthog-app/src/scenes/product-tours/ProductTours 6.07 kB
frontend/dist-report/posthog-app/src/scenes/project-homepage/ProjectHomepage 26.8 kB
frontend/dist-report/posthog-app/src/scenes/project/Create/Create 897 B
frontend/dist-report/posthog-app/src/scenes/project/PendingDeletion 2.6 kB
frontend/dist-report/posthog-app/src/scenes/resource-transfer/ResourceTransfer 10.6 kB
frontend/dist-report/posthog-app/src/scenes/saved-insights/SavedInsights 3.47 kB
frontend/dist-report/posthog-app/src/scenes/session-recordings/detail/SessionRecordingDetail 8.41 kB
frontend/dist-report/posthog-app/src/scenes/session-recordings/file-playback/SessionRecordingFilePlaybackScene 11 kB
frontend/dist-report/posthog-app/src/scenes/session-recordings/kiosk/SessionRecordingsKiosk 16.5 kB
frontend/dist-report/posthog-app/src/scenes/session-recordings/player/modal/SessionPlayerModal 8.12 kB
frontend/dist-report/posthog-app/src/scenes/session-recordings/player/snapshot-processing/DecompressionWorkerManager 323 B
frontend/dist-report/posthog-app/src/scenes/session-recordings/playlist/SessionRecordingsPlaylistScene 11.6 kB
frontend/dist-report/posthog-app/src/scenes/session-recordings/SessionRecordings 7.54 kB
frontend/dist-report/posthog-app/src/scenes/session-recordings/settings/SessionRecordingsSettingsScene 8.77 kB
frontend/dist-report/posthog-app/src/scenes/sessions/SessionProfileScene 21.6 kB
frontend/dist-report/posthog-app/src/scenes/settings/SettingsMap 6.52 kB
frontend/dist-report/posthog-app/src/scenes/settings/SettingsScene 9.76 kB
frontend/dist-report/posthog-app/src/scenes/sites/Site 1.57 kB
frontend/dist-report/posthog-app/src/scenes/startups/StartupProgram 21.1 kB
frontend/dist-report/posthog-app/src/scenes/StripeConfirmInstall/StripeConfirmInstall 3.67 kB
frontend/dist-report/posthog-app/src/scenes/subscriptions/SubscriptionScene 17.6 kB
frontend/dist-report/posthog-app/src/scenes/subscriptions/SubscriptionsScene 7.06 kB
frontend/dist-report/posthog-app/src/scenes/surveys/forms/SurveyFormBuilder 3.13 kB
frontend/dist-report/posthog-app/src/scenes/surveys/Survey 7.34 kB
frontend/dist-report/posthog-app/src/scenes/surveys/Surveys 27.8 kB
frontend/dist-report/posthog-app/src/scenes/surveys/wizard/SurveyWizard 69.8 kB
frontend/dist-report/posthog-app/src/scenes/themes/CustomCssScene 5.01 kB
frontend/dist-report/posthog-app/src/scenes/toolbar-launch/ToolbarLaunch 3.96 kB
frontend/dist-report/posthog-app/src/scenes/Unsubscribe/Unsubscribe 1.71 kB
frontend/dist-report/posthog-app/src/scenes/web-analytics/SessionAttributionExplorer/SessionAttributionExplorerScene 12.2 kB
frontend/dist-report/posthog-app/src/scenes/web-analytics/WebAnalyticsScene 20.3 kB
frontend/dist-report/posthog-app/src/scenes/wizard/Wizard 4.45 kB
frontend/dist-report/posthog-app/src/sharedChunkAnchors 1.33 kB
frontend/dist-report/render-query/src/render-query/render-query 25.4 MB
frontend/dist-report/toolbar/src/toolbar/toolbar 11.2 MB

compressed-size-action

Slack's chat.startStream `recipient_user_id` is purely routing metadata —
it doesn't trigger a notification. Append a markdown_text chunk with
<@user_id> right before chat.stopStream so the original mention author
gets pinged once when the message is finalized. The mention rides on
the same streamed plan-block message; no separate ping post.

User id sourced from SlackThreadContext.mentioning_slack_user_id —
already plumbed through to the handler — so no signal-payload or
activity-input changes are needed.
… arrives

The child workflow refused to call chat.startStream until an
agent_status_update signal arrived — but when the sandbox runs an
@posthog/agent that doesn't emit _posthog/status notifications (e.g.
the npm-published version that predates the paired agent PR), every
turn produces only agent_text_delta signals. The markdown buffer
accumulated forever and nothing reached Slack.

Synthesize a 'Thinking' placeholder step on first flush when no real
step is pending, so the plan block always opens and the narrative body
can stream regardless of whether the agent is emitting tool-status
notifications.
Earlier flush logic deduplicated steps on (title, details), so two
calls to the same tool inside one debounce window collapsed into one
step on the plan block. Worse, the singleton pending_step would
overwrite any earlier signal in the same window — a burst of N tools
produced 1 step.

Switch _pending_step to a queue. On flush, build a chunks list that
marks the previously-active step complete, every intermediate queued
step complete, and the last queued step in_progress (with a fresh
generated id per step). All transitions plus any pending markdown ride
on a single chat.appendStream call, so a burst becomes one API request
with N+1 chunks rather than N separate calls.

The handler API drops the (complete_*, new_*) shape in favor of a
list[task_update] + markdown_text — the workflow builds the list
since it owns the transition pattern.
Consume the new tool_intent field from PR A's _posthog/status payload.
The orchestrator decides per-step whether to render intent as the
plan-block details or leave it as body markdown, with a 256-char
threshold (Slack's task_update.details limit):

- intent ≤ 256: use as step details, signal clear_buffer=True so the
  child workflow drops its markdown buffer — the same prose was also
  streamed via agent_message_chunk deltas and would otherwise duplicate.
- intent > 256 or absent: fall back to tool_args_preview for details,
  leave the markdown buffer alone so the prose still surfaces in the
  message body.

The child workflow respects clear_buffer in its agent_status_update
signal handler. Existing turn behavior with older agent images (no
tool_intent at all) is unchanged — they emit empty intent → fallback
to args_preview, no buffer clearing.
The <@userid> markdown chunk appended on chat.stopStream landed
immediately after the last streamed prose chunk, producing output
like "…(Mon–Sun)?@vojta". Prepend "\n\n" so it lands as its own
paragraph below the final answer.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant