@agent-native/core 0.153.0 → 0.153.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/corpus/templates/analytics/.agents/skills/adhoc-analysis/SKILL.md +21 -19
  2. package/corpus/templates/calendar/app/components/calendar/DayView.tsx +3 -2
  3. package/corpus/templates/calendar/app/components/calendar/WeekView.tsx +3 -2
  4. package/corpus/templates/calendar/app/lib/event-layout.ts +16 -35
  5. package/corpus/templates/clips/app/components/meetings/share-meeting-dialog.tsx +27 -55
  6. package/corpus/templates/clips/app/components/player/share-dialog.tsx +104 -66
  7. package/corpus/templates/clips/app/components/sharing/share-ui.tsx +45 -43
  8. package/corpus/templates/clips/app/routes/_app.meetings.$meetingId.tsx +0 -1
  9. package/corpus/templates/clips/desktop/src/app.tsx +818 -442
  10. package/corpus/templates/clips/desktop/src/styles.css +244 -2
  11. package/corpus/templates/clips/desktop/src-tauri/src/clips/mod.rs +2 -2
  12. package/corpus/templates/clips/desktop/src-tauri/src/lib.rs +1 -0
  13. package/corpus/templates/clips/desktop/src-tauri/src/native_screen.rs +584 -1
  14. package/corpus/templates/clips/desktop/src-tauri/src/rewind_clip.rs +25 -0
  15. package/corpus/templates/clips/desktop/src-tauri/src/util.rs +1 -1
  16. package/corpus/templates/factory/app/routes/factory.tsx +0 -3
  17. package/corpus/templates/slides/app/components/editor/EditorToolbar.tsx +1 -1
  18. package/corpus/templates/slides/app/components/editor/ShareDialog.tsx +28 -25
  19. package/corpus/templates/slides/app/components/editor/SlideContextToolbar.tsx +50 -0
  20. package/corpus/templates/slides/app/components/editor/SlideEditor.tsx +12 -60
  21. package/dist/agent/production-agent.d.ts +8 -0
  22. package/dist/agent/production-agent.js +25 -2
  23. package/dist/agent/run-manager.js +13 -3
  24. package/dist/client/AgentPanel.js +6 -4
  25. package/dist/client/org/WorkspaceNotice.js +7 -4
  26. package/dist/client/sharing/ShareButton.d.ts +2 -2
  27. package/dist/client/sharing/ShareButton.js +18 -13
  28. package/dist/client/sharing/ShareDialog.d.ts +1 -1
  29. package/dist/client/sharing/ShareDialog.js +16 -11
  30. package/dist/collab/awareness.d.ts +2 -2
  31. package/dist/collab/struct-routes.d.ts +1 -1
  32. package/dist/resources/handlers.d.ts +1 -1
  33. package/dist/server/auth.js +18 -4
  34. package/dist/server/better-auth-instance.js +8 -1
  35. package/dist/server/magic-link-attribution.d.ts +21 -0
  36. package/dist/server/magic-link-attribution.js +115 -0
  37. package/dist/server/realtime-token.d.ts +1 -1
  38. package/package.json +1 -1
@@ -13,6 +13,7 @@
13
13
  --surface: #f7f7f7;
14
14
  --surface-hover: #f0f0f0;
15
15
  --surface-strong: #ebebeb;
16
+ --settings-nav-active: #ffffff;
16
17
  --fg: #171717;
17
18
  --fg-muted: #737373;
18
19
  --fg-subtle: #a3a3a3;
@@ -48,6 +49,7 @@
48
49
  --surface: #262626;
49
50
  --surface-hover: #2e2e2e;
50
51
  --surface-strong: #3d3d3d;
52
+ --settings-nav-active: var(--surface-hover);
51
53
  --fg: #f5f5f5;
52
54
  --fg-muted: #a3a3a3;
53
55
  --fg-subtle: #737373;
@@ -237,9 +239,9 @@ body[data-clips-route="recording-pill"] #root {
237
239
  }
238
240
 
