@coreplane/switchboard 1.256.0 → 1.258.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/config/config.example.yaml +14 -0
- package/dist/assets/deploy/cloudflare-memory/worker.ts +340 -7
- package/dist/assets/deploy/cloudflare-resident/drain.ts +49 -4
- package/dist/assets/deploy/cloudflare-resident/worker.ts +52 -4
- package/dist/assets/package-lock.json +3 -3
- package/dist/assets/package.json +5 -3
- package/dist/assets/project.json +17 -9
- package/dist/assets/source.json +3 -3
- package/dist/assets/src/agents/registry.ts +65 -2
- package/dist/assets/src/core/authz/grants.ts +12 -0
- package/dist/assets/src/core/authz/policy.ts +15 -0
- package/dist/assets/src/core/budgets.ts +66 -18
- package/dist/assets/src/core/coordinator/contract.ts +45 -5
- package/dist/assets/src/core/coordinator/driver.ts +6 -3
- package/dist/assets/src/core/delivery.ts +8 -5
- package/dist/assets/src/core/pipelineStanding.ts +2 -0
- package/dist/assets/src/core/plane/decide.ts +477 -12
- package/dist/assets/src/core/plane/findings.ts +120 -0
- package/dist/assets/src/core/runEvents.ts +54 -14
- package/dist/assets/src/core/runFriction.ts +16 -0
- package/dist/assets/src/core/runLedger/types.ts +16 -3
- package/dist/assets/src/core/runRecord.ts +12 -0
- package/dist/assets/src/core/ship/contract.ts +14 -2
- package/dist/assets/src/core/ship/coordinator.ts +179 -51
- package/dist/assets/src/core/ship/renewal.ts +23 -20
- package/dist/assets/src/core/trace/attrs.ts +1 -1
- package/dist/assets/src/core/untrusted.ts +35 -0
- package/dist/assets/src/execution/residentCredentials.ts +7 -4
- package/dist/assets/web/dist/.vite/manifest.json +97 -72
- package/dist/assets/web/dist/assets/{DeliveryPage-BBAyLwPq.js → DeliveryPage-DadntjSp.js} +1 -1
- package/dist/assets/web/dist/assets/HomePage-BEEpTnVT.js +1 -0
- package/dist/assets/web/dist/assets/{PendingTurnRow-DGINv9XT.js → PendingTurnRow-DBPMLVsm.js} +1 -1
- package/dist/assets/web/dist/assets/PlanePage-DLusMGQ0.js +1 -0
- package/dist/assets/web/dist/assets/{ResidentDetailPage-jYhEeeyu.js → ResidentDetailPage-CPnHnrxy.js} +1 -1
- package/dist/assets/web/dist/assets/{ResidentsIndexPage-DvFmlV4U.js → ResidentsIndexPage-C9hASwHL.js} +1 -1
- package/dist/assets/web/dist/assets/RunFoldRow-OPe7Z0Cz.js +1 -0
- package/dist/assets/web/dist/assets/{RunRoutePage-CvZ-TOT3.js → RunRoutePage-o1xzkTGZ.js} +4 -4
- package/dist/assets/web/dist/assets/RunsIndexPage-0YAClYQh.js +1 -0
- package/dist/assets/web/dist/assets/{ScheduledPage-Viim-bus.js → ScheduledPage-BIdfC0V3.js} +1 -1
- package/dist/assets/web/dist/assets/{SettingsPage-CYUy8McC.js → SettingsPage-CnqWAjl3.js} +1 -1
- package/dist/assets/web/dist/assets/SilentTurn-DGNg0sIZ.js +2 -0
- package/dist/assets/web/dist/assets/SlackMark-CtiHrNjr.js +1 -0
- package/dist/assets/web/dist/assets/{StatusDot-Dv6UMaPy.js → StatusDot-D_D_iJS8.js} +1 -1
- package/dist/assets/web/dist/assets/{Tooltip-Bd-5Rypv.js → Tooltip-DVFmM7on.js} +1 -1
- package/dist/assets/web/dist/assets/UnitRoutePage-7fAXFoB_.js +1 -0
- package/dist/assets/web/dist/assets/budgets-BRLm6oID.js +1 -0
- package/dist/assets/web/dist/assets/{dist-Nl3uaxrP.js → dist-C1VX-_mm.js} +1 -1
- package/dist/assets/web/dist/assets/durationTone-CVpX_yIk.js +1 -0
- package/dist/assets/web/dist/assets/{indexRow-DborJPFp.js → indexRow-BO_GIdF6.js} +1 -1
- package/dist/assets/web/dist/assets/main-Cl7xHG34.js +28 -0
- package/dist/assets/web/dist/assets/main-DGC6WFqS.css +1 -0
- package/dist/assets/web/dist/assets/{sseReplay-DE6wv1Ua.js → sseReplay-BjlKmQsY.js} +1 -1
- package/dist/cli.js +3096 -1136
- package/package.json +1 -1
- package/dist/assets/web/dist/assets/HomePage-BEiStFwW.js +0 -3
- package/dist/assets/web/dist/assets/PlanePage-JEj-lqgz.js +0 -1
- package/dist/assets/web/dist/assets/RunFoldRow-DvWzR1JQ.js +0 -1
- package/dist/assets/web/dist/assets/RunsIndexPage-JqVSDOok.js +0 -1
- package/dist/assets/web/dist/assets/UnitRoutePage-B81wEnKN.js +0 -1
- package/dist/assets/web/dist/assets/budgets-c1eumrqD.js +0 -1
- package/dist/assets/web/dist/assets/durationTone-U_rOqo6r.js +0 -1
- package/dist/assets/web/dist/assets/main-C4QfwybO.css +0 -1
- package/dist/assets/web/dist/assets/main-DRxWlffc.js +0 -28
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"src": "../node_modules/@fontsource-variable/jetbrains-mono/files/jetbrains-mono-vietnamese-wght-normal.woff2"
|
|
29
29
|
},
|
|
30
30
|
"../node_modules/@pierre/diffs/dist/index.js": {
|
|
31
|
-
"file": "assets/dist-
|
|
31
|
+
"file": "assets/dist-C1VX-_mm.js",
|
|
32
32
|
"name": "dist",
|
|
33
33
|
"src": "../node_modules/@pierre/diffs/dist/index.js",
|
|
34
34
|
"isDynamicEntry": true,
|
|
@@ -2570,28 +2570,29 @@
|
|
|
2570
2570
|
"_RunsTabs-kHbbxVHx.js"
|
|
2571
2571
|
]
|
|
2572
2572
|
},
|
|
2573
|
-
"_PendingTurnRow-
|
|
2574
|
-
"file": "assets/PendingTurnRow-
|
|
2573
|
+
"_PendingTurnRow-DBPMLVsm.js": {
|
|
2574
|
+
"file": "assets/PendingTurnRow-DBPMLVsm.js",
|
|
2575
2575
|
"name": "PendingTurnRow",
|
|
2576
2576
|
"imports": [
|
|
2577
2577
|
"_AppShell-CSXDCV4x.js",
|
|
2578
2578
|
"_browser-B6T5hjfR.js",
|
|
2579
|
-
"_indexRow-
|
|
2579
|
+
"_indexRow-BO_GIdF6.js",
|
|
2580
2580
|
"_format-BldUwl_R.js",
|
|
2581
|
-
"_sseReplay-
|
|
2581
|
+
"_sseReplay-BjlKmQsY.js"
|
|
2582
2582
|
]
|
|
2583
2583
|
},
|
|
2584
|
-
"_RunFoldRow-
|
|
2585
|
-
"file": "assets/RunFoldRow-
|
|
2584
|
+
"_RunFoldRow-OPe7Z0Cz.js": {
|
|
2585
|
+
"file": "assets/RunFoldRow-OPe7Z0Cz.js",
|
|
2586
2586
|
"name": "RunFoldRow",
|
|
2587
2587
|
"imports": [
|
|
2588
2588
|
"_browser-B6T5hjfR.js",
|
|
2589
2589
|
"_indexFormat-B-pd4r7Y.js",
|
|
2590
|
-
"_indexRow-
|
|
2590
|
+
"_indexRow-BO_GIdF6.js",
|
|
2591
2591
|
"_format-BldUwl_R.js",
|
|
2592
|
-
"
|
|
2593
|
-
"_sseReplay-
|
|
2594
|
-
"
|
|
2592
|
+
"_SlackMark-CtiHrNjr.js",
|
|
2593
|
+
"_sseReplay-BjlKmQsY.js",
|
|
2594
|
+
"_durationTone-CVpX_yIk.js",
|
|
2595
|
+
"_StatusDot-D_D_iJS8.js"
|
|
2595
2596
|
]
|
|
2596
2597
|
},
|
|
2597
2598
|
"_RunsTabs-kHbbxVHx.js": {
|
|
@@ -2610,16 +2611,37 @@
|
|
|
2610
2611
|
"_browser-B6T5hjfR.js"
|
|
2611
2612
|
]
|
|
2612
2613
|
},
|
|
2613
|
-
"
|
|
2614
|
-
"file": "assets/
|
|
2614
|
+
"_SilentTurn-DGNg0sIZ.js": {
|
|
2615
|
+
"file": "assets/SilentTurn-DGNg0sIZ.js",
|
|
2616
|
+
"name": "SilentTurn",
|
|
2617
|
+
"imports": [
|
|
2618
|
+
"_browser-B6T5hjfR.js",
|
|
2619
|
+
"_PendingTurnRow-DBPMLVsm.js",
|
|
2620
|
+
"_eventSource-Bj_dZf6M.js",
|
|
2621
|
+
"_indexFormat-B-pd4r7Y.js",
|
|
2622
|
+
"_indexRow-BO_GIdF6.js",
|
|
2623
|
+
"_format-BldUwl_R.js",
|
|
2624
|
+
"_sseReplay-BjlKmQsY.js",
|
|
2625
|
+
"_durationTone-CVpX_yIk.js"
|
|
2626
|
+
]
|
|
2627
|
+
},
|
|
2628
|
+
"_SlackMark-CtiHrNjr.js": {
|
|
2629
|
+
"file": "assets/SlackMark-CtiHrNjr.js",
|
|
2630
|
+
"name": "SlackMark",
|
|
2631
|
+
"imports": [
|
|
2632
|
+
"_browser-B6T5hjfR.js"
|
|
2633
|
+
]
|
|
2634
|
+
},
|
|
2635
|
+
"_StatusDot-D_D_iJS8.js": {
|
|
2636
|
+
"file": "assets/StatusDot-D_D_iJS8.js",
|
|
2615
2637
|
"name": "StatusDot",
|
|
2616
2638
|
"imports": [
|
|
2617
2639
|
"_browser-B6T5hjfR.js",
|
|
2618
|
-
"_Tooltip-
|
|
2640
|
+
"_Tooltip-DVFmM7on.js"
|
|
2619
2641
|
]
|
|
2620
2642
|
},
|
|
2621
|
-
"_Tooltip-
|
|
2622
|
-
"file": "assets/Tooltip-
|
|
2643
|
+
"_Tooltip-DVFmM7on.js": {
|
|
2644
|
+
"file": "assets/Tooltip-DVFmM7on.js",
|
|
2623
2645
|
"name": "Tooltip",
|
|
2624
2646
|
"imports": [
|
|
2625
2647
|
"_AppShell-CSXDCV4x.js",
|
|
@@ -2639,8 +2661,8 @@
|
|
|
2639
2661
|
"file": "assets/browser-B6T5hjfR.js",
|
|
2640
2662
|
"name": "browser"
|
|
2641
2663
|
},
|
|
2642
|
-
"_budgets-
|
|
2643
|
-
"file": "assets/budgets-
|
|
2664
|
+
"_budgets-BRLm6oID.js": {
|
|
2665
|
+
"file": "assets/budgets-BRLm6oID.js",
|
|
2644
2666
|
"name": "budgets"
|
|
2645
2667
|
},
|
|
2646
2668
|
"_c-L_QOnFVv.js": {
|
|
@@ -2670,12 +2692,9 @@
|
|
|
2670
2692
|
"file": "assets/delivery-CTdOqpVK.js",
|
|
2671
2693
|
"name": "delivery"
|
|
2672
2694
|
},
|
|
2673
|
-
"_durationTone-
|
|
2674
|
-
"file": "assets/durationTone-
|
|
2675
|
-
"name": "durationTone"
|
|
2676
|
-
"imports": [
|
|
2677
|
-
"_browser-B6T5hjfR.js"
|
|
2678
|
-
]
|
|
2695
|
+
"_durationTone-CVpX_yIk.js": {
|
|
2696
|
+
"file": "assets/durationTone-CVpX_yIk.js",
|
|
2697
|
+
"name": "durationTone"
|
|
2679
2698
|
},
|
|
2680
2699
|
"_eventSource-Bj_dZf6M.js": {
|
|
2681
2700
|
"file": "assets/eventSource-Bj_dZf6M.js",
|
|
@@ -2729,11 +2748,11 @@
|
|
|
2729
2748
|
"file": "assets/indexFormat-B-pd4r7Y.js",
|
|
2730
2749
|
"name": "indexFormat"
|
|
2731
2750
|
},
|
|
2732
|
-
"_indexRow-
|
|
2733
|
-
"file": "assets/indexRow-
|
|
2751
|
+
"_indexRow-BO_GIdF6.js": {
|
|
2752
|
+
"file": "assets/indexRow-BO_GIdF6.js",
|
|
2734
2753
|
"name": "indexRow",
|
|
2735
2754
|
"imports": [
|
|
2736
|
-
"_budgets-
|
|
2755
|
+
"_budgets-BRLm6oID.js",
|
|
2737
2756
|
"_format-BldUwl_R.js"
|
|
2738
2757
|
]
|
|
2739
2758
|
},
|
|
@@ -2813,15 +2832,15 @@
|
|
|
2813
2832
|
"_AppShell-CSXDCV4x.js"
|
|
2814
2833
|
]
|
|
2815
2834
|
},
|
|
2816
|
-
"_sseReplay-
|
|
2817
|
-
"file": "assets/sseReplay-
|
|
2835
|
+
"_sseReplay-BjlKmQsY.js": {
|
|
2836
|
+
"file": "assets/sseReplay-BjlKmQsY.js",
|
|
2818
2837
|
"name": "sseReplay",
|
|
2819
2838
|
"imports": [
|
|
2820
2839
|
"_browser-B6T5hjfR.js",
|
|
2821
2840
|
"_wallClock-DmaC1sKA.js",
|
|
2822
|
-
"_indexRow-
|
|
2841
|
+
"_indexRow-BO_GIdF6.js",
|
|
2823
2842
|
"_format-BldUwl_R.js",
|
|
2824
|
-
"_durationTone-
|
|
2843
|
+
"_durationTone-CVpX_yIk.js"
|
|
2825
2844
|
]
|
|
2826
2845
|
},
|
|
2827
2846
|
"_tex-D-4vuedK.js": {
|
|
@@ -2869,7 +2888,7 @@
|
|
|
2869
2888
|
]
|
|
2870
2889
|
},
|
|
2871
2890
|
"src/main.ts": {
|
|
2872
|
-
"file": "assets/main-
|
|
2891
|
+
"file": "assets/main-Cl7xHG34.js",
|
|
2873
2892
|
"name": "main",
|
|
2874
2893
|
"src": "src/main.ts",
|
|
2875
2894
|
"isEntry": true,
|
|
@@ -2892,7 +2911,7 @@
|
|
|
2892
2911
|
"_NotFoundPage-DHuWyjlq.js"
|
|
2893
2912
|
],
|
|
2894
2913
|
"css": [
|
|
2895
|
-
"assets/main-
|
|
2914
|
+
"assets/main-DGC6WFqS.css"
|
|
2896
2915
|
],
|
|
2897
2916
|
"assets": [
|
|
2898
2917
|
"assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2",
|
|
@@ -2919,7 +2938,7 @@
|
|
|
2919
2938
|
]
|
|
2920
2939
|
},
|
|
2921
2940
|
"src/pages/DeliveryPage.vue": {
|
|
2922
|
-
"file": "assets/DeliveryPage-
|
|
2941
|
+
"file": "assets/DeliveryPage-DadntjSp.js",
|
|
2923
2942
|
"name": "DeliveryPage",
|
|
2924
2943
|
"src": "src/pages/DeliveryPage.vue",
|
|
2925
2944
|
"isDynamicEntry": true,
|
|
@@ -2928,27 +2947,28 @@
|
|
|
2928
2947
|
"_browser-B6T5hjfR.js",
|
|
2929
2948
|
"_delivery-CTdOqpVK.js",
|
|
2930
2949
|
"_wallClock-DmaC1sKA.js",
|
|
2931
|
-
"_budgets-
|
|
2950
|
+
"_budgets-BRLm6oID.js"
|
|
2932
2951
|
]
|
|
2933
2952
|
},
|
|
2934
2953
|
"src/pages/HomePage.vue": {
|
|
2935
|
-
"file": "assets/HomePage-
|
|
2954
|
+
"file": "assets/HomePage-BEEpTnVT.js",
|
|
2936
2955
|
"name": "HomePage",
|
|
2937
2956
|
"src": "src/pages/HomePage.vue",
|
|
2938
2957
|
"isDynamicEntry": true,
|
|
2939
2958
|
"imports": [
|
|
2940
2959
|
"_AppShell-CSXDCV4x.js",
|
|
2941
2960
|
"_browser-B6T5hjfR.js",
|
|
2942
|
-
"_Tooltip-
|
|
2943
|
-
"_PendingTurnRow-
|
|
2961
|
+
"_Tooltip-DVFmM7on.js",
|
|
2962
|
+
"_PendingTurnRow-DBPMLVsm.js",
|
|
2944
2963
|
"src/main.ts",
|
|
2945
2964
|
"_eventSource-Bj_dZf6M.js",
|
|
2946
2965
|
"_wallClock-DmaC1sKA.js",
|
|
2947
2966
|
"_indexFormat-B-pd4r7Y.js",
|
|
2948
|
-
"_indexRow-
|
|
2967
|
+
"_indexRow-BO_GIdF6.js",
|
|
2949
2968
|
"_format-BldUwl_R.js",
|
|
2950
|
-
"
|
|
2951
|
-
"
|
|
2969
|
+
"_SilentTurn-DGNg0sIZ.js",
|
|
2970
|
+
"_SlackMark-CtiHrNjr.js",
|
|
2971
|
+
"_sseReplay-BjlKmQsY.js"
|
|
2952
2972
|
]
|
|
2953
2973
|
},
|
|
2954
2974
|
"src/pages/MetricsPage.vue": {
|
|
@@ -2963,20 +2983,23 @@
|
|
|
2963
2983
|
]
|
|
2964
2984
|
},
|
|
2965
2985
|
"src/pages/PlanePage.vue": {
|
|
2966
|
-
"file": "assets/PlanePage-
|
|
2986
|
+
"file": "assets/PlanePage-DLusMGQ0.js",
|
|
2967
2987
|
"name": "PlanePage",
|
|
2968
2988
|
"src": "src/pages/PlanePage.vue",
|
|
2969
2989
|
"isDynamicEntry": true,
|
|
2970
2990
|
"imports": [
|
|
2971
2991
|
"_AppShell-CSXDCV4x.js",
|
|
2972
2992
|
"_browser-B6T5hjfR.js",
|
|
2993
|
+
"_PendingTurnRow-DBPMLVsm.js",
|
|
2973
2994
|
"_wallClock-DmaC1sKA.js",
|
|
2974
|
-
"_indexRow-
|
|
2975
|
-
"_format-BldUwl_R.js"
|
|
2995
|
+
"_indexRow-BO_GIdF6.js",
|
|
2996
|
+
"_format-BldUwl_R.js",
|
|
2997
|
+
"_SilentTurn-DGNg0sIZ.js",
|
|
2998
|
+
"_sseReplay-BjlKmQsY.js"
|
|
2976
2999
|
]
|
|
2977
3000
|
},
|
|
2978
3001
|
"src/pages/ResidentDetailPage.vue": {
|
|
2979
|
-
"file": "assets/ResidentDetailPage-
|
|
3002
|
+
"file": "assets/ResidentDetailPage-CPnHnrxy.js",
|
|
2980
3003
|
"name": "ResidentDetailPage",
|
|
2981
3004
|
"src": "src/pages/ResidentDetailPage.vue",
|
|
2982
3005
|
"isDynamicEntry": true,
|
|
@@ -2984,46 +3007,47 @@
|
|
|
2984
3007
|
"_AppShell-CSXDCV4x.js",
|
|
2985
3008
|
"_browser-B6T5hjfR.js",
|
|
2986
3009
|
"src/main.ts",
|
|
2987
|
-
"_StatusDot-
|
|
3010
|
+
"_StatusDot-D_D_iJS8.js"
|
|
2988
3011
|
]
|
|
2989
3012
|
},
|
|
2990
3013
|
"src/pages/ResidentsIndexPage.vue": {
|
|
2991
|
-
"file": "assets/ResidentsIndexPage-
|
|
3014
|
+
"file": "assets/ResidentsIndexPage-C9hASwHL.js",
|
|
2992
3015
|
"name": "ResidentsIndexPage",
|
|
2993
3016
|
"src": "src/pages/ResidentsIndexPage.vue",
|
|
2994
3017
|
"isDynamicEntry": true,
|
|
2995
3018
|
"imports": [
|
|
2996
3019
|
"_AppShell-CSXDCV4x.js",
|
|
2997
3020
|
"_browser-B6T5hjfR.js",
|
|
2998
|
-
"_Tooltip-
|
|
3021
|
+
"_Tooltip-DVFmM7on.js",
|
|
2999
3022
|
"src/main.ts",
|
|
3000
3023
|
"_eventSource-Bj_dZf6M.js",
|
|
3001
3024
|
"_wallClock-DmaC1sKA.js",
|
|
3002
3025
|
"_indexFormat-B-pd4r7Y.js",
|
|
3003
|
-
"_indexRow-
|
|
3026
|
+
"_indexRow-BO_GIdF6.js",
|
|
3004
3027
|
"_format-BldUwl_R.js",
|
|
3005
|
-
"_StatusDot-
|
|
3028
|
+
"_StatusDot-D_D_iJS8.js"
|
|
3006
3029
|
]
|
|
3007
3030
|
},
|
|
3008
3031
|
"src/pages/RunRoutePage.vue": {
|
|
3009
|
-
"file": "assets/RunRoutePage-
|
|
3032
|
+
"file": "assets/RunRoutePage-o1xzkTGZ.js",
|
|
3010
3033
|
"name": "RunRoutePage",
|
|
3011
3034
|
"src": "src/pages/RunRoutePage.vue",
|
|
3012
3035
|
"isDynamicEntry": true,
|
|
3013
3036
|
"imports": [
|
|
3014
3037
|
"_AppShell-CSXDCV4x.js",
|
|
3015
3038
|
"_browser-B6T5hjfR.js",
|
|
3016
|
-
"_Tooltip-
|
|
3017
|
-
"_PendingTurnRow-
|
|
3039
|
+
"_Tooltip-DVFmM7on.js",
|
|
3040
|
+
"_PendingTurnRow-DBPMLVsm.js",
|
|
3018
3041
|
"src/main.ts",
|
|
3019
3042
|
"_eventSource-Bj_dZf6M.js",
|
|
3020
3043
|
"_wallClock-DmaC1sKA.js",
|
|
3021
3044
|
"_indexFormat-B-pd4r7Y.js",
|
|
3022
|
-
"_indexRow-
|
|
3045
|
+
"_indexRow-BO_GIdF6.js",
|
|
3023
3046
|
"_format-BldUwl_R.js",
|
|
3024
|
-
"_RunFoldRow-
|
|
3025
|
-
"
|
|
3026
|
-
"_sseReplay-
|
|
3047
|
+
"_RunFoldRow-OPe7Z0Cz.js",
|
|
3048
|
+
"_SlackMark-CtiHrNjr.js",
|
|
3049
|
+
"_sseReplay-BjlKmQsY.js",
|
|
3050
|
+
"_durationTone-CVpX_yIk.js",
|
|
3027
3051
|
"_NotFoundPage-DHuWyjlq.js"
|
|
3028
3052
|
],
|
|
3029
3053
|
"dynamicImports": [
|
|
@@ -3034,35 +3058,36 @@
|
|
|
3034
3058
|
]
|
|
3035
3059
|
},
|
|
3036
3060
|
"src/pages/RunsIndexPage.vue": {
|
|
3037
|
-
"file": "assets/RunsIndexPage-
|
|
3061
|
+
"file": "assets/RunsIndexPage-0YAClYQh.js",
|
|
3038
3062
|
"name": "RunsIndexPage",
|
|
3039
3063
|
"src": "src/pages/RunsIndexPage.vue",
|
|
3040
3064
|
"isDynamicEntry": true,
|
|
3041
3065
|
"imports": [
|
|
3042
3066
|
"_AppShell-CSXDCV4x.js",
|
|
3043
3067
|
"_browser-B6T5hjfR.js",
|
|
3044
|
-
"_Tooltip-
|
|
3068
|
+
"_Tooltip-DVFmM7on.js",
|
|
3045
3069
|
"_InputMenu-BdZXnibG.js",
|
|
3046
3070
|
"src/main.ts",
|
|
3047
3071
|
"_eventSource-Bj_dZf6M.js",
|
|
3048
3072
|
"_wallClock-DmaC1sKA.js",
|
|
3049
3073
|
"_indexFormat-B-pd4r7Y.js",
|
|
3050
|
-
"_indexRow-
|
|
3074
|
+
"_indexRow-BO_GIdF6.js",
|
|
3051
3075
|
"_format-BldUwl_R.js",
|
|
3052
|
-
"
|
|
3076
|
+
"_SlackMark-CtiHrNjr.js",
|
|
3077
|
+
"_durationTone-CVpX_yIk.js",
|
|
3053
3078
|
"_RunsTabs-kHbbxVHx.js",
|
|
3054
|
-
"_StatusDot-
|
|
3079
|
+
"_StatusDot-D_D_iJS8.js"
|
|
3055
3080
|
]
|
|
3056
3081
|
},
|
|
3057
3082
|
"src/pages/ScheduledPage.vue": {
|
|
3058
|
-
"file": "assets/ScheduledPage-
|
|
3083
|
+
"file": "assets/ScheduledPage-BIdfC0V3.js",
|
|
3059
3084
|
"name": "ScheduledPage",
|
|
3060
3085
|
"src": "src/pages/ScheduledPage.vue",
|
|
3061
3086
|
"isDynamicEntry": true,
|
|
3062
3087
|
"imports": [
|
|
3063
3088
|
"_AppShell-CSXDCV4x.js",
|
|
3064
3089
|
"_browser-B6T5hjfR.js",
|
|
3065
|
-
"_Tooltip-
|
|
3090
|
+
"_Tooltip-DVFmM7on.js",
|
|
3066
3091
|
"_wallClock-DmaC1sKA.js",
|
|
3067
3092
|
"_indexFormat-B-pd4r7Y.js",
|
|
3068
3093
|
"_format-BldUwl_R.js",
|
|
@@ -3070,7 +3095,7 @@
|
|
|
3070
3095
|
]
|
|
3071
3096
|
},
|
|
3072
3097
|
"src/pages/SettingsPage.vue": {
|
|
3073
|
-
"file": "assets/SettingsPage-
|
|
3098
|
+
"file": "assets/SettingsPage-CnqWAjl3.js",
|
|
3074
3099
|
"name": "SettingsPage",
|
|
3075
3100
|
"src": "src/pages/SettingsPage.vue",
|
|
3076
3101
|
"isDynamicEntry": true,
|
|
@@ -3078,14 +3103,14 @@
|
|
|
3078
3103
|
"_AppShell-CSXDCV4x.js",
|
|
3079
3104
|
"_browser-B6T5hjfR.js",
|
|
3080
3105
|
"_SettingSelect-BfID5nF4.js",
|
|
3081
|
-
"_Tooltip-
|
|
3106
|
+
"_Tooltip-DVFmM7on.js",
|
|
3082
3107
|
"_InputMenu-BdZXnibG.js",
|
|
3083
3108
|
"_settingsApi-Dm6eaQcu.js",
|
|
3084
|
-
"_indexRow-
|
|
3109
|
+
"_indexRow-BO_GIdF6.js"
|
|
3085
3110
|
]
|
|
3086
3111
|
},
|
|
3087
3112
|
"src/pages/UnitRoutePage.vue": {
|
|
3088
|
-
"file": "assets/UnitRoutePage-
|
|
3113
|
+
"file": "assets/UnitRoutePage-7fAXFoB_.js",
|
|
3089
3114
|
"name": "UnitRoutePage",
|
|
3090
3115
|
"src": "src/pages/UnitRoutePage.vue",
|
|
3091
3116
|
"isDynamicEntry": true,
|
|
@@ -3095,11 +3120,11 @@
|
|
|
3095
3120
|
"_SettingSelect-BfID5nF4.js",
|
|
3096
3121
|
"_wallClock-DmaC1sKA.js",
|
|
3097
3122
|
"_indexFormat-B-pd4r7Y.js",
|
|
3098
|
-
"_indexRow-
|
|
3123
|
+
"_indexRow-BO_GIdF6.js",
|
|
3099
3124
|
"_format-BldUwl_R.js",
|
|
3100
|
-
"_RunFoldRow-
|
|
3101
|
-
"
|
|
3102
|
-
"_sseReplay-
|
|
3125
|
+
"_RunFoldRow-OPe7Z0Cz.js",
|
|
3126
|
+
"_SlackMark-CtiHrNjr.js",
|
|
3127
|
+
"_sseReplay-BjlKmQsY.js",
|
|
3103
3128
|
"_NotFoundPage-DHuWyjlq.js"
|
|
3104
3129
|
]
|
|
3105
3130
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./AppShell-CSXDCV4x.js";import{An as t,Cn as n,Cr as r,Li as i,Mn as ee,Pi as a,Sn as o,Tr as te,Xr as s,_r as c,bn as l,ji as u,kn as d,ln as f,o as p,xn as m,yn as h}from"./browser-B6T5hjfR.js";import{a as g,c as ne,d as re,i as ie,l as _,n as ae,o as v,r as y,s as b,t as x,u as oe}from"./delivery-CTdOqpVK.js";import{t as se}from"./wallClock-DmaC1sKA.js";import"./budgets-
|
|
1
|
+
import{t as e}from"./AppShell-CSXDCV4x.js";import{An as t,Cn as n,Cr as r,Li as i,Mn as ee,Pi as a,Sn as o,Tr as te,Xr as s,_r as c,bn as l,ji as u,kn as d,ln as f,o as p,xn as m,yn as h}from"./browser-B6T5hjfR.js";import{a as g,c as ne,d as re,i as ie,l as _,n as ae,o as v,r as y,s as b,t as x,u as oe}from"./delivery-CTdOqpVK.js";import{t as se}from"./wallClock-DmaC1sKA.js";import"./budgets-BRLm6oID.js";function S(e,t){return e.truncated&&e.completeFrom!==void 0&&Date.parse(`${t}T00:00:00Z`)<Date.parse(e.completeFrom)}Object.freeze({reviewers:[],agentLogins:[],agentCoauthors:[]}),Object.freeze({default:60,min:5,max:1440});var C={class:`text-xs text-muted`},w={key:1,class:`text-highlighted`},T={class:`mb-4 flex flex-wrap items-center gap-x-4 gap-y-2`},E={key:0,class:`flex items-center gap-1`,"aria-label":`Repositories`},D={key:0,class:`rounded-md bg-accented px-2.5 py-1 text-xs font-medium text-highlighted`,"aria-current":`page`},O={class:`font-mono text-sm tabular-nums text-muted`},k={class:`mb-5 grid gap-3`},A={key:0,class:`text-sm text-muted`},j={class:`grid grid-cols-[repeat(auto-fit,minmax(190px,1fr))] gap-3`},M={class:`font-mono text-[0.6875rem] font-medium uppercase tracking-widest text-dimmed`},N={class:`font-mono text-2xl font-medium tabular-nums`},P={class:`text-xs text-muted`},F={class:`mb-5 grid gap-3 rounded-lg border border-default bg-elevated px-5 py-4`},I={class:`overflow-x-auto`},L={class:`weeks w-full min-w-[52rem] border-collapse whitespace-nowrap font-mono text-[0.8125rem] tabular-nums`},R=[`title`],z={key:0,class:`ml-1 text-xs`},B={key:0,class:`text-xs text-muted`},V={class:`mb-5 grid gap-3 rounded-lg border border-default bg-elevated px-5 py-4`},ce={key:0,class:`text-sm text-muted`},H={key:1,class:`overflow-x-auto`},U={class:`units w-full min-w-[52rem] border-collapse font-mono text-[0.8125rem] tabular-nums`},W=[`href`],G={key:1,class:`text-dimmed`},le=[`title`],ue=[`href`],de={class:`text-xs text-muted`},fe={class:`rounded bg-accented px-1 py-0.5`},pe={class:`border-t border-default pt-3.5 text-xs text-dimmed`},me={key:0,class:`mb-2 font-mono tabular-nums text-muted`},he={class:`mt-2 grid gap-1.5`},K=`border-b border-muted bg-(--ui-bg-muted) px-2.5 py-1.5 text-xs font-medium text-muted whitespace-nowrap`,q=`border-b border-muted px-2.5 py-1.5`,J=ee({__name:`DeliveryPage`,setup(ee){let J=p(`delivery`),Y=h(()=>J?.report??null),X=h(()=>J?.repos??[]),ge=h(()=>Y.value?oe(Y.value):[]),Z=h(()=>Y.value?ae(Y.value):void 0),Q=e=>Y.value?S(Y.value,e):!1,$=h(()=>Y.value?.weeks.some(e=>Q(e.week))??!1),_e=[1,2,4,8,13],ve=se(void 0,6e4),ye=typeof window>`u`?``:window.location.search;return(ee,p)=>{let h=te(`RouterLink`);return Y.value?(c(),m(e,{key:0,title:`${Y.value.repo} delivery`,nav:`delivery`},{actions:s(()=>[l(`span`,C,[(c(),n(f,null,r(_e,(e,t)=>(c(),n(f,{key:e},[t>0?(c(),n(f,{key:0},[d(` · `)],64)):o(``,!0),e===Y.value.range.weeks?(c(),n(`b`,w,i(e)+`w`,1)):(c(),m(h,{key:2,class:`text-primary hover:underline`,to:`/delivery/${Y.value.repo}?weeks=${e}`},{default:s(()=>[d(i(e)+`w`,1)]),_:2},1032,[`to`]))],64))),64))])]),default:s(()=>[l(`div`,T,[X.value.length>1?(c(),n(`nav`,E,[(c(!0),n(f,null,r(X.value,e=>(c(),n(f,{key:e},[e===Y.value.repo?(c(),n(`span`,D,i(e),1)):(c(),m(h,{key:1,class:`rounded-md px-2.5 py-1 text-xs text-muted no-underline hover:bg-elevated hover:text-highlighted`,to:`/delivery/${e}`},{default:s(()=>[d(i(e),1)]),_:2},1032,[`to`]))],64))),128))])):o(``,!0),l(`p`,O,i(u(v)(Y.value.range.since))+` → `+i(u(v)(Y.value.range.until))+` · `+i(Y.value.range.weeks)+`w · weeks start Monday, UTC `,1)]),l(`section`,k,[Z.value?(c(),n(`p`,A,i(Z.value),1)):o(``,!0),l(`div`,j,[(c(!0),n(f,null,r(ge.value,e=>(c(),n(`div`,{key:e.label,class:`grid gap-0.5 rounded-lg border border-default bg-elevated px-4 py-3.5`},[l(`span`,M,i(e.label),1),l(`span`,N,i(e.value),1),l(`span`,P,i(e.note),1)]))),128))])]),l(`section`,F,[p[0]||=l(`div`,null,[l(`h2`,{class:`text-[0.9375rem] font-medium`},`By week`),l(`p`,{class:`text-sm text-muted`},`One row per Monday-start week · merged pull requests only`)],-1),l(`div`,I,[l(`table`,L,[l(`thead`,null,[l(`tr`,null,[l(`th`,{class:a([K,`text-left`])},`Week`,2),l(`th`,{class:a([K,`text-right`])},`Merged`,2),l(`th`,{class:a([K,`text-right`])},`Agent-authored`,2),l(`th`,{class:a([K,`text-right`])},`Issue → merge`,2),l(`th`,{class:a([K,`text-right`])},`First-pass CI`,2),l(`th`,{class:a([K,`text-right`])},`Rounds / PR`,2),l(`th`,{class:a([K,`text-right`])},`Findings`,2),l(`th`,{class:a([K,`text-right`])},`No human edit`,2),l(`th`,{class:a([K,`text-right`])},`Agent run min`,2)])]),l(`tbody`,null,[(c(!0),n(f,null,r(Y.value.weeks,e=>(c(),n(`tr`,{key:e.week,class:a(Q(e.week)?`text-dimmed`:``)},[l(`td`,{class:a(q),title:`${e.week} → ${e.until}`},[d(i(u(v)(e.week))+` – `+i(u(v)(e.until))+` `,1),Q(e.week)?(c(),n(`span`,z,`(incomplete)`)):o(``,!0)],8,R),l(`td`,{class:a([q,`text-right font-medium`])},i(e.prsMerged),3),l(`td`,{class:a([q,`text-right`])},i(e.agentAuthoredPrs),3),l(`td`,{class:a([q,`text-right`])},i(u(g)(e.leadTimeHours.median)),3),l(`td`,{class:a([q,`text-right`])},i(u(x)(e)),3),l(`td`,{class:a([q,`text-right`])},i(u(ne)(e.reviewRounds.perPr)),3),l(`td`,{class:a([q,`text-right`])},i(u(y)(e)),3),l(`td`,{class:a([q,`text-right`])},i(u(b)(e.findings.noHumanEditShare)),3),l(`td`,{class:a([q,`text-right`])},i(e.agentRuns.minutes.toFixed(0)),3)],2))),128))])])]),$.value&&Y.value.completeFrom?(c(),n(`p`,B,` Incomplete weeks hold the newest pull requests the read reached — it is complete from `+i(u(_)(Y.value.completeFrom))+` — so their numbers are a floor on the merges, not the week's. `,1)):o(``,!0)]),l(`section`,V,[p[3]||=l(`div`,null,[l(`h2`,{class:`text-[0.9375rem] font-medium`},`By unit`),l(`p`,{class:`text-sm text-muted`},` One row per board issue the pull requests link · the issue's opening starts the clock `)],-1),Y.value.units.length===0?(c(),n(`p`,ce,`Nothing merged in range.`)):(c(),n(`div`,H,[l(`table`,U,[l(`thead`,null,[l(`tr`,null,[l(`th`,{class:a([K,`text-left`])},`Issue`,2),l(`th`,{class:a([K,`text-left`])},`Unit`,2),l(`th`,{class:a([K,`text-left`])},`PRs`,2),l(`th`,{class:a([K,`text-right`])},`Issue → merge`,2),l(`th`,{class:a([K,`text-right`])},`First-pass CI`,2),l(`th`,{class:a([K,`text-right`])},`Rounds`,2),l(`th`,{class:a([K,`text-right`])},`Findings`,2),l(`th`,{class:a([K,`text-right`])},`No human edit`,2)])]),l(`tbody`,null,[(c(!0),n(f,null,r(Y.value.units,e=>(c(),n(`tr`,{key:e.issue??`none`},[l(`td`,{class:a([q,`whitespace-nowrap`])},[e.issue===null?(c(),n(`span`,G,`—`)):(c(),n(`a`,{key:0,class:`text-primary hover:underline`,href:`https://github.com/${Y.value.repo}/issues/${e.issue}`},`#`+i(e.issue),9,W))],2),l(`td`,{class:a([q,`max-w-[28rem] truncate font-sans`]),title:e.title},i(e.title),11,le),l(`td`,{class:a([q,`whitespace-nowrap`])},[(c(!0),n(f,null,r(e.prs,(e,t)=>(c(),n(f,{key:e},[t>0?(c(),n(f,{key:0},[d(`, `)],64)):o(``,!0),l(`a`,{class:`text-primary hover:underline`,href:`https://github.com/${Y.value.repo}/pull/${e}`},i(e),9,ue)],64))),128))],2),l(`td`,{class:a([q,`text-right`])},i(u(g)(e.leadTimeHours.median)),3),l(`td`,{class:a([q,`text-right`])},i(u(x)(e)),3),l(`td`,{class:a([q,`text-right`])},i(e.reviewRounds.verdicts),3),l(`td`,{class:a([q,`text-right`])},i(u(y)(e)),3),l(`td`,{class:a([q,`text-right`])},i(u(b)(e.findings.noHumanEditShare)),3)]))),128))])])])),l(`p`,de,[p[1]||=d(` Machine-readable twin: `,-1),l(`code`,fe,`GET /delivery/`+i(Y.value.repo)+`.json`,1),p[2]||=d(` (same gate). `,-1)])]),l(`footer`,pe,[Y.value.snapshotAt?(c(),n(`p`,me,[d(` As of `+i(u(_)(Y.value.snapshotAt))+`, `+i(u(re)(Y.value.snapshotAt,u(ve)))+` · `,1),t(h,{class:`text-primary hover:underline`,to:`/delivery/${Y.value.repo}${u(ie)(u(ye))}`},{default:s(()=>[...p[4]||=[d(`read GitHub now`,-1)]]),_:1},8,[`to`])])):o(``,!0),l(`details`,null,[p[14]||=l(`summary`,{class:`cursor-pointer text-muted`},`How these numbers are computed`,-1),l(`div`,he,[p[12]||=l(`div`,null,[l(`b`,null,`Snapshot.`),d(` GitHub's record of the merged pull requests (each one's timeline and its branch's workflow runs, the board issue its body links) is read on an interval and kept as a snapshot the page, its JSON twin and `),l(`code`,null,`delivery report`),d(` serve; `),l(`code`,null,`?fresh=1`),d(` reads GitHub now. The run history you may see joins on every load. `)],-1),p[13]||=l(`div`,null,[l(`b`,null,`Issue → merge`),d(` runs from the linked board issue's opening (a closing keyword or a `),l(`code`,null,`board item`),d(` reference in the body) to the merge; a pull request that links no issue counts from its own opening. `),l(`b`,null,`First-pass CI`),d(` is green when every pull-request-triggered workflow run (`),l(`code`,null,`pull_request`),d(`, `),l(`code`,null,`pull_request_target`),d(`) on the first head succeeded at its first attempt — a rerun or a red run fails it; a head with no such run is not counted. `),l(`b`,null,`Review rounds`),d(` are the review agent's verdicts; a `),l(`i`,null,`fix round`),d(` is a verdict that followed a push. `),l(`b`,null,`No human edit`),d(` is the share of the agent's findings on pull requests where every push after the first verdict was an agent's: a bot login, or a commit co-authored by an agent. `),l(`b`,null,`Agent run minutes`),d(` are the finished runs of this repository that named a pull request. `)],-1),l(`div`,null,[p[6]||=l(`b`,null,`Identities.`,-1),p[7]||=d(` Verdicts by `,-1),l(`code`,null,i(Y.value.identities.reviewers.join(`, `)||`(none configured)`),1),p[8]||=d(`; agent logins end in `,-1),p[9]||=l(`code`,null,`[bot]`,-1),Y.value.identities.agentLogins.length?(c(),n(f,{key:0},[p[5]||=d(`, plus `,-1),l(`code`,null,i(Y.value.identities.agentLogins.join(`, `)),1)],64)):o(``,!0),p[10]||=d(`; agent co-authors named `,-1),l(`code`,null,i(Y.value.identities.agentCoauthors.join(`, `)||`(none)`),1),p[11]||=d(`. `,-1)])])])])]),_:1},8,[`title`])):o(``,!0)}}});export{J as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e,r as t,t as n}from"./AppShell-CSXDCV4x.js";import{An as r,Cn as i,Cr as a,Ft as o,Gr as s,Ii as c,Li as l,Mn as u,Pi as d,Pt as ee,Qr as f,Sn as p,Tr as m,Xr as h,_r as g,bn as _,c as v,dr as te,en as ne,hr as re,ir as ie,ji as y,kn as b,l as ae,ln as x,o as oe,sr as se,t as S,wr as ce,xi as C,xn as w,y as T,yi as E,yn as D,yr as le}from"./browser-B6T5hjfR.js";import{t as O}from"./Tooltip-DVFmM7on.js";import{i as ue}from"./PendingTurnRow-DBPMLVsm.js";import{b as de,x as fe}from"./main-Cl7xHG34.js";import{t as pe}from"./eventSource-Bj_dZf6M.js";import{t as me}from"./wallClock-DmaC1sKA.js";import{r as he}from"./indexFormat-B-pd4r7Y.js";import{K as ge,i as _e}from"./indexRow-BO_GIdF6.js";import"./format-BldUwl_R.js";import{S as k,_ as ve,a as ye,b as be,c as A,d as j,f as xe,g as Se,h as M,i as Ce,l as we,m as N,n as Te,o as Ee,p as De,r as Oe,s as P,t as ke,u as Ae,v as je,x as Me,y as Ne}from"./SilentTurn-DGNg0sIZ.js";import{t as F}from"./SlackMark-CtiHrNjr.js";import{T as Pe}from"./sseReplay-BjlKmQsY.js";var I={class:`thread-tip flex max-w-xs flex-col gap-1 text-xs`},Fe={class:`tip-title leading-snug text-highlighted`},L={class:`flex flex-wrap items-center gap-x-1.5 gap-y-0.5 font-mono text-[0.68rem] text-muted`},Ie={class:`tip-when tabular-nums`},Le={class:`tip-source inline-flex items-center gap-1`},Re={class:`tip-runs`},ze={key:0,class:`tip-live inline-flex items-center gap-1 text-toned`},R=u({__name:`ThreadTip`,props:{row:{},now:{}},setup(e){let t=e,n=D(()=>k(t.row,t.now));return(t,r)=>(g(),i(`div`,I,[_(`p`,Fe,l(n.value.title),1),_(`p`,L,[_(`span`,Ie,l(n.value.when),1),r[1]||=_(`span`,{"aria-hidden":`true`},`·`,-1),_(`span`,Le,[e.row.surface===`slack`?(g(),w(F,{key:0})):p(``,!0),b(l(n.value.source),1)]),r[2]||=_(`span`,{"aria-hidden":`true`},`·`,-1),_(`span`,Re,l(n.value.runs),1),n.value.live?(g(),i(`span`,ze,[...r[0]||=[_(`span`,{class:`size-1.5 rounded-full bg-ok`,"aria-hidden":`true`},null,-1),b(`live`,-1)]])):p(``,!0)])]))}}),z={class:`rail flex flex-col gap-1 text-[0.8rem]`,"aria-label":`Recent threads`},B={class:`filter mb-2 flex items-center gap-2 rounded-lg border border-default px-2.5 py-1.5 transition-colors duration-150 ease-out focus-within:border-primary hover:border-accented`},V={key:0,class:`rounded border border-default px-1 font-mono text-[0.65rem] text-dimmed`},Be={key:0,class:`empty px-3 py-1 text-xs text-dimmed`},H={key:1,class:`nomatch px-3 py-1 text-xs text-dimmed`},U={key:0,class:`dot mt-px size-1.5 shrink-0 self-center rounded-full bg-ok motion-safe:animate-pulse`,"aria-label":`a run is in flight`},Ve={class:`title min-w-0 flex-1 truncate text-toned group-hover:text-highlighted group-aria-[current=page]:text-highlighted`},He={class:`when shrink-0 font-mono text-[0.7rem] tabular-nums text-dimmed`},W={class:`retention px-3 pt-1 text-[0.7rem] leading-relaxed text-dimmed`},G={class:`model px-3 pt-2 text-[0.7rem] leading-relaxed text-dimmed`,"data-testid":`what-is-a-thread`},K=500,Ue=u({__name:`ConversationRail`,props:{rows:{},current:{},now:{},retention:{}},setup(e,{expose:t}){let n=e,s=C(``),c=C(null),u=D(()=>N(n.rows,s.value));function d(){c.value?.focus(),c.value?.select()}function ee(e){e.key===`Escape`&&(s.value=``,c.value?.blur())}return t({focusFilter:d}),(t,n)=>{let d=T,v=m(`RouterLink`),te=O;return g(),i(`nav`,z,[r(v,{class:`new group mb-3 flex items-center gap-2 rounded-xl bg-inverted px-3 py-2 font-medium text-inverted no-underline transition-[transform,opacity] duration-150 ease-out hover:-translate-y-px hover:opacity-90 active:translate-y-0 active:opacity-100`,to:`/threads`,"aria-current":e.current===``?`page`:void 0,"data-testid":`new-thread`},{default:h(()=>[r(d,{name:`i-lucide-plus`,class:`size-4 shrink-0 transition-transform duration-150 ease-out group-hover:rotate-90`,"aria-hidden":`true`}),n[1]||=_(`span`,null,`New thread`,-1),n[2]||=_(`span`,{class:`kbd ml-auto flex gap-0.5 font-mono text-[0.65rem] opacity-70`,"aria-label":`shortcut shift command O`},[_(`kbd`,{class:`rounded border border-current/30 px-1`},`⇧`),_(`kbd`,{class:`rounded border border-current/30 px-1`},`⌘`),_(`kbd`,{class:`rounded border border-current/30 px-1`},`O`)],-1)]),_:1},8,[`aria-current`]),_(`label`,B,[r(d,{name:`i-lucide-search`,class:`size-3.5 shrink-0 text-dimmed`,"aria-hidden":`true`}),f(_(`input`,{ref_key:`filter`,ref:c,"onUpdate:modelValue":n[0]||=e=>s.value=e,class:`min-w-0 flex-1 bg-transparent text-[0.8rem] text-highlighted outline-none placeholder:text-dimmed`,type:`text`,placeholder:`Filter recent`,"aria-label":`Filter recent threads`,autocomplete:`off`,onKeydown:ee},null,544),[[ne,s.value]]),s.value?p(``,!0):(g(),i(`kbd`,V,`⌘K`))]),n[8]||=_(`p`,{class:`label px-3 pb-1 font-mono text-[0.65rem] font-medium uppercase tracking-wider text-dimmed`},`Recent`,-1),e.rows.length===0?(g(),i(`p`,Be,`Nothing yet. Ask something.`)):u.value.length===0?(g(),i(`p`,H,`Nothing matches "`+l(s.value)+`".`,1)):p(``,!0),r(o,{name:`sb-rise`,tag:`div`,class:`rows flex flex-col gap-0.5`},{default:h(()=>[(g(!0),i(x,null,a(u.value,t=>(g(),i(`div`,{key:t.id},[r(te,{"delay-duration":K,content:{side:`right`,sideOffset:12,align:`start`},ui:{content:`h-auto max-w-xs px-2.5 py-2`}},{content:h(()=>[r(R,{row:t,now:e.now},null,8,[`row`,`now`])]),default:h(()=>[r(v,{class:`row group relative flex items-baseline gap-2 rounded-lg px-3 py-1.5 no-underline transition-colors duration-150 ease-out hover:bg-(--ui-bg-muted) aria-[current=page]:bg-(--ui-bg-accented)`,to:`/threads/${encodeURIComponent(t.id)}`,"aria-current":t.id===e.current?`page`:void 0,"data-surface":t.surface},{default:h(()=>[n[3]||=_(`span`,{class:`bar absolute left-0 top-1/2 h-4 w-0.5 -translate-y-1/2 rounded-full bg-primary opacity-0 transition-opacity duration-150 ease-out group-aria-[current=page]:opacity-100`,"aria-hidden":`true`},null,-1),t.live?(g(),i(`span`,U)):p(``,!0),_(`span`,Ve,l(t.title),1),_(`span`,He,l(y(j)(t.lastAt,e.now)),1)]),_:2},1032,[`to`,`aria-current`,`data-surface`])]),_:2},1024)]))),128))]),_:1}),r(v,{class:`all mt-3 flex items-center gap-1.5 px-3 py-1 text-xs font-medium text-muted no-underline transition-colors duration-150 ease-out hover:text-highlighted`,to:`/runs`,"data-testid":`all-runs`},{default:h(()=>[n[4]||=b(` All runs `,-1),r(d,{name:`i-lucide-arrow-right`,class:`size-3 transition-transform duration-150 ease-out group-hover:translate-x-0.5`,"aria-hidden":`true`})]),_:1}),_(`p`,W,l(e.retention),1),_(`p`,G,[n[6]||=b(` A thread is a conversation; each message you send is a run. `,-1),r(v,{class:`text-muted hover:text-highlighted`,to:`/runs`},{default:h(()=>[...n[5]||=[b(`Runs`,-1)]]),_:1}),n[7]||=b(` lists every run across everyone's threads. `,-1)])])}}}),We={class:`empty mx-auto flex w-full max-w-2xl flex-col items-center gap-5 px-3 py-6 text-center`},Ge={class:`flex flex-col gap-1.5`},Ke={class:`greeting sb-stagger text-xl font-medium tracking-tight text-highlighted`,style:{"--sb-i":`1`}},qe={class:`sb-stagger w-full text-left`,style:{"--sb-i":`3`}},q={key:0,class:`chips flex flex-wrap justify-center gap-2`,"aria-label":`Suggestions`},J=[`onClick`],Je=u({__name:`EmptyState`,props:{name:{},hour:{},suggestions:{}},emits:[`pick`],setup(e,{emit:n}){let o=n;return(n,s)=>(g(),i(`section`,We,[r(t,{draw:``,idle:``,class:`mark-lg sb-stagger text-highlighted`,style:{"font-size":`3.25rem`,"--sb-i":`0`}}),_(`div`,Ge,[_(`h2`,Ke,l(y(M)(e.hour,e.name)),1),s[0]||=_(`p`,{class:`sub sb-stagger text-[0.875rem] text-muted`,style:{"--sb-i":`2`}},` Ask in plain words. The right agent picks it up, and you watch it work here. `,-1)]),_(`div`,qe,[ce(n.$slots,`default`)]),e.suggestions.length>0?(g(),i(`ul`,q,[(g(!0),i(x,null,a(e.suggestions,(e,t)=>(g(),i(`li`,{key:e,class:`sb-stagger`,style:c({"--sb-i":t+4})},[_(`button`,{type:`button`,class:`chip rounded-full border border-default px-3 py-1 text-[0.8rem] text-toned transition-[color,border-color,background-color,transform] duration-150 ease-out hover:-translate-y-px hover:border-accented hover:bg-(--ui-bg-muted) hover:text-highlighted focus-visible:outline-2 focus-visible:outline-primary active:translate-y-0`,onClick:t=>o(`pick`,e)},l(e),9,J)],4))),128))])):p(``,!0)]))}});function Ye(){return{runs:new Map,connected:!1}}function Xe(e,t){t.type===`upsert`&&t.run?t.run.finished||!t.run.threadKey?e.runs.delete(t.run.id):e.runs.set(t.run.id,{threadKey:t.run.threadKey,startedAt:t.run.startedAt,...t.run.label===void 0?{}:{label:t.run.label},...t.run.channelId===void 0?{}:{channelId:t.run.channelId}}):t.type===`removed`&&t.id&&e.runs.delete(t.id)}function Y(e){let t=new Map;for(let n of e.runs.values()){let e=t.get(n.threadKey)??[];e.push(n),t.set(n.threadKey,e)}return t}function Ze(e,t){return t.includes(`:`)?t:`${e}:${t}`}function Qe(e){let t=e.indexOf(`:`);return t>0?e.slice(0,t):`unknown`}function $e(e,t,n){if(!t.connected)return[...e];let r=Y(t),i=new Set,a=e.map(e=>{let t=Ze(n,e.id);i.add(t);let a=r.get(t);if(!a)return e.live?{...e,live:!1}:e;let o=e.live?0:a.length;return{...e,live:!0,runs:e.runs+o,lastAt:Math.max(e.lastAt,...a.map(e=>e.startedAt))}}),o=[];for(let[e,t]of r){if(i.has(e))continue;let r=t.reduce((e,t)=>t.startedAt>e.startedAt?t:e),a=r.label?he(r.label).snippet:void 0;o.push({id:e.startsWith(`${n}:`)?e.slice(n.length+1):e,title:a??r.label??e,excerpt:a??r.label??e,lastAt:r.startedAt,runs:t.length,live:!0,surface:Qe(r.channelId??e)})}return o.sort((e,t)=>t.lastAt-e.lastAt),[...o,...a]}var et={key:0,class:`mx-auto my-12 max-w-xl text-center text-toned`},tt=[`data-rail`],nt={key:0,class:`relative hidden md:block`},rt=[`aria-valuemin`,`aria-valuemax`,`aria-valuenow`],it={class:`thread mx-auto flex min-h-[calc(100vh-8rem)] w-full max-w-3xl flex-col`},at={key:4,class:`inline text-[0.875rem] text-toned`,"data-testid":`inline`},ot={key:2,class:`elsewhere sticky bottom-0 z-10 -mx-3 mt-auto bg-default/85 px-3 py-4 text-center text-[0.8rem] text-toned backdrop-blur sm:-mx-5 sm:px-5`,"data-testid":`elsewhere`},st=[`href`],ct={key:3,class:`composer-dock sticky bottom-0 z-10 -mx-3 mt-auto bg-default/85 px-3 pb-[max(0.75rem,env(safe-area-inset-bottom))] pt-3 backdrop-blur sm:-mx-5 sm:px-5`},X=`(min-width: 48rem)`,Z=u({__name:`HomePage`,setup(t){let u=oe(`home`),f=me(u?.now),m=u?.conversation??``,ne=v(u?.retentionDays??null),ce=0,T=e=>`${e}-${++ce}`,O=E([]);for(let e of u?.turns??[]){if(`kind`in e){e.kind===`receipt`?O.push({key:T(`s`),kind:`silent`,reason:e.reason,at:e.decidedAt}):O.push({key:T(`w`),kind:`parent`,turn:e});continue}O.push({key:T(`p`),kind:`person`,text:e.request,at:e.receivedAt??e.startedAt,pending:!1});let t=!e.finished&&e.token?{eventsUrl:`/runs/${encodeURIComponent(e.id)}/events?t=${e.token}`,stopUrl:`/runs/${encodeURIComponent(e.id)}/stop?t=${e.token}`,serverNow:u?.now}:null;O.push({key:T(`a`),kind:`assistant`,turn:e,live:t,ended:e.finished})}let he=D(()=>{for(let e=O.length-1;e>=0;e--){let t=O[e];if(t.kind===`assistant`&&t.live&&!t.ended&&t.turn.hosted!==!0)return t}return null}),k=C(null),j=C(0);le(e,j);let M=C(``),N=C(void 0),F=D(()=>xe(he.value!==null,M.value)),I=C(!1);s(M,()=>{N.value&&M.value===``&&(N.value=void 0)});function Fe(e){M.value=e,L()}async function L(){if(!u||I.value)return;let e=Ee(M.value.trim(),u.commands);if(e===``)return;let t=E({key:T(`p`),kind:`person`,text:e,at:f.value,pending:!0});O.push(t),M.value=``,N.value=void 0,I.value=!0,j.value++;try{let n=await fetch(u.sendUrl,{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify({text:e})}),r=await n.json().catch(()=>({}));if(n.status===202&&typeof r.viewPath==`string`&&typeof r.runId==`string`){let n=Se(r.viewPath);if(!n)throw Error(`the run's view path was not one`);t.pending=!1,S.pathname()===`/threads`&&S.replaceUrl(`/threads/${encodeURIComponent(m)}`),O.push({key:T(`a`),kind:`assistant`,turn:{id:r.runId,request:e,startedAt:f.value,receivedAt:f.value,finished:!1,eventCount:0},live:{eventsUrl:n.eventsUrl,stopUrl:n.stopUrl},ended:!1});return}if(n.ok&&r.offer&&typeof r.offer.line==`string`){t.pending=!1;let e=je({line:r.offer.line,...r.offer});M.value=e.command,N.value=e.hint;return}if(n.ok&&typeof r.reply==`string`){t.pending=!1;let e=Ae(r.reply);e.kind===`inline`&&O.push({key:T(`i`),kind:`inline`,text:e.text});return}throw Error(r.error??`HTTP ${n.status}`)}catch(e){t.pending=!1,t.failed=`not sent: ${e instanceof Error?e.message:`error`}`}finally{I.value=!1}}function Ie(){let e=k.value;e&&fetch(`${e}${e.includes(`?`)?`&`:`?`}mode=soft`,{method:`POST`,credentials:`same-origin`})}function Le(e,t,n){let r=O.filter(e=>e.kind===`person`),i=ve(r.map(e=>({text:e.text,folded:e.folded!==void 0,ref:e})),t);if(!i)return;let a=e.turn.receivedAt??e.turn.startedAt;i.ref.folded=n===void 0?``:`at ${ge(Math.max(0,n-a),`clock`)}`}function Re(e){e.ended=!0,k.value=null}let ze=Ne({width:S.readPref(P.width),collapsed:S.readPref(P.collapsed)}),R=C(ze.width),z=C(ze.collapsed),B=C(!1),V=C(S.mediaMatches(X)),Be=S.onMediaChange(X,e=>{V.value=e}),H=C(null),U=C(null),Ve=D(()=>V.value?z.value?`Show recent threads`:`Hide recent threads`:`Recent threads`);function He(){if(V.value=S.mediaMatches(X),V.value){z.value=!z.value,S.writePref(P.collapsed,z.value?`1`:`0`);return}B.value=!0}function W(e,t){R.value=we(e),t&&S.writePref(P.width,String(R.value))}let G=null;function K(e){G&&W(G.startWidth+(e.clientX-G.startX),!1)}function We(){window.removeEventListener(`pointermove`,K),G&&(G=null,S.writePref(P.width,String(R.value)))}function Ge(e){e.button===0&&(e.preventDefault(),G={startX:e.clientX,startWidth:R.value},e.currentTarget?.setPointerCapture?.(e.pointerId),window.addEventListener(`pointermove`,K),window.addEventListener(`pointerup`,We,{once:!0}))}function Ke(e){if(e.key===`ArrowRight`)W(R.value+A.step,!0);else if(e.key===`ArrowLeft`)W(R.value-A.step,!0);else if(e.key===`Home`)W(A.min,!0);else if(e.key===`End`)W(A.max,!0);else return;e.preventDefault()}se(()=>{window.removeEventListener(`pointermove`,K),window.removeEventListener(`pointerup`,We),Be()});function qe(e){let t=be(e);if(t){if(e.preventDefault(),t===`newThread`){S.navigate(`/threads`);return}if(H.value){H.value.focusFilter();return}if(z.value&&S.mediaMatches(X)){z.value=!1,S.writePref(P.collapsed,`0`),ie().then(()=>H.value?.focusFilter());return}B.value=!0,ie().then(()=>U.value?.focusFilter())}}let q=C(null),J=C(!1);function Y(){return document.body.scrollHeight-(window.innerHeight+window.scrollY)}s(()=>O.length,()=>{let e=Me(Y());ie().then(()=>{e?q.value?.scrollIntoView?.({block:`end`}):J.value=!0})});function Ze(){Me(Y())&&(J.value=!1)}function Qe(){q.value?.scrollIntoView?.({block:`end`,behavior:`smooth`}),J.value=!1}te(()=>{window.addEventListener(`scroll`,Ze,{passive:!0}),window.addEventListener(`keydown`,qe),u&&ft()}),re(()=>{window.removeEventListener(`scroll`,Ze),window.removeEventListener(`keydown`,qe),Q?.close()});let Z=E(Ye()),lt=D(()=>$e(u?.conversations??[],Z,u?.lane??``)),ut=D(()=>{let e=he.value?.turn.id;return Z.runs.size+(e&&!Z.runs.has(e)?1:0)}),dt=pe(),Q=null;function ft(){Q=dt(`/runs?stream=1&mine=1`);let e=!1;Q.onopen=()=>{e&&Z.runs.clear(),e=!0,Z.connected=!0},Q.onmessage=e=>{let t;try{t=JSON.parse(e.data)}catch{return}Xe(Z,t)}}let pt=D(()=>{let e=O.find(e=>e.kind===`person`);return e?De(e.text):`Switchboard`});s([pt,ut],([e,t])=>{S.setTitle(t>0?`(${t}) ${e}`:e),S.setFavicon(t>0?fe:de)},{immediate:!0});let mt=D(()=>new Date(f.value).getHours()),ht=D(()=>O.length===0),$=u?.elsewhere,gt=$?$.surface===`web`?`This thread is another person's conversation. You can read it here.`:`This thread lives in ${_e[$.surface]??$.surface}.`:``;return(e,t)=>{let s=ae,v=ue;return g(),w(n,{title:`Threads`,nav:`home`},{leading:h(()=>[r(s,{class:`rail-toggle -ml-1`,size:`xs`,color:`neutral`,variant:`ghost`,icon:V.value&&!z.value?`i-lucide-panel-left-close`:`i-lucide-panel-left`,"aria-label":Ve.value,"aria-expanded":V.value?!z.value:void 0,onClick:He},null,8,[`icon`,`aria-label`,`aria-expanded`])]),default:h(()=>[y(u)?(g(),i(`div`,{key:1,class:d([`home gap-8 md:grid`,z.value?`md:grid-cols-[minmax(0,1fr)]`:`md:grid-cols-[var(--rail-w)_minmax(0,1fr)]`]),style:c({"--rail-w":`${R.value}px`}),"data-rail":z.value?`hidden`:`shown`},[z.value?p(``,!0):(g(),i(`aside`,nt,[r(Ue,{ref_key:`rail`,ref:H,class:`sticky top-20`,rows:lt.value,current:y(m),now:y(f),retention:y(ne)},null,8,[`rows`,`current`,`now`,`retention`]),_(`div`,{class:`handle group/handle absolute inset-y-0 -right-5 flex w-3 cursor-col-resize touch-none select-none justify-center outline-none`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize the recent threads column`,"aria-valuemin":y(A).min,"aria-valuemax":y(A).max,"aria-valuenow":R.value,tabindex:`0`,"data-testid":`rail-handle`,onPointerdown:Ge,onKeydown:Ke,onDblclick:t[0]||=e=>W(y(A).default,!0)},[...t[5]||=[_(`span`,{class:`w-px rounded-full bg-(--ui-border-accented) opacity-0 transition-opacity duration-150 ease-out group-hover/handle:opacity-100 group-focus-visible/handle:opacity-100`,"aria-hidden":`true`},null,-1)]],40,rt)])),r(v,{open:B.value,"onUpdate:open":t[1]||=e=>B.value=e,side:`left`,title:`Recent threads`,ui:{content:`max-w-xs`}},{body:h(()=>[r(Ue,{ref_key:`sheetRail`,ref:U,rows:lt.value,current:y(m),now:y(f),retention:y(ne)},null,8,[`rows`,`current`,`now`,`retention`])]),_:1},8,[`open`]),_(`section`,it,[ht.value?(g(),w(Je,{key:0,class:`mb-auto mt-[clamp(1.5rem,14vh,9rem)]`,name:y(u).viewer.name,hour:mt.value,suggestions:y(u).suggestions,onPick:Fe},{default:h(()=>[r(ye,{modelValue:M.value,"onUpdate:modelValue":t[2]||=e=>M.value=e,mode:F.value,hint:N.value,commands:y(u).commands,autofocus:``,"sweep-on-mount":``,onSubmit:L,onStop:Ie},null,8,[`modelValue`,`mode`,`hint`,`commands`])]),_:1},8,[`name`,`hour`,`suggestions`])):(g(),w(o,{key:1,name:`sb-rise`,"move-class":`sb-move-move`,tag:`ol`,class:`transcript m-0 flex list-none flex-col gap-6 p-0 pb-32 pt-2`},{default:h(()=>[(g(!0),i(x,null,a(O,e=>(g(),i(`li`,{key:e.key},[e.kind===`person`?(g(),w(Ce,{key:0,text:e.text,at:e.at,now:y(f),pending:e.pending,folded:e.folded,failed:e.failed},null,8,[`text`,`at`,`now`,`pending`,`folded`,`failed`])):e.kind===`assistant`?(g(),w(Oe,{key:1,turn:e.turn,live:e.live,now:y(f),onInput:(t,n)=>Le(e,t,n),onEnded:t=>Re(e),onStop:t[3]||=e=>k.value=e},null,8,[`turn`,`live`,`now`,`onInput`,`onEnded`])):e.kind===`silent`?(g(),w(ke,{key:2,reason:e.reason,"decided-at":e.at,now:y(f)},null,8,[`reason`,`decided-at`,`now`])):e.kind===`parent`?(g(),w(Te,{key:3,turn:e.turn,now:y(f)},null,8,[`turn`,`now`])):(g(),i(`div`,at,[r(Pe,{text:e.text},null,8,[`text`])]))]))),128))]),_:1})),_(`div`,{ref_key:`end`,ref:q,class:`end`,"aria-hidden":`true`},null,512),!ht.value&&y($)?(g(),i(`p`,ot,[b(l(y(gt))+` `,1),y($).url?(g(),i(`a`,{key:0,href:y($).url,target:`_blank`,rel:`noopener`,class:`text-highlighted`},`Reply there ↗`,8,st)):y($).surface===`web`?p(``,!0):(g(),i(x,{key:1},[b(`Reply there.`)],64))])):ht.value?p(``,!0):(g(),i(`div`,ct,[r(ee,{name:`sb-rise`},{default:h(()=>[J.value?(g(),i(`button`,{key:0,type:`button`,class:`new-pill absolute -top-9 left-1/2 -translate-x-1/2 rounded-full border border-default bg-(--ui-bg-elevated) px-3 py-1 font-mono text-[0.7rem] text-toned shadow-sm hover:text-highlighted`,onClick:Qe},` ↓ new `)):p(``,!0)]),_:1}),r(ye,{modelValue:M.value,"onUpdate:modelValue":t[4]||=e=>M.value=e,mode:F.value,hint:N.value,commands:y(u).commands,autofocus:``,onSubmit:L,onStop:Ie},null,8,[`modelValue`,`mode`,`hint`,`commands`])]))])],14,tt)):(g(),i(`div`,et,`This page needs its seed.`))]),_:1})}}});export{Z as default};
|
package/dist/assets/web/dist/assets/{PendingTurnRow-DGINv9XT.js → PendingTurnRow-DBPMLVsm.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as e,D as t,O as n,P as r,T as i,w as a}from"./AppShell-CSXDCV4x.js";import{An as o,B as s,Br as c,Cn as l,Ct as u,D as d,Di as f,Dr as p,Fi as m,G as h,Gr as g,Hn as _,I as v,J as y,K as b,L as x,Li as S,Mn as C,Oi as ee,Pi as w,Pr as T,Qr as E,S as D,Sn as O,T as k,Xr as A,_r as j,b as te,bn as M,dr as N,gt as P,ji as F,kn as I,l as ne,m as re,rn as ie,rr as L,rt as ae,tn as R,w as oe,wr as z,x as B,xi as V,xn as H,yn as U,z as W}from"./browser-B6T5hjfR.js";import{K as G}from"./indexRow-DborJPFp.js";import"./format-BldUwl_R.js";import{d as K,f as q,m as se,p as ce}from"./sseReplay-DE6wv1Ua.js";var[J,le]=b(`DialogRoot`),ue=C({inheritAttrs:!1,__name:`DialogRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=P(n,`open`,t,{defaultValue:n.defaultOpen,passive:n.open===void 0}),i=V(),a=V(),{modal:o,unmountOnHide:s}=ee(n);return le({open:r,modal:o,unmountOnHide:s,openModal:()=>{r.value=!0},onOpenChange:e=>{r.value=e},onOpenToggle:()=>{r.value=!r.value},contentId:``,titleId:``,descriptionId:``,triggerElement:i,contentElement:a}),(e,t)=>z(e.$slots,`default`,{open:F(r),close:()=>r.value=!1})}}),de=C({__name:`DialogClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;W();let n=J();return(e,r)=>(j(),H(F(v),L(t,{type:e.as===`button`?`button`:void 0,onClick:r[0]||=e=>F(n).onOpenChange(!1)}),{default:A(()=>[z(e.$slots,`default`)]),_:3},16,[`type`]))}}),Y=C({__name:`DialogContentImpl`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(n,{emit:r}){let s=n,c=r,l=J(),{forwardRef:u,currentElement:d}=W();return l.titleId||=t(void 0,`reka-dialog-title`),l.descriptionId||=t(void 0,`reka-dialog-description`),N(()=>{l.contentElement=d,h()!==document.body&&(l.triggerElement.value=h())}),(t,n)=>(j(),H(F(a),{"as-child":``,loop:``,trapped:s.trapFocus,present:s.present,onMountAutoFocus:n[5]||=e=>c(`openAutoFocus`,e),onUnmountAutoFocus:n[6]||=e=>c(`closeAutoFocus`,e)},{default:A(()=>[o(F(i),L({id:F(l).contentId,ref:F(u),as:t.as,"as-child":t.asChild,present:s.present,"disable-outside-pointer-events":t.disableOutsidePointerEvents,role:`dialog`,"aria-describedby":F(l).descriptionId,"aria-labelledby":F(l).titleId,"data-state":F(e)(F(l).open.value)},t.$attrs,{onDismiss:n[0]||=e=>F(l).onOpenChange(!1),onEscapeKeyDown:n[1]||=e=>c(`escapeKeyDown`,e),onFocusOutside:n[2]||=e=>c(`focusOutside`,e),onInteractOutside:n[3]||=e=>c(`interactOutside`,e),onPointerDownOutside:n[4]||=e=>c(`pointerDownOutside`,e)}),{default:A(()=>[z(t.$slots,`default`)]),_:3},16,[`id`,`as`,`as-child`,`present`,`disable-outside-pointer-events`,`aria-describedby`,`aria-labelledby`,`data-state`])]),_:3},8,[`trapped`,`present`]))}}),fe=C({__name:`DialogContentModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let r=e,i=t,a=J(),o=s(i),{forwardRef:c,currentElement:l}=W(),u=U(()=>r.present?l.value:void 0);n(u);let d=U(()=>{let{present:e,...t}=r;return t});return g(()=>r.present,(e,t)=>{!e&&t&&a.triggerElement.value?.focus()}),(e,t)=>(j(),H(Y,L({...d.value,...F(o)},{ref:F(c),present:e.present,"trap-focus":F(a).open.value,"disable-outside-pointer-events":r.disableOutsidePointerEvents,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(e.preventDefault(),F(a).triggerElement.value?.focus())},onPointerDownOutside:t[1]||=e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()},onFocusOutside:t[2]||=e=>{e.preventDefault()}}),{default:A(()=>[z(e.$slots,`default`)]),_:3},16,[`present`,`trap-focus`,`disable-outside-pointer-events`]))}}),pe=C({__name:`DialogContentNonModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=s(t);W();let i=J(),a=V(!1),o=V(!1),c=U(()=>{let{present:e,...t}=n;return t});return g(()=>n.present,(e,t)=>{!e&&t&&(a.value||i.triggerElement.value?.focus(),a.value=!1,o.value=!1)}),(e,t)=>(j(),H(Y,L({...c.value,...F(r)},{present:e.present,"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(a.value||F(i).triggerElement.value?.focus(),e.preventDefault()),a.value=!1,o.value=!1},onInteractOutside:t[1]||=e=>{e.defaultPrevented||(a.value=!0,e.detail.originalEvent.type===`pointerdown`&&(o.value=!0));let t=e.target;F(i).triggerElement.value?.contains(t)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&o.value&&e.preventDefault()}}),{default:A(()=>[z(e.$slots,`default`)]),_:3},16,[`present`]))}}),me=C({__name:`DialogContent`,props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:void 0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=J(),a=s(r),{forwardRef:o}=W();return(e,t)=>(j(),H(F(x),{present:e.forceMount||F(i).open.value,"force-mount":e.forceMount||!F(i).unmountOnHide.value},{default:A(({present:t})=>[F(i).modal.value?E((j(),H(fe,L({key:0,ref:F(o),present:F(i).unmountOnHide.value||t},{...n,...F(a),...e.$attrs}),{default:A(()=>[z(e.$slots,`default`)]),_:2},1040,[`present`])),[[R,F(i).unmountOnHide.value||t]]):E((j(),H(pe,L({key:1,ref:F(o),present:F(i).unmountOnHide.value||t},{...n,...F(a),...e.$attrs}),{default:A(()=>[z(e.$slots,`default`)]),_:2},1040,[`present`])),[[R,F(i).unmountOnHide.value||t]])]),_:3},8,[`present`,`force-mount`]))}}),X=C({__name:`DialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let t=e;W();let n=J();return(e,r)=>(j(),H(F(v),L(t,{id:F(n).descriptionId}),{default:A(()=>[z(e.$slots,`default`)]),_:3},16,[`id`]))}}),he=C({__name:`DialogOverlayImpl`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1,default:!0}},setup(e){let t=e,n=J(),i=r(t.present);return g(()=>t.present,e=>i.value=e),W(),(e,t)=>(j(),H(F(v),{as:e.as,"as-child":e.asChild,"data-state":F(n).open.value?`open`:`closed`,style:{"pointer-events":`auto`},onPointerdown:t[0]||=ie(()=>{},[`left`,`self`,`prevent`])},{default:A(()=>[z(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-state`]))}}),ge=C({__name:`DialogOverlay`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=J(),{forwardRef:n}=W();return(e,r)=>F(t)?.modal.value?(j(),H(F(x),{key:0,present:e.forceMount||F(t).open.value,"force-mount":e.forceMount||!F(t).unmountOnHide.value},{default:A(({present:r})=>[E(o(he,L(e.$attrs,{ref:F(n),as:e.as,"as-child":e.asChild,present:F(t).unmountOnHide.value||r}),{default:A(()=>[z(e.$slots,`default`)]),_:2},1040,[`as`,`as-child`,`present`]),[[R,F(t).unmountOnHide.value||r]])]),_:3},8,[`present`,`force-mount`])):O(`v-if`,!0)}}),_e=C({__name:`DialogPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(j(),H(F(d),m(_(t)),{default:A(()=>[z(e.$slots,`default`)]),_:3},16))}}),Z=C({__name:`DialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let t=e,n=J();return W(),(e,r)=>(j(),H(F(v),L(t,{id:F(n).titleId}),{default:A(()=>[z(e.$slots,`default`)]),_:3},16,[`id`]))}}),ve=C({__name:`DialogTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let n=e,r=J(),{forwardRef:i,currentElement:a}=W();return r.contentId||=t(void 0,`reka-dialog-content`),N(()=>{r.triggerElement.value=a.value}),(e,t)=>(j(),H(F(v),L(n,{ref:F(i),type:e.as===`button`?`button`:void 0,"aria-haspopup":`dialog`,"aria-expanded":F(r).open.value||!1,"aria-controls":F(r).open.value?F(r).contentId:void 0,"data-state":F(r).open.value?`open`:`closed`,onClick:F(r).onOpenToggle}),{default:A(()=>[z(e.$slots,`default`)]),_:3},16,[`type`,`aria-expanded`,`aria-controls`,`data-state`,`onClick`]))}});function ye(e,t={}){let n=e.detail.originalEvent,r=n.target;if(!r?.isConnected){e.preventDefault();return}t.scrollable&&(n.offsetX>r.clientWidth||n.offsetY>r.clientHeight)&&e.preventDefault()}var be={slots:{overlay:`fixed inset-0 bg-elevated/75`,content:`fixed bg-default divide-y divide-default sm:ring ring-default sm:shadow-lg flex flex-col focus:outline-none`,header:`flex items-center gap-1.5 p-4 sm:px-6 min-h-(--ui-header-height)`,wrapper:``,body:`flex-1 overflow-y-auto p-4 sm:p-6`,footer:`flex items-center gap-1.5 p-4 sm:px-6`,title:`text-highlighted font-semibold`,description:`mt-1 text-muted text-sm`,close:`absolute top-4 end-4`},variants:{side:{top:{content:``},right:{content:`max-w-md`},bottom:{content:``},left:{content:`max-w-md`}},inset:{true:{content:`rounded-lg`}},transition:{true:{overlay:`data-[state=open]:animate-[fade-in_200ms_var(--ease-out)] data-[state=closed]:animate-[fade-out_200ms_var(--ease-out)]`}}},compoundVariants:[{side:`top`,inset:!0,class:{content:`max-h-[calc(100%-2rem)] inset-x-4 top-4`}},{side:`top`,inset:!1,class:{content:`max-h-full inset-x-0 top-0`}},{side:`right`,inset:!0,class:{content:`w-[calc(100%-2rem)] inset-y-4 right-4`}},{side:`right`,inset:!1,class:{content:`w-full inset-y-0 right-0`}},{side:`bottom`,inset:!0,class:{content:`max-h-[calc(100%-2rem)] inset-x-4 bottom-4`}},{side:`bottom`,inset:!1,class:{content:`max-h-full inset-x-0 bottom-0`}},{side:`left`,inset:!0,class:{content:`w-[calc(100%-2rem)] inset-y-4 left-4`}},{side:`left`,inset:!1,class:{content:`w-full inset-y-0 left-0`}},{transition:!0,side:`top`,class:{content:`data-[state=open]:animate-[slide-in-from-top_200ms_var(--ease-out)] data-[state=closed]:animate-[slide-out-to-top_200ms_var(--ease-out)]`}},{transition:!0,side:`right`,class:{content:`data-[state=open]:animate-[slide-in-from-right_200ms_var(--ease-out)] data-[state=closed]:animate-[slide-out-to-right_200ms_var(--ease-out)]`}},{transition:!0,side:`bottom`,class:{content:`data-[state=open]:animate-[slide-in-from-bottom_200ms_var(--ease-out)] data-[state=closed]:animate-[slide-out-to-bottom_200ms_var(--ease-out)]`}},{transition:!0,side:`left`,class:{content:`data-[state=open]:animate-[slide-in-from-left_200ms_var(--ease-out)] data-[state=closed]:animate-[slide-out-to-left_200ms_var(--ease-out)]`}}]},xe={__name:`Slideover`,props:{title:{type:String,required:!1},description:{type:String,required:!1},content:{type:Object,required:!1},overlay:{type:Boolean,required:!1,default:!0},transition:{type:Boolean,required:!1,default:!0},side:{type:null,required:!1,default:`right`},inset:{type:Boolean,required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},close:{type:[Boolean,Object],required:!1,default:!0},closeIcon:{type:null,required:!1},dismissible:{type:Boolean,required:!1,default:!0},class:{type:null,required:!1},ui:{type:Object,required:!1},open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1},modal:{type:Boolean,required:!1,default:!0},unmountOnHide:{type:Boolean,required:!1}},emits:[`leave`,`after:leave`,`enter`,`after:enter`,`close:prevent`,`update:open`],setup(e,{emit:t}){let n=e,r=t,i=c(),a=D(`slideover`,n),{t:s}=y(),d=ae(),p=B(u(a,`open`,`defaultOpen`,`modal`,`unmountOnHide`),r),h=oe(f(()=>a.portal)),g=f(()=>a.content),v=U(()=>a.dismissible?{pointerDownOutside:ye}:[`interactOutside`,`escapeKeyDown`].reduce((e,t)=>(e[t]=e=>{e.preventDefault(),r(`close:prevent`)},e),{})),b=U(()=>te({extend:be,...d.ui?.slideover||{}})({transition:a.transition,side:a.side,inset:a.inset}));return(e,t)=>(j(),H(F(ue),m(_(F(p))),{default:A(({open:n,close:c})=>[i.default?(j(),H(F(ve),{key:0,"as-child":``,class:w(F(a).class)},{default:A(()=>[z(e.$slots,`default`,{open:n})]),_:2},1032,[`class`])):O(``,!0),o(F(_e),L(F(h),{"force-mount":F(h).disabled&&F(a).unmountOnHide===!1||void 0}),{default:A(()=>[o(F(re),null,{default:A(()=>[F(a).overlay?(j(),H(F(ge),{key:0,"data-slot":`overlay`,class:w(b.value.overlay({class:F(a).ui?.overlay}))},null,8,[`class`])):O(``,!0),o(F(me),L({"data-side":F(a).side,"data-slot":`content`,class:b.value.content({class:[!i.default&&F(a).class,F(a).ui?.content]})},g.value,{onEnter:t[0]||=e=>r(`enter`),onAfterEnter:t[1]||=e=>r(`after:enter`),onLeave:t[2]||=e=>r(`leave`),onAfterLeave:t[3]||=e=>r(`after:leave`)},T(v.value)),{default:A(()=>[!F(a).title&&!i.title||!F(a).description&&!i.description||i.content?(j(),H(F(k),{key:0},{default:A(()=>[!F(a).title&&!i.title?(j(),H(F(Z),{key:0})):i.content?(j(),H(F(Z),{key:1},{default:A(()=>[z(e.$slots,`title`,{},()=>[I(S(F(a).title),1)])]),_:3})):O(``,!0),!F(a).description&&!i.description?(j(),H(F(X),{key:2})):i.content?(j(),H(F(X),{key:3},{default:A(()=>[z(e.$slots,`description`,{},()=>[I(S(F(a).description),1)])]),_:3})):O(``,!0)]),_:3})):O(``,!0),z(e.$slots,`content`,{close:c},()=>[i.header||F(a).title||i.title||F(a).description||i.description||F(a).close||i.close?(j(),l(`div`,{key:0,"data-slot":`header`,class:w(b.value.header({class:F(a).ui?.header}))},[z(e.$slots,`header`,{close:c},()=>[F(a).title||i.title||F(a).description||i.description?(j(),l(`div`,{key:0,"data-slot":`wrapper`,class:w(b.value.wrapper({class:F(a).ui?.wrapper}))},[F(a).title||i.title?(j(),H(F(Z),{key:0,"data-slot":`title`,class:w(b.value.title({class:F(a).ui?.title}))},{default:A(()=>[z(e.$slots,`title`,{},()=>[I(S(F(a).title),1)])]),_:3},8,[`class`])):O(``,!0),F(a).description||i.description?(j(),H(F(X),{key:1,"data-slot":`description`,class:w(b.value.description({class:F(a).ui?.description}))},{default:A(()=>[z(e.$slots,`description`,{},()=>[I(S(F(a).description),1)])]),_:3},8,[`class`])):O(``,!0)],2)):O(``,!0),z(e.$slots,`actions`),F(a).close||i.close?(j(),H(F(de),{key:1,"as-child":``},{default:A(()=>[z(e.$slots,`close`,{ui:b.value},()=>[F(a).close?(j(),H(ne,L({key:0,icon:F(a).closeIcon||F(d).ui.icons.close,color:`neutral`,variant:`ghost`,"aria-label":F(s)(`slideover.close`)},typeof F(a).close==`object`?F(a).close:{},{"data-slot":`close`,class:b.value.close({class:F(a).ui?.close})}),null,16,[`icon`,`aria-label`,`class`])):O(``,!0)])]),_:2},1024)):O(``,!0)])],2)):O(``,!0),M(`div`,{"data-slot":`body`,class:w(b.value.body({class:F(a).ui?.body}))},[z(e.$slots,`body`,{close:c})],2),i.footer?(j(),l(`div`,{key:1,"data-slot":`footer`,class:w(b.value.footer({class:F(a).ui?.footer}))},[z(e.$slots,`footer`,{close:c})],2)):O(``,!0)])]),_:2},1040,[`data-side`,`class`])]),_:2},1024)]),_:2},1040,[`force-mount`])]),_:3},16))}};function Q(e){let t=V(`connecting`),n=e.factory(e.url);n.onopen=()=>{t.value===`connecting`&&!e.model.state.stopMode&&(t.value=`running`)};let r=0;return n.onmessage=t=>{let n;try{n=JSON.parse(t.data)}catch{return}if(n.type!==`replay_note`){let e=Number(t.lastEventId);if(e>0){if(e<=r)return;r=e}}e.handle(n)},n.addEventListener(`replay_elided`,t=>{let n=se(t);n&&e.model.noteElided(n)}),n.addEventListener(`finished`,n=>{e.onFinished?.(ce(n)),(t.value===`connecting`||t.value===`running`)&&(t.value=`finished`)}),n.addEventListener(`end`,r=>{e.model.flushPendingTurn(`the run ended here`),e.model.closePhases(),t.value=`ended`,n.close(),e.onEnd?.(q(r))}),n.onerror=()=>{n.readyState===2&&(t.value=`disconnected`,e.onDisconnected?.())},{phase:t,close:()=>n.close()}}var $=[`Thinking`,`Pondering`,`Mulling it over`,`Reasoning`,`Cogitating`,`Weighing options`,`Puzzling`,`Deliberating`,`Noodling`,`Chewing on it`,`Ruminating`,`Reticulating splines`];function Se(e){return $[Math.floor(Math.max(0,e)/6e3)%$.length]}var Ce=[`title`],we={class:`verb min-w-0 truncate text-toned`},Te=C({__name:`PendingTurnRow`,props:{verb:{},elapsedMs:{},slow:{type:Boolean},model:{},tag:{},id:{}},setup(e){return(t,n)=>(j(),H(p(e.tag??`li`),{id:e.id,class:`pending flex items-center gap-3 rounded-md border border-dashed border-accented pl-3 pr-[calc(var(--sb-gutter)-1px)] py-2 text-sm`,"aria-live":`off`,title:`the model is working on its next turn — nothing back yet (since the last event, runner clock)`,"data-testid":`pending`},{default:A(()=>[n[0]||=M(`span`,{class:`pulse text-[1.1em] leading-none text-info motion-safe:animate-pulse`},`∿`,-1),e.model?(j(),l(`span`,{key:0,class:`badge shrink-0 rounded bg-accented px-1.5 font-mono text-[0.68rem] font-medium leading-normal tracking-wider text-muted`,title:e.model},S(F(K)(e.model)),9,Ce)):O(``,!0),M(`span`,we,S(e.verb)+`…`,1),M(`span`,{class:w([`since ml-auto shrink-0 font-mono text-xs tabular-nums`,e.slow?`text-warn`:`text-dimmed`])},S(F(G)(e.elapsedMs,`clock`)),3)]),_:1},8,[`id`]))}});export{xe as i,Se as n,Q as r,Te as t};
|
|
1
|
+
import{C as e,D as t,O as n,P as r,T as i,w as a}from"./AppShell-CSXDCV4x.js";import{An as o,B as s,Br as c,Cn as l,Ct as u,D as d,Di as f,Dr as p,Fi as m,G as h,Gr as g,Hn as _,I as v,J as y,K as b,L as x,Li as S,Mn as C,Oi as ee,Pi as w,Pr as T,Qr as E,S as D,Sn as O,T as k,Xr as A,_r as j,b as te,bn as M,dr as N,gt as P,ji as F,kn as I,l as ne,m as re,rn as ie,rr as L,rt as ae,tn as R,w as oe,wr as z,x as B,xi as V,xn as H,yn as U,z as W}from"./browser-B6T5hjfR.js";import{K as G}from"./indexRow-BO_GIdF6.js";import"./format-BldUwl_R.js";import{d as K,f as q,m as se,p as ce}from"./sseReplay-BjlKmQsY.js";var[J,le]=b(`DialogRoot`),ue=C({inheritAttrs:!1,__name:`DialogRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=P(n,`open`,t,{defaultValue:n.defaultOpen,passive:n.open===void 0}),i=V(),a=V(),{modal:o,unmountOnHide:s}=ee(n);return le({open:r,modal:o,unmountOnHide:s,openModal:()=>{r.value=!0},onOpenChange:e=>{r.value=e},onOpenToggle:()=>{r.value=!r.value},contentId:``,titleId:``,descriptionId:``,triggerElement:i,contentElement:a}),(e,t)=>z(e.$slots,`default`,{open:F(r),close:()=>r.value=!1})}}),de=C({__name:`DialogClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;W();let n=J();return(e,r)=>(j(),H(F(v),L(t,{type:e.as===`button`?`button`:void 0,onClick:r[0]||=e=>F(n).onOpenChange(!1)}),{default:A(()=>[z(e.$slots,`default`)]),_:3},16,[`type`]))}}),Y=C({__name:`DialogContentImpl`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(n,{emit:r}){let s=n,c=r,l=J(),{forwardRef:u,currentElement:d}=W();return l.titleId||=t(void 0,`reka-dialog-title`),l.descriptionId||=t(void 0,`reka-dialog-description`),N(()=>{l.contentElement=d,h()!==document.body&&(l.triggerElement.value=h())}),(t,n)=>(j(),H(F(a),{"as-child":``,loop:``,trapped:s.trapFocus,present:s.present,onMountAutoFocus:n[5]||=e=>c(`openAutoFocus`,e),onUnmountAutoFocus:n[6]||=e=>c(`closeAutoFocus`,e)},{default:A(()=>[o(F(i),L({id:F(l).contentId,ref:F(u),as:t.as,"as-child":t.asChild,present:s.present,"disable-outside-pointer-events":t.disableOutsidePointerEvents,role:`dialog`,"aria-describedby":F(l).descriptionId,"aria-labelledby":F(l).titleId,"data-state":F(e)(F(l).open.value)},t.$attrs,{onDismiss:n[0]||=e=>F(l).onOpenChange(!1),onEscapeKeyDown:n[1]||=e=>c(`escapeKeyDown`,e),onFocusOutside:n[2]||=e=>c(`focusOutside`,e),onInteractOutside:n[3]||=e=>c(`interactOutside`,e),onPointerDownOutside:n[4]||=e=>c(`pointerDownOutside`,e)}),{default:A(()=>[z(t.$slots,`default`)]),_:3},16,[`id`,`as`,`as-child`,`present`,`disable-outside-pointer-events`,`aria-describedby`,`aria-labelledby`,`data-state`])]),_:3},8,[`trapped`,`present`]))}}),fe=C({__name:`DialogContentModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let r=e,i=t,a=J(),o=s(i),{forwardRef:c,currentElement:l}=W(),u=U(()=>r.present?l.value:void 0);n(u);let d=U(()=>{let{present:e,...t}=r;return t});return g(()=>r.present,(e,t)=>{!e&&t&&a.triggerElement.value?.focus()}),(e,t)=>(j(),H(Y,L({...d.value,...F(o)},{ref:F(c),present:e.present,"trap-focus":F(a).open.value,"disable-outside-pointer-events":r.disableOutsidePointerEvents,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(e.preventDefault(),F(a).triggerElement.value?.focus())},onPointerDownOutside:t[1]||=e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()},onFocusOutside:t[2]||=e=>{e.preventDefault()}}),{default:A(()=>[z(e.$slots,`default`)]),_:3},16,[`present`,`trap-focus`,`disable-outside-pointer-events`]))}}),pe=C({__name:`DialogContentNonModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=s(t);W();let i=J(),a=V(!1),o=V(!1),c=U(()=>{let{present:e,...t}=n;return t});return g(()=>n.present,(e,t)=>{!e&&t&&(a.value||i.triggerElement.value?.focus(),a.value=!1,o.value=!1)}),(e,t)=>(j(),H(Y,L({...c.value,...F(r)},{present:e.present,"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(a.value||F(i).triggerElement.value?.focus(),e.preventDefault()),a.value=!1,o.value=!1},onInteractOutside:t[1]||=e=>{e.defaultPrevented||(a.value=!0,e.detail.originalEvent.type===`pointerdown`&&(o.value=!0));let t=e.target;F(i).triggerElement.value?.contains(t)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&o.value&&e.preventDefault()}}),{default:A(()=>[z(e.$slots,`default`)]),_:3},16,[`present`]))}}),me=C({__name:`DialogContent`,props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:void 0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=J(),a=s(r),{forwardRef:o}=W();return(e,t)=>(j(),H(F(x),{present:e.forceMount||F(i).open.value,"force-mount":e.forceMount||!F(i).unmountOnHide.value},{default:A(({present:t})=>[F(i).modal.value?E((j(),H(fe,L({key:0,ref:F(o),present:F(i).unmountOnHide.value||t},{...n,...F(a),...e.$attrs}),{default:A(()=>[z(e.$slots,`default`)]),_:2},1040,[`present`])),[[R,F(i).unmountOnHide.value||t]]):E((j(),H(pe,L({key:1,ref:F(o),present:F(i).unmountOnHide.value||t},{...n,...F(a),...e.$attrs}),{default:A(()=>[z(e.$slots,`default`)]),_:2},1040,[`present`])),[[R,F(i).unmountOnHide.value||t]])]),_:3},8,[`present`,`force-mount`]))}}),X=C({__name:`DialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let t=e;W();let n=J();return(e,r)=>(j(),H(F(v),L(t,{id:F(n).descriptionId}),{default:A(()=>[z(e.$slots,`default`)]),_:3},16,[`id`]))}}),he=C({__name:`DialogOverlayImpl`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1,default:!0}},setup(e){let t=e,n=J(),i=r(t.present);return g(()=>t.present,e=>i.value=e),W(),(e,t)=>(j(),H(F(v),{as:e.as,"as-child":e.asChild,"data-state":F(n).open.value?`open`:`closed`,style:{"pointer-events":`auto`},onPointerdown:t[0]||=ie(()=>{},[`left`,`self`,`prevent`])},{default:A(()=>[z(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-state`]))}}),ge=C({__name:`DialogOverlay`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=J(),{forwardRef:n}=W();return(e,r)=>F(t)?.modal.value?(j(),H(F(x),{key:0,present:e.forceMount||F(t).open.value,"force-mount":e.forceMount||!F(t).unmountOnHide.value},{default:A(({present:r})=>[E(o(he,L(e.$attrs,{ref:F(n),as:e.as,"as-child":e.asChild,present:F(t).unmountOnHide.value||r}),{default:A(()=>[z(e.$slots,`default`)]),_:2},1040,[`as`,`as-child`,`present`]),[[R,F(t).unmountOnHide.value||r]])]),_:3},8,[`present`,`force-mount`])):O(`v-if`,!0)}}),_e=C({__name:`DialogPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(j(),H(F(d),m(_(t)),{default:A(()=>[z(e.$slots,`default`)]),_:3},16))}}),Z=C({__name:`DialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let t=e,n=J();return W(),(e,r)=>(j(),H(F(v),L(t,{id:F(n).titleId}),{default:A(()=>[z(e.$slots,`default`)]),_:3},16,[`id`]))}}),ve=C({__name:`DialogTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let n=e,r=J(),{forwardRef:i,currentElement:a}=W();return r.contentId||=t(void 0,`reka-dialog-content`),N(()=>{r.triggerElement.value=a.value}),(e,t)=>(j(),H(F(v),L(n,{ref:F(i),type:e.as===`button`?`button`:void 0,"aria-haspopup":`dialog`,"aria-expanded":F(r).open.value||!1,"aria-controls":F(r).open.value?F(r).contentId:void 0,"data-state":F(r).open.value?`open`:`closed`,onClick:F(r).onOpenToggle}),{default:A(()=>[z(e.$slots,`default`)]),_:3},16,[`type`,`aria-expanded`,`aria-controls`,`data-state`,`onClick`]))}});function ye(e,t={}){let n=e.detail.originalEvent,r=n.target;if(!r?.isConnected){e.preventDefault();return}t.scrollable&&(n.offsetX>r.clientWidth||n.offsetY>r.clientHeight)&&e.preventDefault()}var be={slots:{overlay:`fixed inset-0 bg-elevated/75`,content:`fixed bg-default divide-y divide-default sm:ring ring-default sm:shadow-lg flex flex-col focus:outline-none`,header:`flex items-center gap-1.5 p-4 sm:px-6 min-h-(--ui-header-height)`,wrapper:``,body:`flex-1 overflow-y-auto p-4 sm:p-6`,footer:`flex items-center gap-1.5 p-4 sm:px-6`,title:`text-highlighted font-semibold`,description:`mt-1 text-muted text-sm`,close:`absolute top-4 end-4`},variants:{side:{top:{content:``},right:{content:`max-w-md`},bottom:{content:``},left:{content:`max-w-md`}},inset:{true:{content:`rounded-lg`}},transition:{true:{overlay:`data-[state=open]:animate-[fade-in_200ms_var(--ease-out)] data-[state=closed]:animate-[fade-out_200ms_var(--ease-out)]`}}},compoundVariants:[{side:`top`,inset:!0,class:{content:`max-h-[calc(100%-2rem)] inset-x-4 top-4`}},{side:`top`,inset:!1,class:{content:`max-h-full inset-x-0 top-0`}},{side:`right`,inset:!0,class:{content:`w-[calc(100%-2rem)] inset-y-4 right-4`}},{side:`right`,inset:!1,class:{content:`w-full inset-y-0 right-0`}},{side:`bottom`,inset:!0,class:{content:`max-h-[calc(100%-2rem)] inset-x-4 bottom-4`}},{side:`bottom`,inset:!1,class:{content:`max-h-full inset-x-0 bottom-0`}},{side:`left`,inset:!0,class:{content:`w-[calc(100%-2rem)] inset-y-4 left-4`}},{side:`left`,inset:!1,class:{content:`w-full inset-y-0 left-0`}},{transition:!0,side:`top`,class:{content:`data-[state=open]:animate-[slide-in-from-top_200ms_var(--ease-out)] data-[state=closed]:animate-[slide-out-to-top_200ms_var(--ease-out)]`}},{transition:!0,side:`right`,class:{content:`data-[state=open]:animate-[slide-in-from-right_200ms_var(--ease-out)] data-[state=closed]:animate-[slide-out-to-right_200ms_var(--ease-out)]`}},{transition:!0,side:`bottom`,class:{content:`data-[state=open]:animate-[slide-in-from-bottom_200ms_var(--ease-out)] data-[state=closed]:animate-[slide-out-to-bottom_200ms_var(--ease-out)]`}},{transition:!0,side:`left`,class:{content:`data-[state=open]:animate-[slide-in-from-left_200ms_var(--ease-out)] data-[state=closed]:animate-[slide-out-to-left_200ms_var(--ease-out)]`}}]},xe={__name:`Slideover`,props:{title:{type:String,required:!1},description:{type:String,required:!1},content:{type:Object,required:!1},overlay:{type:Boolean,required:!1,default:!0},transition:{type:Boolean,required:!1,default:!0},side:{type:null,required:!1,default:`right`},inset:{type:Boolean,required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},close:{type:[Boolean,Object],required:!1,default:!0},closeIcon:{type:null,required:!1},dismissible:{type:Boolean,required:!1,default:!0},class:{type:null,required:!1},ui:{type:Object,required:!1},open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1},modal:{type:Boolean,required:!1,default:!0},unmountOnHide:{type:Boolean,required:!1}},emits:[`leave`,`after:leave`,`enter`,`after:enter`,`close:prevent`,`update:open`],setup(e,{emit:t}){let n=e,r=t,i=c(),a=D(`slideover`,n),{t:s}=y(),d=ae(),p=B(u(a,`open`,`defaultOpen`,`modal`,`unmountOnHide`),r),h=oe(f(()=>a.portal)),g=f(()=>a.content),v=U(()=>a.dismissible?{pointerDownOutside:ye}:[`interactOutside`,`escapeKeyDown`].reduce((e,t)=>(e[t]=e=>{e.preventDefault(),r(`close:prevent`)},e),{})),b=U(()=>te({extend:be,...d.ui?.slideover||{}})({transition:a.transition,side:a.side,inset:a.inset}));return(e,t)=>(j(),H(F(ue),m(_(F(p))),{default:A(({open:n,close:c})=>[i.default?(j(),H(F(ve),{key:0,"as-child":``,class:w(F(a).class)},{default:A(()=>[z(e.$slots,`default`,{open:n})]),_:2},1032,[`class`])):O(``,!0),o(F(_e),L(F(h),{"force-mount":F(h).disabled&&F(a).unmountOnHide===!1||void 0}),{default:A(()=>[o(F(re),null,{default:A(()=>[F(a).overlay?(j(),H(F(ge),{key:0,"data-slot":`overlay`,class:w(b.value.overlay({class:F(a).ui?.overlay}))},null,8,[`class`])):O(``,!0),o(F(me),L({"data-side":F(a).side,"data-slot":`content`,class:b.value.content({class:[!i.default&&F(a).class,F(a).ui?.content]})},g.value,{onEnter:t[0]||=e=>r(`enter`),onAfterEnter:t[1]||=e=>r(`after:enter`),onLeave:t[2]||=e=>r(`leave`),onAfterLeave:t[3]||=e=>r(`after:leave`)},T(v.value)),{default:A(()=>[!F(a).title&&!i.title||!F(a).description&&!i.description||i.content?(j(),H(F(k),{key:0},{default:A(()=>[!F(a).title&&!i.title?(j(),H(F(Z),{key:0})):i.content?(j(),H(F(Z),{key:1},{default:A(()=>[z(e.$slots,`title`,{},()=>[I(S(F(a).title),1)])]),_:3})):O(``,!0),!F(a).description&&!i.description?(j(),H(F(X),{key:2})):i.content?(j(),H(F(X),{key:3},{default:A(()=>[z(e.$slots,`description`,{},()=>[I(S(F(a).description),1)])]),_:3})):O(``,!0)]),_:3})):O(``,!0),z(e.$slots,`content`,{close:c},()=>[i.header||F(a).title||i.title||F(a).description||i.description||F(a).close||i.close?(j(),l(`div`,{key:0,"data-slot":`header`,class:w(b.value.header({class:F(a).ui?.header}))},[z(e.$slots,`header`,{close:c},()=>[F(a).title||i.title||F(a).description||i.description?(j(),l(`div`,{key:0,"data-slot":`wrapper`,class:w(b.value.wrapper({class:F(a).ui?.wrapper}))},[F(a).title||i.title?(j(),H(F(Z),{key:0,"data-slot":`title`,class:w(b.value.title({class:F(a).ui?.title}))},{default:A(()=>[z(e.$slots,`title`,{},()=>[I(S(F(a).title),1)])]),_:3},8,[`class`])):O(``,!0),F(a).description||i.description?(j(),H(F(X),{key:1,"data-slot":`description`,class:w(b.value.description({class:F(a).ui?.description}))},{default:A(()=>[z(e.$slots,`description`,{},()=>[I(S(F(a).description),1)])]),_:3},8,[`class`])):O(``,!0)],2)):O(``,!0),z(e.$slots,`actions`),F(a).close||i.close?(j(),H(F(de),{key:1,"as-child":``},{default:A(()=>[z(e.$slots,`close`,{ui:b.value},()=>[F(a).close?(j(),H(ne,L({key:0,icon:F(a).closeIcon||F(d).ui.icons.close,color:`neutral`,variant:`ghost`,"aria-label":F(s)(`slideover.close`)},typeof F(a).close==`object`?F(a).close:{},{"data-slot":`close`,class:b.value.close({class:F(a).ui?.close})}),null,16,[`icon`,`aria-label`,`class`])):O(``,!0)])]),_:2},1024)):O(``,!0)])],2)):O(``,!0),M(`div`,{"data-slot":`body`,class:w(b.value.body({class:F(a).ui?.body}))},[z(e.$slots,`body`,{close:c})],2),i.footer?(j(),l(`div`,{key:1,"data-slot":`footer`,class:w(b.value.footer({class:F(a).ui?.footer}))},[z(e.$slots,`footer`,{close:c})],2)):O(``,!0)])]),_:2},1040,[`data-side`,`class`])]),_:2},1024)]),_:2},1040,[`force-mount`])]),_:3},16))}};function Q(e){let t=V(`connecting`),n=e.factory(e.url);n.onopen=()=>{t.value===`connecting`&&!e.model.state.stopMode&&(t.value=`running`)};let r=0;return n.onmessage=t=>{let n;try{n=JSON.parse(t.data)}catch{return}if(n.type!==`replay_note`){let e=Number(t.lastEventId);if(e>0){if(e<=r)return;r=e}}e.handle(n)},n.addEventListener(`replay_elided`,t=>{let n=se(t);n&&e.model.noteElided(n)}),n.addEventListener(`finished`,n=>{e.onFinished?.(ce(n)),(t.value===`connecting`||t.value===`running`)&&(t.value=`finished`)}),n.addEventListener(`end`,r=>{e.model.flushPendingTurn(`the run ended here`),e.model.closePhases(),t.value=`ended`,n.close(),e.onEnd?.(q(r))}),n.onerror=()=>{n.readyState===2&&(t.value=`disconnected`,e.onDisconnected?.())},{phase:t,close:()=>n.close()}}var $=[`Thinking`,`Pondering`,`Mulling it over`,`Reasoning`,`Cogitating`,`Weighing options`,`Puzzling`,`Deliberating`,`Noodling`,`Chewing on it`,`Ruminating`,`Reticulating splines`];function Se(e){return $[Math.floor(Math.max(0,e)/6e3)%$.length]}var Ce=[`title`],we={class:`verb min-w-0 truncate text-toned`},Te=C({__name:`PendingTurnRow`,props:{verb:{},elapsedMs:{},slow:{type:Boolean},model:{},tag:{},id:{}},setup(e){return(t,n)=>(j(),H(p(e.tag??`li`),{id:e.id,class:`pending flex items-center gap-3 rounded-md border border-dashed border-accented pl-3 pr-[calc(var(--sb-gutter)-1px)] py-2 text-sm`,"aria-live":`off`,title:`the model is working on its next turn — nothing back yet (since the last event, runner clock)`,"data-testid":`pending`},{default:A(()=>[n[0]||=M(`span`,{class:`pulse text-[1.1em] leading-none text-info motion-safe:animate-pulse`},`∿`,-1),e.model?(j(),l(`span`,{key:0,class:`badge shrink-0 rounded bg-accented px-1.5 font-mono text-[0.68rem] font-medium leading-normal tracking-wider text-muted`,title:e.model},S(F(K)(e.model)),9,Ce)):O(``,!0),M(`span`,we,S(e.verb)+`…`,1),M(`span`,{class:w([`since ml-auto shrink-0 font-mono text-xs tabular-nums`,e.slow?`text-warn`:`text-dimmed`])},S(F(G)(e.elapsedMs,`clock`)),3)]),_:1},8,[`id`]))}});export{xe as i,Se as n,Q as r,Te as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./AppShell-CSXDCV4x.js";import{An as t,Cn as n,Cr as r,Gr as i,Ii as a,Li as o,Mn as s,Pi as c,Sn as l,Tr as u,Xr as d,_r as f,bn as p,ir as m,ji as h,kn as g,l as _,ln as v,o as y,sr as b,t as x,xi as S,xn as C,yi as w,yn as T}from"./browser-B6T5hjfR.js";import{i as E}from"./PendingTurnRow-DBPMLVsm.js";import{t as D}from"./wallClock-DmaC1sKA.js";import{C as O,D as ee,G as te,K as k,N as ne,T as A,j as re,v as ie,x as ae,y as oe}from"./indexRow-BO_GIdF6.js";import"./format-BldUwl_R.js";import{_ as j,a as M,f as N,g as P,i as F,n as I,o as L,r as R,t as z,u as B,v as V,x as H}from"./SilentTurn-DGNg0sIZ.js";import{T as U}from"./sseReplay-BjlKmQsY.js";var W=[`data-conversation`],G={key:0,class:`mt-6 text-center text-sm text-toned`,"data-testid":`chat-empty`},K={key:1,class:`m-0 flex list-none flex-col gap-5 p-0 pb-4 pt-2`},q={key:4,class:`inline text-[0.875rem] text-toned`,"data-testid":`inline`},J={class:`pt-2`},Y=s({__name:`PlaneChat`,props:{chat:{},at:{},now:{}},setup(e){let a=e,o=0,s=e=>`${e}-${++o}`,c=w([]);for(let e of a.chat.turns){if(`kind`in e){e.kind===`receipt`?c.push({key:s(`s`),kind:`silent`,reason:e.reason,at:e.decidedAt}):c.push({key:s(`w`),kind:`parent`,turn:e});continue}c.push({key:s(`p`),kind:`person`,text:e.request,at:e.receivedAt??e.startedAt,pending:!1});let t=!e.finished&&e.token?{eventsUrl:`/runs/${encodeURIComponent(e.id)}/events?t=${e.token}`,stopUrl:`/runs/${encodeURIComponent(e.id)}/stop?t=${e.token}`,serverNow:a.at}:null;c.push({key:s(`a`),kind:`assistant`,turn:e,live:t,ended:e.finished})}let l=T(()=>{for(let e=c.length-1;e>=0;e--){let t=c[e];if(t.kind===`assistant`&&t.live&&!t.ended&&t.turn.hosted!==!0)return t}return null}),u=S(null),d=S(``),h=S(void 0),g=T(()=>N(l.value!==null,d.value)),_=S(!1);i(d,()=>{h.value&&d.value===``&&(h.value=void 0)});async function y(){if(_.value)return;let e=L(d.value.trim(),a.chat.commands);if(e===``)return;let t=w({key:s(`p`),kind:`person`,text:e,at:a.now,pending:!0});c.push(t),d.value=``,h.value=void 0,_.value=!0;try{let n=await fetch(a.chat.sendUrl,{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify({text:e})}),r=await n.json().catch(()=>({}));if(n.status===202&&typeof r.viewPath==`string`&&typeof r.runId==`string`){let n=P(r.viewPath);if(!n)throw Error(`the run's view path was not one`);t.pending=!1,c.push({key:s(`a`),kind:`assistant`,turn:{id:r.runId,request:e,startedAt:a.now,receivedAt:a.now,finished:!1,eventCount:0},live:{eventsUrl:n.eventsUrl,stopUrl:n.stopUrl},ended:!1});return}if(n.ok&&r.offer&&typeof r.offer.line==`string`){t.pending=!1;let e=V({line:r.offer.line,...r.offer});d.value=e.command,h.value=e.hint;return}if(n.ok&&typeof r.reply==`string`){t.pending=!1;let e=B(r.reply);e.kind===`inline`&&c.push({key:s(`i`),kind:`inline`,text:e.text});return}throw Error(r.error??`HTTP ${n.status}`)}catch(e){t.pending=!1,t.failed=`not sent: ${e instanceof Error?e.message:`error`}`}finally{_.value=!1}}function b(){let e=u.value;e&&fetch(`${e}${e.includes(`?`)?`&`:`?`}mode=soft`,{method:`POST`,credentials:`same-origin`})}function x(e,t,n){let r=c.filter(e=>e.kind===`person`),i=j(r.map(e=>({text:e.text,folded:e.folded!==void 0,ref:e})),t);if(!i)return;let a=e.turn.receivedAt??e.turn.startedAt;i.ref.folded=n===void 0?``:`at ${k(Math.max(0,n-a),`clock`)}`}function E(e){e.ended=!0,u.value=null}let D=S(null);return i(()=>c.length,()=>{let e=D.value,t=!e||H(e.scrollHeight-(e.clientHeight+e.scrollTop));m().then(()=>{let e=D.value;t&&e&&(e.scrollTop=e.scrollHeight)})}),(i,a)=>(f(),n(`div`,{class:`plane-chat flex h-full min-h-0 flex-col`,"data-plane-chat":``,"data-conversation":e.chat.conversation},[p(`div`,{ref_key:`scroller`,ref:D,class:`min-h-0 flex-1 overflow-y-auto pr-1`,"data-testid":`chat-scroller`},[c.length===0?(f(),n(`p`,G,` Ask about the fleet — the rows on this page are what it reads. `)):(f(),n(`ol`,K,[(f(!0),n(v,null,r(c,r=>(f(),n(`li`,{key:r.key},[r.kind===`person`?(f(),C(F,{key:0,text:r.text,at:r.at,now:e.now,pending:r.pending,folded:r.folded,failed:r.failed},null,8,[`text`,`at`,`now`,`pending`,`folded`,`failed`])):r.kind===`assistant`?(f(),C(R,{key:1,turn:r.turn,live:r.live,now:e.now,onInput:(e,t)=>x(r,e,t),onEnded:e=>E(r),onStop:a[0]||=e=>u.value=e},null,8,[`turn`,`live`,`now`,`onInput`,`onEnded`])):r.kind===`silent`?(f(),C(z,{key:2,reason:r.reason,"decided-at":r.at,now:e.now},null,8,[`reason`,`decided-at`,`now`])):r.kind===`parent`?(f(),C(I,{key:3,turn:r.turn,now:e.now},null,8,[`turn`,`now`])):(f(),n(`div`,q,[t(U,{text:r.text},null,8,[`text`])]))]))),128))]))],512),p(`div`,J,[t(M,{modelValue:d.value,"onUpdate:modelValue":a[1]||=e=>d.value=e,mode:g.value,hint:h.value,commands:e.chat.commands,onSubmit:y,onStop:b},null,8,[`modelValue`,`mode`,`hint`,`commands`])])],8,W))}}),se=[`data-chat`],ce={class:`panels min-w-0`},le={class:`mb-4 font-mono text-sm tabular-nums text-muted`,"data-plane-head":``},ue={class:`mb-6`,"aria-labelledby":`plane-runs`},de={key:0,class:`text-sm text-muted`},fe={key:1,class:`divide-y divide-default rounded-md border border-default`},pe=[`data-run`,`data-health`],me={class:`text-muted`},he={class:`font-mono tabular-nums`},ge={class:`font-mono tabular-nums text-muted`},_e={key:0,class:`font-mono text-xs tabular-nums text-muted`},ve={class:`text-muted`,"data-owner":``},ye=[`href`],be=[`data-flag`],xe={class:`mb-6`,"aria-labelledby":`plane-units`},Se={key:0,class:`text-sm text-muted`},Ce={key:1,class:`divide-y divide-default rounded-md border border-default`},we=[`data-unit`,`data-health`],Te={class:`text-muted`},Ee=[`href`],De=[`data-flag`],Oe={"aria-labelledby":`plane-prs`},ke={key:0,class:`text-sm text-muted`},Ae={key:1,class:`divide-y divide-default rounded-md border border-default`},je=[`data-pr`,`data-health`],Me=[`href`],Ne={key:1,class:`font-mono text-highlighted`},Pe={key:2,class:`truncate text-muted`},Fe={class:`text-xs text-dimmed`,"data-owner":``},Ie=[`data-flag`],Le={key:0,class:`chat-column relative hidden lg:block`,"data-testid":`chat-column`},Re=[`aria-valuemin`,`aria-valuemax`,`aria-valuenow`],X=`sb.plane.chat.width`,ze=`(min-width: 64rem)`,Be=s({__name:`PlanePage`,setup(i){let s=y(`plane`),m=T(()=>s?.table??null),w=D(s?.table.at,3e4),j=s?.chat??null,M={min:320,default:400,max:640,step:16};function N(e){let t=Math.round(Number(e));return Number.isFinite(t)?Math.min(M.max,Math.max(M.min,t)):M.default}let P=x.readPref(X),F=S(P===null?M.default:N(P)),I=S(!1),L=S(x.mediaMatches(ze)),R=x.onMediaChange(ze,e=>{L.value=e,e&&(I.value=!1)});function z(e,t){F.value=N(e),t&&x.writePref(X,String(F.value))}let B=null;function V(e){B&&z(B.startWidth-(e.clientX-B.startX),!1)}function H(){window.removeEventListener(`pointermove`,V),B&&(B=null,x.writePref(X,String(F.value)))}function U(e){e.button===0&&(e.preventDefault(),B={startX:e.clientX,startWidth:F.value},e.currentTarget?.setPointerCapture?.(e.pointerId),window.addEventListener(`pointermove`,V),window.addEventListener(`pointerup`,H,{once:!0}))}function W(e){if(e.key===`ArrowLeft`)z(F.value+M.step,!0);else if(e.key===`ArrowRight`)z(F.value-M.step,!0);else if(e.key===`Home`)z(M.max,!0);else if(e.key===`End`)z(M.min,!0);else return;e.preventDefault()}b(()=>{window.removeEventListener(`pointermove`,V),window.removeEventListener(`pointerup`,H),R()});let G=e=>({...e.run,...s?.tokens[e.run.id]?{token:s.tokens[e.run.id]}:{}}),K=T(()=>m.value?.runs.filter(e=>!e.run.finished).length??0),q=T(()=>m.value?m.value.runs.length-K.value:0),J=e=>{let t=e.owner.name??ne(G(e))??e.owner.id??``;return e.owner.generation?`${t||`run`} · on ${e.owner.generation}`:t},Be=e=>{let t=e.run;return k(te({startedAt:t.startedAt,receivedAt:t.receivedAt,finishedAt:t.finishedAt},w.value),`clock`)},Ve=e=>ie(G(e),w.value)??oe(G(e),w.value),He=e=>`/runs/unit/${encodeURIComponent(e.unit.unit)}`,Z=e=>`${e.pr.repo}#${e.pr.number}`,Ue=e=>e.owner.unitKey??(e.owner.runId?`run ${O(e.owner.runId)}`:`a person`),We={stalled:`stalled`,"bound-exceeded":`past its bound`,"no-signal":`no signal`,provisional:`unfinished`,interrupted:`interrupted`,failed:`failed`,approved:`approved`,dirty:`conflicts`,red:`checks red`,pending:`checks pending`,mistitled:`title fails the rule`,merged:`merged`,closed:`closed`,unknown:`unread`,live:`live`,waiting:`waiting`,idle:`idle`,"merge-ready":`merge-ready`,ended:`ended`,"owner-gap":`approved, open, nobody's`},Q=e=>We[e]??e,$=e=>[`stalled`,`bound-exceeded`,`red`,`dirty`,`mistitled`,`owner-gap`,`failed`,`interrupted`].includes(e)?`border-error/40 text-error`:[`pending`,`idle`,`waiting`,`no-signal`,`provisional`,`unknown`].includes(e)?`border-warning/40 text-warning`:`border-default text-muted`;return(i,s)=>{let y=u(`RouterLink`),b=_,x=E;return m.value?(f(),C(e,{key:0,title:`Plane`,nav:`plane`},{default:d(()=>[p(`div`,{class:c([`plane`,h(j)?`lg:grid lg:grid-cols-[minmax(0,1fr)_var(--chat-w)] lg:gap-10`:``]),style:a(h(j)?{"--chat-w":`${F.value}px`}:void 0),"data-chat":h(j)?`shown`:void 0},[p(`div`,ce,[p(`p`,le,o(K.value)+` live · `+o(q.value)+` recent · `+o(m.value.units.length)+` units · `+o(m.value.pullRequests.length)+` pull requests `,1),p(`section`,ue,[s[3]||=p(`h2`,{id:`plane-runs`,class:`mb-2 text-xs font-medium uppercase tracking-wide text-dimmed`},`Runs`,-1),m.value.runs.length===0?(f(),n(`p`,de,`No run is live or ended in the last hour.`)):(f(),n(`ul`,fe,[(f(!0),n(v,null,r(m.value.runs,e=>(f(),n(`li`,{key:e.run.id,class:`flex flex-wrap items-center gap-x-3 gap-y-1 px-3 py-2 text-sm`,"data-run":e.run.id,"data-health":e.health.join(` `)},[p(`span`,{class:c([`inline-block size-2 rounded-full`,{"bg-success":h(A)(G(e))===`green`,"bg-error":h(A)(G(e))===`red`,"bg-warning":h(A)(G(e))===`amber`,"bg-dimmed":h(A)(G(e))===`grey`}]),"aria-hidden":`true`},null,2),t(y,{class:`font-mono text-highlighted`,to:h(ae)(G(e))},{default:d(()=>[g(o(h(O)(e.run.id)),1)]),_:2},1032,[`to`]),p(`span`,me,o(e.run.agent??`-`),1),p(`span`,he,o(h(ee)(G(e))),1),p(`span`,ge,o(Be(e)),1),Ve(e)?(f(),n(`span`,_e,o(Ve(e)),1)):l(``,!0),p(`span`,ve,o(J(e)),1),e.unit?(f(),C(y,{key:1,class:`font-mono text-xs text-muted`,to:`/runs/unit/${encodeURIComponent(e.unit.key)}`},{default:d(()=>[g(o(e.unit.key),1)]),_:2},1032,[`to`])):l(``,!0),e.run.threadKey?(f(),n(`a`,{key:2,class:`text-xs text-dimmed`,href:h(re)(e.run.threadKey),target:`_blank`,rel:`noreferrer`},`thread`,8,ye)):l(``,!0),(f(!0),n(v,null,r(e.health,e=>(f(),n(`span`,{key:e,class:c([`rounded border px-1.5 py-0.5 text-xs`,$(e)]),"data-flag":e},o(Q(e)),11,be))),128))],8,pe))),128))]))]),p(`section`,xe,[s[4]||=p(`h2`,{id:`plane-units`,class:`mb-2 text-xs font-medium uppercase tracking-wide text-dimmed`},`Units`,-1),m.value.units.length===0?(f(),n(`p`,Se,`No ship unit has a run on the table.`)):(f(),n(`ul`,Ce,[(f(!0),n(v,null,r(m.value.units,e=>(f(),n(`li`,{key:e.unit.unit,class:`flex flex-wrap items-center gap-x-3 gap-y-1 px-3 py-2 text-sm`,"data-unit":e.unit.unit,"data-health":e.health.join(` `)},[t(y,{class:`font-mono text-highlighted`,to:He(e)},{default:d(()=>[g(o(e.unit.unit),1)]),_:2},1032,[`to`]),p(`span`,Te,o(e.instance.repo),1),p(`span`,null,o(e.unit.title??e.unit.id),1),e.unit.pr?(f(),n(`a`,{key:0,class:`font-mono text-xs text-muted`,href:e.unit.pr.url,target:`_blank`,rel:`noreferrer`},`#`+o(e.unit.pr.number),9,Ee)):l(``,!0),(f(!0),n(v,null,r(e.health,e=>(f(),n(`span`,{key:e,class:c([`rounded border px-1.5 py-0.5 text-xs`,$(e)]),"data-flag":e},o(Q(e)),11,De))),128))],8,we))),128))]))]),p(`section`,Oe,[s[5]||=p(`h2`,{id:`plane-prs`,class:`mb-2 text-xs font-medium uppercase tracking-wide text-dimmed`},`Pull requests`,-1),m.value.pullRequests.length===0?(f(),n(`p`,ke,`No pull request is tracked.`)):(f(),n(`ul`,Ae,[(f(!0),n(v,null,r(m.value.pullRequests,e=>(f(),n(`li`,{key:Z(e),class:`flex flex-wrap items-center gap-x-3 gap-y-1 px-3 py-2 text-sm`,"data-pr":Z(e),"data-health":e.health.join(` `)},[e.pr.url?(f(),n(`a`,{key:0,class:`font-mono text-highlighted`,href:e.pr.url,target:`_blank`,rel:`noreferrer`},o(Z(e)),9,Me)):(f(),n(`span`,Ne,o(Z(e)),1)),e.pr.title?(f(),n(`span`,Pe,o(e.pr.title),1)):l(``,!0),p(`span`,Fe,o(Ue(e)),1),(f(!0),n(v,null,r(e.health,e=>(f(),n(`span`,{key:e,class:c([`rounded border px-1.5 py-0.5 text-xs`,$(e)]),"data-flag":e},o(Q(e)),11,Ie))),128))],8,je))),128))]))])]),h(j)&&L.value?(f(),n(`aside`,Le,[p(`div`,{class:`handle group/handle absolute inset-y-0 -left-6 flex w-3 cursor-col-resize touch-none select-none justify-center outline-none`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize the chat column`,"aria-valuemin":M.min,"aria-valuemax":M.max,"aria-valuenow":F.value,tabindex:`0`,"data-testid":`chat-handle`,onPointerdown:U,onKeydown:W,onDblclick:s[0]||=e=>z(M.default,!0)},[...s[6]||=[p(`span`,{class:`w-px rounded-full bg-(--ui-border-accented) opacity-0 transition-opacity duration-150 ease-out group-hover/handle:opacity-100 group-focus-visible/handle:opacity-100`,"aria-hidden":`true`},null,-1)]],40,Re),t(Y,{class:`sticky top-20 h-[calc(100vh-7rem)]`,chat:h(j),at:m.value.at,now:h(w)},null,8,[`chat`,`at`,`now`])])):l(``,!0)],14,se),h(j)&&!L.value?(f(),n(v,{key:0},[t(b,{class:`chat-fab fixed bottom-5 right-5 z-20 rounded-full shadow-lg lg:hidden`,size:`lg`,icon:`i-lucide-message-circle`,"aria-label":`Open the chat`,"data-testid":`chat-fab`,onClick:s[1]||=e=>I.value=!0}),t(x,{open:I.value,"onUpdate:open":s[2]||=e=>I.value=e,side:`right`,title:`Chat`,ui:{content:`max-w-md`}},{body:d(()=>[t(Y,{class:`h-full`,chat:h(j),at:m.value.at,now:h(w)},null,8,[`chat`,`at`,`now`])]),_:1},8,[`open`])],64)):l(``,!0)]),_:1})):(f(),C(e,{key:1,title:`Plane`,nav:`plane`},{default:d(()=>[...s[7]||=[p(`p`,{class:`text-sm text-muted`},`The table could not be read.`,-1)]]),_:1}))}}});export{Be as default};
|