239
241
  .settings-nav-button.is-active {
240
- background: var(--bg);
242
+ background: var(--settings-nav-active);
241
243
  color: var(--fg);
242
- box-shadow: var(--shadow-sm);
244
+ box-shadow: none;
243
245
  }
244
246
 
245
247
  .settings-nav-button:focus-visible {
@@ -1908,6 +1910,230 @@ body[data-clips-route="recording-pill"] #root {
1908
1910
  padding-bottom: 18px;
1909
1911
  }
1910
1912
 
1913
+ /* Settings detail stays inside the existing tray window. The content is a
1914
+ floating layer, so changing a choice never becomes a native window resize. */
1915
+ .desktop-settings-popover {
1916
+ z-index: 80;
1917
+ width: min(360px, calc(100vw - 24px));
1918
+ max-height: min(680px, calc(100vh - 24px));
1919
+ overflow-x: hidden;
1920
+ overflow-y: auto;
1921
+ padding: 12px;
1922
+ border: 1px solid var(--border);
1923
+ border-radius: var(--radius);
1924
+ background: var(--bg);
1925
+ color: var(--fg);
1926
+ box-shadow: var(--shadow-md);
1927
+ outline: none;
1928
+ transform-origin: var(--radix-popover-content-transform-origin);
1929
+ }
1930
+
1931
+ .desktop-settings-popover[data-state="open"] {
1932
+ animation: feedback-popover-in 120ms ease-out;
1933
+ }
1934
+
1935
+ .desktop-settings-popover[data-state="closed"] {
1936
+ animation: feedback-popover-out 90ms ease-out;
1937
+ }
1938
+
1939
+ .desktop-settings-popover-header {
1940
+ display: flex;
1941
+ align-items: center;
1942
+ justify-content: space-between;
1943
+ gap: 10px;
1944
+ margin-bottom: 10px;
1945
+ }
1946
+
1947
+ .desktop-settings-popover-title {
1948
+ min-width: 0;
1949
+ color: var(--fg);
1950
+ font-size: 13px;
1951
+ font-weight: 650;
1952
+ letter-spacing: -0.01em;
1953
+ }
1954
+
1955
+ .desktop-settings-popover-close {
1956
+ display: inline-flex;
1957
+ align-items: center;
1958
+ justify-content: center;
1959
+ width: 26px;
1960
+ height: 26px;
1961
+ flex: 0 0 auto;
1962
+ padding: 0;
1963
+ border: none;
1964
+ border-radius: var(--radius-sm);
1965
+ background: transparent;
1966
+ color: var(--fg-muted);
1967
+ cursor: pointer;
1968
+ }
1969
+
1970
+ .desktop-settings-popover-close:hover {
1971
+ background: var(--surface-hover);
1972
+ color: var(--fg);
1973
+ }
1974
+
1975
+ .desktop-settings-popover-close:focus-visible,
1976
+ .rewind-setting-trigger:focus-visible,
1977
+ .rewind-choice-option:focus-visible,
1978
+ .rewind-manage-button:focus-visible {
1979
+ outline: none;
1980
+ box-shadow: 0 0 0 3px var(--brand-ring);
1981
+ }
1982
+
1983
+ .desktop-settings-popover > .setup {
1984
+ width: auto;
1985
+ max-height: none;
1986
+ padding: 0;
1987
+ overflow: visible;
1988
+ border-radius: 0;
1989
+ background: transparent;
1990
+ }
1991
+
1992
+ .desktop-settings-popover > .setup > .setup-header {
1993
+ display: none;
1994
+ }
1995
+
1996
+ .desktop-settings-popover > .rewind-settings-surface,
1997
+ .desktop-settings-popover > .rewind-memory-surface {
1998
+ gap: 12px;
1999
+ padding-bottom: 2px;
2000
+ }
2001
+
2002
+ .rewind-settings-launcher {
2003
+ width: min(430px, calc(100vw - 24px));
2004
+ }
2005
+
2006
+ .rewind-memory-launcher {
2007
+ width: min(430px, calc(100vw - 24px));
2008
+ }
2009
+
2010
+ .rewind-popover-content {
2011
+ width: min(380px, calc(100vw - 24px));
2012
+ }
2013
+
2014
+ .rewind-setting-trigger {
2015
+ display: flex;
2016
+ align-items: center;
2017
+ justify-content: space-between;
2018
+ gap: 10px;
2019
+ width: 142px;
2020
+ min-height: 34px;
2021
+ padding: 7px 9px 7px 10px;
2022
+ border: 1px solid var(--border-strong);
2023
+ border-radius: var(--radius-sm);
2024
+ background: var(--surface);
2025
+ color: var(--fg);
2026
+ cursor: pointer;
2027
+ font-size: 11px;
2028
+ font-weight: 600;
2029
+ text-align: left;
2030
+ }
2031
+
2032
+ .rewind-setting-trigger:hover:not(:disabled) {
2033
+ border-color: var(--fg-muted);
2034
+ background: var(--surface-hover);
2035
+ }
2036
+
2037
+ .rewind-setting-trigger:disabled {
2038
+ opacity: 0.48;
2039
+ cursor: not-allowed;
2040
+ }
2041
+
2042
+ .rewind-choice-list {
2043
+ display: grid;
2044
+ gap: 3px;
2045
+ }
2046
+
2047
+ .rewind-choice-option {
2048
+ display: flex;
2049
+ align-items: center;
2050
+ justify-content: space-between;
2051
+ gap: 10px;
2052
+ width: 100%;
2053
+ min-height: 34px;
2054
+ padding: 8px 9px;
2055
+ border: 1px solid transparent;
2056
+ border-radius: var(--radius-sm);
2057
+ background: transparent;
2058
+ color: var(--fg-muted);
2059
+ cursor: pointer;
2060
+ font-size: 12px;
2061
+ text-align: left;
2062
+ }
2063
+
2064
+ .rewind-choice-option:hover,
2065
+ .rewind-choice-option.is-selected {
2066
+ background: var(--surface-hover);
2067
+ color: var(--fg);
2068
+ }
2069
+
2070
+ .rewind-choice-option.is-selected {
2071
+ border-color: var(--border);
2072
+ }
2073
+
2074
+ .rewind-settings-section {
2075
+ display: grid;
2076
+ min-width: 0;
2077
+ }
2078
+
2079
+ .rewind-setting-copy {
2080
+ display: grid;
2081
+ gap: 3px;
2082
+ min-width: 0;
2083
+ }
2084
+
2085
+ .rewind-setting-copy > span {
2086
+ overflow: hidden;
2087
+ color: var(--fg-muted);
2088
+ font-size: 10.5px;
2089
+ line-height: 1.35;
2090
+ text-overflow: ellipsis;
2091
+ white-space: nowrap;
2092
+ }
2093
+
2094
+ .rewind-setting-row--action {
2095
+ grid-template-columns: minmax(0, 1fr) auto;
2096
+ min-height: 58px;
2097
+ }
2098
+
2099
+ .rewind-manage-button {
2100
+ width: auto;
2101
+ min-width: 72px;
2102
+ padding: 7px 10px;
2103
+ font-size: 11px;
2104
+ }
2105
+
2106
+ .rewind-popover-stack {
2107
+ display: grid;
2108
+ gap: 10px;
2109
+ min-width: 0;
2110
+ }
2111
+
2112
+ .rewind-popover-hint {
2113
+ margin: 0;
2114
+ color: var(--fg-muted);
2115
+ font-size: 11px;
2116
+ line-height: 1.45;
2117
+ }
2118
+
2119
+ .rewind-popover-setting-row {
2120
+ display: grid;
2121
+ grid-template-columns: minmax(0, 1fr) auto;
2122
+ align-items: center;
2123
+ gap: 12px;
2124
+ min-width: 0;
2125
+ padding: 9px 0;
2126
+ border-bottom: 1px solid var(--border);
2127
+ }
2128
+
2129
+ .rewind-popover-setting-row:last-child {
2130
+ border-bottom: none;
2131
+ }
2132
+
2133
+ .rewind-popover-setting-row .rewind-setting-trigger {
2134
+ width: 150px;
2135
+ }
2136
+
1911
2137
  .rewind-search-row {
1912
2138
  display: grid;
1913
2139
  grid-template-columns: auto minmax(0, 1fr) auto;
@@ -2577,6 +2803,12 @@ body[data-clips-route="recording-pill"] #root {
2577
2803
  overscroll-behavior: contain;
2578
2804
  }
2579
2805
 
2806
+ .setup.settings-page {
2807
+ padding: 0;
2808
+ gap: 0;
2809
+ overflow: hidden;
2810
+ }
2811
+
2580
2812
  /* Meetings / dictation drill-ins: a touch more room under the last row so
2581
2813
  content isn't flush with the panel edge. Must follow `.setup` so it wins
2582
2814
  over the shorthand padding above. */
@@ -3350,6 +3582,10 @@ body[data-clips-route="recording-pill"] #root {
3350
3582
  border-color: #93c5fd;
3351
3583
  }
3352
3584
 
3585
+ .pending-upload-retry-spinning svg {
3586
+ animation: readiness-spin 0.8s linear infinite;
3587
+ }
3588
+
3353
3589
  .pending-upload-connect:hover {
3354
3590
  background: #dbeafe;
3355
3591
  border-color: #93c5fd;
@@ -3372,6 +3608,12 @@ body[data-clips-route="recording-pill"] #root {
3372
3608
  opacity: 0.6;
3373
3609
  }
3374
3610
 
3611
+ @media (prefers-reduced-motion: reduce) {
3612
+ .pending-upload-retry-spinning svg {
3613
+ animation: none;
3614
+ }
3615
+ }
3616
+
3375
3617
  .local-recording-banner,
3376
3618
  .local-save-banner,
3377
3619
  .share-link-banner {
@@ -70,7 +70,7 @@ const ONBOARDING_HEIGHT_LOGICAL: f64 = 640.0;
70
70
  const BUBBLE_SIZE_SMALL: u32 = 360;
71
71
  const BUBBLE_SIZE_MEDIUM: u32 = 504;
72
72
  const POPOVER_SHADOW_GUTTER_LOGICAL: f64 = 24.0;
73
- const POPOVER_DEFAULT_WIDTH_LOGICAL: f64 = 360.0;
73
+ const POPOVER_DEFAULT_WIDTH_LOGICAL: f64 = 320.0;
74
74
  const POPOVER_DEFAULT_HEIGHT_LOGICAL: f64 = 520.0;
75
75
  const OVERLAY_SHADOW_GUTTER_LOGICAL: f64 = 18.0;
76
76
 
@@ -1342,7 +1342,7 @@ pub async fn resize_popover(app: AppHandle, height: f64, width: Option<f64>) ->
1342
1342
  })
1343
1343
  .unwrap_or(820.0);
1344
1344
  let clamped = height.clamp(200.0, max_logical_height);
1345
- let width = width.unwrap_or(360.0).clamp(320.0, 960.0);
1345
+ let width = width.unwrap_or(320.0).clamp(320.0, 960.0);
1346
1346
  let (window_width, window_height) = popover_window_size_logical(width, clamped);
1347
1347
  let _ = w.set_size(tauri::Size::Logical(tauri::LogicalSize::new(
1348
1348
  window_width,
@@ -160,6 +160,7 @@ pub fn run() {
160
160
  native_screen::native_fullscreen_recording_resume,
161
161
  native_screen::native_fullscreen_recording_rotate_segment,
162
162
  native_screen::native_fullscreen_pending_uploads,
163
+ native_screen::native_fullscreen_recover_orphaned_uploads,
163
164
  native_screen::native_fullscreen_recording_retry_upload,
164
165
  native_screen::native_fullscreen_recording_mark_upload_error,
165
166
  native_screen::native_fullscreen_recording_clear_upload,