|
32244
|
1242
|
65
|
2026-05-13T09:11:35.432659+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663495432_m1.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_files.sh — screenpipe [SSH: nas] — screenpipe_sync_files.sh — Untracked...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 70, Col 1
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
3m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s [URL_WITH_CREDENTIALS] ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 9468000
drwxr-xr-x 24 lukas staff 768 13 May 11:25 .
drwx------+ 96 lukas staff 3072 13 May 09:16 ..
-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data
-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite
-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm
-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log
-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log
-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts
-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll
total 48
drwxrwxrwx 5 lukas staff 160 13 May 10:24 .
drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..
-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh
-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh
-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $
Expand content to scroll
Thought
for 3s
The
error shows
lib/lib/
doubled in the path. The issue is that
the lib modules define their own
SCRIPT_DIR
variable, which overwrites
the one from the main script. When
screenpipe_sync_db.sh
or
screenpipe_sync_files.sh
sources
screenpipe_sync_helpers.sh
, they use their own directory (
already inside
lib
), causing the path to be doubled
.
Fix: Use
unique variable names in lib
modules to avoid conflicts:
screenpipe_sync_db.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$LIB_DIR
/screenpipe_sync_helpers.sh"
Thoughts
screenpipe_sync_files.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 70, Col 1","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"3m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target_date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$1","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$target_date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Done. Audio","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"files will now be copied to","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/{date}/audio/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"instead of","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":". This keeps audio files organized by date alongside the frame","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"will that all work if I move","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"@","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and lib folder inside scripts folder?","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 2s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", it will work as long as you","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"keep the relative structure intact. The script uses:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This dynamically","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"finds the directory of","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the script being executed, so moving both","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"into a","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder will","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"work fine.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Structure that will work:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── lib/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_helpers.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Just","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy the entire","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder (with","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"inside it) to your Mac","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s http://localhost:3030/health | jq \"{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeline.capture_fps_actual, frames: .pipeline.frames_captured}\"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"{","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"status\": \"healthy\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frame_status\": \"ok\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_status\": \"ok\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"last_frame\": \"2026-05-13T11:28:00+03:00\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"uptime\": 7879.209718708,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"fps\": 0.27426608468981734,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frames\": 2161","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"} also what is degraded I received it as response a while ago {","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"status\": \"degraded\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frame_status\": \"ok\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_status\": \"stale\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"last_frame\": \"2026-05-13T11:27:35+03:00\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"uptime\": 7854.077230416,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"fps\": 0.27488907183634176,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frames\": 2159","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes, that command is still","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"correct. It queries the Screenpipe health endpoint","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"at","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"localhost:3030/health","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Status meanings:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"healthy\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- All systems OK","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"(frame_status","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\", audio","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"_status: \"ok\")","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"degraded\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- One or","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more subsystems have issues (your example","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"shows audio_status: \"st","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ale\")","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"What \"degraded\" with \"audio_status: stale\" means:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Frame","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"capture is working fine","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Audio capture is not working properly or","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"is outdated/delayed","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"could indicate the","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio device disconnected, permission","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"issues, or the audio pipeline stopped","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Other possible statuses:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"frame_status","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"| \"stale\" | \"error","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_status","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\" | \"stale","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" | \"error\"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The command","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"format is fine - it","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"extracts the key metrics","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"you need to","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"monitor Screenpipe's","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"health.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total 9468000","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 24 lukas staff 768 13 May 11:25 .","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwx------+ 96 lukas staff 3072 13 May 09:16 ..","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total 48","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxrwxrwx 5 lukas staff 160 13 May 10:24 .","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 3s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"error shows","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/lib/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"doubled in the path. The issue is that","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the lib modules define their own","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"variable, which overwrites","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the one from the main script. When","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"sources","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", they use their own directory (","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"already inside","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"), causing the path to be doubled","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Fix: Use","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"unique variable names in lib","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"modules to avoid conflicts:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/screenpipe_sync_helpers.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LIB_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$LIB_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/screenpipe_sync_helpers.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"on_screen":true,"role_description":"text"}]...
|
-8865401039076142607
|
2850655403085130959
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 70, Col 1
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
3m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s [URL_WITH_CREDENTIALS] ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 9468000
drwxr-xr-x 24 lukas staff 768 13 May 11:25 .
drwx------+ 96 lukas staff 3072 13 May 09:16 ..
-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data
-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite
-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm
-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log
-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log
-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts
-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll
total 48
drwxrwxrwx 5 lukas staff 160 13 May 10:24 .
drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..
-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh
-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh
-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $
Expand content to scroll
Thought
for 3s
The
error shows
lib/lib/
doubled in the path. The issue is that
the lib modules define their own
SCRIPT_DIR
variable, which overwrites
the one from the main script. When
screenpipe_sync_db.sh
or
screenpipe_sync_files.sh
sources
screenpipe_sync_helpers.sh
, they use their own directory (
already inside
lib
), causing the path to be doubled
.
Fix: Use
unique variable names in lib
modules to avoid conflicts:
screenpipe_sync_db.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$LIB_DIR
/screenpipe_sync_helpers.sh"
Thoughts
screenpipe_sync_files.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32243
|
1243
|
64
|
2026-05-13T09:11:24.123967+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663484123_m2.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_files.sh — screenpipe [SSH: nas] — screenpipe_sync_files.sh — Untracked...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 69, Col 1 (166 selected)
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
3m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s [URL_WITH_CREDENTIALS] ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 9468000
drwxr-xr-x 24 lukas staff 768 13 May 11:25 .
drwx------+ 96 lukas staff 3072 13 May 09:16 ..
-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data
-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite
-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm
-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log
-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log
-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts
-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll
total 48
drwxrwxrwx 5 lukas staff 160 13 May 10:24 .
drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..
-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh
-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh
-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"bounds":{"left":0.0,"top":0.047885075,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.05586592,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"bounds":{"left":0.0,"top":0.07581804,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.083798885,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"bounds":{"left":0.0,"top":0.103751,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.11173184,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"bounds":{"left":0.004986702,"top":0.11811652,"width":0.003656915,"height":0.007980846},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.005319149,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}},{"char_start":1,"char_count":1,"bounds":{"left":0.006981383,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}}],"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"bounds":{"left":0.0,"top":0.13168396,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.1396648,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"bounds":{"left":0.0,"top":0.15961692,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"bounds":{"left":0.0,"top":0.18754987,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.19553073,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"bounds":{"left":0.0,"top":0.21548285,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.22346368,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"bounds":{"left":0.0,"top":0.2434158,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.25139666,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"bounds":{"left":0.01462766,"top":0.047885075,"width":0.013630319,"height":0.023144454},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"bounds":{"left":0.01462766,"top":0.054269753,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.014960106,"top":0.055067837,"width":0.0019946808,"height":0.008778931}},{"char_start":1,"char_count":7,"bounds":{"left":0.016954787,"top":0.055067837,"width":0.011303191,"height":0.008778931}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.011635638,"top":0.07102953,"width":0.0831117,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.0726257,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.016954787,"top":0.07102953,"width":0.035904255,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"bounds":{"left":0.016954787,"top":0.07342378,"width":0.035904255,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.07342378,"width":0.0019946808,"height":0.009577015}},{"char_start":1,"char_count":20,"bounds":{"left":0.018949468,"top":0.07342378,"width":0.034242023,"height":0.009577015}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.08699122,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.08699122,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.025930852,"top":0.08699122,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.087789305,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.02825798,"top":0.087789305,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.10215483,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.10215483,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0063164895,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":2,"bounds":{"left":0.027925532,"top":0.10215483,"width":0.004654255,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.10215483,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.11652035,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.11652035,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.025930852,"top":0.11652035,"width":0.0076462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.11731844,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":3,"bounds":{"left":0.02825798,"top":0.11731844,"width":0.005319149,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.01462766,"top":0.13088587,"width":0.0043218085,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"bounds":{"left":0.025930852,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.13168396,"width":0.0009973404,"height":0.0103751}},{"char_start":1,"char_count":2,"bounds":{"left":0.026928192,"top":0.13168396,"width":0.0033244682,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.13168396,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.14604948,"width":0.003656915,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"bounds":{"left":0.027925532,"top":0.14604948,"width":0.039893616,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.14604948,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":20,"bounds":{"left":0.029920213,"top":0.14604948,"width":0.037898935,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.14604948,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.16041501,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"bounds":{"left":0.027925532,"top":0.16041501,"width":0.04255319,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.16121309,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":23,"bounds":{"left":0.029920213,"top":0.16121309,"width":0.04089096,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.16121309,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.17478053,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"bounds":{"left":0.027925532,"top":0.17478053,"width":0.048204787,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.17557861,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.029920213,"top":0.17557861,"width":0.046210106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.17557861,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.18994413,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.18994413,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.006981383,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.0009973404,"height":0.011173184}},{"char_start":1,"char_count":3,"bounds":{"left":0.026928192,"top":0.18994413,"width":0.0063164895,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.18994413,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.20430966,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.20430966,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.025930852,"top":0.20430966,"width":0.00930851,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.20510775,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":4,"bounds":{"left":0.02825798,"top":0.20510775,"width":0.006981383,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.21867518,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.025930852,"top":0.21867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.21947326,"width":0.0013297872,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.026928192,"top":0.21947326,"width":0.014960106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.23383878,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.029920213,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":16,"bounds":{"left":0.027925532,"top":0.23383878,"width":0.027925532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.2482043,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.025930852,"top":0.2482043,"width":0.025265958,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.2490024,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":13,"bounds":{"left":0.027925532,"top":0.2490024,"width":0.023603724,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.2490024,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.26256984,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"bounds":{"left":0.025930852,"top":0.26256984,"width":0.046210106,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.26336792,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":27,"bounds":{"left":0.027925532,"top":0.26336792,"width":0.04454787,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.26336792,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.27773345,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.01462766,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":8,"bounds":{"left":0.02825798,"top":0.27773345,"width":0.012300532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.29209897,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.025930852,"top":0.29209897,"width":0.023271276,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.29289705,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.29289705,"width":0.021276595,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3064645,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.025930852,"top":0.3064645,"width":0.021941489,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.30726257,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.30726257,"width":0.019614361,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3216281,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.04488032,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":24,"bounds":{"left":0.027925532,"top":0.3216281,"width":0.04288564,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.3216281,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.33599362,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"bounds":{"left":0.025930852,"top":0.33599362,"width":0.042220745,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3367917,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":22,"bounds":{"left":0.027925532,"top":0.3367917,"width":0.04055851,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.3367917,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.35035914,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"bounds":{"left":0.025930852,"top":0.35035914,"width":0.04055851,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.35115722,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":21,"bounds":{"left":0.027925532,"top":0.35115722,"width":0.03856383,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.35115722,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.36552274,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.04920213,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":25,"bounds":{"left":0.027925532,"top":0.36552274,"width":0.047539894,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.36552274,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.37988827,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.025930852,"top":0.37988827,"width":0.03357713,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.38068634,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":17,"bounds":{"left":0.027925532,"top":0.38068634,"width":0.03158245,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.087101065,"top":0.38068634,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3942538,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.025930852,"top":0.3942538,"width":0.023936171,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.39505187,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.027925532,"top":0.39505187,"width":0.022273935,"height":0.0103751}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.011635638,"top":0.95530725,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.95690346,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"bounds":{"left":0.016954787,"top":0.95530725,"width":0.011635638,"height":0.015163607},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"bounds":{"left":0.016954787,"top":0.9577015,"width":0.011635638,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9584996,"width":0.0026595744,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.019946808,"top":0.9584996,"width":0.008976064,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.011635638,"top":0.9696728,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.97206706,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"bounds":{"left":0.016954787,"top":0.97047085,"width":0.013630319,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"bounds":{"left":0.016954787,"top":0.9728651,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9728651,"width":0.0023271276,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.019281914,"top":0.9728651,"width":0.011635638,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0016622341,"top":0.9848364,"width":0.024268618,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.0039893617,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.00831117,"top":0.98723066,"width":0.015292553,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.008643617,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.009640957,"top":0.98723066,"width":0.012300532,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.027260639,"top":0.9848364,"width":0.019281914,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.027925532,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"bounds":{"left":0.032247342,"top":0.98723066,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.032579787,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.03357713,"top":0.98723066,"width":0.010970744,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.04654255,"top":0.9848364,"width":0.0063164895,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.054853722,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.05618351,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.06050532,"top":0.98723066,"width":0.0043218085,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.064494684,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.069148935,"top":0.98723066,"width":0.0029920214,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"bounds":{"left":0.07513298,"top":0.9848364,"width":0.010305851,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.07646277,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"bounds":{"left":0.080784574,"top":0.98723066,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.99102396,"top":0.9848364,"width":0.008976042,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"bounds":{"left":0.9567819,"top":0.9848364,"width":0.03357713,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"bounds":{"left":0.9421542,"top":0.9848364,"width":0.012965426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"bounds":{"left":0.91988033,"top":0.9848364,"width":0.020611702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"bounds":{"left":0.9115692,"top":0.9848364,"width":0.0066489363,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"bounds":{"left":0.8969415,"top":0.9848364,"width":0.013297873,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"bounds":{"left":0.87699467,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 69, Col 1 (166 selected)","depth":16,"bounds":{"left":0.8294548,"top":0.9848364,"width":0.046210106,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":0.78424203,"top":0.9848364,"width":0.04454787,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"bounds":{"left":0.76163566,"top":0.05347167,"width":0.034574468,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.76163566,"top":0.054269753,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":19,"bounds":{"left":0.76396275,"top":0.054269753,"width":0.032247342,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"3m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23238032,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9840425,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.9886968,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"bounds":{"left":0.99035907,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target_date","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$1","depth":24,"bounds":{"left":0.80418885,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$target_date","depth":24,"bounds":{"left":0.8188165,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76828456,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Done. Audio","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"files will now be copied to","depth":21,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.04720745,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.83211434,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/{date}/audio/","depth":22,"bounds":{"left":0.83410907,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"instead of","depth":21,"bounds":{"left":0.87765956,"top":0.07102953,"width":0.018949468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.8962766,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":22,"bounds":{"left":0.89860374,"top":0.07102953,"width":0.02925532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":". This keeps audio files organized by date alongside the frame","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23071809,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data.","depth":21,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.010305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"will that all work if I move","depth":25,"bounds":{"left":0.8543883,"top":0.07102953,"width":0.04288564,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"@","depth":27,"bounds":{"left":0.89793885,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.9012633,"top":0.07102953,"width":0.031914894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and lib folder inside scripts folder?","depth":25,"bounds":{"left":0.9338431,"top":0.07102953,"width":0.059175532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.9175532,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 2s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", it will work as long as you","depth":21,"bounds":{"left":0.76961434,"top":0.07102953,"width":0.047539894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"keep the relative structure intact. The script uses:","depth":21,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.09009308,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.7869016,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"bounds":{"left":0.78889626,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":23,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"bounds":{"left":0.79886967,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":23,"bounds":{"left":0.8068484,"top":0.07102953,"width":0.013962766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":23,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":23,"bounds":{"left":0.8287899,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":23,"bounds":{"left":0.8507314,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":23,"bounds":{"left":0.87267286,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":23,"bounds":{"left":0.87898934,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":23,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":23,"bounds":{"left":0.78291225,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":23,"bounds":{"left":0.80485374,"top":0.07102953,"width":0.06416223,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This dynamically","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.029920213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"finds the directory of","depth":21,"bounds":{"left":0.79288566,"top":0.07102953,"width":0.038896278,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the script being executed, so moving both","depth":21,"bounds":{"left":0.83144945,"top":0.07102953,"width":0.07646277,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.9075798,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.90890956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.91422874,"top":0.07102953,"width":0.039228722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"bounds":{"left":0.953125,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.9617686,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"bounds":{"left":0.9674202,"top":0.07102953,"width":0.0066489363,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"into a","depth":21,"bounds":{"left":0.9740692,"top":0.07102953,"width":0.011968086,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23138298,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder will","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"work fine.","depth":21,"bounds":{"left":0.7898936,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Structure that will work:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.045212764,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.016289894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── lib/","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.016289894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_helpers.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.068484046,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.05817819,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.06416223,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Just","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy the entire","depth":21,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.027925532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"bounds":{"left":0.80086434,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder (with","depth":21,"bounds":{"left":0.81648934,"top":0.07102953,"width":0.021609042,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.8380984,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.8390958,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.84474736,"top":0.07102953,"width":0.038896278,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"bounds":{"left":0.8836436,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.89228725,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"bounds":{"left":0.89793885,"top":0.07102953,"width":0.0066489363,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"inside it) to your Mac","depth":21,"bounds":{"left":0.90425533,"top":0.07102953,"width":0.038896278,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"bounds":{"left":0.9428192,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s http://localhost:3030/health | jq \"{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeline.capture_fps_actual, frames: .pipeline.frames_captured}\"","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.19913563,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"{","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"status\": \"healthy\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.034242023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frame_status\": \"ok\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.03756649,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_status\": \"ok\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.03723404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"last_frame\": \"2026-05-13T11:28:00+03:00\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.0787899,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"uptime\": 7879.209718708,","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.048537236,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"fps\": 0.27426608468981734,","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.053856384,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frames\": 2161","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.026928192,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"} also what is degraded I received it as response a while ago {","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"status\": \"degraded\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.038231384,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frame_status\": \"ok\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.03756649,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_status\": \"stale\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.041223403,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"last_frame\": \"2026-05-13T11:27:35+03:00\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.078457445,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"uptime\": 7854.077230416,","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.048537236,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"fps\": 0.27488907183634176,","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.05285904,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frames\": 2159","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.027260639,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.87333775,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes, that command is still","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.045545213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"correct. It queries the Screenpipe health endpoint","depth":21,"bounds":{"left":0.8088431,"top":0.07102953,"width":0.08976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"at","depth":21,"bounds":{"left":0.89860374,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"localhost:3030/health","depth":22,"bounds":{"left":0.90525264,"top":0.07102953,"width":0.03856383,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"bounds":{"left":0.94481385,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Status meanings:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.032579787,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"healthy\"","depth":23,"bounds":{"left":0.7719415,"top":0.07102953,"width":0.016954787,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- All systems OK","depth":22,"bounds":{"left":0.78956115,"top":0.07102953,"width":0.030917553,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"(frame_status","depth":22,"bounds":{"left":0.82047874,"top":0.07102953,"width":0.025930852,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\", audio","depth":22,"bounds":{"left":0.84640956,"top":0.07102953,"width":0.021609042,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"_status: \"ok\")","depth":22,"bounds":{"left":0.8680186,"top":0.07102953,"width":0.024933511,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"degraded\"","depth":23,"bounds":{"left":0.7719415,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- One or","depth":22,"bounds":{"left":0.7915558,"top":0.07102953,"width":0.016289894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more subsystems have issues (your example","depth":22,"bounds":{"left":0.8075133,"top":0.07102953,"width":0.080784574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"shows audio_status: \"st","depth":22,"bounds":{"left":0.88829786,"top":0.07102953,"width":0.043550532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ale\")","depth":22,"bounds":{"left":0.9318484,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"What \"degraded\" with \"audio_status: stale\" means:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.09707447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Frame","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"capture is working fine","depth":22,"bounds":{"left":0.78224736,"top":0.07102953,"width":0.04155585,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Audio capture is not working properly or","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.07180851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"is outdated/delayed","depth":22,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.036236703,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"could indicate the","depth":22,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.032912236,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio device disconnected, permission","depth":22,"bounds":{"left":0.81150264,"top":0.07102953,"width":0.07081117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"issues, or the audio pipeline stopped","depth":22,"bounds":{"left":0.88231385,"top":0.07102953,"width":0.066821806,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Other possible statuses:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.045545213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"frame_status","depth":23,"bounds":{"left":0.7719415,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\"","depth":22,"bounds":{"left":0.79521275,"top":0.07102953,"width":0.010305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"| \"stale\" | \"error","depth":22,"bounds":{"left":0.80518615,"top":0.07102953,"width":0.02925532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":22,"bounds":{"left":0.83410907,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_status","depth":23,"bounds":{"left":0.7719415,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\" | \"stale","depth":22,"bounds":{"left":0.79521275,"top":0.07102953,"width":0.023603724,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" | \"error\"","depth":22,"bounds":{"left":0.8188165,"top":0.07102953,"width":0.017287234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The command","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.025598405,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"format is fine - it","depth":21,"bounds":{"left":0.78889626,"top":0.07102953,"width":0.030917553,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"extracts the key metrics","depth":21,"bounds":{"left":0.8194814,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"you need to","depth":21,"bounds":{"left":0.86336434,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"monitor Screenpipe's","depth":21,"bounds":{"left":0.8856383,"top":0.07102953,"width":0.039228722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"health.","depth":21,"bounds":{"left":0.92486703,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.19448139,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.22706117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10571808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total 9468000","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.024601065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 24 lukas staff 768 13 May 11:25 .","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.08543883,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwx------+ 96 lukas staff 3072 13 May 09:16 ..","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.09042553,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.109042555,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13198139,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.09674202,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10638298,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10804521,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10638298,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.09275266,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13397606,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13397606,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.1349734,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.1349734,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13397606,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13464096,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13397606,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13231383,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.11735372,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.1306516,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.12765957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.12965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.094082445,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10006649,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.12566489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.12333777,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total 48","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxrwxrwx 5 lukas staff 160 13 May 10:24 .","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.07912234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.07712766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.11868351,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.120678194,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.1263298,"height":0.0007980846},"on_screen":true,"role_description":"text"}]...
|
-6656191514541021734
|
2859662610963360965
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 69, Col 1 (166 selected)
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
3m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s [URL_WITH_CREDENTIALS] ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 9468000
drwxr-xr-x 24 lukas staff 768 13 May 11:25 .
drwx------+ 96 lukas staff 3072 13 May 09:16 ..
-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data
-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite
-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm
-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log
-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log
-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts
-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll
total 48
drwxrwxrwx 5 lukas staff 160 13 May 10:24 .
drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..
-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh
-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh
-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32242
|
1242
|
64
|
2026-05-13T09:11:24.151394+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663484151_m1.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_files.sh — screenpipe [SSH: nas] — screenpipe_sync_files.sh — Untracked...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 69, Col 1 (166 selected)
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
3m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s [URL_WITH_CREDENTIALS] ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 9468000
drwxr-xr-x 24 lukas staff 768 13 May 11:25 .
drwx------+ 96 lukas staff 3072 13 May 09:16 ..
-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data
-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite
-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm
-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log
-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log
-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts
-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll
total 48
drwxrwxrwx 5 lukas staff 160 13 May 10:24 .
drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..
-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh
-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh
-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $
Expand content to scroll
Thought
for 3s
The
error shows
lib/lib/
doubled in the path. The issue is that
the lib modules define their own
SCRIPT_DIR
variable, which overwrites
the one from the main script. When
screenpipe_sync_db.sh
or
screenpipe_sync_files.sh
sources
screenpipe_sync_helpers.sh
, they use their own directory (
already inside
lib
), causing the path to be doubled
.
Fix: Use
unique variable names in lib
modules to avoid conflicts:
screenpipe_sync_db.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 69, Col 1 (166 selected)","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":1.0,"top":0.0,"width":-0.07361114,"height":0.02},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"3m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target_date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$1","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$target_date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Done. Audio","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"files will now be copied to","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/{date}/audio/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"instead of","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":". This keeps audio files organized by date alongside the frame","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"will that all work if I move","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"@","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and lib folder inside scripts folder?","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 2s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", it will work as long as you","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"keep the relative structure intact. The script uses:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This dynamically","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"finds the directory of","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the script being executed, so moving both","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"into a","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder will","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"work fine.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Structure that will work:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── lib/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_helpers.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Just","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy the entire","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder (with","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"inside it) to your Mac","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s http://localhost:3030/health | jq \"{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeline.capture_fps_actual, frames: .pipeline.frames_captured}\"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"{","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"status\": \"healthy\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frame_status\": \"ok\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_status\": \"ok\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"last_frame\": \"2026-05-13T11:28:00+03:00\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"uptime\": 7879.209718708,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"fps\": 0.27426608468981734,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frames\": 2161","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"} also what is degraded I received it as response a while ago {","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"status\": \"degraded\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frame_status\": \"ok\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_status\": \"stale\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"last_frame\": \"2026-05-13T11:27:35+03:00\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"uptime\": 7854.077230416,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"fps\": 0.27488907183634176,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frames\": 2159","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes, that command is still","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"correct. It queries the Screenpipe health endpoint","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"at","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"localhost:3030/health","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Status meanings:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"healthy\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- All systems OK","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"(frame_status","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\", audio","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"_status: \"ok\")","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"degraded\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- One or","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more subsystems have issues (your example","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"shows audio_status: \"st","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ale\")","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"What \"degraded\" with \"audio_status: stale\" means:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Frame","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"capture is working fine","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Audio capture is not working properly or","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"is outdated/delayed","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"could indicate the","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio device disconnected, permission","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"issues, or the audio pipeline stopped","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Other possible statuses:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"frame_status","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"| \"stale\" | \"error","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_status","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\" | \"stale","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" | \"error\"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The command","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"format is fine - it","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"extracts the key metrics","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"you need to","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"monitor Screenpipe's","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"health.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total 9468000","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 24 lukas staff 768 13 May 11:25 .","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwx------+ 96 lukas staff 3072 13 May 09:16 ..","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total 48","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxrwxrwx 5 lukas staff 160 13 May 10:24 .","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 3s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"error shows","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/lib/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"doubled in the path. The issue is that","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the lib modules define their own","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"variable, which overwrites","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the one from the main script. When","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"sources","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", they use their own directory (","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"already inside","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"), causing the path to be doubled","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Fix: Use","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"unique variable names in lib","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"modules to avoid conflicts:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/screenpipe_sync_helpers.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LIB_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"on_screen":true,"role_description":"text"}]...
|
-2019152556529205699
|
2850655403118685391
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 69, Col 1 (166 selected)
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
3m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s [URL_WITH_CREDENTIALS] ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 9468000
drwxr-xr-x 24 lukas staff 768 13 May 11:25 .
drwx------+ 96 lukas staff 3072 13 May 09:16 ..
-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data
-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite
-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm
-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log
-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log
-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts
-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll
total 48
drwxrwxrwx 5 lukas staff 160 13 May 10:24 .
drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..
-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh
-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh
-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $
Expand content to scroll
Thought
for 3s
The
error shows
lib/lib/
doubled in the path. The issue is that
the lib modules define their own
SCRIPT_DIR
variable, which overwrites
the one from the main script. When
screenpipe_sync_db.sh
or
screenpipe_sync_files.sh
sources
screenpipe_sync_helpers.sh
, they use their own directory (
already inside
lib
), causing the path to be doubled
.
Fix: Use
unique variable names in lib
modules to avoid conflicts:
screenpipe_sync_db.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&...
|
32241
|
NULL
|
NULL
|
NULL
|
|
32241
|
1242
|
63
|
2026-05-13T09:11:20.490746+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663480490_m1.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_files.sh — screenpipe [SSH: nas] — screenpipe_sync_files.sh — Untracked...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 69, Col 1 (166 selected)
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
3m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s [URL_WITH_CREDENTIALS] ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 9468000
drwxr-xr-x 24 lukas staff 768 13 May 11:25 .
drwx------+ 96 lukas staff 3072 13 May 09:16 ..
-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data
-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite
-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm
-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log
-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log
-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts
-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll
total 48
drwxrwxrwx 5 lukas staff 160 13 May 10:24 .
drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..
-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh
-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh
-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $
Expand content to scroll
Thought
for 3s
The
error shows
lib/lib/
doubled in the path. The issue is that
the lib modules define their own
SCRIPT_DIR
variable, which overwrites
the one from the main script. When
screenpipe_sync_db.sh
or
screenpipe_sync_files.sh
sources
screenpipe_sync_helpers.sh
, they use their own directory (
already inside
lib
), causing the path to be doubled
.
Fix: Use
unique variable names in lib
modules to avoid conflicts:
screenpipe_sync_db.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$LIB_DIR
/screenpipe_sync_helpers.sh"
Thoughts
screenpipe_sync_files.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$LIB_DIR
/screenpipe_sync_helpers.sh"
Thoughts
Fixed. The
issue was that the
lib modules were over
writing the main script's
SCRIPT_DIR
variable. I renamed it
to
LIB_DIR
in both
screenpipe_sync_db.sh
and
screenpipe_sync_files.sh
to avoid conflicts.
Try running
the script again:
bash
~
/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
Feedback submitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/lib/screenpipe_sync_db.sh: line 13: /Users/lukas/.screenpipe/scripts/lib/screenpipe_sync_helpers.s
# ─── DB FUNCTIONS ─────────────────────────────────────────────────────────────
db_init_tables() {
run_sqlite_heredoc creating: No such file or directory
Expand content to scroll
Thought
for 2s
The error shows the
source command is failing and the script is
trying to execute function definitions as commands. Check
if the helpers file was copied correctly to
your Mac:
bash
cat
~/.screenpipe/scripts/lib/screenpipe_sync_helpers.sh
The error shows
screenpipe_sync_helpers.s
(missing 'h'), which
suggests a file corruption or incomplete copy. Verify
all three lib files were
copied intact:
bash
ls
-la
~/.screenpipe/scripts/lib/
If the
helpers file is corrupted or empty
, copy it again from the NAS.
Feedback submitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ls -la ~/.screenpipe/scripts/lib/
total 48
drwxrwxrwx 5 lukas staff 160 13 May 10:24 .
drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..
-rwxrwxrwx 1 lukas staff 11635 13 May 11:33 screenpipe_sync_db.sh
-rwxrwxrwx 1 lukas staff 4890 13 May 11:34 screenpipe_sync_files.sh
-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ cat ~/.screenpipe/scripts/lib/screenpipe_sync_helpers.sh
#!/bin/bash
# screenpipe_sync_helpers.sh
# Helper functions for screenpipe sync scripts
# Source this file in other scripts to use the helpers
# ─── CONFIG ───────────────────────────────────────────────────────────────────
# These can be overridden by the sourcing script
SCRIPT_START=${SCRIPT_START:-$(date +%s)}
DB_SRC="${DB_SRC:-$HOME/.screenpipe/db.sqlite}"
LOG_FILE="${LOG_FILE:-$HOME/.screenpipe/sync.log}"
# ──────────────────────────────────────────────────────────────────────────────
# ─── HELPERS ──────────────────────────────────────────────────────────────────
log() {
local msg="[$(date '+%Y-%m-%d %H:%M:%S')] $*"
echo "$msg" | tee -a "$LOG_FILE"
}
step() {
local now=$(date +%s)
local elapsed=$(( now - SCRIPT_START ))
local min=$(( elapsed / 60 ))
local sec=$(( elapsed % 60 ))
printf "\n[+%02dm%02ds] ▶ %s\n" "$min" "$sec" "$*" | tee -a "$LOG_FILE"
}
run_sqlite_heredoc() {
local label="$1"
local sql="$2"
local start=$(date +%s)
Expand content to scroll
Thought
for 3s
The
helpers file looks correct. The error suggests the
source
command is failing silently. Test if
the source command works directly:
bash
cd
~/.screenpipe/scripts/lib
source
screenpipe_sync_helpers.sh
If
that works, test sourcing
from the parent directory:
bash
cd
~/.screenpipe/scripts
source
lib/screenpipe_sync_helpers.sh
If that fails
, try using the full path in the lib
files. Change the source command in both
screenpipe_sync_db.sh
and
screenpipe_sync_files.sh
to use absolute paths or check
if there's a macOS
-specific issue with the
source
command.
Feedback submitted
source returned no error but running script does lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/lib/screenpipe_sync_db.sh: line 13: /Users/lukas/.screenpipe/scripts/lib/screenpipe_sync_helpers.s
# ─── DB FUNCTIONS ─────────────────────────────────────────────────────────────
db_init_tables() {
run_sqlite_heredoc creating: No such file or directory
Expand content to scroll
Thought
for 1s
Read
screenpipe_sync_db.sh
#L1-30
Thought
for 1s
The error shows
the script is trying to execute function definitions as commands
, meaning the
source
command is failing silently. This
could be a line ending issue. Check
if the files have Windows line endings (
CRLF):
bash
file...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 69, Col 1 (166 selected)","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":1.0,"top":0.0,"width":-0.07361114,"height":0.02},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"3m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target_date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$1","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$target_date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Done. Audio","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"files will now be copied to","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/{date}/audio/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"instead of","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":". This keeps audio files organized by date alongside the frame","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"will that all work if I move","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"@","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and lib folder inside scripts folder?","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 2s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", it will work as long as you","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"keep the relative structure intact. The script uses:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This dynamically","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"finds the directory of","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the script being executed, so moving both","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"into a","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder will","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"work fine.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Structure that will work:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── lib/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_helpers.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Just","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy the entire","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder (with","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"inside it) to your Mac","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s http://localhost:3030/health | jq \"{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeline.capture_fps_actual, frames: .pipeline.frames_captured}\"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"{","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"status\": \"healthy\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frame_status\": \"ok\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_status\": \"ok\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"last_frame\": \"2026-05-13T11:28:00+03:00\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"uptime\": 7879.209718708,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"fps\": 0.27426608468981734,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frames\": 2161","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"} also what is degraded I received it as response a while ago {","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"status\": \"degraded\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frame_status\": \"ok\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_status\": \"stale\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"last_frame\": \"2026-05-13T11:27:35+03:00\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"uptime\": 7854.077230416,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"fps\": 0.27488907183634176,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frames\": 2159","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes, that command is still","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"correct. It queries the Screenpipe health endpoint","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"at","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"localhost:3030/health","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Status meanings:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"healthy\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- All systems OK","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"(frame_status","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\", audio","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"_status: \"ok\")","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"degraded\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- One or","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more subsystems have issues (your example","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"shows audio_status: \"st","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ale\")","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"What \"degraded\" with \"audio_status: stale\" means:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Frame","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"capture is working fine","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Audio capture is not working properly or","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"is outdated/delayed","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"could indicate the","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio device disconnected, permission","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"issues, or the audio pipeline stopped","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Other possible statuses:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"frame_status","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"| \"stale\" | \"error","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_status","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\" | \"stale","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" | \"error\"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The command","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"format is fine - it","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"extracts the key metrics","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"you need to","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"monitor Screenpipe's","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"health.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total 9468000","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 24 lukas staff 768 13 May 11:25 .","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwx------+ 96 lukas staff 3072 13 May 09:16 ..","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total 48","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxrwxrwx 5 lukas staff 160 13 May 10:24 .","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 3s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"error shows","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/lib/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"doubled in the path. The issue is that","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the lib modules define their own","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"variable, which overwrites","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the one from the main script. When","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"sources","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", they use their own directory (","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"already inside","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"), causing the path to be doubled","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Fix: Use","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"unique variable names in lib","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"modules to avoid conflicts:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/screenpipe_sync_helpers.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LIB_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$LIB_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/screenpipe_sync_helpers.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/screenpipe_sync_helpers.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LIB_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$LIB_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/screenpipe_sync_helpers.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Fixed. The","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"issue was that the","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib modules were over","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"writing the main script's","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"variable. I renamed it","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LIB_DIR","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in both","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to avoid conflicts.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Try running","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the script again:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/.screenpipe/scripts/lib/screenpipe_sync_db.sh: line 13: /Users/lukas/.screenpipe/scripts/lib/screenpipe_sync_helpers.s","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── DB FUNCTIONS ─────────────────────────────────────────────────────────────","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db_init_tables() {","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"run_sqlite_heredoc creating: No such file or directory","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 2s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The error shows the","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source command is failing and the script is","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"trying to execute function definitions as commands. Check","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"if the helpers file was copied correctly to","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"your Mac:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cat","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/lib/screenpipe_sync_helpers.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The error shows","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.s","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"(missing 'h'), which","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"suggests a file corruption or incomplete copy. Verify","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"all three lib files were","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copied intact:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-la","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/lib/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"If the","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"helpers file is corrupted or empty","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", copy it again from the NAS.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ls -la ~/.screenpipe/scripts/lib/","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total 48","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxrwxrwx 5 lukas staff 160 13 May 10:24 .","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 11635 13 May 11:33 screenpipe_sync_db.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 4890 13 May 11:34 screenpipe_sync_files.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ cat ~/.screenpipe/scripts/lib/screenpipe_sync_helpers.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#!/bin/bash","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# screenpipe_sync_helpers.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Helper functions for screenpipe sync scripts","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Source this file in other scripts to use the helpers","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── CONFIG ───────────────────────────────────────────────────────────────────","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# These can be overridden by the sourcing script","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_START=${SCRIPT_START:-$(date +%s)}","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"DB_SRC=\"${DB_SRC:-$HOME/.screenpipe/db.sqlite}\"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LOG_FILE=\"${LOG_FILE:-$HOME/.screenpipe/sync.log}\"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── HELPERS ──────────────────────────────────────────────────────────────────","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"log() {","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local msg=\"[$(date '+%Y-%m-%d %H:%M:%S')] $*\"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo \"$msg\" | tee -a \"$LOG_FILE\"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step() {","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local now=$(date +%s)","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local elapsed=$(( now - SCRIPT_START ))","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local min=$(( elapsed / 60 ))","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local sec=$(( elapsed % 60 ))","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf \"\\n[+%02dm%02ds] ▶ %s\\n\" \"$min\" \"$sec\" \"$*\" | tee -a \"$LOG_FILE\"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"run_sqlite_heredoc() {","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local label=\"$1\"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local sql=\"$2\"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local start=$(date +%s)","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 3s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"helpers file looks correct. The error suggests the","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"command is failing silently. Test if","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the source command works directly:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/lib","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"If","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"that works, test sourcing","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"from the parent directory:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_helpers.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"If that fails","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", try using the full path in the lib","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"files. Change the source command in both","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to use absolute paths or check","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"if there's a macOS","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-specific issue with the","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"command.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source returned no error but running script does lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/.screenpipe/scripts/lib/screenpipe_sync_db.sh: line 13: /Users/lukas/.screenpipe/scripts/lib/screenpipe_sync_helpers.s","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── DB FUNCTIONS ─────────────────────────────────────────────────────────────","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db_init_tables() {","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"run_sqlite_heredoc creating: No such file or directory","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#L1-30","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The error shows","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the script is trying to execute function definitions as commands","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", meaning the","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"command is failing silently. This","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"could be a line ending issue. Check","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"if the files have Windows line endings (","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"CRLF):","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"file","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"}]...
|
560565938653905101
|
2852898338119806155
|
visual_change
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 69, Col 1 (166 selected)
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
3m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s [URL_WITH_CREDENTIALS] ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 9468000
drwxr-xr-x 24 lukas staff 768 13 May 11:25 .
drwx------+ 96 lukas staff 3072 13 May 09:16 ..
-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data
-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite
-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm
-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log
-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log
-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts
-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll
total 48
drwxrwxrwx 5 lukas staff 160 13 May 10:24 .
drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..
-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh
-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh
-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $
Expand content to scroll
Thought
for 3s
The
error shows
lib/lib/
doubled in the path. The issue is that
the lib modules define their own
SCRIPT_DIR
variable, which overwrites
the one from the main script. When
screenpipe_sync_db.sh
or
screenpipe_sync_files.sh
sources
screenpipe_sync_helpers.sh
, they use their own directory (
already inside
lib
), causing the path to be doubled
.
Fix: Use
unique variable names in lib
modules to avoid conflicts:
screenpipe_sync_db.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$LIB_DIR
/screenpipe_sync_helpers.sh"
Thoughts
screenpipe_sync_files.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$LIB_DIR
/screenpipe_sync_helpers.sh"
Thoughts
Fixed. The
issue was that the
lib modules were over
writing the main script's
SCRIPT_DIR
variable. I renamed it
to
LIB_DIR
in both
screenpipe_sync_db.sh
and
screenpipe_sync_files.sh
to avoid conflicts.
Try running
the script again:
bash
~
/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
Feedback submitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/lib/screenpipe_sync_db.sh: line 13: /Users/lukas/.screenpipe/scripts/lib/screenpipe_sync_helpers.s
# ─── DB FUNCTIONS ─────────────────────────────────────────────────────────────
db_init_tables() {
run_sqlite_heredoc creating: No such file or directory
Expand content to scroll
Thought
for 2s
The error shows the
source command is failing and the script is
trying to execute function definitions as commands. Check
if the helpers file was copied correctly to
your Mac:
bash
cat
~/.screenpipe/scripts/lib/screenpipe_sync_helpers.sh
The error shows
screenpipe_sync_helpers.s
(missing 'h'), which
suggests a file corruption or incomplete copy. Verify
all three lib files were
copied intact:
bash
ls
-la
~/.screenpipe/scripts/lib/
If the
helpers file is corrupted or empty
, copy it again from the NAS.
Feedback submitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ls -la ~/.screenpipe/scripts/lib/
total 48
drwxrwxrwx 5 lukas staff 160 13 May 10:24 .
drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..
-rwxrwxrwx 1 lukas staff 11635 13 May 11:33 screenpipe_sync_db.sh
-rwxrwxrwx 1 lukas staff 4890 13 May 11:34 screenpipe_sync_files.sh
-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ cat ~/.screenpipe/scripts/lib/screenpipe_sync_helpers.sh
#!/bin/bash
# screenpipe_sync_helpers.sh
# Helper functions for screenpipe sync scripts
# Source this file in other scripts to use the helpers
# ─── CONFIG ───────────────────────────────────────────────────────────────────
# These can be overridden by the sourcing script
SCRIPT_START=${SCRIPT_START:-$(date +%s)}
DB_SRC="${DB_SRC:-$HOME/.screenpipe/db.sqlite}"
LOG_FILE="${LOG_FILE:-$HOME/.screenpipe/sync.log}"
# ──────────────────────────────────────────────────────────────────────────────
# ─── HELPERS ──────────────────────────────────────────────────────────────────
log() {
local msg="[$(date '+%Y-%m-%d %H:%M:%S')] $*"
echo "$msg" | tee -a "$LOG_FILE"
}
step() {
local now=$(date +%s)
local elapsed=$(( now - SCRIPT_START ))
local min=$(( elapsed / 60 ))
local sec=$(( elapsed % 60 ))
printf "\n[+%02dm%02ds] ▶ %s\n" "$min" "$sec" "$*" | tee -a "$LOG_FILE"
}
run_sqlite_heredoc() {
local label="$1"
local sql="$2"
local start=$(date +%s)
Expand content to scroll
Thought
for 3s
The
helpers file looks correct. The error suggests the
source
command is failing silently. Test if
the source command works directly:
bash
cd
~/.screenpipe/scripts/lib
source
screenpipe_sync_helpers.sh
If
that works, test sourcing
from the parent directory:
bash
cd
~/.screenpipe/scripts
source
lib/screenpipe_sync_helpers.sh
If that fails
, try using the full path in the lib
files. Change the source command in both
screenpipe_sync_db.sh
and
screenpipe_sync_files.sh
to use absolute paths or check
if there's a macOS
-specific issue with the
source
command.
Feedback submitted
source returned no error but running script does lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/lib/screenpipe_sync_db.sh: line 13: /Users/lukas/.screenpipe/scripts/lib/screenpipe_sync_helpers.s
# ─── DB FUNCTIONS ─────────────────────────────────────────────────────────────
db_init_tables() {
run_sqlite_heredoc creating: No such file or directory
Expand content to scroll
Thought
for 1s
Read
screenpipe_sync_db.sh
#L1-30
Thought
for 1s
The error shows
the script is trying to execute function definitions as commands
, meaning the
source
command is failing silently. This
could be a line ending issue. Check
if the files have Windows line endings (
CRLF):
bash
file...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32240
|
1242
|
62
|
2026-05-13T09:11:18.676320+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663478676_m1.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_files.sh — screenpipe [SSH: nas] — screenpipe_sync_files.sh — Untracked...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 69, Col 1 (166 selected)
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
3m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 69, Col 1 (166 selected)","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":1.0,"top":0.0,"width":-0.07361114,"height":0.02},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"3m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target_date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$1","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$target_date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Done. Audio","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"files will now be copied to","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/{date}/audio/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"instead of","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":". This keeps audio files organized by date alongside the frame","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"will that all work if I move","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"@","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and lib folder inside scripts folder?","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 2s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", it will work as long as you","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"keep the relative structure intact. The script uses:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This dynamically","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"finds the directory of","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the script being executed, so moving both","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"into a","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder will","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"work fine.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Structure that will work:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── lib/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_helpers.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Just","depth":21,"on_screen":true,"role_description":"text"}]...
|
-7618319145061989262
|
-5206356966642611988
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 69, Col 1 (166 selected)
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
3m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32239
|
1243
|
63
|
2026-05-13T09:11:18.616308+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663478616_m2.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_files.sh — screenpipe [SSH: nas] — screenpipe_sync_files.sh — Untracked...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"bounds":{"left":0.0,"top":0.047885075,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.05586592,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"bounds":{"left":0.0,"top":0.07581804,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.083798885,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"bounds":{"left":0.0,"top":0.103751,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.11173184,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"bounds":{"left":0.004986702,"top":0.11811652,"width":0.003656915,"height":0.007980846},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.005319149,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}},{"char_start":1,"char_count":1,"bounds":{"left":0.006981383,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}}],"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"bounds":{"left":0.0,"top":0.13168396,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.1396648,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"bounds":{"left":0.0,"top":0.15961692,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"bounds":{"left":0.0,"top":0.18754987,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.19553073,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"bounds":{"left":0.0,"top":0.21548285,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.22346368,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"bounds":{"left":0.0,"top":0.2434158,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.25139666,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"bounds":{"left":0.01462766,"top":0.047885075,"width":0.013630319,"height":0.023144454},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"bounds":{"left":0.01462766,"top":0.054269753,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.014960106,"top":0.055067837,"width":0.0019946808,"height":0.008778931}},{"char_start":1,"char_count":7,"bounds":{"left":0.016954787,"top":0.055067837,"width":0.011303191,"height":0.008778931}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.011635638,"top":0.07102953,"width":0.0831117,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.0726257,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.016954787,"top":0.07102953,"width":0.035904255,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"bounds":{"left":0.016954787,"top":0.07342378,"width":0.035904255,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.07342378,"width":0.0019946808,"height":0.009577015}},{"char_start":1,"char_count":20,"bounds":{"left":0.018949468,"top":0.07342378,"width":0.034242023,"height":0.009577015}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.08699122,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.08699122,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.025930852,"top":0.08699122,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.087789305,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.02825798,"top":0.087789305,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.10215483,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.10215483,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0063164895,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":2,"bounds":{"left":0.027925532,"top":0.10215483,"width":0.004654255,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.10215483,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.11652035,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.11652035,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.025930852,"top":0.11652035,"width":0.0076462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.11731844,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":3,"bounds":{"left":0.02825798,"top":0.11731844,"width":0.005319149,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.01462766,"top":0.13088587,"width":0.0043218085,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"bounds":{"left":0.025930852,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.13168396,"width":0.0009973404,"height":0.0103751}},{"char_start":1,"char_count":2,"bounds":{"left":0.026928192,"top":0.13168396,"width":0.0033244682,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.13168396,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.14604948,"width":0.003656915,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"bounds":{"left":0.027925532,"top":0.14604948,"width":0.039893616,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.14604948,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":20,"bounds":{"left":0.029920213,"top":0.14604948,"width":0.037898935,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.14604948,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.16041501,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"bounds":{"left":0.027925532,"top":0.16041501,"width":0.04255319,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.16121309,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":23,"bounds":{"left":0.029920213,"top":0.16121309,"width":0.04089096,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.16121309,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.17478053,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"bounds":{"left":0.027925532,"top":0.17478053,"width":0.048204787,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.17557861,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.029920213,"top":0.17557861,"width":0.046210106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.17557861,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.18994413,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.18994413,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.006981383,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.0009973404,"height":0.011173184}},{"char_start":1,"char_count":3,"bounds":{"left":0.026928192,"top":0.18994413,"width":0.0063164895,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.18994413,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.20430966,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.20430966,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.025930852,"top":0.20430966,"width":0.00930851,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.20510775,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":4,"bounds":{"left":0.02825798,"top":0.20510775,"width":0.006981383,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.21867518,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.025930852,"top":0.21867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.21947326,"width":0.0013297872,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.026928192,"top":0.21947326,"width":0.014960106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.23383878,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.029920213,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":16,"bounds":{"left":0.027925532,"top":0.23383878,"width":0.027925532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.2482043,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.025930852,"top":0.2482043,"width":0.025265958,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.2490024,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":13,"bounds":{"left":0.027925532,"top":0.2490024,"width":0.023603724,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.2490024,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.26256984,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"bounds":{"left":0.025930852,"top":0.26256984,"width":0.046210106,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.26336792,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":27,"bounds":{"left":0.027925532,"top":0.26336792,"width":0.04454787,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.26336792,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.27773345,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.01462766,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":8,"bounds":{"left":0.02825798,"top":0.27773345,"width":0.012300532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.29209897,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.025930852,"top":0.29209897,"width":0.023271276,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.29289705,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.29289705,"width":0.021276595,"height":0.0103751}}],"role_description":"text"}]...
|
8098761849002292510
|
-5497991426169648562
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm...
|
32238
|
NULL
|
NULL
|
NULL
|
|
32229
|
1243
|
58
|
2026-05-13T09:11:08.534478+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663468534_m2.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_files.sh — screenpipe [SSH: nas] — screenpipe_sync_files.sh — Untracked...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 69, Col 1 (166 selected)
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
3m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s [URL_WITH_CREDENTIALS] ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 9468000
drwxr-xr-x 24 lukas staff 768 13 May 11:25 .
drwx------+ 96 lukas staff 3072 13 May 09:16 ..
-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data
-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite
-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm
-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log
-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log
-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts
-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll
total 48
drwxrwxrwx 5 lukas staff 160 13 May 10:24 .
drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..
-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh
-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh
-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $
Expand content to scroll
Thought
for 3s
The
error shows
lib/lib/
doubled in the path. The issue is that
the lib modules define their own
SCRIPT_DIR
variable, which overwrites
the one from the main script. When
screenpipe_sync_db.sh
or
screenpipe_sync_files.sh
sources
screenpipe_sync_helpers.sh
, they use their own directory (
already inside
lib
), causing the path to be doubled
.
Fix: Use
unique variable names in lib
modules to avoid conflicts:
screenpipe_sync_db.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$LIB_DIR
/screenpipe_sync_helpers.sh"
Thoughts
screenpipe_sync_files.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$LIB_DIR
/screenpipe_sync_helpers.sh"
Thoughts
Fixed. The
issue was that the
lib modules were over
writing the main script's
SCRIPT_DIR
variable. I renamed it
to
LIB_DIR
in both
screenpipe_sync_db.sh
and
screenpipe_sync_files.sh
to avoid conflicts.
Try running
the script again:
bash
~
/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
Feedback submitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/lib/screenpipe_sync_db.sh: line 13: /Users/lukas/.screenpipe/scripts/lib/screenpipe_sync_helpers.s
# ─── DB FUNCTIONS ─────────────────────────────────────────────────────────────
db_init_tables() {
run_sqlite_heredoc creating: No such file or directory
Expand content to scroll
Thought
for 2s
The error shows the
source command is failing and the script is
trying to execute function definitions as commands. Check
if the helpers file was copied correctly to
your Mac:
bash
cat
~/.screenpipe/scripts/lib/screenpipe_sync_helpers.sh
The error shows
screenpipe_sync_helpers.s
(missing 'h'), which
suggests a file corruption or incomplete copy. Verify
all three lib files were
copied intact:
bash
ls
-la
~/.screenpipe/scripts/lib/
If the
helpers file is corrupted or empty
, copy it again from the NAS.
Feedback submitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ls -la ~/.screenpipe/scripts/lib/
total 48
drwxrwxrwx 5 lukas staff 160 13 May 10:24 .
drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..
-rwxrwxrwx 1 lukas staff 11635 13 May 11:33 screenpipe_sync_db.sh
-rwxrwxrwx 1 lukas staff 4890 13 May 11:34 screenpipe_sync_files.sh
-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ cat ~/.screenpipe/scripts/lib/screenpipe_sync_helpers.sh
#!/bin/bash
# screenpipe_sync_helpers.sh
# Helper functions for screenpipe sync scripts
# Source this file in other scripts to use the helpers
# ─── CONFIG ───────────────────────────────────────────────────────────────────
# These can be overridden by the sourcing script
SCRIPT_START=${SCRIPT_START:-$(date +%s)}
DB_SRC="${DB_SRC:-$HOME/.screenpipe/db.sqlite}"...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"bounds":{"left":0.0,"top":0.047885075,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.05586592,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"bounds":{"left":0.0,"top":0.07581804,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.083798885,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"bounds":{"left":0.0,"top":0.103751,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.11173184,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"bounds":{"left":0.004986702,"top":0.11811652,"width":0.003656915,"height":0.007980846},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.005319149,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}},{"char_start":1,"char_count":1,"bounds":{"left":0.006981383,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}}],"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"bounds":{"left":0.0,"top":0.13168396,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.1396648,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"bounds":{"left":0.0,"top":0.15961692,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"bounds":{"left":0.0,"top":0.18754987,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.19553073,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"bounds":{"left":0.0,"top":0.21548285,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.22346368,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"bounds":{"left":0.0,"top":0.2434158,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.25139666,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"bounds":{"left":0.01462766,"top":0.047885075,"width":0.013630319,"height":0.023144454},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"bounds":{"left":0.01462766,"top":0.054269753,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.014960106,"top":0.055067837,"width":0.0019946808,"height":0.008778931}},{"char_start":1,"char_count":7,"bounds":{"left":0.016954787,"top":0.055067837,"width":0.011303191,"height":0.008778931}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.011635638,"top":0.07102953,"width":0.0831117,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.0726257,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.016954787,"top":0.07102953,"width":0.035904255,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"bounds":{"left":0.016954787,"top":0.07342378,"width":0.035904255,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.07342378,"width":0.0019946808,"height":0.009577015}},{"char_start":1,"char_count":20,"bounds":{"left":0.018949468,"top":0.07342378,"width":0.034242023,"height":0.009577015}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.08699122,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.08699122,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.025930852,"top":0.08699122,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.087789305,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.02825798,"top":0.087789305,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.10215483,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.10215483,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0063164895,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":2,"bounds":{"left":0.027925532,"top":0.10215483,"width":0.004654255,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.10215483,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.11652035,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.11652035,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.025930852,"top":0.11652035,"width":0.0076462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.11731844,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":3,"bounds":{"left":0.02825798,"top":0.11731844,"width":0.005319149,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.01462766,"top":0.13088587,"width":0.0043218085,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"bounds":{"left":0.025930852,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.13168396,"width":0.0009973404,"height":0.0103751}},{"char_start":1,"char_count":2,"bounds":{"left":0.026928192,"top":0.13168396,"width":0.0033244682,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.13168396,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.14604948,"width":0.003656915,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"bounds":{"left":0.027925532,"top":0.14604948,"width":0.039893616,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.14604948,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":20,"bounds":{"left":0.029920213,"top":0.14604948,"width":0.037898935,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.14604948,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.16041501,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"bounds":{"left":0.027925532,"top":0.16041501,"width":0.04255319,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.16121309,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":23,"bounds":{"left":0.029920213,"top":0.16121309,"width":0.04089096,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.16121309,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.17478053,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"bounds":{"left":0.027925532,"top":0.17478053,"width":0.048204787,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.17557861,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.029920213,"top":0.17557861,"width":0.046210106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.17557861,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.18994413,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.18994413,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.006981383,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.0009973404,"height":0.011173184}},{"char_start":1,"char_count":3,"bounds":{"left":0.026928192,"top":0.18994413,"width":0.0063164895,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.18994413,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.20430966,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.20430966,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.025930852,"top":0.20430966,"width":0.00930851,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.20510775,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":4,"bounds":{"left":0.02825798,"top":0.20510775,"width":0.006981383,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.21867518,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.025930852,"top":0.21867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.21947326,"width":0.0013297872,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.026928192,"top":0.21947326,"width":0.014960106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.23383878,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.029920213,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":16,"bounds":{"left":0.027925532,"top":0.23383878,"width":0.027925532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.2482043,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.025930852,"top":0.2482043,"width":0.025265958,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.2490024,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":13,"bounds":{"left":0.027925532,"top":0.2490024,"width":0.023603724,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.2490024,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.26256984,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"bounds":{"left":0.025930852,"top":0.26256984,"width":0.046210106,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.26336792,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":27,"bounds":{"left":0.027925532,"top":0.26336792,"width":0.04454787,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.26336792,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.27773345,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.01462766,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":8,"bounds":{"left":0.02825798,"top":0.27773345,"width":0.012300532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.29209897,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.025930852,"top":0.29209897,"width":0.023271276,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.29289705,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.29289705,"width":0.021276595,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3064645,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.025930852,"top":0.3064645,"width":0.021941489,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.30726257,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.30726257,"width":0.019614361,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3216281,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.04488032,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":24,"bounds":{"left":0.027925532,"top":0.3216281,"width":0.04288564,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.3216281,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.33599362,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"bounds":{"left":0.025930852,"top":0.33599362,"width":0.042220745,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3367917,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":22,"bounds":{"left":0.027925532,"top":0.3367917,"width":0.04055851,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.3367917,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.35035914,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"bounds":{"left":0.025930852,"top":0.35035914,"width":0.04055851,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.35115722,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":21,"bounds":{"left":0.027925532,"top":0.35115722,"width":0.03856383,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.35115722,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.36552274,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.04920213,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":25,"bounds":{"left":0.027925532,"top":0.36552274,"width":0.047539894,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.36552274,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.37988827,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.025930852,"top":0.37988827,"width":0.03357713,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.38068634,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":17,"bounds":{"left":0.027925532,"top":0.38068634,"width":0.03158245,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.087101065,"top":0.38068634,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3942538,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.025930852,"top":0.3942538,"width":0.023936171,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.39505187,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.027925532,"top":0.39505187,"width":0.022273935,"height":0.0103751}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.011635638,"top":0.95530725,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.95690346,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"bounds":{"left":0.016954787,"top":0.95530725,"width":0.011635638,"height":0.015163607},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"bounds":{"left":0.016954787,"top":0.9577015,"width":0.011635638,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9584996,"width":0.0026595744,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.019946808,"top":0.9584996,"width":0.008976064,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.011635638,"top":0.9696728,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.97206706,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"bounds":{"left":0.016954787,"top":0.97047085,"width":0.013630319,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"bounds":{"left":0.016954787,"top":0.9728651,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9728651,"width":0.0023271276,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.019281914,"top":0.9728651,"width":0.011635638,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0016622341,"top":0.9848364,"width":0.024268618,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.0039893617,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.00831117,"top":0.98723066,"width":0.015292553,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.008643617,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.009640957,"top":0.98723066,"width":0.012300532,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.027260639,"top":0.9848364,"width":0.019281914,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.027925532,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"bounds":{"left":0.032247342,"top":0.98723066,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.032579787,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.03357713,"top":0.98723066,"width":0.010970744,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.04654255,"top":0.9848364,"width":0.0063164895,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.054853722,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.05618351,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.06050532,"top":0.98723066,"width":0.0043218085,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.064494684,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.069148935,"top":0.98723066,"width":0.0029920214,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"bounds":{"left":0.07513298,"top":0.9848364,"width":0.010305851,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.07646277,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"bounds":{"left":0.080784574,"top":0.98723066,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.99102396,"top":0.9848364,"width":0.008976042,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"bounds":{"left":0.9567819,"top":0.9848364,"width":0.03357713,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"bounds":{"left":0.9421542,"top":0.9848364,"width":0.012965426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"bounds":{"left":0.91988033,"top":0.9848364,"width":0.020611702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"bounds":{"left":0.9115692,"top":0.9848364,"width":0.0066489363,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"bounds":{"left":0.8969415,"top":0.9848364,"width":0.013297873,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"bounds":{"left":0.87699467,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 69, Col 1 (166 selected)","depth":16,"bounds":{"left":0.8294548,"top":0.9848364,"width":0.046210106,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":0.78424203,"top":0.9848364,"width":0.04454787,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"bounds":{"left":0.76163566,"top":0.05347167,"width":0.034574468,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.76163566,"top":0.054269753,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":19,"bounds":{"left":0.76396275,"top":0.054269753,"width":0.032247342,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"3m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23238032,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9840425,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.9886968,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"bounds":{"left":0.99035907,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target_date","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$1","depth":24,"bounds":{"left":0.80418885,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$target_date","depth":24,"bounds":{"left":0.8188165,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76828456,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Done. Audio","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"files will now be copied to","depth":21,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.04720745,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.83211434,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/{date}/audio/","depth":22,"bounds":{"left":0.83410907,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"instead of","depth":21,"bounds":{"left":0.87765956,"top":0.07102953,"width":0.018949468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.8962766,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":22,"bounds":{"left":0.89860374,"top":0.07102953,"width":0.02925532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":". This keeps audio files organized by date alongside the frame","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23071809,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data.","depth":21,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.010305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"will that all work if I move","depth":25,"bounds":{"left":0.8543883,"top":0.07102953,"width":0.04288564,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"@","depth":27,"bounds":{"left":0.89793885,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.9012633,"top":0.07102953,"width":0.031914894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and lib folder inside scripts folder?","depth":25,"bounds":{"left":0.9338431,"top":0.07102953,"width":0.059175532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.9175532,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 2s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", it will work as long as you","depth":21,"bounds":{"left":0.76961434,"top":0.07102953,"width":0.047539894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"keep the relative structure intact. The script uses:","depth":21,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.09009308,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.7869016,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"bounds":{"left":0.78889626,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":23,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"bounds":{"left":0.79886967,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":23,"bounds":{"left":0.8068484,"top":0.07102953,"width":0.013962766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":23,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":23,"bounds":{"left":0.8287899,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":23,"bounds":{"left":0.8507314,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":23,"bounds":{"left":0.87267286,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":23,"bounds":{"left":0.87898934,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":23,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":23,"bounds":{"left":0.78291225,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":23,"bounds":{"left":0.80485374,"top":0.07102953,"width":0.06416223,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This dynamically","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.029920213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"finds the directory of","depth":21,"bounds":{"left":0.79288566,"top":0.07102953,"width":0.038896278,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the script being executed, so moving both","depth":21,"bounds":{"left":0.83144945,"top":0.07102953,"width":0.07646277,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.9075798,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.90890956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.91422874,"top":0.07102953,"width":0.039228722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"bounds":{"left":0.953125,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.9617686,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"bounds":{"left":0.9674202,"top":0.07102953,"width":0.0066489363,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"into a","depth":21,"bounds":{"left":0.9740692,"top":0.07102953,"width":0.011968086,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23138298,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder will","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"work fine.","depth":21,"bounds":{"left":0.7898936,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Structure that will work:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.045212764,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.016289894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── lib/","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.016289894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_helpers.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.068484046,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.05817819,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.06416223,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Just","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy the entire","depth":21,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.027925532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"bounds":{"left":0.80086434,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder (with","depth":21,"bounds":{"left":0.81648934,"top":0.07102953,"width":0.021609042,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.8380984,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.8390958,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.84474736,"top":0.07102953,"width":0.038896278,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"bounds":{"left":0.8836436,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.89228725,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"bounds":{"left":0.89793885,"top":0.07102953,"width":0.0066489363,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"inside it) to your Mac","depth":21,"bounds":{"left":0.90425533,"top":0.07102953,"width":0.038896278,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"bounds":{"left":0.9428192,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s http://localhost:3030/health | jq \"{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeline.capture_fps_actual, frames: .pipeline.frames_captured}\"","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.19913563,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"{","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"status\": \"healthy\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.034242023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frame_status\": \"ok\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.03756649,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_status\": \"ok\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.03723404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"last_frame\": \"2026-05-13T11:28:00+03:00\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.0787899,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"uptime\": 7879.209718708,","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.048537236,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"fps\": 0.27426608468981734,","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.053856384,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frames\": 2161","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.026928192,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"} also what is degraded I received it as response a while ago {","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"status\": \"degraded\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.038231384,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frame_status\": \"ok\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.03756649,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_status\": \"stale\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.041223403,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"last_frame\": \"2026-05-13T11:27:35+03:00\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.078457445,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"uptime\": 7854.077230416,","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.048537236,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"fps\": 0.27488907183634176,","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.05285904,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frames\": 2159","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.027260639,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.87333775,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes, that command is still","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.045545213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"correct. It queries the Screenpipe health endpoint","depth":21,"bounds":{"left":0.8088431,"top":0.07102953,"width":0.08976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"at","depth":21,"bounds":{"left":0.89860374,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"localhost:3030/health","depth":22,"bounds":{"left":0.90525264,"top":0.07102953,"width":0.03856383,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"bounds":{"left":0.94481385,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Status meanings:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.032579787,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"healthy\"","depth":23,"bounds":{"left":0.7719415,"top":0.07102953,"width":0.016954787,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- All systems OK","depth":22,"bounds":{"left":0.78956115,"top":0.07102953,"width":0.030917553,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"(frame_status","depth":22,"bounds":{"left":0.82047874,"top":0.07102953,"width":0.025930852,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\", audio","depth":22,"bounds":{"left":0.84640956,"top":0.07102953,"width":0.021609042,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"_status: \"ok\")","depth":22,"bounds":{"left":0.8680186,"top":0.07102953,"width":0.024933511,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"degraded\"","depth":23,"bounds":{"left":0.7719415,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- One or","depth":22,"bounds":{"left":0.7915558,"top":0.07102953,"width":0.016289894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more subsystems have issues (your example","depth":22,"bounds":{"left":0.8075133,"top":0.07102953,"width":0.080784574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"shows audio_status: \"st","depth":22,"bounds":{"left":0.88829786,"top":0.07102953,"width":0.043550532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ale\")","depth":22,"bounds":{"left":0.9318484,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"What \"degraded\" with \"audio_status: stale\" means:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.09707447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Frame","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"capture is working fine","depth":22,"bounds":{"left":0.78224736,"top":0.07102953,"width":0.04155585,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Audio capture is not working properly or","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.07180851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"is outdated/delayed","depth":22,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.036236703,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"could indicate the","depth":22,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.032912236,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio device disconnected, permission","depth":22,"bounds":{"left":0.81150264,"top":0.07102953,"width":0.07081117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"issues, or the audio pipeline stopped","depth":22,"bounds":{"left":0.88231385,"top":0.07102953,"width":0.066821806,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Other possible statuses:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.045545213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"frame_status","depth":23,"bounds":{"left":0.7719415,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\"","depth":22,"bounds":{"left":0.79521275,"top":0.07102953,"width":0.010305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"| \"stale\" | \"error","depth":22,"bounds":{"left":0.80518615,"top":0.07102953,"width":0.02925532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":22,"bounds":{"left":0.83410907,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_status","depth":23,"bounds":{"left":0.7719415,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\" | \"stale","depth":22,"bounds":{"left":0.79521275,"top":0.07102953,"width":0.023603724,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" | \"error\"","depth":22,"bounds":{"left":0.8188165,"top":0.07102953,"width":0.017287234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The command","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.025598405,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"format is fine - it","depth":21,"bounds":{"left":0.78889626,"top":0.07102953,"width":0.030917553,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"extracts the key metrics","depth":21,"bounds":{"left":0.8194814,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"you need to","depth":21,"bounds":{"left":0.86336434,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"monitor Screenpipe's","depth":21,"bounds":{"left":0.8856383,"top":0.07102953,"width":0.039228722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"health.","depth":21,"bounds":{"left":0.92486703,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.19448139,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.22706117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10571808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total 9468000","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.024601065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 24 lukas staff 768 13 May 11:25 .","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.08543883,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwx------+ 96 lukas staff 3072 13 May 09:16 ..","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.09042553,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.109042555,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13198139,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.09674202,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10638298,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10804521,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10638298,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.09275266,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13397606,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13397606,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.1349734,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.1349734,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13397606,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13464096,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13397606,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13231383,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.11735372,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.1306516,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.12765957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.12965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.094082445,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10006649,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.12566489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.12333777,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total 48","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxrwxrwx 5 lukas staff 160 13 May 10:24 .","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.07912234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.07712766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.11868351,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.120678194,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.1263298,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.12034574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.87333775,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 3s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.006981383,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"error shows","depth":21,"bounds":{"left":0.7699468,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.7922208,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/lib/","depth":22,"bounds":{"left":0.79421544,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"doubled in the path. The issue is that","depth":21,"bounds":{"left":0.81017286,"top":0.07102953,"width":0.06715426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the lib modules define their own","depth":21,"bounds":{"left":0.87732714,"top":0.07102953,"width":0.05817819,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.93550533,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":22,"bounds":{"left":0.9375,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"variable, which overwrites","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.22174202,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the one from the main script. When","depth":21,"bounds":{"left":0.7819149,"top":0.07102953,"width":0.06416223,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.84574467,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.84707445,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.8523936,"top":0.07102953,"width":0.045545213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":21,"bounds":{"left":0.89793885,"top":0.07102953,"width":0.004654255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.9025931,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.90359044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.90924203,"top":0.07102953,"width":0.051861703,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"sources","depth":21,"bounds":{"left":0.96110374,"top":0.07102953,"width":0.015292553,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.97606385,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.97706115,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23038563,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", they use their own directory (","depth":21,"bounds":{"left":0.80851066,"top":0.07102953,"width":0.054853722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"already inside","depth":21,"bounds":{"left":0.86336434,"top":0.07102953,"width":0.024601065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.88796544,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.88896275,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"bounds":{"left":0.89461434,"top":0.07102953,"width":0.0066489363,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"), causing the path to be doubled","depth":21,"bounds":{"left":0.9009308,"top":0.07102953,"width":0.059507977,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"bounds":{"left":0.9601064,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Fix: Use","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"unique variable names in lib","depth":21,"bounds":{"left":0.7775931,"top":0.07102953,"width":0.050531916,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"modules to avoid conflicts:","depth":21,"bounds":{"left":0.8277925,"top":0.07102953,"width":0.04920213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.039893616,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9830452,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"bounds":{"left":0.9850399,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.98836434,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"bounds":{"left":0.9900266,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"bounds":{"left":0.7912234,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"bounds":{"left":0.8630319,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"bounds":{"left":0.86835104,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/screenpipe_sync_helpers.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.051529255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LIB_DIR","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.78956115,"top":0.07102953,"width":0.00731383,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"bounds":{"left":0.80984044,"top":0.07102953,"width":0.00731383,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.020611702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"bounds":{"left":0.85738033,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"bounds":{"left":0.8630319,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$LIB_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/screenpipe_sync_helpers.sh\"","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.051529255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9830452,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"bounds":{"left":0.9850399,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.98836434,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"bounds":{"left":0.9900266,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"bounds":{"left":0.7912234,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"bounds":{"left":0.8630319,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"bounds":{"left":0.86835104,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/screenpipe_sync_helpers.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.051529255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LIB_DIR","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.78956115,"top":0.07102953,"width":0.00731383,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"bounds":{"left":0.80984044,"top":0.07102953,"width":0.00731383,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.020611702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"bounds":{"left":0.85738033,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"bounds":{"left":0.8630319,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$LIB_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/screenpipe_sync_helpers.sh\"","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.051529255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Fixed. The","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"issue was that the","depth":21,"bounds":{"left":0.7815825,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib modules were over","depth":21,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.039893616,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"writing the main script's","depth":21,"bounds":{"left":0.8550532,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":22,"bounds":{"left":0.8999335,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"variable. I renamed it","depth":21,"bounds":{"left":0.91954786,"top":0.07102953,"width":0.03856383,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to","depth":21,"bounds":{"left":0.9577792,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LIB_DIR","depth":22,"bounds":{"left":0.96476066,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in both","depth":21,"bounds":{"left":0.9787234,"top":0.07102953,"width":0.013630319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.045545213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"bounds":{"left":0.81416225,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.8218085,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.8228058,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.8284575,"top":0.07102953,"width":0.051861703,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to avoid conflicts.","depth":21,"bounds":{"left":0.8803192,"top":0.07102953,"width":0.032912236,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Try running","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the script again:","depth":21,"bounds":{"left":0.78357714,"top":0.07102953,"width":0.029920213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11","depth":23,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.100398935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.21210106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/.screenpipe/scripts/lib/screenpipe_sync_db.sh: line 13: /Users/lukas/.screenpipe/scripts/lib/screenpipe_sync_helpers.s","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.21941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── DB FUNCTIONS ─────────────────────────────────────────────────────────────","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.21974733,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db_init_tables() {","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.028922873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"run_sqlite_heredoc creating: No such file or directory","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.091755316,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.87333775,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 2s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The error shows the","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.035904255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source command is failing and the script is","depth":21,"bounds":{"left":0.79886967,"top":0.07102953,"width":0.077792555,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"trying to execute function definitions as commands. Check","depth":21,"bounds":{"left":0.8763298,"top":0.07102953,"width":0.10605053,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"if the helpers file was copied correctly to","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.2293883,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"your Mac:","depth":21,"bounds":{"left":0.82579786,"top":0.07102953,"width":0.018949468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cat","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.7726064,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/lib/screenpipe_sync_helpers.sh","depth":23,"bounds":{"left":0.77460104,"top":0.07102953,"width":0.1043883,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The error shows","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.028922873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.7922208,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.s","depth":22,"bounds":{"left":0.79421544,"top":0.07102953,"width":0.046210106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"(missing 'h'), which","depth":21,"bounds":{"left":0.84142286,"top":0.07102953,"width":0.035904255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"suggests a file corruption or incomplete copy. Verify","depth":21,"bounds":{"left":0.87699467,"top":0.07102953,"width":0.0944149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"all three lib files were","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.2287234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copied intact:","depth":21,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.025598405,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.7706117,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-la","depth":23,"bounds":{"left":0.7726064,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/lib/","depth":23,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.052526597,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"If the","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"helpers file is corrupted or empty","depth":21,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.06050532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", copy it again from the NAS.","depth":21,"bounds":{"left":0.8324468,"top":0.07102953,"width":0.051529255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ls -la ~/.screenpipe/scripts/lib/","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.17220744,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total 48","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxrwxrwx 5 lukas staff 160 13 May 10:24 .","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.07912234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.07712766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 11635 13 May 11:33 screenpipe_sync_db.sh","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.11801862,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 4890 13 May 11:34 screenpipe_sync_files.sh","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.120678194,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.1263298,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ cat ~/.screenpipe/scripts/lib/screenpipe_sync_helpers.sh","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.21675532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#!/bin/bash","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.018949468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# screenpipe_sync_helpers.sh","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.05119681,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Helper functions for screenpipe sync scripts","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.0774601,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Source this file in other scripts to use the helpers","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.08577128,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── CONFIG ───────────────────────────────────────────────────────────────────","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.22706117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# These can be overridden by the sourcing script","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.082446806,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_START=${SCRIPT_START:-$(date +%s)}","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.08211436,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"DB_SRC=\"${DB_SRC:-$HOME/.screenpipe/db.sqlite}\"","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.09075798,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"}]...
|
-3548799037211832471
|
2850646469586709731
|
visual_change
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 69, Col 1 (166 selected)
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
3m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s [URL_WITH_CREDENTIALS] ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 9468000
drwxr-xr-x 24 lukas staff 768 13 May 11:25 .
drwx------+ 96 lukas staff 3072 13 May 09:16 ..
-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data
-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite
-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm
-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log
-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log
-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts
-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll
total 48
drwxrwxrwx 5 lukas staff 160 13 May 10:24 .
drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..
-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh
-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh
-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $
Expand content to scroll
Thought
for 3s
The
error shows
lib/lib/
doubled in the path. The issue is that
the lib modules define their own
SCRIPT_DIR
variable, which overwrites
the one from the main script. When
screenpipe_sync_db.sh
or
screenpipe_sync_files.sh
sources
screenpipe_sync_helpers.sh
, they use their own directory (
already inside
lib
), causing the path to be doubled
.
Fix: Use
unique variable names in lib
modules to avoid conflicts:
screenpipe_sync_db.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$LIB_DIR
/screenpipe_sync_helpers.sh"
Thoughts
screenpipe_sync_files.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$LIB_DIR
/screenpipe_sync_helpers.sh"
Thoughts
Fixed. The
issue was that the
lib modules were over
writing the main script's
SCRIPT_DIR
variable. I renamed it
to
LIB_DIR
in both
screenpipe_sync_db.sh
and
screenpipe_sync_files.sh
to avoid conflicts.
Try running
the script again:
bash
~
/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
Feedback submitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/lib/screenpipe_sync_db.sh: line 13: /Users/lukas/.screenpipe/scripts/lib/screenpipe_sync_helpers.s
# ─── DB FUNCTIONS ─────────────────────────────────────────────────────────────
db_init_tables() {
run_sqlite_heredoc creating: No such file or directory
Expand content to scroll
Thought
for 2s
The error shows the
source command is failing and the script is
trying to execute function definitions as commands. Check
if the helpers file was copied correctly to
your Mac:
bash
cat
~/.screenpipe/scripts/lib/screenpipe_sync_helpers.sh
The error shows
screenpipe_sync_helpers.s
(missing 'h'), which
suggests a file corruption or incomplete copy. Verify
all three lib files were
copied intact:
bash
ls
-la
~/.screenpipe/scripts/lib/
If the
helpers file is corrupted or empty
, copy it again from the NAS.
Feedback submitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ls -la ~/.screenpipe/scripts/lib/
total 48
drwxrwxrwx 5 lukas staff 160 13 May 10:24 .
drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..
-rwxrwxrwx 1 lukas staff 11635 13 May 11:33 screenpipe_sync_db.sh
-rwxrwxrwx 1 lukas staff 4890 13 May 11:34 screenpipe_sync_files.sh
-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ cat ~/.screenpipe/scripts/lib/screenpipe_sync_helpers.sh
#!/bin/bash
# screenpipe_sync_helpers.sh
# Helper functions for screenpipe sync scripts
# Source this file in other scripts to use the helpers
# ─── CONFIG ───────────────────────────────────────────────────────────────────
# These can be overridden by the sourcing script
SCRIPT_START=${SCRIPT_START:-$(date +%s)}
DB_SRC="${DB_SRC:-$HOME/.screenpipe/db.sqlite}"...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32188
|
1242
|
35
|
2026-05-13T09:10:18.767889+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663418767_m1.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_files.sh — screenpipe [SSH: nas] — screenpipe_sync_files.sh — Untracked...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 69, Col 1 (166 selected)
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
3m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s [URL_WITH_CREDENTIALS] ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 9468000
drwxr-xr-x 24 lukas staff 768 13 May 11:25 .
drwx------+ 96 lukas staff 3072 13 May 09:16 ..
-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data
-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite
-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm
-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log
-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log
-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts
-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll
total 48
drwxrwxrwx 5 lukas staff 160 13 May 10:24 .
drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..
-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh
-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh
-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $
Expand content to scroll
Thought
for 3s
The
error shows
lib/lib/
doubled in the path. The issue is that
the lib modules define their own
SCRIPT_DIR
variable, which overwrites
the one from the main script. When
screenpipe_sync_db.sh
or
screenpipe_sync_files.sh
sources
screenpipe_sync_helpers.sh
, they use their own directory (
already inside
lib
), causing the path to be doubled
.
Fix: Use
unique variable names in lib
modules to avoid conflicts:
screenpipe_sync_db.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$LIB_DIR
/screenpipe_sync_helpers.sh"
Thoughts
screenpipe_sync_files.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$LIB_DIR
/screenpipe_sync_helpers.sh"
Thoughts
Fixed. The
issue was that the
lib modules were over
writing the main script's
SCRIPT_DIR
variable. I renamed it
to
LIB_DIR
in both
screenpipe_sync_db.sh
and
screenpipe_sync_files.sh
to avoid conflicts.
Try running
the script again:
bash
~
/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
Feedback submitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/lib/screenpipe_sync_db.sh: line 13: /Users/lukas/.screenpipe/scripts/lib/screenpipe_sync_helpers.s
# ─── DB FUNCTIONS ─────────────────────────────────────────────────────────────
db_init_tables() {
run_sqlite_heredoc creating: No such file or directory
Expand content to scroll
Thought
for 2s
The error shows the
source command is failing and the script is
trying to execute function definitions as commands. Check
if the helpers file was copied correctly to
your Mac:
bash
cat
~/.screenpipe/scripts/lib/screenpipe_sync_helpers.sh
The error shows
screenpipe_sync_helpers.s
(missing 'h'), which
suggests a file corruption or incomplete copy. Verify
all three lib files were
copied intact:
bash
ls
-la
~/.screenpipe/scripts/lib/
If the
helpers file is corrupted or empty
, copy it again from the NAS.
Feedback submitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ls -la ~/.screenpipe/scripts/lib/
total 48...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 69, Col 1 (166 selected)","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":1.0,"top":0.0,"width":-0.07361114,"height":0.02},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"3m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target_date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$1","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$target_date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Done. Audio","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"files will now be copied to","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/{date}/audio/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"instead of","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":". This keeps audio files organized by date alongside the frame","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"will that all work if I move","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"@","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and lib folder inside scripts folder?","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 2s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", it will work as long as you","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"keep the relative structure intact. The script uses:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This dynamically","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"finds the directory of","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the script being executed, so moving both","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"into a","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder will","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"work fine.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Structure that will work:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── lib/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_helpers.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Just","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy the entire","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder (with","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"inside it) to your Mac","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s http://localhost:3030/health | jq \"{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeline.capture_fps_actual, frames: .pipeline.frames_captured}\"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"{","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"status\": \"healthy\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frame_status\": \"ok\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_status\": \"ok\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"last_frame\": \"2026-05-13T11:28:00+03:00\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"uptime\": 7879.209718708,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"fps\": 0.27426608468981734,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frames\": 2161","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"} also what is degraded I received it as response a while ago {","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"status\": \"degraded\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frame_status\": \"ok\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_status\": \"stale\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"last_frame\": \"2026-05-13T11:27:35+03:00\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"uptime\": 7854.077230416,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"fps\": 0.27488907183634176,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frames\": 2159","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes, that command is still","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"correct. It queries the Screenpipe health endpoint","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"at","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"localhost:3030/health","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Status meanings:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"healthy\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- All systems OK","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"(frame_status","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\", audio","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"_status: \"ok\")","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"degraded\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- One or","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more subsystems have issues (your example","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"shows audio_status: \"st","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ale\")","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"What \"degraded\" with \"audio_status: stale\" means:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Frame","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"capture is working fine","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Audio capture is not working properly or","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"is outdated/delayed","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"could indicate the","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio device disconnected, permission","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"issues, or the audio pipeline stopped","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Other possible statuses:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"frame_status","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"| \"stale\" | \"error","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_status","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\" | \"stale","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" | \"error\"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The command","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"format is fine - it","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"extracts the key metrics","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"you need to","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"monitor Screenpipe's","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"health.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total 9468000","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 24 lukas staff 768 13 May 11:25 .","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwx------+ 96 lukas staff 3072 13 May 09:16 ..","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total 48","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxrwxrwx 5 lukas staff 160 13 May 10:24 .","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 3s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"error shows","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/lib/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"doubled in the path. The issue is that","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the lib modules define their own","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"variable, which overwrites","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the one from the main script. When","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"sources","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", they use their own directory (","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"already inside","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"), causing the path to be doubled","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Fix: Use","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"unique variable names in lib","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"modules to avoid conflicts:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/screenpipe_sync_helpers.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LIB_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$LIB_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/screenpipe_sync_helpers.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/screenpipe_sync_helpers.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LIB_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$LIB_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/screenpipe_sync_helpers.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Fixed. The","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"issue was that the","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib modules were over","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"writing the main script's","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"variable. I renamed it","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LIB_DIR","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in both","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to avoid conflicts.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Try running","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the script again:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/.screenpipe/scripts/lib/screenpipe_sync_db.sh: line 13: /Users/lukas/.screenpipe/scripts/lib/screenpipe_sync_helpers.s","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── DB FUNCTIONS ─────────────────────────────────────────────────────────────","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db_init_tables() {","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"run_sqlite_heredoc creating: No such file or directory","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 2s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The error shows the","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source command is failing and the script is","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"trying to execute function definitions as commands. Check","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"if the helpers file was copied correctly to","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"your Mac:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cat","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/lib/screenpipe_sync_helpers.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The error shows","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.s","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"(missing 'h'), which","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"suggests a file corruption or incomplete copy. Verify","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"all three lib files were","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copied intact:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ls","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-la","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/scripts/lib/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"If the","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"helpers file is corrupted or empty","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", copy it again from the NAS.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ls -la ~/.screenpipe/scripts/lib/","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total 48","depth":25,"on_screen":true,"role_description":"text"}]...
|
-7606082352471573538
|
2850365132048952559
|
visual_change
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 69, Col 1 (166 selected)
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
3m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s [URL_WITH_CREDENTIALS] ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 9468000
drwxr-xr-x 24 lukas staff 768 13 May 11:25 .
drwx------+ 96 lukas staff 3072 13 May 09:16 ..
-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data
-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite
-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm
-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log
-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log
-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts
-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll
total 48
drwxrwxrwx 5 lukas staff 160 13 May 10:24 .
drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..
-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh
-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh
-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $
Expand content to scroll
Thought
for 3s
The
error shows
lib/lib/
doubled in the path. The issue is that
the lib modules define their own
SCRIPT_DIR
variable, which overwrites
the one from the main script. When
screenpipe_sync_db.sh
or
screenpipe_sync_files.sh
sources
screenpipe_sync_helpers.sh
, they use their own directory (
already inside
lib
), causing the path to be doubled
.
Fix: Use
unique variable names in lib
modules to avoid conflicts:
screenpipe_sync_db.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$LIB_DIR
/screenpipe_sync_helpers.sh"
Thoughts
screenpipe_sync_files.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$LIB_DIR
/screenpipe_sync_helpers.sh"
Thoughts
Fixed. The
issue was that the
lib modules were over
writing the main script's
SCRIPT_DIR
variable. I renamed it
to
LIB_DIR
in both
screenpipe_sync_db.sh
and
screenpipe_sync_files.sh
to avoid conflicts.
Try running
the script again:
bash
~
/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
Feedback submitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/lib/screenpipe_sync_db.sh: line 13: /Users/lukas/.screenpipe/scripts/lib/screenpipe_sync_helpers.s
# ─── DB FUNCTIONS ─────────────────────────────────────────────────────────────
db_init_tables() {
run_sqlite_heredoc creating: No such file or directory
Expand content to scroll
Thought
for 2s
The error shows the
source command is failing and the script is
trying to execute function definitions as commands. Check
if the helpers file was copied correctly to
your Mac:
bash
cat
~/.screenpipe/scripts/lib/screenpipe_sync_helpers.sh
The error shows
screenpipe_sync_helpers.s
(missing 'h'), which
suggests a file corruption or incomplete copy. Verify
all three lib files were
copied intact:
bash
ls
-la
~/.screenpipe/scripts/lib/
If the
helpers file is corrupted or empty
, copy it again from the NAS.
Feedback submitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ls -la ~/.screenpipe/scripts/lib/
total 48...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32187
|
1243
|
38
|
2026-05-13T09:10:17.693795+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663417693_m2.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_files.sh — screenpipe [SSH: nas] — screenpipe_sync_files.sh — Untracked...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
selection0 0 0Explorerv screenpipe [SSH: nas)- #re selection0 0 0Explorerv screenpipe [SSH: nas)- #recycle• tr app- datalv Mlibscreenpipesynchelpers.sh-archive.dbipe_sync_old.stscreennine.descreenpipe_sync.sh M>screenpipe sync db.sh Ucopy doracoite ES" -e "SSRC FTLES" ); then(%s files, &s)\n" \"rsvnc Starget date → NAS"6-36s x %s / %s files\n""SCOPTED FTLES" "SSRC FILES" | tee -a "$LOG FILElocal nas loos="<NAS MOUNT/loas'mkdir -n "Snas loas'SHOME/• screenpipe/screenpipe.$target_date."*.log )-u nullalohif ( $(#LOG_FILESI@)sd file(s), %sln'"STOTAL STZE" | tee -a "SLOG FTLE"printf "%-36s &sin" "rsvnc loas → NAS" "skioned (no matchina loas)"copy_audio_files) {local nas audio="SNAS DATA/Staraet date/audio'• local audio_files=$(sqlite3 "$DB_SRC", "SELECT• file_path-• FROM- audio_chunks-WHERE date(timestamp) •= '$target_date' - AND• file"Saudio_files%-36s %sin" "rsvnc audio files ~ NAS""ckinned (no audio files for date)"return 0lmkdir en "tnac audid!file path; do]; therprinttrsync"$nas audio/" 2>>"$LOG FILE"1T S -eq 6 od l -t "Snas aud1o/sT1lename" J; thenlocal Size=s(du -n "snas audto/stilename cut -T.)"SSize" tee -a"SLOG FILE"count=s((count + 1).printf "x FAILED\n" | tee -a "$LOG FILE'done ece #daudio 4ilec!l-gt 0 ]; thencoral Size=sou -sh1 cut> screenpipe sync helpers.sh Ulib > >_ screenpipe_sync_db.shce this file to use the functions, or execute standalone with env vars setCe heced is(d rmane "S (BASH SOURCE () ) u 6 pиd)"SLIb DIK Screenpipe sync nelpers.sh"DB FUNCTIONS -t_tables) {salite heredoc"creating tables"ExISTS nas.video chunks AS SELECT * FROM main.video chunksWHERE O;TABLE IF NOT EXISTS nas.audio transcriptions AS SELECT * FROM main.audio transcriptions WHERE 0:ON trames(video chunk idON elements(frame id, source, role) WHERE text IS NOT NULL:ON ui events(timestamp):ON Video chunks device name):ON audio transcriotions(audio chunk id):ON audio transcriotions(timestamo:ExsTs nas. idx ocr text trame 10EXISTS nas.idx audio chunks timestamoExsTs nas. idx audio trans chunk1date_fts() {salste heredoc "creatin FTS tables" .' SNAS DBAS nas:TABLE IF NOT EXISTS nas.elements_fts USING ftss(xt. role. frame id UNTNDexED.VIRTUAL TABLE IF NOT EXISTS nas. frames fts USING fts5(11 text, aoo name, window name, browser url. id UNTNDEXEDVIRTUAL TABLE IF NOT EXISTS nas.ui events fts USING fts5(omaster 0040 Д4kellsupoont Dally • In Zn o0n100% S2wea 1s May 12-10-1/•П LкRefactor Sync Script+ .*•lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ salite3 ~/.screenpipe/db.salite "SELECT id, path. timestampFROM audio_chunks WHERE date(timestamp) = 2026-05-12" LIMIT 5;lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ sqlite3 ~/.screenpipe/db.sqlite "PRAGMA2HimealnpI MESTAMPIOIOlocat audio Aileses(solite? "SDR SRC™ "SELECT oath FROM sudio chunks WHERE dote(timestano) = istaroct date" AND oath IS NO»local audio tiles=s(sqlite3 "SDB SRC" "SELECT Tile path FROM audio chunks WHERE date(timestamp) = 'Starget date" AND file po w al "Ask anvthindWCascade O 01Screen Reader Optimized Ln 69, Col 1 (166 selected)Spaces: 2 UTF-8 LF Shell Script Teams Windsurf - Settings...
|
NULL
|
3378373422079014676
|
NULL
|
click
|
ocr
|
NULL
|
selection0 0 0Explorerv screenpipe [SSH: nas)- #re selection0 0 0Explorerv screenpipe [SSH: nas)- #recycle• tr app- datalv Mlibscreenpipesynchelpers.sh-archive.dbipe_sync_old.stscreennine.descreenpipe_sync.sh M>screenpipe sync db.sh Ucopy doracoite ES" -e "SSRC FTLES" ); then(%s files, &s)\n" \"rsvnc Starget date → NAS"6-36s x %s / %s files\n""SCOPTED FTLES" "SSRC FILES" | tee -a "$LOG FILElocal nas loos="<NAS MOUNT/loas'mkdir -n "Snas loas'SHOME/• screenpipe/screenpipe.$target_date."*.log )-u nullalohif ( $(#LOG_FILESI@)sd file(s), %sln'"STOTAL STZE" | tee -a "SLOG FTLE"printf "%-36s &sin" "rsvnc loas → NAS" "skioned (no matchina loas)"copy_audio_files) {local nas audio="SNAS DATA/Staraet date/audio'• local audio_files=$(sqlite3 "$DB_SRC", "SELECT• file_path-• FROM- audio_chunks-WHERE date(timestamp) •= '$target_date' - AND• file"Saudio_files%-36s %sin" "rsvnc audio files ~ NAS""ckinned (no audio files for date)"return 0lmkdir en "tnac audid!file path; do]; therprinttrsync"$nas audio/" 2>>"$LOG FILE"1T S -eq 6 od l -t "Snas aud1o/sT1lename" J; thenlocal Size=s(du -n "snas audto/stilename cut -T.)"SSize" tee -a"SLOG FILE"count=s((count + 1).printf "x FAILED\n" | tee -a "$LOG FILE'done ece #daudio 4ilec!l-gt 0 ]; thencoral Size=sou -sh1 cut> screenpipe sync helpers.sh Ulib > >_ screenpipe_sync_db.shce this file to use the functions, or execute standalone with env vars setCe heced is(d rmane "S (BASH SOURCE () ) u 6 pиd)"SLIb DIK Screenpipe sync nelpers.sh"DB FUNCTIONS -t_tables) {salite heredoc"creating tables"ExISTS nas.video chunks AS SELECT * FROM main.video chunksWHERE O;TABLE IF NOT EXISTS nas.audio transcriptions AS SELECT * FROM main.audio transcriptions WHERE 0:ON trames(video chunk idON elements(frame id, source, role) WHERE text IS NOT NULL:ON ui events(timestamp):ON Video chunks device name):ON audio transcriotions(audio chunk id):ON audio transcriotions(timestamo:ExsTs nas. idx ocr text trame 10EXISTS nas.idx audio chunks timestamoExsTs nas. idx audio trans chunk1date_fts() {salste heredoc "creatin FTS tables" .' SNAS DBAS nas:TABLE IF NOT EXISTS nas.elements_fts USING ftss(xt. role. frame id UNTNDexED.VIRTUAL TABLE IF NOT EXISTS nas. frames fts USING fts5(11 text, aoo name, window name, browser url. id UNTNDEXEDVIRTUAL TABLE IF NOT EXISTS nas.ui events fts USING fts5(omaster 0040 Д4kellsupoont Dally • In Zn o0n100% S2wea 1s May 12-10-1/•П LкRefactor Sync Script+ .*•lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ salite3 ~/.screenpipe/db.salite "SELECT id, path. timestampFROM audio_chunks WHERE date(timestamp) = 2026-05-12" LIMIT 5;lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ sqlite3 ~/.screenpipe/db.sqlite "PRAGMA2HimealnpI MESTAMPIOIOlocat audio Aileses(solite? "SDR SRC™ "SELECT oath FROM sudio chunks WHERE dote(timestano) = istaroct date" AND oath IS NO»local audio tiles=s(sqlite3 "SDB SRC" "SELECT Tile path FROM audio chunks WHERE date(timestamp) = 'Starget date" AND file po w al "Ask anvthindWCascade O 01Screen Reader Optimized Ln 69, Col 1 (166 selected)Spaces: 2 UTF-8 LF Shell Script Teams Windsurf - Settings...
|
32185
|
NULL
|
NULL
|
NULL
|
|
32186
|
1242
|
34
|
2026-05-13T09:10:17.696100+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663417696_m1.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_files.sh — screenpipe [SSH: nas] — screenpipe_sync_files.sh — Untracked...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelplalol§ Support Daily - in 2 h 50 m100% <*8• Wed 13 May 12:10:17••-zsh181DOCKERaudio_transcriptions (319 rows)DEV (-zsh)• 0m00sО 882APP (-zsh)*3-zsh84screenpipe"О 85[+02m40s] • Updating FTS indexeselements_ftsframes_ftsui_events_ftsaudio_transcriptions_fts/ 0m32s• 1m08s• Om00s• OmOOs[+04m20s] • Verifying DBframes:7274 / 7274elements:853406 / 853406ui_events:7044 / 7044ocr_text:2306 / 2306meetings:3/3audio_chunks:1113 / 1113 /audio_transcriptions: 319 / 319[+04m29s] • Copying data folder for 2026-05-12rsync 2026-05-12/ → NAS• 0m20s(220 files, 295M)[+04m49s] • Copying audio files for 2026-05-12rsync audio files NASN for 2026-05-13kipped (no audio files for date)skipped (no audio files for date)[+04m49s] • Copying screenpipe logs for 2026-05-12rsync logs → NAS• 1 file(s), 304K[2026-05-13 11:58:15][2026-05-13 11:58:15][2026-05-1311:58:15]Archive DB size:763MTotal time:4m49sSync complete for 2026-05-12[2026-05-1311:58:15]Lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ sqlite3 ~/.screenpipe/db.sqlite "SELECT id, path, timestamp FROM audio_chunks WHERE date(timestamp) = '2026-05-12' LIMIT 5;"Error: in prepare, no such column: pathSELECT id, path,timestamp FROM audio_chunks WHERE date(timestamp) = '2026-05-Л---error herelukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ sqlite3 ~/.screenpipe/db.sqlite "PRAGMA table_info(audio_chunks);"OlidlINTEGERI0I111lfile_path|TEXT|1|102Itimestamp|TIMESTAMP|0|1031sync_id|TEXT101104|machine_id|TEXTl01105|synced_at | DATETIME I01106levicted_at |TIMESTAMP|0|NULL10lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ nano screenpipe_sync_files.shlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $...
|
NULL
|
-1543826548076504022
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelplalol§ Support Daily - in 2 h 50 m100% <*8• Wed 13 May 12:10:17••-zsh181DOCKERaudio_transcriptions (319 rows)DEV (-zsh)• 0m00sО 882APP (-zsh)*3-zsh84screenpipe"О 85[+02m40s] • Updating FTS indexeselements_ftsframes_ftsui_events_ftsaudio_transcriptions_fts/ 0m32s• 1m08s• Om00s• OmOOs[+04m20s] • Verifying DBframes:7274 / 7274elements:853406 / 853406ui_events:7044 / 7044ocr_text:2306 / 2306meetings:3/3audio_chunks:1113 / 1113 /audio_transcriptions: 319 / 319[+04m29s] • Copying data folder for 2026-05-12rsync 2026-05-12/ → NAS• 0m20s(220 files, 295M)[+04m49s] • Copying audio files for 2026-05-12rsync audio files NASN for 2026-05-13kipped (no audio files for date)skipped (no audio files for date)[+04m49s] • Copying screenpipe logs for 2026-05-12rsync logs → NAS• 1 file(s), 304K[2026-05-13 11:58:15][2026-05-13 11:58:15][2026-05-1311:58:15]Archive DB size:763MTotal time:4m49sSync complete for 2026-05-12[2026-05-1311:58:15]Lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ sqlite3 ~/.screenpipe/db.sqlite "SELECT id, path, timestamp FROM audio_chunks WHERE date(timestamp) = '2026-05-12' LIMIT 5;"Error: in prepare, no such column: pathSELECT id, path,timestamp FROM audio_chunks WHERE date(timestamp) = '2026-05-Л---error herelukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ sqlite3 ~/.screenpipe/db.sqlite "PRAGMA table_info(audio_chunks);"OlidlINTEGERI0I111lfile_path|TEXT|1|102Itimestamp|TIMESTAMP|0|1031sync_id|TEXT101104|machine_id|TEXTl01105|synced_at | DATETIME I01106levicted_at |TIMESTAMP|0|NULL10lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ nano screenpipe_sync_files.shlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $...
|
32184
|
NULL
|
NULL
|
NULL
|
|
32181
|
1243
|
35
|
2026-05-13T09:09:33.960119+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663373960_m2.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_files.sh — screenpipe [SSH: nas] — screenpipe_sync_files.sh — Untracked...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 69, Col 156 (11 selected)
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
2m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"bounds":{"left":0.0,"top":0.047885075,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.05586592,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"bounds":{"left":0.0,"top":0.07581804,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.083798885,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"bounds":{"left":0.0,"top":0.103751,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.11173184,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"bounds":{"left":0.004986702,"top":0.11811652,"width":0.003656915,"height":0.007980846},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.005319149,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}},{"char_start":1,"char_count":1,"bounds":{"left":0.006981383,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}}],"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"bounds":{"left":0.0,"top":0.13168396,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.1396648,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"bounds":{"left":0.0,"top":0.15961692,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"bounds":{"left":0.0,"top":0.18754987,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.19553073,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"bounds":{"left":0.0,"top":0.21548285,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.22346368,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"bounds":{"left":0.0,"top":0.2434158,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.25139666,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"bounds":{"left":0.01462766,"top":0.047885075,"width":0.013630319,"height":0.023144454},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"bounds":{"left":0.01462766,"top":0.054269753,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.014960106,"top":0.055067837,"width":0.0019946808,"height":0.008778931}},{"char_start":1,"char_count":7,"bounds":{"left":0.016954787,"top":0.055067837,"width":0.011303191,"height":0.008778931}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.011635638,"top":0.07102953,"width":0.0831117,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.0726257,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.016954787,"top":0.07102953,"width":0.035904255,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"bounds":{"left":0.016954787,"top":0.07342378,"width":0.035904255,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.07342378,"width":0.0019946808,"height":0.009577015}},{"char_start":1,"char_count":20,"bounds":{"left":0.018949468,"top":0.07342378,"width":0.034242023,"height":0.009577015}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.08699122,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.08699122,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.025930852,"top":0.08699122,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.087789305,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.02825798,"top":0.087789305,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.10215483,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.10215483,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0063164895,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":2,"bounds":{"left":0.027925532,"top":0.10215483,"width":0.004654255,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.10215483,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.11652035,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.11652035,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.025930852,"top":0.11652035,"width":0.0076462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.11731844,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":3,"bounds":{"left":0.02825798,"top":0.11731844,"width":0.005319149,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.01462766,"top":0.13088587,"width":0.0043218085,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"bounds":{"left":0.025930852,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.13168396,"width":0.0009973404,"height":0.0103751}},{"char_start":1,"char_count":2,"bounds":{"left":0.026928192,"top":0.13168396,"width":0.0033244682,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.13168396,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.14604948,"width":0.003656915,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"bounds":{"left":0.027925532,"top":0.14604948,"width":0.039893616,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.14604948,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":20,"bounds":{"left":0.029920213,"top":0.14604948,"width":0.037898935,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.14604948,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.16041501,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"bounds":{"left":0.027925532,"top":0.16041501,"width":0.04255319,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.16121309,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":23,"bounds":{"left":0.029920213,"top":0.16121309,"width":0.04089096,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.16121309,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.17478053,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"bounds":{"left":0.027925532,"top":0.17478053,"width":0.048204787,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.17557861,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.029920213,"top":0.17557861,"width":0.046210106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.17557861,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.18994413,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.18994413,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.006981383,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.0009973404,"height":0.011173184}},{"char_start":1,"char_count":3,"bounds":{"left":0.026928192,"top":0.18994413,"width":0.0063164895,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.18994413,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.20430966,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.20430966,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.025930852,"top":0.20430966,"width":0.00930851,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.20510775,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":4,"bounds":{"left":0.02825798,"top":0.20510775,"width":0.006981383,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.21867518,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.025930852,"top":0.21867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.21947326,"width":0.0013297872,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.026928192,"top":0.21947326,"width":0.014960106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.23383878,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.029920213,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":16,"bounds":{"left":0.027925532,"top":0.23383878,"width":0.027925532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.2482043,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"bounds":{"left":0.025930852,"top":0.2482043,"width":0.01761968,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.2490024,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.027925532,"top":0.2490024,"width":0.015625,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.26256984,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.025930852,"top":0.26256984,"width":0.025265958,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.26336792,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":13,"bounds":{"left":0.027925532,"top":0.26336792,"width":0.023603724,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.26336792,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.27773345,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.046210106,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":27,"bounds":{"left":0.027925532,"top":0.27773345,"width":0.04454787,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.27773345,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.29209897,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.025930852,"top":0.29209897,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.29289705,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":8,"bounds":{"left":0.02825798,"top":0.29289705,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3064645,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.025930852,"top":0.3064645,"width":0.023271276,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.30726257,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.30726257,"width":0.021276595,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3216281,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.021941489,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.3216281,"width":0.019614361,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.33599362,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"bounds":{"left":0.025930852,"top":0.33599362,"width":0.04488032,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3367917,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":24,"bounds":{"left":0.027925532,"top":0.3367917,"width":0.04288564,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.3367917,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.35035914,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"bounds":{"left":0.025930852,"top":0.35035914,"width":0.042220745,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.35115722,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":22,"bounds":{"left":0.027925532,"top":0.35115722,"width":0.04055851,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.35115722,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.36552274,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.04055851,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":21,"bounds":{"left":0.027925532,"top":0.36552274,"width":0.03856383,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.36552274,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.37988827,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.025930852,"top":0.37988827,"width":0.04920213,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.38068634,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.027925532,"top":0.38068634,"width":0.047539894,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.38068634,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3942538,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.025930852,"top":0.3942538,"width":0.03357713,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.39505187,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":17,"bounds":{"left":0.027925532,"top":0.39505187,"width":0.03158245,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.087101065,"top":0.39505187,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.4094174,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.023936171,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.027925532,"top":0.4094174,"width":0.022273935,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.011635638,"top":0.95530725,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.95690346,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"bounds":{"left":0.016954787,"top":0.95530725,"width":0.011635638,"height":0.015163607},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"bounds":{"left":0.016954787,"top":0.9577015,"width":0.011635638,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9584996,"width":0.0026595744,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.019946808,"top":0.9584996,"width":0.008976064,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.011635638,"top":0.9696728,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.97206706,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"bounds":{"left":0.016954787,"top":0.97047085,"width":0.013630319,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"bounds":{"left":0.016954787,"top":0.9728651,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9728651,"width":0.0023271276,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.019281914,"top":0.9728651,"width":0.011635638,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0016622341,"top":0.9848364,"width":0.024268618,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.0039893617,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.00831117,"top":0.98723066,"width":0.015292553,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.008643617,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.009640957,"top":0.98723066,"width":0.012300532,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.027260639,"top":0.9848364,"width":0.019281914,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.027925532,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"bounds":{"left":0.032247342,"top":0.98723066,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.032579787,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.03357713,"top":0.98723066,"width":0.010970744,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.04654255,"top":0.9848364,"width":0.0063164895,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.054853722,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.05618351,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.06050532,"top":0.98723066,"width":0.0043218085,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.064494684,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.069148935,"top":0.98723066,"width":0.0029920214,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"bounds":{"left":0.07513298,"top":0.9848364,"width":0.010305851,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.07646277,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"bounds":{"left":0.080784574,"top":0.98723066,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.99102396,"top":0.9848364,"width":0.008976042,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"bounds":{"left":0.9567819,"top":0.9848364,"width":0.03357713,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"bounds":{"left":0.9421542,"top":0.9848364,"width":0.012965426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"bounds":{"left":0.91988033,"top":0.9848364,"width":0.020611702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"bounds":{"left":0.9115692,"top":0.9848364,"width":0.0066489363,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"bounds":{"left":0.8969415,"top":0.9848364,"width":0.013297873,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"bounds":{"left":0.87699467,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 69, Col 156 (11 selected)","depth":16,"bounds":{"left":0.8274601,"top":0.9848364,"width":0.048204787,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":0.78224736,"top":0.9848364,"width":0.04454787,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"bounds":{"left":0.76163566,"top":0.05347167,"width":0.034574468,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.76163566,"top":0.054269753,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":19,"bounds":{"left":0.76396275,"top":0.054269753,"width":0.032247342,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23238032,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9840425,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.9886968,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"bounds":{"left":0.99035907,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target_date","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$1","depth":24,"bounds":{"left":0.80418885,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$target_date","depth":24,"bounds":{"left":0.8188165,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76828456,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Done. Audio","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"files will now be copied to","depth":21,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.04720745,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.83211434,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/{date}/audio/","depth":22,"bounds":{"left":0.83410907,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"instead of","depth":21,"bounds":{"left":0.87765956,"top":0.07102953,"width":0.018949468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.8962766,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":22,"bounds":{"left":0.89860374,"top":0.07102953,"width":0.02925532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":". This keeps audio files organized by date alongside the frame","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23071809,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data.","depth":21,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.010305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"will that all work if I move","depth":25,"bounds":{"left":0.8543883,"top":0.07102953,"width":0.04288564,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"@","depth":27,"bounds":{"left":0.89793885,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.9012633,"top":0.07102953,"width":0.031914894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and lib folder inside scripts folder?","depth":25,"bounds":{"left":0.9338431,"top":0.07102953,"width":0.059175532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.9175532,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 2s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", it will work as long as you","depth":21,"bounds":{"left":0.76961434,"top":0.07102953,"width":0.047539894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"keep the relative structure intact. The script uses:","depth":21,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.09009308,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.7869016,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"bounds":{"left":0.78889626,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":23,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"}]...
|
1674438161584531190
|
-5206428435707623228
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 69, Col 156 (11 selected)
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
2m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32180
|
1242
|
31
|
2026-05-13T09:09:33.957818+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663373957_m1.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_files.sh — screenpipe [SSH: nas] — screenpipe_sync_files.sh — Untracked...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 69, Col 159 (8 selected)
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
2m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s [URL_WITH_CREDENTIALS] ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 9468000
drwxr-xr-x 24 lukas staff 768 13 May 11:25 ....
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 69, Col 159 (8 selected)","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":1.0,"top":0.0,"width":-0.07361114,"height":0.02},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target_date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$1","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$target_date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Done. Audio","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"files will now be copied to","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/{date}/audio/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"instead of","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":". This keeps audio files organized by date alongside the frame","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"will that all work if I move","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"@","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and lib folder inside scripts folder?","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 2s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", it will work as long as you","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"keep the relative structure intact. The script uses:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This dynamically","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"finds the directory of","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the script being executed, so moving both","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"into a","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder will","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"work fine.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Structure that will work:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── lib/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_helpers.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Just","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy the entire","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder (with","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"inside it) to your Mac","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s http://localhost:3030/health | jq \"{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeline.capture_fps_actual, frames: .pipeline.frames_captured}\"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"{","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"status\": \"healthy\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frame_status\": \"ok\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_status\": \"ok\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"last_frame\": \"2026-05-13T11:28:00+03:00\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"uptime\": 7879.209718708,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"fps\": 0.27426608468981734,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frames\": 2161","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"} also what is degraded I received it as response a while ago {","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"status\": \"degraded\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frame_status\": \"ok\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_status\": \"stale\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"last_frame\": \"2026-05-13T11:27:35+03:00\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"uptime\": 7854.077230416,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"fps\": 0.27488907183634176,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frames\": 2159","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes, that command is still","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"correct. It queries the Screenpipe health endpoint","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"at","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"localhost:3030/health","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Status meanings:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"healthy\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- All systems OK","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"(frame_status","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\", audio","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"_status: \"ok\")","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"degraded\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- One or","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more subsystems have issues (your example","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"shows audio_status: \"st","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ale\")","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"What \"degraded\" with \"audio_status: stale\" means:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Frame","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"capture is working fine","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Audio capture is not working properly or","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"is outdated/delayed","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"could indicate the","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio device disconnected, permission","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"issues, or the audio pipeline stopped","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Other possible statuses:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"frame_status","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"| \"stale\" | \"error","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_status","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\" | \"stale","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" | \"error\"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The command","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"format is fine - it","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"extracts the key metrics","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"you need to","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"monitor Screenpipe's","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"health.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total 9468000","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 24 lukas staff 768 13 May 11:25 .","depth":25,"on_screen":true,"role_description":"text"}]...
|
-2700232911352648545
|
-5210719829846668084
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 69, Col 159 (8 selected)
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
2m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s [URL_WITH_CREDENTIALS] ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 9468000
drwxr-xr-x 24 lukas staff 768 13 May 11:25 ....
|
32178
|
NULL
|
NULL
|
NULL
|
|
32179
|
1243
|
34
|
2026-05-13T09:09:32.413553+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663372413_m2.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_files.sh — screenpipe [SSH: nas] — screenpipe_sync_files.sh — Untracked...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 7, Col 1 (100 selected)
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
2m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s http://localhost:3030/health | jq "{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeline.capture_fps_actual, frames: .pipeline.frames_captured}"
{
"status": "healthy",
"frame_status": "ok",
"audio_status": "ok",
"last_frame": "2026-05-13T11:28:00+03:00",...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"bounds":{"left":0.0,"top":0.047885075,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.05586592,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"bounds":{"left":0.0,"top":0.07581804,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.083798885,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"bounds":{"left":0.0,"top":0.103751,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.11173184,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"bounds":{"left":0.004986702,"top":0.11811652,"width":0.003656915,"height":0.007980846},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.005319149,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}},{"char_start":1,"char_count":1,"bounds":{"left":0.006981383,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}}],"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"bounds":{"left":0.0,"top":0.13168396,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.1396648,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"bounds":{"left":0.0,"top":0.15961692,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"bounds":{"left":0.0,"top":0.18754987,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.19553073,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"bounds":{"left":0.0,"top":0.21548285,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.22346368,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"bounds":{"left":0.0,"top":0.2434158,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.25139666,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"bounds":{"left":0.01462766,"top":0.047885075,"width":0.013630319,"height":0.023144454},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"bounds":{"left":0.01462766,"top":0.054269753,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.014960106,"top":0.055067837,"width":0.0019946808,"height":0.008778931}},{"char_start":1,"char_count":7,"bounds":{"left":0.016954787,"top":0.055067837,"width":0.011303191,"height":0.008778931}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.011635638,"top":0.07102953,"width":0.0831117,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.0726257,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.016954787,"top":0.07102953,"width":0.035904255,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"bounds":{"left":0.016954787,"top":0.07342378,"width":0.035904255,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.07342378,"width":0.0019946808,"height":0.009577015}},{"char_start":1,"char_count":20,"bounds":{"left":0.018949468,"top":0.07342378,"width":0.034242023,"height":0.009577015}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.08699122,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.08699122,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.025930852,"top":0.08699122,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.087789305,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.02825798,"top":0.087789305,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.10215483,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.10215483,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0063164895,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":2,"bounds":{"left":0.027925532,"top":0.10215483,"width":0.004654255,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.10215483,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.11652035,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.11652035,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.025930852,"top":0.11652035,"width":0.0076462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.11731844,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":3,"bounds":{"left":0.02825798,"top":0.11731844,"width":0.005319149,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.01462766,"top":0.13088587,"width":0.0043218085,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"bounds":{"left":0.025930852,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.13168396,"width":0.0009973404,"height":0.0103751}},{"char_start":1,"char_count":2,"bounds":{"left":0.026928192,"top":0.13168396,"width":0.0033244682,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.13168396,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.14604948,"width":0.003656915,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"bounds":{"left":0.027925532,"top":0.14604948,"width":0.039893616,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.14604948,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":20,"bounds":{"left":0.029920213,"top":0.14604948,"width":0.037898935,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.14604948,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.16041501,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"bounds":{"left":0.027925532,"top":0.16041501,"width":0.04255319,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.16121309,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":23,"bounds":{"left":0.029920213,"top":0.16121309,"width":0.04089096,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.16121309,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.17478053,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"bounds":{"left":0.027925532,"top":0.17478053,"width":0.048204787,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.17557861,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.029920213,"top":0.17557861,"width":0.046210106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.17557861,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.18994413,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.18994413,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.006981383,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.0009973404,"height":0.011173184}},{"char_start":1,"char_count":3,"bounds":{"left":0.026928192,"top":0.18994413,"width":0.0063164895,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.18994413,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.20430966,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.20430966,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.025930852,"top":0.20430966,"width":0.00930851,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.20510775,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":4,"bounds":{"left":0.02825798,"top":0.20510775,"width":0.006981383,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.21867518,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.025930852,"top":0.21867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.21947326,"width":0.0013297872,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.026928192,"top":0.21947326,"width":0.014960106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.23383878,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.029920213,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":16,"bounds":{"left":0.027925532,"top":0.23383878,"width":0.027925532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.2482043,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"bounds":{"left":0.025930852,"top":0.2482043,"width":0.01761968,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.2490024,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.027925532,"top":0.2490024,"width":0.015625,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.26256984,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.025930852,"top":0.26256984,"width":0.025265958,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.26336792,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":13,"bounds":{"left":0.027925532,"top":0.26336792,"width":0.023603724,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.26336792,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.27773345,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.046210106,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":27,"bounds":{"left":0.027925532,"top":0.27773345,"width":0.04454787,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.27773345,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.29209897,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.025930852,"top":0.29209897,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.29289705,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":8,"bounds":{"left":0.02825798,"top":0.29289705,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3064645,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.025930852,"top":0.3064645,"width":0.023271276,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.30726257,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.30726257,"width":0.021276595,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3216281,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.021941489,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.3216281,"width":0.019614361,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.33599362,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"bounds":{"left":0.025930852,"top":0.33599362,"width":0.04488032,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3367917,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":24,"bounds":{"left":0.027925532,"top":0.3367917,"width":0.04288564,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.3367917,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.35035914,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"bounds":{"left":0.025930852,"top":0.35035914,"width":0.042220745,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.35115722,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":22,"bounds":{"left":0.027925532,"top":0.35115722,"width":0.04055851,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.35115722,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.36552274,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.04055851,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":21,"bounds":{"left":0.027925532,"top":0.36552274,"width":0.03856383,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.36552274,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.37988827,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.025930852,"top":0.37988827,"width":0.04920213,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.38068634,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.027925532,"top":0.38068634,"width":0.047539894,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.38068634,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3942538,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.025930852,"top":0.3942538,"width":0.03357713,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.39505187,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":17,"bounds":{"left":0.027925532,"top":0.39505187,"width":0.03158245,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.087101065,"top":0.39505187,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.4094174,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.023936171,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.027925532,"top":0.4094174,"width":0.022273935,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.011635638,"top":0.95530725,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.95690346,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"bounds":{"left":0.016954787,"top":0.95530725,"width":0.011635638,"height":0.015163607},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"bounds":{"left":0.016954787,"top":0.9577015,"width":0.011635638,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9584996,"width":0.0026595744,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.019946808,"top":0.9584996,"width":0.008976064,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.011635638,"top":0.9696728,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.97206706,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"bounds":{"left":0.016954787,"top":0.97047085,"width":0.013630319,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"bounds":{"left":0.016954787,"top":0.9728651,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9728651,"width":0.0023271276,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.019281914,"top":0.9728651,"width":0.011635638,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0016622341,"top":0.9848364,"width":0.024268618,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.0039893617,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.00831117,"top":0.98723066,"width":0.015292553,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.008643617,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.009640957,"top":0.98723066,"width":0.012300532,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.027260639,"top":0.9848364,"width":0.019281914,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.027925532,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"bounds":{"left":0.032247342,"top":0.98723066,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.032579787,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.03357713,"top":0.98723066,"width":0.010970744,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.04654255,"top":0.9848364,"width":0.0063164895,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.054853722,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.05618351,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.06050532,"top":0.98723066,"width":0.0043218085,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.064494684,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.069148935,"top":0.98723066,"width":0.0029920214,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"bounds":{"left":0.07513298,"top":0.9848364,"width":0.010305851,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.07646277,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"bounds":{"left":0.080784574,"top":0.98723066,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.99102396,"top":0.9848364,"width":0.008976042,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"bounds":{"left":0.9567819,"top":0.9848364,"width":0.03357713,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"bounds":{"left":0.9421542,"top":0.9848364,"width":0.012965426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"bounds":{"left":0.91988033,"top":0.9848364,"width":0.020611702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"bounds":{"left":0.9115692,"top":0.9848364,"width":0.0066489363,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"bounds":{"left":0.8969415,"top":0.9848364,"width":0.013297873,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"bounds":{"left":0.87699467,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 7, Col 1 (100 selected)","depth":16,"bounds":{"left":0.83144945,"top":0.9848364,"width":0.044215426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":0.7865692,"top":0.9848364,"width":0.044215426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"bounds":{"left":0.76163566,"top":0.05347167,"width":0.034574468,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.76163566,"top":0.054269753,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":19,"bounds":{"left":0.76396275,"top":0.054269753,"width":0.032247342,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23238032,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9840425,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.9886968,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"bounds":{"left":0.99035907,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target_date","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$1","depth":24,"bounds":{"left":0.80418885,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$target_date","depth":24,"bounds":{"left":0.8188165,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76828456,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Done. Audio","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"files will now be copied to","depth":21,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.04720745,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.83211434,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/{date}/audio/","depth":22,"bounds":{"left":0.83410907,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"instead of","depth":21,"bounds":{"left":0.87765956,"top":0.07102953,"width":0.018949468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.8962766,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":22,"bounds":{"left":0.89860374,"top":0.07102953,"width":0.02925532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":". This keeps audio files organized by date alongside the frame","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23071809,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data.","depth":21,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.010305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"will that all work if I move","depth":25,"bounds":{"left":0.8543883,"top":0.07102953,"width":0.04288564,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"@","depth":27,"bounds":{"left":0.89793885,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.9012633,"top":0.07102953,"width":0.031914894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and lib folder inside scripts folder?","depth":25,"bounds":{"left":0.9338431,"top":0.07102953,"width":0.059175532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.9175532,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 2s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", it will work as long as you","depth":21,"bounds":{"left":0.76961434,"top":0.07102953,"width":0.047539894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"keep the relative structure intact. The script uses:","depth":21,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.09009308,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.7869016,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"bounds":{"left":0.78889626,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":23,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"bounds":{"left":0.79886967,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":23,"bounds":{"left":0.8068484,"top":0.07102953,"width":0.013962766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":23,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":23,"bounds":{"left":0.8287899,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":23,"bounds":{"left":0.8507314,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":23,"bounds":{"left":0.87267286,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":23,"bounds":{"left":0.87898934,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":23,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":23,"bounds":{"left":0.78291225,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":23,"bounds":{"left":0.80485374,"top":0.07102953,"width":0.06416223,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This dynamically","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.029920213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"finds the directory of","depth":21,"bounds":{"left":0.79288566,"top":0.07102953,"width":0.038896278,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the script being executed, so moving both","depth":21,"bounds":{"left":0.83144945,"top":0.07102953,"width":0.07646277,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.9075798,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.90890956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.91422874,"top":0.07102953,"width":0.039228722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"bounds":{"left":0.953125,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.9617686,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"bounds":{"left":0.9674202,"top":0.07102953,"width":0.0066489363,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"into a","depth":21,"bounds":{"left":0.9740692,"top":0.07102953,"width":0.011968086,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23138298,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder will","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"work fine.","depth":21,"bounds":{"left":0.7898936,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Structure that will work:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.045212764,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.016289894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── lib/","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.016289894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_helpers.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.068484046,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.05817819,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.06416223,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Just","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy the entire","depth":21,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.027925532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"bounds":{"left":0.80086434,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder (with","depth":21,"bounds":{"left":0.81648934,"top":0.07102953,"width":0.021609042,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.8380984,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.8390958,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.84474736,"top":0.07102953,"width":0.038896278,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"bounds":{"left":0.8836436,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.89228725,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"bounds":{"left":0.89793885,"top":0.07102953,"width":0.0066489363,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"inside it) to your Mac","depth":21,"bounds":{"left":0.90425533,"top":0.07102953,"width":0.038896278,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"bounds":{"left":0.9428192,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s http://localhost:3030/health | jq \"{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeline.capture_fps_actual, frames: .pipeline.frames_captured}\"","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.19913563,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"{","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"status\": \"healthy\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.034242023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frame_status\": \"ok\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.03756649,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_status\": \"ok\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.03723404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"last_frame\": \"2026-05-13T11:28:00+03:00\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.0787899,"height":0.0007980846},"on_screen":true,"role_description":"text"}]...
|
7183847204102760607
|
-5278274922703796020
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 7, Col 1 (100 selected)
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
2m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s http://localhost:3030/health | jq "{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeline.capture_fps_actual, frames: .pipeline.frames_captured}"
{
"status": "healthy",
"frame_status": "ok",
"audio_status": "ok",
"last_frame": "2026-05-13T11:28:00+03:00",...
|
32177
|
NULL
|
NULL
|
NULL
|
|
32178
|
1242
|
30
|
2026-05-13T09:09:32.414706+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663372414_m1.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_files.sh — screenpipe [SSH: nas] — screenpipe_sync_files.sh — Untracked...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 7, Col 1 (100 selected)
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
2m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s [URL_WITH_CREDENTIALS] ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 9468000
drwxr-xr-x 24 lukas staff 768 13 May 11:25 .
drwx------+ 96 lukas staff 3072 13 May 09:16 ..
-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data
-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite
-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm
-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log
-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log
-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts
-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll
total 48...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 7, Col 1 (100 selected)","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":1.0,"top":0.0,"width":-0.07847226,"height":0.02},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target_date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$1","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$target_date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Done. Audio","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"files will now be copied to","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/{date}/audio/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"instead of","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":". This keeps audio files organized by date alongside the frame","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"will that all work if I move","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"@","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and lib folder inside scripts folder?","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 2s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", it will work as long as you","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"keep the relative structure intact. The script uses:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This dynamically","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"finds the directory of","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the script being executed, so moving both","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"into a","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder will","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"work fine.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Structure that will work:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── lib/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_helpers.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Just","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy the entire","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder (with","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"inside it) to your Mac","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s http://localhost:3030/health | jq \"{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeline.capture_fps_actual, frames: .pipeline.frames_captured}\"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"{","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"status\": \"healthy\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frame_status\": \"ok\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_status\": \"ok\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"last_frame\": \"2026-05-13T11:28:00+03:00\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"uptime\": 7879.209718708,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"fps\": 0.27426608468981734,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frames\": 2161","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"} also what is degraded I received it as response a while ago {","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"status\": \"degraded\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frame_status\": \"ok\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_status\": \"stale\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"last_frame\": \"2026-05-13T11:27:35+03:00\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"uptime\": 7854.077230416,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"fps\": 0.27488907183634176,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frames\": 2159","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes, that command is still","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"correct. It queries the Screenpipe health endpoint","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"at","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"localhost:3030/health","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Status meanings:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"healthy\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- All systems OK","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"(frame_status","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\", audio","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"_status: \"ok\")","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"degraded\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- One or","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more subsystems have issues (your example","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"shows audio_status: \"st","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ale\")","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"What \"degraded\" with \"audio_status: stale\" means:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Frame","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"capture is working fine","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Audio capture is not working properly or","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"is outdated/delayed","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"could indicate the","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio device disconnected, permission","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"issues, or the audio pipeline stopped","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Other possible statuses:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"frame_status","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"| \"stale\" | \"error","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_status","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\" | \"stale","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" | \"error\"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The command","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"format is fine - it","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"extracts the key metrics","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"you need to","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"monitor Screenpipe's","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"health.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total 9468000","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 24 lukas staff 768 13 May 11:25 .","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwx------+ 96 lukas staff 3072 13 May 09:16 ..","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total 48","depth":25,"on_screen":true,"role_description":"text"}]...
|
3384482113439092806
|
2859662542243884229
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 7, Col 1 (100 selected)
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
2m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s [URL_WITH_CREDENTIALS] ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 9468000
drwxr-xr-x 24 lukas staff 768 13 May 11:25 .
drwx------+ 96 lukas staff 3072 13 May 09:16 ..
-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data
-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite
-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm
-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log
-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log
-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts
-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll
total 48...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32177
|
1243
|
33
|
2026-05-13T09:09:16.979652+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663356979_m2.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_files.sh — screenpipe [SSH: nas] — screenpipe_sync_files.sh — Untracked...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 7, Col 1 (100 selected)
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
2m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s [URL_WITH_CREDENTIALS] ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 9468000
drwxr-xr-x 24 lukas staff 768 13 May 11:25 .
drwx------+ 96 lukas staff 3072 13 May 09:16 ..
-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data
-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite
-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm
-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log
-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log
-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts
-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll
total 48
drwxrwxrwx 5 lukas staff 160 13 May 10:24 .
drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..
-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh
-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh
-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $
Expand content to scroll
Thought
for 3s
The
error shows
lib/lib/
doubled in the path. The issue is that
the lib modules define their own
SCRIPT_DIR
variable, which overwrites
the one from the main script. When
screenpipe_sync_db.sh
or
screenpipe_sync_files.sh
sources
screenpipe_sync_helpers.sh
, they use their own directory (
already inside
lib
), causing the path to be doubled
.
Fix: Use
unique variable names in lib
modules to avoid conflicts:
screenpipe_sync_db.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$LIB_DIR...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"bounds":{"left":0.0,"top":0.047885075,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.05586592,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"bounds":{"left":0.0,"top":0.07581804,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.083798885,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"bounds":{"left":0.0,"top":0.103751,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.11173184,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"bounds":{"left":0.004986702,"top":0.11811652,"width":0.003656915,"height":0.007980846},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.005319149,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}},{"char_start":1,"char_count":1,"bounds":{"left":0.006981383,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}}],"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"bounds":{"left":0.0,"top":0.13168396,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.1396648,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"bounds":{"left":0.0,"top":0.15961692,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"bounds":{"left":0.0,"top":0.18754987,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.19553073,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"bounds":{"left":0.0,"top":0.21548285,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.22346368,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"bounds":{"left":0.0,"top":0.2434158,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.25139666,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"bounds":{"left":0.01462766,"top":0.047885075,"width":0.013630319,"height":0.023144454},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"bounds":{"left":0.01462766,"top":0.054269753,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.014960106,"top":0.055067837,"width":0.0019946808,"height":0.008778931}},{"char_start":1,"char_count":7,"bounds":{"left":0.016954787,"top":0.055067837,"width":0.011303191,"height":0.008778931}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.011635638,"top":0.07102953,"width":0.0831117,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.0726257,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.016954787,"top":0.07102953,"width":0.035904255,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"bounds":{"left":0.016954787,"top":0.07342378,"width":0.035904255,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.07342378,"width":0.0019946808,"height":0.009577015}},{"char_start":1,"char_count":20,"bounds":{"left":0.018949468,"top":0.07342378,"width":0.034242023,"height":0.009577015}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.08699122,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.08699122,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.025930852,"top":0.08699122,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.087789305,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.02825798,"top":0.087789305,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.10215483,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.10215483,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0063164895,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":2,"bounds":{"left":0.027925532,"top":0.10215483,"width":0.004654255,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.10215483,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.11652035,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.11652035,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.025930852,"top":0.11652035,"width":0.0076462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.11731844,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":3,"bounds":{"left":0.02825798,"top":0.11731844,"width":0.005319149,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.01462766,"top":0.13088587,"width":0.0043218085,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"bounds":{"left":0.025930852,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.13168396,"width":0.0009973404,"height":0.0103751}},{"char_start":1,"char_count":2,"bounds":{"left":0.026928192,"top":0.13168396,"width":0.0033244682,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.13168396,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.14604948,"width":0.003656915,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"bounds":{"left":0.027925532,"top":0.14604948,"width":0.039893616,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.14604948,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":20,"bounds":{"left":0.029920213,"top":0.14604948,"width":0.037898935,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.14604948,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.16041501,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"bounds":{"left":0.027925532,"top":0.16041501,"width":0.04255319,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.16121309,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":23,"bounds":{"left":0.029920213,"top":0.16121309,"width":0.04089096,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.16121309,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.17478053,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"bounds":{"left":0.027925532,"top":0.17478053,"width":0.048204787,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.17557861,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.029920213,"top":0.17557861,"width":0.046210106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.17557861,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.18994413,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.18994413,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.006981383,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.0009973404,"height":0.011173184}},{"char_start":1,"char_count":3,"bounds":{"left":0.026928192,"top":0.18994413,"width":0.0063164895,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.18994413,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.20430966,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.20430966,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.025930852,"top":0.20430966,"width":0.00930851,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.20510775,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":4,"bounds":{"left":0.02825798,"top":0.20510775,"width":0.006981383,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.21867518,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.025930852,"top":0.21867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.21947326,"width":0.0013297872,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.026928192,"top":0.21947326,"width":0.014960106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.23383878,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.029920213,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":16,"bounds":{"left":0.027925532,"top":0.23383878,"width":0.027925532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.2482043,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"bounds":{"left":0.025930852,"top":0.2482043,"width":0.01761968,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.2490024,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.027925532,"top":0.2490024,"width":0.015625,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.26256984,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.025930852,"top":0.26256984,"width":0.025265958,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.26336792,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":13,"bounds":{"left":0.027925532,"top":0.26336792,"width":0.023603724,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.26336792,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.27773345,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.046210106,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":27,"bounds":{"left":0.027925532,"top":0.27773345,"width":0.04454787,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.27773345,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.29209897,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.025930852,"top":0.29209897,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.29289705,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":8,"bounds":{"left":0.02825798,"top":0.29289705,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3064645,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.025930852,"top":0.3064645,"width":0.023271276,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.30726257,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.30726257,"width":0.021276595,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3216281,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.021941489,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.3216281,"width":0.019614361,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.33599362,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"bounds":{"left":0.025930852,"top":0.33599362,"width":0.04488032,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3367917,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":24,"bounds":{"left":0.027925532,"top":0.3367917,"width":0.04288564,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.3367917,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.35035914,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"bounds":{"left":0.025930852,"top":0.35035914,"width":0.042220745,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.35115722,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":22,"bounds":{"left":0.027925532,"top":0.35115722,"width":0.04055851,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.35115722,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.36552274,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.04055851,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":21,"bounds":{"left":0.027925532,"top":0.36552274,"width":0.03856383,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.36552274,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.37988827,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.025930852,"top":0.37988827,"width":0.04920213,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.38068634,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.027925532,"top":0.38068634,"width":0.047539894,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.38068634,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3942538,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.025930852,"top":0.3942538,"width":0.03357713,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.39505187,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":17,"bounds":{"left":0.027925532,"top":0.39505187,"width":0.03158245,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.087101065,"top":0.39505187,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.4094174,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.023936171,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.027925532,"top":0.4094174,"width":0.022273935,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.011635638,"top":0.95530725,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.95690346,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"bounds":{"left":0.016954787,"top":0.95530725,"width":0.011635638,"height":0.015163607},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"bounds":{"left":0.016954787,"top":0.9577015,"width":0.011635638,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9584996,"width":0.0026595744,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.019946808,"top":0.9584996,"width":0.008976064,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.011635638,"top":0.9696728,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.97206706,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"bounds":{"left":0.016954787,"top":0.97047085,"width":0.013630319,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"bounds":{"left":0.016954787,"top":0.9728651,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9728651,"width":0.0023271276,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.019281914,"top":0.9728651,"width":0.011635638,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0016622341,"top":0.9848364,"width":0.024268618,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.0039893617,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.00831117,"top":0.98723066,"width":0.015292553,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.008643617,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.009640957,"top":0.98723066,"width":0.012300532,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.027260639,"top":0.9848364,"width":0.019281914,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.027925532,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"bounds":{"left":0.032247342,"top":0.98723066,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.032579787,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.03357713,"top":0.98723066,"width":0.010970744,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.04654255,"top":0.9848364,"width":0.0063164895,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.054853722,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.05618351,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.06050532,"top":0.98723066,"width":0.0043218085,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.064494684,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.069148935,"top":0.98723066,"width":0.0029920214,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"bounds":{"left":0.07513298,"top":0.9848364,"width":0.010305851,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.07646277,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"bounds":{"left":0.080784574,"top":0.98723066,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.99102396,"top":0.9848364,"width":0.008976042,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"bounds":{"left":0.9567819,"top":0.9848364,"width":0.03357713,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"bounds":{"left":0.9421542,"top":0.9848364,"width":0.012965426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"bounds":{"left":0.91988033,"top":0.9848364,"width":0.020611702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"bounds":{"left":0.9115692,"top":0.9848364,"width":0.0066489363,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"bounds":{"left":0.8969415,"top":0.9848364,"width":0.013297873,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"bounds":{"left":0.87699467,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 7, Col 1 (100 selected)","depth":16,"bounds":{"left":0.83144945,"top":0.9848364,"width":0.044215426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":0.7865692,"top":0.9848364,"width":0.044215426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"bounds":{"left":0.76163566,"top":0.05347167,"width":0.034574468,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.76163566,"top":0.054269753,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":19,"bounds":{"left":0.76396275,"top":0.054269753,"width":0.032247342,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23238032,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9840425,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.9886968,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"bounds":{"left":0.99035907,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target_date","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$1","depth":24,"bounds":{"left":0.80418885,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$target_date","depth":24,"bounds":{"left":0.8188165,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76828456,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Done. Audio","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"files will now be copied to","depth":21,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.04720745,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.83211434,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/{date}/audio/","depth":22,"bounds":{"left":0.83410907,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"instead of","depth":21,"bounds":{"left":0.87765956,"top":0.07102953,"width":0.018949468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.8962766,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":22,"bounds":{"left":0.89860374,"top":0.07102953,"width":0.02925532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":". This keeps audio files organized by date alongside the frame","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23071809,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data.","depth":21,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.010305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"will that all work if I move","depth":25,"bounds":{"left":0.8543883,"top":0.07102953,"width":0.04288564,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"@","depth":27,"bounds":{"left":0.89793885,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.9012633,"top":0.07102953,"width":0.031914894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and lib folder inside scripts folder?","depth":25,"bounds":{"left":0.9338431,"top":0.07102953,"width":0.059175532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.9175532,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 2s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", it will work as long as you","depth":21,"bounds":{"left":0.76961434,"top":0.07102953,"width":0.047539894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"keep the relative structure intact. The script uses:","depth":21,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.09009308,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.7869016,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"bounds":{"left":0.78889626,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":23,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"bounds":{"left":0.79886967,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":23,"bounds":{"left":0.8068484,"top":0.07102953,"width":0.013962766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":23,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":23,"bounds":{"left":0.8287899,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":23,"bounds":{"left":0.8507314,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":23,"bounds":{"left":0.87267286,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":23,"bounds":{"left":0.87898934,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":23,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":23,"bounds":{"left":0.78291225,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":23,"bounds":{"left":0.80485374,"top":0.07102953,"width":0.06416223,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This dynamically","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.029920213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"finds the directory of","depth":21,"bounds":{"left":0.79288566,"top":0.07102953,"width":0.038896278,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the script being executed, so moving both","depth":21,"bounds":{"left":0.83144945,"top":0.07102953,"width":0.07646277,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.9075798,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.90890956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.91422874,"top":0.07102953,"width":0.039228722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"bounds":{"left":0.953125,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.9617686,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"bounds":{"left":0.9674202,"top":0.07102953,"width":0.0066489363,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"into a","depth":21,"bounds":{"left":0.9740692,"top":0.07102953,"width":0.011968086,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23138298,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder will","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"work fine.","depth":21,"bounds":{"left":0.7898936,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Structure that will work:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.045212764,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.016289894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── lib/","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.016289894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_helpers.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.068484046,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.05817819,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.06416223,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Just","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy the entire","depth":21,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.027925532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"bounds":{"left":0.80086434,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder (with","depth":21,"bounds":{"left":0.81648934,"top":0.07102953,"width":0.021609042,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.8380984,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.8390958,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.84474736,"top":0.07102953,"width":0.038896278,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"bounds":{"left":0.8836436,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.89228725,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"bounds":{"left":0.89793885,"top":0.07102953,"width":0.0066489363,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"inside it) to your Mac","depth":21,"bounds":{"left":0.90425533,"top":0.07102953,"width":0.038896278,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"bounds":{"left":0.9428192,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s http://localhost:3030/health | jq \"{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeline.capture_fps_actual, frames: .pipeline.frames_captured}\"","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.19913563,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"{","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"status\": \"healthy\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.034242023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frame_status\": \"ok\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.03756649,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_status\": \"ok\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.03723404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"last_frame\": \"2026-05-13T11:28:00+03:00\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.0787899,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"uptime\": 7879.209718708,","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.048537236,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"fps\": 0.27426608468981734,","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.053856384,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frames\": 2161","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.026928192,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"} also what is degraded I received it as response a while ago {","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"status\": \"degraded\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.038231384,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frame_status\": \"ok\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.03756649,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_status\": \"stale\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.041223403,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"last_frame\": \"2026-05-13T11:27:35+03:00\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.078457445,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"uptime\": 7854.077230416,","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.048537236,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"fps\": 0.27488907183634176,","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.05285904,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frames\": 2159","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.027260639,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.87333775,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes, that command is still","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.045545213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"correct. It queries the Screenpipe health endpoint","depth":21,"bounds":{"left":0.8088431,"top":0.07102953,"width":0.08976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"at","depth":21,"bounds":{"left":0.89860374,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"localhost:3030/health","depth":22,"bounds":{"left":0.90525264,"top":0.07102953,"width":0.03856383,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"bounds":{"left":0.94481385,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Status meanings:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.032579787,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"healthy\"","depth":23,"bounds":{"left":0.7719415,"top":0.07102953,"width":0.016954787,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- All systems OK","depth":22,"bounds":{"left":0.78956115,"top":0.07102953,"width":0.030917553,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"(frame_status","depth":22,"bounds":{"left":0.82047874,"top":0.07102953,"width":0.025930852,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\", audio","depth":22,"bounds":{"left":0.84640956,"top":0.07102953,"width":0.021609042,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"_status: \"ok\")","depth":22,"bounds":{"left":0.8680186,"top":0.07102953,"width":0.024933511,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"degraded\"","depth":23,"bounds":{"left":0.7719415,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- One or","depth":22,"bounds":{"left":0.7915558,"top":0.07102953,"width":0.016289894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more subsystems have issues (your example","depth":22,"bounds":{"left":0.8075133,"top":0.07102953,"width":0.080784574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"shows audio_status: \"st","depth":22,"bounds":{"left":0.88829786,"top":0.07102953,"width":0.043550532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ale\")","depth":22,"bounds":{"left":0.9318484,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"What \"degraded\" with \"audio_status: stale\" means:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.09707447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Frame","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"capture is working fine","depth":22,"bounds":{"left":0.78224736,"top":0.07102953,"width":0.04155585,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Audio capture is not working properly or","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.07180851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"is outdated/delayed","depth":22,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.036236703,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"could indicate the","depth":22,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.032912236,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio device disconnected, permission","depth":22,"bounds":{"left":0.81150264,"top":0.07102953,"width":0.07081117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"issues, or the audio pipeline stopped","depth":22,"bounds":{"left":0.88231385,"top":0.07102953,"width":0.066821806,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Other possible statuses:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.045545213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"frame_status","depth":23,"bounds":{"left":0.7719415,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\"","depth":22,"bounds":{"left":0.79521275,"top":0.07102953,"width":0.010305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"| \"stale\" | \"error","depth":22,"bounds":{"left":0.80518615,"top":0.07102953,"width":0.02925532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":22,"bounds":{"left":0.83410907,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_status","depth":23,"bounds":{"left":0.7719415,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\" | \"stale","depth":22,"bounds":{"left":0.79521275,"top":0.07102953,"width":0.023603724,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" | \"error\"","depth":22,"bounds":{"left":0.8188165,"top":0.07102953,"width":0.017287234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The command","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.025598405,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"format is fine - it","depth":21,"bounds":{"left":0.78889626,"top":0.07102953,"width":0.030917553,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"extracts the key metrics","depth":21,"bounds":{"left":0.8194814,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"you need to","depth":21,"bounds":{"left":0.86336434,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"monitor Screenpipe's","depth":21,"bounds":{"left":0.8856383,"top":0.07102953,"width":0.039228722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"health.","depth":21,"bounds":{"left":0.92486703,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.19448139,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.22706117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10571808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total 9468000","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.024601065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 24 lukas staff 768 13 May 11:25 .","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.08543883,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwx------+ 96 lukas staff 3072 13 May 09:16 ..","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.09042553,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.109042555,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13198139,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.09674202,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10638298,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10804521,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10638298,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.09275266,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13397606,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13397606,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.1349734,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.1349734,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13397606,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13464096,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13397606,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13231383,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.11735372,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.1306516,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.12765957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.12965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.094082445,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10006649,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.12566489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.12333777,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total 48","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxrwxrwx 5 lukas staff 160 13 May 10:24 .","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.07912234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.07712766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.11868351,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.120678194,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.1263298,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.12034574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.87333775,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 3s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.006981383,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"error shows","depth":21,"bounds":{"left":0.7699468,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.7922208,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/lib/","depth":22,"bounds":{"left":0.79421544,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"doubled in the path. The issue is that","depth":21,"bounds":{"left":0.81017286,"top":0.07102953,"width":0.06715426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the lib modules define their own","depth":21,"bounds":{"left":0.87732714,"top":0.07102953,"width":0.05817819,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.93550533,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":22,"bounds":{"left":0.9375,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"variable, which overwrites","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.22174202,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the one from the main script. When","depth":21,"bounds":{"left":0.7819149,"top":0.07102953,"width":0.06416223,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.84574467,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.84707445,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.8523936,"top":0.07102953,"width":0.045545213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":21,"bounds":{"left":0.89793885,"top":0.07102953,"width":0.004654255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.9025931,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.90359044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.90924203,"top":0.07102953,"width":0.051861703,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"sources","depth":21,"bounds":{"left":0.96110374,"top":0.07102953,"width":0.015292553,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.97606385,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.97706115,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23038563,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", they use their own directory (","depth":21,"bounds":{"left":0.80851066,"top":0.07102953,"width":0.054853722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"already inside","depth":21,"bounds":{"left":0.86336434,"top":0.07102953,"width":0.024601065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.88796544,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.88896275,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"bounds":{"left":0.89461434,"top":0.07102953,"width":0.0066489363,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"), causing the path to be doubled","depth":21,"bounds":{"left":0.9009308,"top":0.07102953,"width":0.059507977,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"bounds":{"left":0.9601064,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Fix: Use","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"unique variable names in lib","depth":21,"bounds":{"left":0.7775931,"top":0.07102953,"width":0.050531916,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"modules to avoid conflicts:","depth":21,"bounds":{"left":0.8277925,"top":0.07102953,"width":0.04920213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.039893616,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9830452,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"bounds":{"left":0.9850399,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.98836434,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"bounds":{"left":0.9900266,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"bounds":{"left":0.7912234,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"bounds":{"left":0.8630319,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"bounds":{"left":0.86835104,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/screenpipe_sync_helpers.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.051529255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LIB_DIR","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.78956115,"top":0.07102953,"width":0.00731383,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"bounds":{"left":0.80984044,"top":0.07102953,"width":0.00731383,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.020611702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"bounds":{"left":0.85738033,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"bounds":{"left":0.8630319,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$LIB_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"}]...
|
7137067173723557135
|
2814626606099721419
|
visual_change
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 7, Col 1 (100 selected)
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
2m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s [URL_WITH_CREDENTIALS] ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 9468000
drwxr-xr-x 24 lukas staff 768 13 May 11:25 .
drwx------+ 96 lukas staff 3072 13 May 09:16 ..
-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data
-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite
-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm
-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log
-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log
-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts
-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll
total 48
drwxrwxrwx 5 lukas staff 160 13 May 10:24 .
drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..
-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh
-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh
-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $
Expand content to scroll
Thought
for 3s
The
error shows
lib/lib/
doubled in the path. The issue is that
the lib modules define their own
SCRIPT_DIR
variable, which overwrites
the one from the main script. When
screenpipe_sync_db.sh
or
screenpipe_sync_files.sh
sources
screenpipe_sync_helpers.sh
, they use their own directory (
already inside
lib
), causing the path to be doubled
.
Fix: Use
unique variable names in lib
modules to avoid conflicts:
screenpipe_sync_db.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$LIB_DIR...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32176
|
1243
|
32
|
2026-05-13T09:09:15.845409+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663355845_m2.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
2m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"bounds":{"left":0.0,"top":0.047885075,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.05586592,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"bounds":{"left":0.0,"top":0.07581804,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.083798885,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"bounds":{"left":0.0,"top":0.103751,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.11173184,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"bounds":{"left":0.004986702,"top":0.11811652,"width":0.003656915,"height":0.007980846},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.005319149,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}},{"char_start":1,"char_count":1,"bounds":{"left":0.006981383,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}}],"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"bounds":{"left":0.0,"top":0.13168396,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.1396648,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"bounds":{"left":0.0,"top":0.15961692,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"bounds":{"left":0.0,"top":0.18754987,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.19553073,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"bounds":{"left":0.0,"top":0.21548285,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.22346368,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"bounds":{"left":0.0,"top":0.2434158,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.25139666,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"bounds":{"left":0.01462766,"top":0.047885075,"width":0.013630319,"height":0.023144454},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"bounds":{"left":0.01462766,"top":0.054269753,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.014960106,"top":0.055067837,"width":0.0019946808,"height":0.008778931}},{"char_start":1,"char_count":7,"bounds":{"left":0.016954787,"top":0.055067837,"width":0.011303191,"height":0.008778931}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.011635638,"top":0.07102953,"width":0.0831117,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.0726257,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.016954787,"top":0.07102953,"width":0.035904255,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"bounds":{"left":0.016954787,"top":0.07342378,"width":0.035904255,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.07342378,"width":0.0019946808,"height":0.009577015}},{"char_start":1,"char_count":20,"bounds":{"left":0.018949468,"top":0.07342378,"width":0.034242023,"height":0.009577015}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.08699122,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.08699122,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.025930852,"top":0.08699122,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.087789305,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.02825798,"top":0.087789305,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.10215483,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.10215483,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0063164895,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":2,"bounds":{"left":0.027925532,"top":0.10215483,"width":0.004654255,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.10215483,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.11652035,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.11652035,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.025930852,"top":0.11652035,"width":0.0076462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.11731844,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":3,"bounds":{"left":0.02825798,"top":0.11731844,"width":0.005319149,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.01462766,"top":0.13088587,"width":0.0043218085,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"bounds":{"left":0.025930852,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.13168396,"width":0.0009973404,"height":0.0103751}},{"char_start":1,"char_count":2,"bounds":{"left":0.026928192,"top":0.13168396,"width":0.0033244682,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.13168396,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.14604948,"width":0.003656915,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"bounds":{"left":0.027925532,"top":0.14604948,"width":0.039893616,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.14604948,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":20,"bounds":{"left":0.029920213,"top":0.14604948,"width":0.037898935,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.14604948,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.16041501,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"bounds":{"left":0.027925532,"top":0.16041501,"width":0.04255319,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.16121309,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":23,"bounds":{"left":0.029920213,"top":0.16121309,"width":0.04089096,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.16121309,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.17478053,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"bounds":{"left":0.027925532,"top":0.17478053,"width":0.048204787,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.17557861,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.029920213,"top":0.17557861,"width":0.046210106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.17557861,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.18994413,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.18994413,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.006981383,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.0009973404,"height":0.011173184}},{"char_start":1,"char_count":3,"bounds":{"left":0.026928192,"top":0.18994413,"width":0.0063164895,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.18994413,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.20430966,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.20430966,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.025930852,"top":0.20430966,"width":0.00930851,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.20510775,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":4,"bounds":{"left":0.02825798,"top":0.20510775,"width":0.006981383,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.21867518,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.025930852,"top":0.21867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.21947326,"width":0.0013297872,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.026928192,"top":0.21947326,"width":0.014960106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.23383878,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.029920213,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":16,"bounds":{"left":0.027925532,"top":0.23383878,"width":0.027925532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.2482043,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"bounds":{"left":0.025930852,"top":0.2482043,"width":0.01761968,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.2490024,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.027925532,"top":0.2490024,"width":0.015625,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.26256984,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.025930852,"top":0.26256984,"width":0.025265958,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.26336792,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":13,"bounds":{"left":0.027925532,"top":0.26336792,"width":0.023603724,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.26336792,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.27773345,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.046210106,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":27,"bounds":{"left":0.027925532,"top":0.27773345,"width":0.04454787,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.27773345,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.29209897,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.025930852,"top":0.29209897,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.29289705,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":8,"bounds":{"left":0.02825798,"top":0.29289705,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3064645,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.025930852,"top":0.3064645,"width":0.023271276,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.30726257,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.30726257,"width":0.021276595,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3216281,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.021941489,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.3216281,"width":0.019614361,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.33599362,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"bounds":{"left":0.025930852,"top":0.33599362,"width":0.04488032,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3367917,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":24,"bounds":{"left":0.027925532,"top":0.3367917,"width":0.04288564,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.3367917,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.35035914,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"bounds":{"left":0.025930852,"top":0.35035914,"width":0.042220745,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.35115722,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":22,"bounds":{"left":0.027925532,"top":0.35115722,"width":0.04055851,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.35115722,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.36552274,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.04055851,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":21,"bounds":{"left":0.027925532,"top":0.36552274,"width":0.03856383,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.36552274,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.37988827,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.025930852,"top":0.37988827,"width":0.04920213,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.38068634,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.027925532,"top":0.38068634,"width":0.047539894,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.38068634,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3942538,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.025930852,"top":0.3942538,"width":0.03357713,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.39505187,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":17,"bounds":{"left":0.027925532,"top":0.39505187,"width":0.03158245,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.087101065,"top":0.39505187,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.4094174,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.023936171,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.027925532,"top":0.4094174,"width":0.022273935,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.011635638,"top":0.95530725,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.95690346,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"bounds":{"left":0.016954787,"top":0.95530725,"width":0.011635638,"height":0.015163607},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"bounds":{"left":0.016954787,"top":0.9577015,"width":0.011635638,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9584996,"width":0.0026595744,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.019946808,"top":0.9584996,"width":0.008976064,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.011635638,"top":0.9696728,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.97206706,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"bounds":{"left":0.016954787,"top":0.97047085,"width":0.013630319,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"bounds":{"left":0.016954787,"top":0.9728651,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9728651,"width":0.0023271276,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.019281914,"top":0.9728651,"width":0.011635638,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0016622341,"top":0.9848364,"width":0.024268618,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.0039893617,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.00831117,"top":0.98723066,"width":0.015292553,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.008643617,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.009640957,"top":0.98723066,"width":0.012300532,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.027260639,"top":0.9848364,"width":0.019281914,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.027925532,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"bounds":{"left":0.032247342,"top":0.98723066,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.032579787,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.03357713,"top":0.98723066,"width":0.010970744,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.04654255,"top":0.9848364,"width":0.0063164895,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.054853722,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.05618351,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.06050532,"top":0.98723066,"width":0.0043218085,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.064494684,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.069148935,"top":0.98723066,"width":0.0029920214,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"bounds":{"left":0.07513298,"top":0.9848364,"width":0.010305851,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.07646277,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"bounds":{"left":0.080784574,"top":0.98723066,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.99102396,"top":0.9848364,"width":0.008976042,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"bounds":{"left":0.9567819,"top":0.9848364,"width":0.03357713,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"bounds":{"left":0.9421542,"top":0.9848364,"width":0.012965426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"bounds":{"left":0.91988033,"top":0.9848364,"width":0.020611702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"bounds":{"left":0.9115692,"top":0.9848364,"width":0.0066489363,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"bounds":{"left":0.8969415,"top":0.9848364,"width":0.013297873,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"bounds":{"left":0.87699467,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"bounds":{"left":0.8494016,"top":0.9848364,"width":0.026263298,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":0.80418885,"top":0.9848364,"width":0.04454787,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"bounds":{"left":0.76163566,"top":0.05347167,"width":0.034574468,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.76163566,"top":0.054269753,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":19,"bounds":{"left":0.76396275,"top":0.054269753,"width":0.032247342,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23238032,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9840425,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.9886968,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"bounds":{"left":0.99035907,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target_date","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$1","depth":24,"bounds":{"left":0.80418885,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$target_date","depth":24,"bounds":{"left":0.8188165,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76828456,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Done. Audio","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"files will now be copied to","depth":21,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.04720745,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.83211434,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/{date}/audio/","depth":22,"bounds":{"left":0.83410907,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"instead of","depth":21,"bounds":{"left":0.87765956,"top":0.07102953,"width":0.018949468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.8962766,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":22,"bounds":{"left":0.89860374,"top":0.07102953,"width":0.02925532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":". This keeps audio files organized by date alongside the frame","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23071809,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data.","depth":21,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.010305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"will that all work if I move","depth":25,"bounds":{"left":0.8543883,"top":0.07102953,"width":0.04288564,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"@","depth":27,"bounds":{"left":0.89793885,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.9012633,"top":0.07102953,"width":0.031914894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and lib folder inside scripts folder?","depth":25,"bounds":{"left":0.9338431,"top":0.07102953,"width":0.059175532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.9175532,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 2s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", it will work as long as you","depth":21,"bounds":{"left":0.76961434,"top":0.07102953,"width":0.047539894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"keep the relative structure intact. The script uses:","depth":21,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.09009308,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.7869016,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"bounds":{"left":0.78889626,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":23,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"bounds":{"left":0.79886967,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":23,"bounds":{"left":0.8068484,"top":0.07102953,"width":0.013962766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":23,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":23,"bounds":{"left":0.8287899,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":23,"bounds":{"left":0.8507314,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":23,"bounds":{"left":0.87267286,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":23,"bounds":{"left":0.87898934,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":23,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":23,"bounds":{"left":0.78291225,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":23,"bounds":{"left":0.80485374,"top":0.07102953,"width":0.06416223,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This dynamically","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.029920213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"finds the directory of","depth":21,"bounds":{"left":0.79288566,"top":0.07102953,"width":0.038896278,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the script being executed, so moving both","depth":21,"bounds":{"left":0.83144945,"top":0.07102953,"width":0.07646277,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.9075798,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.90890956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.91422874,"top":0.07102953,"width":0.039228722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"bounds":{"left":0.953125,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.9617686,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"bounds":{"left":0.9674202,"top":0.07102953,"width":0.0066489363,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"into a","depth":21,"bounds":{"left":0.9740692,"top":0.07102953,"width":0.011968086,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23138298,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder will","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"}]...
|
-953792775122997391
|
-5206929812469118738
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
2m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will...
|
32174
|
NULL
|
NULL
|
NULL
|
|
32175
|
1242
|
29
|
2026-05-13T09:09:15.812304+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663355812_m1.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
2m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s http://localhost:3030/health | jq "{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeline.capture_fps_actual, frames: .pipeline.frames_captured}"
{
"status": "healthy",
"frame_status": "ok",
"audio_status": "ok",
"last_frame": "2026-05-13T11:28:00+03:00",
"uptime": 7879.209718708,
"fps": 0.27426608468981734,
"frames": 2161
} also what is degraded I received it as response a while ago {
"status": "degraded",
"frame_status": "ok",
"audio_status": "stale",
"last_frame": "2026-05-13T11:27:35+03:00",
"uptime": 7854.077230416,
"fps": 0.27488907183634176,
"frames": 2159
}
Expand content to scroll
Thought
for 1s...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target_date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$1","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$target_date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Done. Audio","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"files will now be copied to","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/{date}/audio/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"instead of","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":". This keeps audio files organized by date alongside the frame","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"will that all work if I move","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"@","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and lib folder inside scripts folder?","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 2s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", it will work as long as you","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"keep the relative structure intact. The script uses:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This dynamically","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"finds the directory of","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the script being executed, so moving both","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"into a","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder will","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"work fine.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Structure that will work:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── lib/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_helpers.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Just","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy the entire","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder (with","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"inside it) to your Mac","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s http://localhost:3030/health | jq \"{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeline.capture_fps_actual, frames: .pipeline.frames_captured}\"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"{","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"status\": \"healthy\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frame_status\": \"ok\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_status\": \"ok\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"last_frame\": \"2026-05-13T11:28:00+03:00\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"uptime\": 7879.209718708,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"fps\": 0.27426608468981734,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frames\": 2161","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"} also what is degraded I received it as response a while ago {","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"status\": \"degraded\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frame_status\": \"ok\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_status\": \"stale\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"last_frame\": \"2026-05-13T11:27:35+03:00\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"uptime\": 7854.077230416,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"fps\": 0.27488907183634176,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frames\": 2159","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"}]...
|
-2272303606279223651
|
-5206217328665868084
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
2m
1m
Show More
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s http://localhost:3030/health | jq "{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeline.capture_fps_actual, frames: .pipeline.frames_captured}"
{
"status": "healthy",
"frame_status": "ok",
"audio_status": "ok",
"last_frame": "2026-05-13T11:28:00+03:00",
"uptime": 7879.209718708,
"fps": 0.27426608468981734,
"frames": 2161
} also what is degraded I received it as response a while ago {
"status": "degraded",
"frame_status": "ok",
"audio_status": "stale",
"last_frame": "2026-05-13T11:27:35+03:00",
"uptime": 7854.077230416,
"fps": 0.27488907183634176,
"frames": 2159
}
Expand content to scroll
Thought
for 1s...
|
32173
|
NULL
|
NULL
|
NULL
|
|
32174
|
1243
|
31
|
2026-05-13T09:09:07.846349+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663347846_m2.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
1m
1m
Show More
lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there
Expand content to scroll
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s [URL_WITH_CREDENTIALS] ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 9468000
drwxr-xr-x 24 lukas staff 768 13 May 11:25 .
drwx------+ 96 lukas staff 3072 13 May 09:16 ..
-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data
-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite
-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm
-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log
-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log
-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts
-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll
total 48
drwxrwxrwx 5 lukas staff 160 13 May 10:24 .
drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..
-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh
-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh
-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $
Expand content to scroll
Thought
for 3s
The
error shows
lib/lib/
doubled in the path. The issue is that
the lib modules define their own
SCRIPT_DIR
variable, which overwrites
the one from the main script. When
screenpipe_sync_db.sh
or
screenpipe_sync_files.sh
sources
screenpipe_sync_helpers.sh
, they use their own directory (
already inside
lib
), causing the path to be doubled
.
Fix: Use
unique variable names in lib
modules to avoid conflicts:
screenpipe_sync_db.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$LIB_DIR
/screenpipe_sync_helpers.sh"
Thoughts
screenpipe_sync_files.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"bounds":{"left":0.0,"top":0.047885075,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.05586592,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"bounds":{"left":0.0,"top":0.07581804,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.083798885,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"bounds":{"left":0.0,"top":0.103751,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.11173184,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"bounds":{"left":0.004986702,"top":0.11811652,"width":0.003656915,"height":0.007980846},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.005319149,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}},{"char_start":1,"char_count":1,"bounds":{"left":0.006981383,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}}],"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"bounds":{"left":0.0,"top":0.13168396,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.1396648,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"bounds":{"left":0.0,"top":0.15961692,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"bounds":{"left":0.0,"top":0.18754987,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.19553073,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"bounds":{"left":0.0,"top":0.21548285,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.22346368,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"bounds":{"left":0.0,"top":0.2434158,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.25139666,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"bounds":{"left":0.01462766,"top":0.047885075,"width":0.013630319,"height":0.023144454},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"bounds":{"left":0.01462766,"top":0.054269753,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.014960106,"top":0.055067837,"width":0.0019946808,"height":0.008778931}},{"char_start":1,"char_count":7,"bounds":{"left":0.016954787,"top":0.055067837,"width":0.011303191,"height":0.008778931}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.011635638,"top":0.07102953,"width":0.0831117,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.0726257,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.016954787,"top":0.07102953,"width":0.035904255,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"bounds":{"left":0.016954787,"top":0.07342378,"width":0.035904255,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.07342378,"width":0.0019946808,"height":0.009577015}},{"char_start":1,"char_count":20,"bounds":{"left":0.018949468,"top":0.07342378,"width":0.034242023,"height":0.009577015}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.08699122,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.08699122,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.025930852,"top":0.08699122,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.087789305,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.02825798,"top":0.087789305,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.10215483,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.10215483,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0063164895,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":2,"bounds":{"left":0.027925532,"top":0.10215483,"width":0.004654255,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.10215483,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.11652035,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.11652035,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.025930852,"top":0.11652035,"width":0.0076462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.11731844,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":3,"bounds":{"left":0.02825798,"top":0.11731844,"width":0.005319149,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.01462766,"top":0.13088587,"width":0.0043218085,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"bounds":{"left":0.025930852,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.13168396,"width":0.0009973404,"height":0.0103751}},{"char_start":1,"char_count":2,"bounds":{"left":0.026928192,"top":0.13168396,"width":0.0033244682,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.13168396,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.14604948,"width":0.003656915,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"bounds":{"left":0.027925532,"top":0.14604948,"width":0.039893616,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.14604948,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":20,"bounds":{"left":0.029920213,"top":0.14604948,"width":0.037898935,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.14604948,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.16041501,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"bounds":{"left":0.027925532,"top":0.16041501,"width":0.04255319,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.16121309,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":23,"bounds":{"left":0.029920213,"top":0.16121309,"width":0.04089096,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.16121309,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.17478053,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"bounds":{"left":0.027925532,"top":0.17478053,"width":0.048204787,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.17557861,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.029920213,"top":0.17557861,"width":0.046210106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.17557861,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.18994413,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.18994413,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.006981383,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.0009973404,"height":0.011173184}},{"char_start":1,"char_count":3,"bounds":{"left":0.026928192,"top":0.18994413,"width":0.0063164895,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.18994413,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.20430966,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.20430966,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.025930852,"top":0.20430966,"width":0.00930851,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.20510775,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":4,"bounds":{"left":0.02825798,"top":0.20510775,"width":0.006981383,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.21867518,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.025930852,"top":0.21867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.21947326,"width":0.0013297872,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.026928192,"top":0.21947326,"width":0.014960106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.23383878,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.029920213,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":16,"bounds":{"left":0.027925532,"top":0.23383878,"width":0.027925532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.2482043,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"bounds":{"left":0.025930852,"top":0.2482043,"width":0.01761968,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.2490024,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.027925532,"top":0.2490024,"width":0.015625,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.26256984,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.025930852,"top":0.26256984,"width":0.025265958,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.26336792,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":13,"bounds":{"left":0.027925532,"top":0.26336792,"width":0.023603724,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.26336792,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.27773345,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.046210106,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":27,"bounds":{"left":0.027925532,"top":0.27773345,"width":0.04454787,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.27773345,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.29209897,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.025930852,"top":0.29209897,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.29289705,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":8,"bounds":{"left":0.02825798,"top":0.29289705,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3064645,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.025930852,"top":0.3064645,"width":0.023271276,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.30726257,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.30726257,"width":0.021276595,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3216281,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.021941489,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.3216281,"width":0.019614361,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.33599362,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"bounds":{"left":0.025930852,"top":0.33599362,"width":0.04488032,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3367917,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":24,"bounds":{"left":0.027925532,"top":0.3367917,"width":0.04288564,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.3367917,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.35035914,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"bounds":{"left":0.025930852,"top":0.35035914,"width":0.042220745,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.35115722,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":22,"bounds":{"left":0.027925532,"top":0.35115722,"width":0.04055851,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.35115722,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.36552274,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.04055851,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":21,"bounds":{"left":0.027925532,"top":0.36552274,"width":0.03856383,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.36552274,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.37988827,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.025930852,"top":0.37988827,"width":0.04920213,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.38068634,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.027925532,"top":0.38068634,"width":0.047539894,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.38068634,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3942538,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.025930852,"top":0.3942538,"width":0.03357713,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.39505187,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":17,"bounds":{"left":0.027925532,"top":0.39505187,"width":0.03158245,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.087101065,"top":0.39505187,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.4094174,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.023936171,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.027925532,"top":0.4094174,"width":0.022273935,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.011635638,"top":0.95530725,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.95690346,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"bounds":{"left":0.016954787,"top":0.95530725,"width":0.011635638,"height":0.015163607},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"bounds":{"left":0.016954787,"top":0.9577015,"width":0.011635638,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9584996,"width":0.0026595744,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.019946808,"top":0.9584996,"width":0.008976064,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.011635638,"top":0.9696728,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.97206706,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"bounds":{"left":0.016954787,"top":0.97047085,"width":0.013630319,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"bounds":{"left":0.016954787,"top":0.9728651,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9728651,"width":0.0023271276,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.019281914,"top":0.9728651,"width":0.011635638,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0016622341,"top":0.9848364,"width":0.024268618,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.0039893617,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.00831117,"top":0.98723066,"width":0.015292553,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.008643617,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.009640957,"top":0.98723066,"width":0.012300532,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.027260639,"top":0.9848364,"width":0.019281914,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.027925532,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"bounds":{"left":0.032247342,"top":0.98723066,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.032579787,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.03357713,"top":0.98723066,"width":0.010970744,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.04654255,"top":0.9848364,"width":0.0063164895,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.054853722,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.05618351,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.06050532,"top":0.98723066,"width":0.0043218085,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.064494684,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.069148935,"top":0.98723066,"width":0.0029920214,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"bounds":{"left":0.07513298,"top":0.9848364,"width":0.010305851,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.07646277,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"bounds":{"left":0.080784574,"top":0.98723066,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.99102396,"top":0.9848364,"width":0.008976042,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"bounds":{"left":0.9567819,"top":0.9848364,"width":0.03357713,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"bounds":{"left":0.9421542,"top":0.9848364,"width":0.012965426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"bounds":{"left":0.91988033,"top":0.9848364,"width":0.020611702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"bounds":{"left":0.9115692,"top":0.9848364,"width":0.0066489363,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"bounds":{"left":0.8969415,"top":0.9848364,"width":0.013297873,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"bounds":{"left":0.87699467,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"bounds":{"left":0.8494016,"top":0.9848364,"width":0.026263298,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":0.80418885,"top":0.9848364,"width":0.04454787,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"bounds":{"left":0.7659575,"top":0.05347167,"width":0.034574468,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7659575,"top":0.054269753,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":19,"bounds":{"left":0.76828456,"top":0.054269753,"width":0.032247342,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23238032,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there","depth":25,"bounds":{"left":0.8284575,"top":0.07102953,"width":0.16456117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.90458775,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9840425,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.9886968,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"bounds":{"left":0.99035907,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target_date","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$1","depth":24,"bounds":{"left":0.80418885,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$target_date","depth":24,"bounds":{"left":0.8188165,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76828456,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Done. Audio","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"files will now be copied to","depth":21,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.04720745,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.83211434,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/{date}/audio/","depth":22,"bounds":{"left":0.83410907,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"instead of","depth":21,"bounds":{"left":0.87765956,"top":0.07102953,"width":0.018949468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.8962766,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":22,"bounds":{"left":0.89860374,"top":0.07102953,"width":0.02925532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":". This keeps audio files organized by date alongside the frame","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23071809,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data.","depth":21,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.010305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"will that all work if I move","depth":25,"bounds":{"left":0.8543883,"top":0.07102953,"width":0.04288564,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"@","depth":27,"bounds":{"left":0.89793885,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.9012633,"top":0.07102953,"width":0.031914894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and lib folder inside scripts folder?","depth":25,"bounds":{"left":0.9338431,"top":0.07102953,"width":0.059175532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.9175532,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 2s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", it will work as long as you","depth":21,"bounds":{"left":0.76961434,"top":0.07102953,"width":0.047539894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"keep the relative structure intact. The script uses:","depth":21,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.09009308,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.7869016,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"bounds":{"left":0.78889626,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":23,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"bounds":{"left":0.79886967,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":23,"bounds":{"left":0.8068484,"top":0.07102953,"width":0.013962766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":23,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":23,"bounds":{"left":0.8287899,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":23,"bounds":{"left":0.8507314,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":23,"bounds":{"left":0.87267286,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":23,"bounds":{"left":0.87898934,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":23,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":23,"bounds":{"left":0.78291225,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":23,"bounds":{"left":0.80485374,"top":0.07102953,"width":0.06416223,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This dynamically","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.029920213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"finds the directory of","depth":21,"bounds":{"left":0.79288566,"top":0.07102953,"width":0.038896278,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the script being executed, so moving both","depth":21,"bounds":{"left":0.83144945,"top":0.07102953,"width":0.07646277,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.9075798,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.90890956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.91422874,"top":0.07102953,"width":0.039228722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"bounds":{"left":0.953125,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.9617686,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"bounds":{"left":0.9674202,"top":0.07102953,"width":0.0066489363,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"into a","depth":21,"bounds":{"left":0.9740692,"top":0.07102953,"width":0.011968086,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23138298,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder will","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"work fine.","depth":21,"bounds":{"left":0.7898936,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Structure that will work:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.045212764,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.016289894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── lib/","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.016289894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_helpers.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.068484046,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.05817819,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.06416223,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Just","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy the entire","depth":21,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.027925532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"bounds":{"left":0.80086434,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder (with","depth":21,"bounds":{"left":0.81648934,"top":0.07102953,"width":0.021609042,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.8380984,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.8390958,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.84474736,"top":0.07102953,"width":0.038896278,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"bounds":{"left":0.8836436,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.89228725,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"bounds":{"left":0.89793885,"top":0.07102953,"width":0.0066489363,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"inside it) to your Mac","depth":21,"bounds":{"left":0.90425533,"top":0.07102953,"width":0.038896278,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"bounds":{"left":0.9428192,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s http://localhost:3030/health | jq \"{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeline.capture_fps_actual, frames: .pipeline.frames_captured}\"","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.19913563,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"{","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"status\": \"healthy\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.034242023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frame_status\": \"ok\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.03756649,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_status\": \"ok\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.03723404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"last_frame\": \"2026-05-13T11:28:00+03:00\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.0787899,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"uptime\": 7879.209718708,","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.048537236,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"fps\": 0.27426608468981734,","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.053856384,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frames\": 2161","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.026928192,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"} also what is degraded I received it as response a while ago {","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"status\": \"degraded\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.038231384,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frame_status\": \"ok\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.03756649,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_status\": \"stale\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.041223403,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"last_frame\": \"2026-05-13T11:27:35+03:00\",","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.078457445,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"uptime\": 7854.077230416,","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.048537236,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"fps\": 0.27488907183634176,","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.05285904,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frames\": 2159","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.027260639,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.87333775,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes, that command is still","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.045545213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"correct. It queries the Screenpipe health endpoint","depth":21,"bounds":{"left":0.8088431,"top":0.07102953,"width":0.08976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"at","depth":21,"bounds":{"left":0.89860374,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"localhost:3030/health","depth":22,"bounds":{"left":0.90525264,"top":0.07102953,"width":0.03856383,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"bounds":{"left":0.94481385,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Status meanings:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.032579787,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"healthy\"","depth":23,"bounds":{"left":0.7719415,"top":0.07102953,"width":0.016954787,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- All systems OK","depth":22,"bounds":{"left":0.78956115,"top":0.07102953,"width":0.030917553,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"(frame_status","depth":22,"bounds":{"left":0.82047874,"top":0.07102953,"width":0.025930852,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\", audio","depth":22,"bounds":{"left":0.84640956,"top":0.07102953,"width":0.021609042,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"_status: \"ok\")","depth":22,"bounds":{"left":0.8680186,"top":0.07102953,"width":0.024933511,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"degraded\"","depth":23,"bounds":{"left":0.7719415,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- One or","depth":22,"bounds":{"left":0.7915558,"top":0.07102953,"width":0.016289894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more subsystems have issues (your example","depth":22,"bounds":{"left":0.8075133,"top":0.07102953,"width":0.080784574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"shows audio_status: \"st","depth":22,"bounds":{"left":0.88829786,"top":0.07102953,"width":0.043550532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ale\")","depth":22,"bounds":{"left":0.9318484,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"What \"degraded\" with \"audio_status: stale\" means:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.09707447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Frame","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"capture is working fine","depth":22,"bounds":{"left":0.78224736,"top":0.07102953,"width":0.04155585,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Audio capture is not working properly or","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.07180851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"is outdated/delayed","depth":22,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.036236703,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"could indicate the","depth":22,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.032912236,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio device disconnected, permission","depth":22,"bounds":{"left":0.81150264,"top":0.07102953,"width":0.07081117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"issues, or the audio pipeline stopped","depth":22,"bounds":{"left":0.88231385,"top":0.07102953,"width":0.066821806,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Other possible statuses:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.045545213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"frame_status","depth":23,"bounds":{"left":0.7719415,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\"","depth":22,"bounds":{"left":0.79521275,"top":0.07102953,"width":0.010305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"| \"stale\" | \"error","depth":22,"bounds":{"left":0.80518615,"top":0.07102953,"width":0.02925532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":22,"bounds":{"left":0.83410907,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_status","depth":23,"bounds":{"left":0.7719415,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\" | \"stale","depth":22,"bounds":{"left":0.79521275,"top":0.07102953,"width":0.023603724,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" | \"error\"","depth":22,"bounds":{"left":0.8188165,"top":0.07102953,"width":0.017287234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The command","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.025598405,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"format is fine - it","depth":21,"bounds":{"left":0.78889626,"top":0.07102953,"width":0.030917553,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"extracts the key metrics","depth":21,"bounds":{"left":0.8194814,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"you need to","depth":21,"bounds":{"left":0.86336434,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"monitor Screenpipe's","depth":21,"bounds":{"left":0.8856383,"top":0.07102953,"width":0.039228722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"health.","depth":21,"bounds":{"left":0.92486703,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.19448139,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.22706117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10571808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total 9468000","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.024601065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 24 lukas staff 768 13 May 11:25 .","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.08543883,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwx------+ 96 lukas staff 3072 13 May 09:16 ..","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.09042553,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.109042555,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13198139,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.09674202,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10638298,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10804521,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10638298,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.09275266,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13397606,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13397606,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.1349734,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.1349734,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13397606,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13464096,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13397606,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.13231383,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.11735372,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.1306516,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.12765957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.12965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.094082445,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.10006649,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.12566489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.12333777,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total 48","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxrwxrwx 5 lukas staff 160 13 May 10:24 .","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.07912234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.07712766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.11868351,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.120678194,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.1263298,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.99268615,"top":0.07102953,"width":0.0003324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.12034574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.87333775,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 3s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.006981383,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"error shows","depth":21,"bounds":{"left":0.7699468,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.7922208,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/lib/","depth":22,"bounds":{"left":0.79421544,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"doubled in the path. The issue is that","depth":21,"bounds":{"left":0.81017286,"top":0.07102953,"width":0.06715426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the lib modules define their own","depth":21,"bounds":{"left":0.87732714,"top":0.07102953,"width":0.05817819,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.93550533,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":22,"bounds":{"left":0.9375,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"variable, which overwrites","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.22174202,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the one from the main script. When","depth":21,"bounds":{"left":0.7819149,"top":0.07102953,"width":0.06416223,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.84574467,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.84707445,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.8523936,"top":0.07102953,"width":0.045545213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":21,"bounds":{"left":0.89793885,"top":0.07102953,"width":0.004654255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.9025931,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.90359044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.90924203,"top":0.07102953,"width":0.051861703,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"sources","depth":21,"bounds":{"left":0.96110374,"top":0.07102953,"width":0.015292553,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.97606385,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.97706115,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23038563,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", they use their own directory (","depth":21,"bounds":{"left":0.80851066,"top":0.07102953,"width":0.054853722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"already inside","depth":21,"bounds":{"left":0.86336434,"top":0.07102953,"width":0.024601065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.88796544,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.88896275,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"bounds":{"left":0.89461434,"top":0.07102953,"width":0.0066489363,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"), causing the path to be doubled","depth":21,"bounds":{"left":0.9009308,"top":0.07102953,"width":0.059507977,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"bounds":{"left":0.9601064,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Fix: Use","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"unique variable names in lib","depth":21,"bounds":{"left":0.7775931,"top":0.07102953,"width":0.050531916,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"modules to avoid conflicts:","depth":21,"bounds":{"left":0.8277925,"top":0.07102953,"width":0.04920213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.039893616,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9830452,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"bounds":{"left":0.9850399,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.98836434,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"bounds":{"left":0.9900266,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"bounds":{"left":0.7912234,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"bounds":{"left":0.8630319,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"bounds":{"left":0.86835104,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/screenpipe_sync_helpers.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.051529255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LIB_DIR","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.78956115,"top":0.07102953,"width":0.00731383,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"bounds":{"left":0.80984044,"top":0.07102953,"width":0.00731383,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.020611702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"bounds":{"left":0.85738033,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"bounds":{"left":0.8630319,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$LIB_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/screenpipe_sync_helpers.sh\"","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.051529255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9830452,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"bounds":{"left":0.9850399,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.98836434,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"bounds":{"left":0.9900266,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"bounds":{"left":0.7912234,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"bounds":{"left":0.8630319,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"bounds":{"left":0.86835104,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/screenpipe_sync_helpers.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.051529255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LIB_DIR","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.78956115,"top":0.07102953,"width":0.00731383,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"bounds":{"left":0.80984044,"top":0.07102953,"width":0.00731383,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"}]...
|
-6291464694533516448
|
2850655403118685391
|
visual_change
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
1m
1m
Show More
lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there
Expand content to scroll
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s [URL_WITH_CREDENTIALS] ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 9468000
drwxr-xr-x 24 lukas staff 768 13 May 11:25 .
drwx------+ 96 lukas staff 3072 13 May 09:16 ..
-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data
-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite
-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm
-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log
-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log
-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts
-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll
total 48
drwxrwxrwx 5 lukas staff 160 13 May 10:24 .
drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..
-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh
-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh
-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $
Expand content to scroll
Thought
for 3s
The
error shows
lib/lib/
doubled in the path. The issue is that
the lib modules define their own
SCRIPT_DIR
variable, which overwrites
the one from the main script. When
screenpipe_sync_db.sh
or
screenpipe_sync_files.sh
sources
screenpipe_sync_helpers.sh
, they use their own directory (
already inside
lib
), causing the path to be doubled
.
Fix: Use
unique variable names in lib
modules to avoid conflicts:
screenpipe_sync_db.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$LIB_DIR
/screenpipe_sync_helpers.sh"
Thoughts
screenpipe_sync_files.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32173
|
1242
|
28
|
2026-05-13T09:09:05.859655+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663345859_m1.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
1m
Show More
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4
# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
# ─── COPY LOGS ────────────────────────────────────────────────────────────────
Thoughts
7
/
7
tasks
done
Thought
for 1s
I've completed the refactoring
and added audio file syncing. Here's what was done:
Refactoring:
Created
lib/
directory with three modules:
lib/screenpipe_sync_helpers.sh
- logging, timing, SQLite helpers
lib/screenpipe_sync_db.sh
- all DB operations (tables, indexes
, sync, FTS, verify)
lib/screenpipe_sync_files.sh
- data folder, audio files, and log
copying
Refactored
screenpipe_sync.sh
to source
the modules and call functions
Main script
maintains exact same CLI interface for backward compatibility
Audio File Syncing:
Added
copy_audio_files()
function to
lib/screenpipe_sync_files.sh
Queries
audio_chunks
table for file paths on
target date
Copies audio files (e.g.,
LakyLak bose
qc35 II (input)_2026-05
-12_06-49-17.mp4
) from
~/.screenpipe/data
to
$NAS_DATA/audio/
Integrated into main sync flow between data folder and log
copying
Usage:
bash
# Main script (backward compatible)
./screenpipe_sync.sh
2026-05-11
# Standalone module testing
TARGET_DATE
=
2026-05-11
DB_SRC
=
~/.screenpipe/db.sqlite
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_db.sh
TARGET_DATE
=
2026-05-11
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_files.sh
Copy the entire
lib/
folder to your Mac and run
the main script from there
.
Feedback submitted
lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there
Expand content to scroll
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s [URL_WITH_CREDENTIALS] ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 9468000
drwxr-xr-x 24 lukas staff 768 13 May 11:25 .
drwx------+ 96 lukas staff 3072 13 May 09:16 ..
-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data
-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite
-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm
-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log
-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log
-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts
-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll
total 48
drwxrwxrwx 5 lukas staff 160 13 May 10:24 .
drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..
-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh
-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh
-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $
Expand content to scroll
Thought
for 3s
The
error shows
lib/lib/
doubled in the path. The issue is that
the lib modules define their own
SCRIPT_DIR
variable, which overwrites
the one from the main script. When
screenpipe_sync_db.sh
or
screenpipe_sync_files.sh
sources
screenpipe_sync_helpers.sh
, they use their own directory (
already inside
lib
), causing the path to be doubled
.
Fix: Use
unique variable names in lib
modules to avoid conflicts:
screenpipe_sync_db.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$LIB_DIR
/screenpipe_sync_helpers.sh"
Thoughts
screenpipe_sync_files.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$LIB_DIR
/screenpipe_sync_helpers.sh"...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Add audio file copying to sync flow","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"37","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total_size","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"du","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-sh","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$nas_audio","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cut","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-f1","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %d file(s), %s\\n\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio files total:\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$count","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$total_size","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tee","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-a","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$LOG_FILE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying screenpipe logs for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── COPY LOGS ────────────────────────────────────────────────────────────────","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"I've completed the refactoring","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and added audio file syncing. Here's what was done:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactoring:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Created","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"directory with three modules:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_helpers.sh","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- logging, timing, SQLite helpers","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_db.sh","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- all DB operations (tables, indexes","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", sync, FTS, verify)","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_files.sh","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- data folder, audio files, and log","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copying","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactored","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to source","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the modules and call functions","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Main script","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"maintains exact same CLI interface for backward compatibility","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Audio File Syncing:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Added","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files()","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"function to","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_files.sh","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Queries","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"table for file paths on","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target date","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Copies audio files (e.g.,","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LakyLak bose","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"qc35 II (input)_2026-05","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-12_06-49-17.mp4","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") from","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Integrated into main sync flow between data folder and log","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copying","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Usage:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Main script (backward compatible)","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Standalone module testing","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TARGET_DATE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"DB_SRC","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/db.sqlite","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"NAS_MOUNT","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Volumes/screenpipe","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\\","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./lib/screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TARGET_DATE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"NAS_MOUNT","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Volumes/screenpipe","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\\","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./lib/screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Copy the entire","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder to your Mac and run","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the main script from there","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target_date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$1","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$target_date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Done. Audio","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"files will now be copied to","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/{date}/audio/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"instead of","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":". This keeps audio files organized by date alongside the frame","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"will that all work if I move","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"@","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and lib folder inside scripts folder?","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 2s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", it will work as long as you","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"keep the relative structure intact. The script uses:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This dynamically","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"finds the directory of","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the script being executed, so moving both","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"into a","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder will","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"work fine.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Structure that will work:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── lib/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_helpers.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Just","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy the entire","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder (with","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"inside it) to your Mac","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s http://localhost:3030/health | jq \"{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeline.capture_fps_actual, frames: .pipeline.frames_captured}\"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"{","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"status\": \"healthy\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frame_status\": \"ok\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_status\": \"ok\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"last_frame\": \"2026-05-13T11:28:00+03:00\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"uptime\": 7879.209718708,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"fps\": 0.27426608468981734,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frames\": 2161","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"} also what is degraded I received it as response a while ago {","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"status\": \"degraded\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frame_status\": \"ok\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_status\": \"stale\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"last_frame\": \"2026-05-13T11:27:35+03:00\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"uptime\": 7854.077230416,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"fps\": 0.27488907183634176,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frames\": 2159","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes, that command is still","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"correct. It queries the Screenpipe health endpoint","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"at","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"localhost:3030/health","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Status meanings:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"healthy\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- All systems OK","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"(frame_status","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\", audio","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"_status: \"ok\")","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"degraded\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- One or","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more subsystems have issues (your example","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"shows audio_status: \"st","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ale\")","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"What \"degraded\" with \"audio_status: stale\" means:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Frame","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"capture is working fine","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Audio capture is not working properly or","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"is outdated/delayed","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"could indicate the","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio device disconnected, permission","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"issues, or the audio pipeline stopped","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Other possible statuses:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"frame_status","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"| \"stale\" | \"error","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_status","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\" | \"stale","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" | \"error\"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The command","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"format is fine - it","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"extracts the key metrics","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"you need to","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"monitor Screenpipe's","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"health.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total 9468000","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 24 lukas staff 768 13 May 11:25 .","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwx------+ 96 lukas staff 3072 13 May 09:16 ..","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total 48","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxrwxrwx 5 lukas staff 160 13 May 10:24 .","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 3s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"error shows","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/lib/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"doubled in the path. The issue is that","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the lib modules define their own","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"variable, which overwrites","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the one from the main script. When","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"sources","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", they use their own directory (","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"already inside","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"), causing the path to be doubled","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Fix: Use","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"unique variable names in lib","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"modules to avoid conflicts:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/screenpipe_sync_helpers.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LIB_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$LIB_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/screenpipe_sync_helpers.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/screenpipe_sync_helpers.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LIB_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$LIB_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/screenpipe_sync_helpers.sh\"","depth":24,"on_screen":true,"role_description":"text"}]...
|
6450522460570723138
|
2783092612581518571
|
visual_change
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
1m
Show More
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4
# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
# ─── COPY LOGS ────────────────────────────────────────────────────────────────
Thoughts
7
/
7
tasks
done
Thought
for 1s
I've completed the refactoring
and added audio file syncing. Here's what was done:
Refactoring:
Created
lib/
directory with three modules:
lib/screenpipe_sync_helpers.sh
- logging, timing, SQLite helpers
lib/screenpipe_sync_db.sh
- all DB operations (tables, indexes
, sync, FTS, verify)
lib/screenpipe_sync_files.sh
- data folder, audio files, and log
copying
Refactored
screenpipe_sync.sh
to source
the modules and call functions
Main script
maintains exact same CLI interface for backward compatibility
Audio File Syncing:
Added
copy_audio_files()
function to
lib/screenpipe_sync_files.sh
Queries
audio_chunks
table for file paths on
target date
Copies audio files (e.g.,
LakyLak bose
qc35 II (input)_2026-05
-12_06-49-17.mp4
) from
~/.screenpipe/data
to
$NAS_DATA/audio/
Integrated into main sync flow between data folder and log
copying
Usage:
bash
# Main script (backward compatible)
./screenpipe_sync.sh
2026-05-11
# Standalone module testing
TARGET_DATE
=
2026-05-11
DB_SRC
=
~/.screenpipe/db.sqlite
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_db.sh
TARGET_DATE
=
2026-05-11
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_files.sh
Copy the entire
lib/
folder to your Mac and run
the main script from there
.
Feedback submitted
lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there
Expand content to scroll
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s [URL_WITH_CREDENTIALS] ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 9468000
drwxr-xr-x 24 lukas staff 768 13 May 11:25 .
drwx------+ 96 lukas staff 3072 13 May 09:16 ..
-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data
-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite
-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm
-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log
-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log
-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts
-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll
total 48
drwxrwxrwx 5 lukas staff 160 13 May 10:24 .
drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..
-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh
-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh
-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $
Expand content to scroll
Thought
for 3s
The
error shows
lib/lib/
doubled in the path. The issue is that
the lib modules define their own
SCRIPT_DIR
variable, which overwrites
the one from the main script. When
screenpipe_sync_db.sh
or
screenpipe_sync_files.sh
sources
screenpipe_sync_helpers.sh
, they use their own directory (
already inside
lib
), causing the path to be doubled
.
Fix: Use
unique variable names in lib
modules to avoid conflicts:
screenpipe_sync_db.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$LIB_DIR
/screenpipe_sync_helpers.sh"
Thoughts
screenpipe_sync_files.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$LIB_DIR
/screenpipe_sync_helpers.sh"...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32172
|
1243
|
30
|
2026-05-13T09:09:03.209759+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663343209_m2.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"bounds":{"left":0.0,"top":0.047885075,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.05586592,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"bounds":{"left":0.0,"top":0.07581804,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.083798885,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"bounds":{"left":0.0,"top":0.103751,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.11173184,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"bounds":{"left":0.004986702,"top":0.11811652,"width":0.003656915,"height":0.007980846},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.005319149,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}},{"char_start":1,"char_count":1,"bounds":{"left":0.006981383,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}}],"role_description":"text"}]...
|
-3995145219702723348
|
-7279446903744214270
|
click
|
hybrid
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
selectionv screenpipe [SSH: nas)• _ #recycie• tr appscreenpipe_sync_helpers.sh-archive.dbscreenpipe sync updated.shscreennine.de-screenpipe_sync_old.sh393395• COPY DATA FOLDER# Always runsregardless of DB sync statusstep "Copying data folder for STARGET DATE"it -d "SDATA SRC" : thenmkdir =p "SNAS DATA/STARGET DATE"RSYNC START=S(date +%s)printt%-36s " "rsync STARGET DATE " NAS"rsync -a --ignore-existing\"SDATA SRC/""SNAS DATA/STARGET DATE/"2>>"'SLOG FILERSYNC DUR=S S(date +%s - RSYNC START )COPTED FILESESAS"SNAS DATA/STARGET DATE" We-Utr-d'RC FILES=SLS "SDATA SRC" WC-tr -dCOPTED STES(dU-sh "SNAS DATA/STARGET DATE" Cut -50Iif "sCOPTED FILES" -ed "SSRC FILES" : then&s files. &sn'"rsync STARGET DATE/ → NAS""SRSYNC DUR 60 "S RSYNG DUR % 66)""SCOPTED FTLES" "SCOPTED SIZE" | tee -a "SLOG FILE"printt"n%-36s x %s / %s filles.n"|"rsvnc STARGET DATE/ → NAS" "SCOPTED FILES" "SSRG FTLES" | tee -a "$LOG FTLE"printf"%-36s &s\n" "rsvnc STARGET DATE/ → NAS" "skiooed no source dir)"COPY LOGSsteo "Copvina screenoioe loas for sTARGET dATE"NAS LOGS="SNAS MOUNT/loas'mkdir -oshoot =s nullalobLOG FTLES= "sHOME/screennine/screennine.STARGET DATE "*.100 )if " S #LoG FILESIal} -ot 0 1: then%-36s " "rsvnc loas » NAS"-a "SLOG FILESIal?""SNAS LOGS/" 2>>"SLOG FILE'TOTAL ST7E-Sidu ch ISloG FTLECIaB" I tall =1 1 cut -t1)printf ",ed file(s). %sln""S#LOG FTLESIal]" "STOTAL STZE" | tee -a "SLOG FTLE"printf"4-36s %sln" "rsvnc loas » NAS" "skioned (no matching loas)"TOTAL FLAPSED=S(( S(date +%c) - SCRTPT START ))DR ST7F-&(du _ch "&NAS DRI 1 cut =f1)'Archive DR size:SDR STZE"C/I TOTAI FLAPSED / 60 )mel( TOTAI FLAPSED & 60 ))çamaster'@ 0040 A4UX> screenpipe sync helpers.sh Uscreenpipe sync files.sh Ulib > >_ screenpipe_sync_db.shenpipe_sync_db.shjase operations for screenpipe syncse this file to use the functions, or execute standalone with env vars set2"S(cd "$(dirname "S(BASH_SOURCE[0))")" S& pwd)""SLIb DIK/Screenpipe sync nelpers.sh"IR SUNCTTONGt_tables() {sqlite heredoc "creating tables"SNAS DB ASEXISTS nas. framesAS SELECT *ExISTS nas.video chunks AS SELECT * FRoM main.video chunksAS SELECT *WHERE 6TABLE TE NOT EXTSTS nas.audio_chunkS iotions AS SELECT * FROM main. audio chunks jotions WHERE 0:ate indexes) {"creatina indexes"EXISTS nas.idx frames timestamoN frames(app nameON frames (window name):EXISTS nas.idx frames video chunk idON frames video chunk id)EXISTS nas. idx elements frame src role ON elements(frame id, source, role) WHERE text IS NOT NULL:EXISTS nas. idx ui events frame idExsTs nas.idx ocr text trame 10ON meetinas meeting start):ON Video chunks device name):EXISTS nas.idx audio chunks timestamiExsTs nas.idx audio trans chunk1diINDEX IF NOT EXISTS nas.idx audio trans timestamoON audio transcrintions(audio chunk id)ON audio transcriptions(timestamo):ate_fts()(sqlite_heredoc "creating FTS tables" •'SNAS DB' AS nas:‹t. role, frame id UNINdexeD.stent='elements', content rowid='id', tokenize='unicode61'VIRTUAL TABLE IF NOT EXISTS nas.frames fts USING fts501l text, aoo name, window name, browser url. id UNTNDEXEDVIRTUAL TABLE IF NOT EXISTS nas.ui events fts USING fts5BBBIsupoont Dally • In zn oim100% S2wea 1s May 12-09:04•П LкRefactor Sync Script+ .*•seems to be working fine but there are no audio files for the date. I can see them though. lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny«oce o a ceado 5 -/ acsanpeкcreыseceneoe, утc 3n 2025 05-42(2026-05-13 11:53:261 Eaazaaaaaaaaaaaaazaaazaaaaznazzzzz=(+00mO0s) * Preflight checksCaurca DROK Nolumes/screenoipeArchive DB:Tnought for 2sThe audio file querv is returnina no results. Check what the audso chunke table actually contains:saLite? ~/.screennine/db.salite "SELECT id. path. timestamo FROM audilo chunks WHERE date(tirestamo) = 12026-05-12ºco chect tthe mthcoltimneyise and wnartecalllesqlite3 ~/.screenpipe/db.sqlite "PRAGMA table_ info(audio _chunks);"The audio files might be stored in a difterent column or the paths might be relativeCo w al "do.salite SELECT id, path, timestampFROM audio chunks WHERE date(timestamo) = '2026-05-12' LIMIT 5:Screen Reader Optimized Ln 390, Col 86 Spaces: 2 UTF-8 LF Shell Script Teams Windsurf - Settings...
|
32170
|
NULL
|
NULL
|
NULL
|
|
32171
|
1242
|
27
|
2026-05-13T09:09:03.239676+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663343239_m1.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"}]...
|
762036621348111992
|
-6632898532267013554
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32165
|
1243
|
27
|
2026-05-13T09:08:49.907984+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663329907_m2.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
1m
Show More
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4
# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
# ─── COPY LOGS ────────────────────────────────────────────────────────────────
Thoughts
7
/
7
tasks
done
Thought
for 1s
I've completed the refactoring
and added audio file syncing. Here's what was done:
Refactoring:
Created
lib/
directory with three modules:
lib/screenpipe_sync_helpers.sh
- logging, timing, SQLite helpers
lib/screenpipe_sync_db.sh
- all DB operations (tables, indexes
, sync, FTS, verify)
lib/screenpipe_sync_files.sh
- data folder, audio files, and log
copying
Refactored
screenpipe_sync.sh
to source
the modules and call functions
Main script
maintains exact same CLI interface for backward compatibility
Audio File Syncing:
Added
copy_audio_files()
function to
lib/screenpipe_sync_files.sh
Queries
audio_chunks
table for file paths on
target date
Copies audio files (e.g.,
LakyLak bose
qc35 II (input)_2026-05
-12_06-49-17.mp4
) from
~/.screenpipe/data
to
$NAS_DATA/audio/
Integrated into main sync flow between data folder and log
copying
Usage:
bash
# Main script (backward compatible)
./screenpipe_sync.sh
2026-05-11
# Standalone module testing
TARGET_DATE
=
2026-05-11
DB_SRC
=
~/.screenpipe/db.sqlite
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_db.sh
TARGET_DATE
=
2026-05-11
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_files.sh
Copy the entire
lib/
folder to your Mac and run
the main script from there
.
Feedback submitted
lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there
Expand content to scroll
Thoughts
screenpipe_sync_files.sh
+
1
-
1...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"bounds":{"left":0.0,"top":0.047885075,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.05586592,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"bounds":{"left":0.0,"top":0.07581804,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.083798885,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"bounds":{"left":0.0,"top":0.103751,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.11173184,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"bounds":{"left":0.004986702,"top":0.11811652,"width":0.003656915,"height":0.007980846},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.005319149,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}},{"char_start":1,"char_count":1,"bounds":{"left":0.006981383,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}}],"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"bounds":{"left":0.0,"top":0.13168396,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.1396648,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"bounds":{"left":0.0,"top":0.15961692,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"bounds":{"left":0.0,"top":0.18754987,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.19553073,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"bounds":{"left":0.0,"top":0.21548285,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.22346368,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"bounds":{"left":0.0,"top":0.2434158,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.25139666,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"bounds":{"left":0.01462766,"top":0.047885075,"width":0.013630319,"height":0.023144454},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"bounds":{"left":0.01462766,"top":0.054269753,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.014960106,"top":0.055067837,"width":0.0019946808,"height":0.008778931}},{"char_start":1,"char_count":7,"bounds":{"left":0.016954787,"top":0.055067837,"width":0.011303191,"height":0.008778931}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.011635638,"top":0.07102953,"width":0.0831117,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.0726257,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.016954787,"top":0.07102953,"width":0.035904255,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"bounds":{"left":0.016954787,"top":0.07342378,"width":0.035904255,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.07342378,"width":0.0019946808,"height":0.009577015}},{"char_start":1,"char_count":20,"bounds":{"left":0.018949468,"top":0.07342378,"width":0.034242023,"height":0.009577015}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.08699122,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.08699122,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.025930852,"top":0.08699122,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.087789305,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.02825798,"top":0.087789305,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.10215483,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.10215483,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0063164895,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":2,"bounds":{"left":0.027925532,"top":0.10215483,"width":0.004654255,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.10215483,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.11652035,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.11652035,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.025930852,"top":0.11652035,"width":0.0076462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.11731844,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":3,"bounds":{"left":0.02825798,"top":0.11731844,"width":0.005319149,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.01462766,"top":0.13088587,"width":0.0043218085,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"bounds":{"left":0.025930852,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.13168396,"width":0.0009973404,"height":0.0103751}},{"char_start":1,"char_count":2,"bounds":{"left":0.026928192,"top":0.13168396,"width":0.0033244682,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.13168396,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.14604948,"width":0.003656915,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"bounds":{"left":0.027925532,"top":0.14604948,"width":0.039893616,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.14604948,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":20,"bounds":{"left":0.029920213,"top":0.14604948,"width":0.037898935,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.14604948,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.16041501,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"bounds":{"left":0.027925532,"top":0.16041501,"width":0.04255319,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.16121309,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":23,"bounds":{"left":0.029920213,"top":0.16121309,"width":0.04089096,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.16121309,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.17478053,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"bounds":{"left":0.027925532,"top":0.17478053,"width":0.048204787,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.17557861,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.029920213,"top":0.17557861,"width":0.046210106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.17557861,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.18994413,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.18994413,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.006981383,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.0009973404,"height":0.011173184}},{"char_start":1,"char_count":3,"bounds":{"left":0.026928192,"top":0.18994413,"width":0.0063164895,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.18994413,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.20430966,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.20430966,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.025930852,"top":0.20430966,"width":0.00930851,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.20510775,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":4,"bounds":{"left":0.02825798,"top":0.20510775,"width":0.006981383,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.21867518,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.025930852,"top":0.21867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.21947326,"width":0.0013297872,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.026928192,"top":0.21947326,"width":0.014960106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.23383878,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.029920213,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":16,"bounds":{"left":0.027925532,"top":0.23383878,"width":0.027925532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.2482043,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"bounds":{"left":0.025930852,"top":0.2482043,"width":0.01761968,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.2490024,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.027925532,"top":0.2490024,"width":0.015625,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.26256984,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.025930852,"top":0.26256984,"width":0.025265958,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.26336792,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":13,"bounds":{"left":0.027925532,"top":0.26336792,"width":0.023603724,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.26336792,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.27773345,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.046210106,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":27,"bounds":{"left":0.027925532,"top":0.27773345,"width":0.04454787,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.27773345,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.29209897,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.025930852,"top":0.29209897,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.29289705,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":8,"bounds":{"left":0.02825798,"top":0.29289705,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3064645,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.025930852,"top":0.3064645,"width":0.023271276,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.30726257,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.30726257,"width":0.021276595,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3216281,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.021941489,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.3216281,"width":0.019614361,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.33599362,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"bounds":{"left":0.025930852,"top":0.33599362,"width":0.04488032,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3367917,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":24,"bounds":{"left":0.027925532,"top":0.3367917,"width":0.04288564,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.3367917,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.35035914,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"bounds":{"left":0.025930852,"top":0.35035914,"width":0.042220745,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.35115722,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":22,"bounds":{"left":0.027925532,"top":0.35115722,"width":0.04055851,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.35115722,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.36552274,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.04055851,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":21,"bounds":{"left":0.027925532,"top":0.36552274,"width":0.03856383,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.36552274,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.37988827,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.025930852,"top":0.37988827,"width":0.04920213,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.38068634,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.027925532,"top":0.38068634,"width":0.047539894,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.38068634,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3942538,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.025930852,"top":0.3942538,"width":0.03357713,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.39505187,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":17,"bounds":{"left":0.027925532,"top":0.39505187,"width":0.03158245,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.087101065,"top":0.39505187,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.4094174,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.023936171,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.027925532,"top":0.4094174,"width":0.022273935,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.011635638,"top":0.95530725,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.95690346,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"bounds":{"left":0.016954787,"top":0.95530725,"width":0.011635638,"height":0.015163607},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"bounds":{"left":0.016954787,"top":0.9577015,"width":0.011635638,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9584996,"width":0.0026595744,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.019946808,"top":0.9584996,"width":0.008976064,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.011635638,"top":0.9696728,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.97206706,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"bounds":{"left":0.016954787,"top":0.97047085,"width":0.013630319,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"bounds":{"left":0.016954787,"top":0.9728651,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9728651,"width":0.0023271276,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.019281914,"top":0.9728651,"width":0.011635638,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0016622341,"top":0.9848364,"width":0.024268618,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.0039893617,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.00831117,"top":0.98723066,"width":0.015292553,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.008643617,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.009640957,"top":0.98723066,"width":0.012300532,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.027260639,"top":0.9848364,"width":0.019281914,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.027925532,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"bounds":{"left":0.032247342,"top":0.98723066,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.032579787,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.03357713,"top":0.98723066,"width":0.010970744,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.04654255,"top":0.9848364,"width":0.0063164895,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.054853722,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.05618351,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.06050532,"top":0.98723066,"width":0.0043218085,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.064494684,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.069148935,"top":0.98723066,"width":0.0029920214,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"bounds":{"left":0.07513298,"top":0.9848364,"width":0.010305851,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.07646277,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"bounds":{"left":0.080784574,"top":0.98723066,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.99102396,"top":0.9848364,"width":0.008976042,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"bounds":{"left":0.9567819,"top":0.9848364,"width":0.03357713,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"bounds":{"left":0.9421542,"top":0.9848364,"width":0.012965426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"bounds":{"left":0.91988033,"top":0.9848364,"width":0.020611702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"bounds":{"left":0.9115692,"top":0.9848364,"width":0.0066489363,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"bounds":{"left":0.8969415,"top":0.9848364,"width":0.013297873,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"bounds":{"left":0.87699467,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"bounds":{"left":0.8494016,"top":0.9848364,"width":0.026263298,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":0.80418885,"top":0.9848364,"width":0.04454787,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"bounds":{"left":0.76163566,"top":0.05347167,"width":0.034574468,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.76163566,"top":0.054269753,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":19,"bounds":{"left":0.76396275,"top":0.054269753,"width":0.032247342,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23238032,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Add audio file copying to sync flow","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.05851064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":21,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.042220745,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"37","depth":23,"bounds":{"left":0.9880319,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total_size","depth":24,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7912234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"du","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-sh","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.80984044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$nas_audio","depth":24,"bounds":{"left":0.81150264,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8317819,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"bounds":{"left":0.8334442,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.83543885,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cut","depth":24,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-f1","depth":24,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")","depth":24,"bounds":{"left":0.8500665,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %d file(s), %s\\n\"","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8480718,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio files total:\"","depth":24,"bounds":{"left":0.8500665,"top":0.07102953,"width":0.036901597,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.88663566,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$count","depth":24,"bounds":{"left":0.8902925,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9015958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.90325797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.90525264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$total_size","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9271942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9288564,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"bounds":{"left":0.93085104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9325133,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tee","depth":24,"bounds":{"left":0.93450797,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-a","depth":24,"bounds":{"left":0.9418218,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.94547874,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9474734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$LOG_FILE","depth":24,"bounds":{"left":0.94913566,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.96575797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98769945,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":23,"bounds":{"left":0.9896942,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.045877658,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84640956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.029587766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying screenpipe logs for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.05319149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8317819,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8537234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98769945,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":23,"bounds":{"left":0.9896942,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"bounds":{"left":0.7749335,"top":0.07102953,"width":0.045877658,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.029587766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── COPY LOGS ────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76828456,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"I've completed the refactoring","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.053856384,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and added audio file syncing. Here's what was done:","depth":21,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.09507979,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactoring:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Created","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.015625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/","depth":23,"bounds":{"left":0.78723407,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"directory with three modules:","depth":22,"bounds":{"left":0.79587764,"top":0.07102953,"width":0.053523935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_helpers.sh","depth":26,"bounds":{"left":0.78424203,"top":0.07102953,"width":0.065159574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- logging, timing, SQLite helpers","depth":24,"bounds":{"left":0.8490692,"top":0.07102953,"width":0.058843084,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_db.sh","depth":26,"bounds":{"left":0.78424203,"top":0.07102953,"width":0.05418883,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- all DB operations (tables, indexes","depth":24,"bounds":{"left":0.8384308,"top":0.07102953,"width":0.06349734,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", sync, FTS, verify)","depth":24,"bounds":{"left":0.9015958,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_files.sh","depth":26,"bounds":{"left":0.78424203,"top":0.07102953,"width":0.060837764,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- data folder, audio files, and log","depth":24,"bounds":{"left":0.84474736,"top":0.07102953,"width":0.058843084,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copying","depth":24,"bounds":{"left":0.90359044,"top":0.07102953,"width":0.015292553,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactored","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.020944148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7915558,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":24,"bounds":{"left":0.7972075,"top":0.07102953,"width":0.039228722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to source","depth":22,"bounds":{"left":0.83610374,"top":0.07102953,"width":0.017952127,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the modules and call functions","depth":22,"bounds":{"left":0.8540558,"top":0.07102953,"width":0.055851065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Main script","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"maintains exact same CLI interface for backward compatibility","depth":22,"bounds":{"left":0.79089093,"top":0.07102953,"width":0.112034574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Audio File Syncing:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.03557181,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Added","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.011968086,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7825798,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78357714,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files()","depth":24,"bounds":{"left":0.78922874,"top":0.07102953,"width":0.038896278,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"function to","depth":22,"bounds":{"left":0.828125,"top":0.07102953,"width":0.021609042,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.84973407,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_files.sh","depth":24,"bounds":{"left":0.8550532,"top":0.07102953,"width":0.060837764,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Queries","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.013962766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":23,"bounds":{"left":0.7869016,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"table for file paths on","depth":22,"bounds":{"left":0.81017286,"top":0.07102953,"width":0.039228722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target date","depth":22,"bounds":{"left":0.8490692,"top":0.07102953,"width":0.020944148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Copies audio files (e.g.,","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.042220745,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.8128325,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LakyLak bose","depth":23,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"qc35 II (input)_2026-05","depth":23,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-12_06-49-17.mp4","depth":23,"bounds":{"left":0.88098407,"top":0.07102953,"width":0.029587766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") from","depth":22,"bounds":{"left":0.9115692,"top":0.07102953,"width":0.010970744,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.9225399,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data","depth":23,"bounds":{"left":0.92453456,"top":0.07102953,"width":0.03324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to","depth":22,"bounds":{"left":0.9587766,"top":0.07102953,"width":0.004654255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.9634308,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":23,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.22041224,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Integrated into main sync flow between data folder and log","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.105053194,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copying","depth":22,"bounds":{"left":0.8756649,"top":0.07102953,"width":0.015625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Usage:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Main script (backward compatible)","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.07047872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./screenpipe_sync.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.040226065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.8068484,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"bounds":{"left":0.8088431,"top":0.07102953,"width":0.019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Standalone module testing","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.05418883,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TARGET_DATE","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.78889626,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"bounds":{"left":0.79089093,"top":0.07102953,"width":0.019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.81083775,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"DB_SRC","depth":23,"bounds":{"left":0.8128325,"top":0.07102953,"width":0.011968086,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.82480055,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/db.sqlite","depth":23,"bounds":{"left":0.8267952,"top":0.07102953,"width":0.046210106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.87267286,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"NAS_MOUNT","depth":23,"bounds":{"left":0.8746675,"top":0.07102953,"width":0.018284574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.89295214,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Volumes/screenpipe","depth":23,"bounds":{"left":0.8949468,"top":0.07102953,"width":0.038231384,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.9328458,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\\","depth":23,"bounds":{"left":0.93484044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./lib/screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.7706117,"top":0.07102953,"width":0.05418883,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TARGET_DATE","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.78889626,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"bounds":{"left":0.79089093,"top":0.07102953,"width":0.019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.81083775,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"NAS_MOUNT","depth":23,"bounds":{"left":0.8128325,"top":0.07102953,"width":0.017952127,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.83078456,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Volumes/screenpipe","depth":23,"bounds":{"left":0.8327792,"top":0.07102953,"width":0.038231384,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.8706782,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\\","depth":23,"bounds":{"left":0.87267286,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./lib/screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.7706117,"top":0.07102953,"width":0.06017287,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Copy the entire","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.028590426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/","depth":22,"bounds":{"left":0.79288566,"top":0.07102953,"width":0.00731383,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder to your Mac and run","depth":21,"bounds":{"left":0.8011968,"top":0.07102953,"width":0.048537236,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the main script from there","depth":21,"bounds":{"left":0.8494016,"top":0.07102953,"width":0.047872342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"bounds":{"left":0.8969415,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there","depth":25,"bounds":{"left":0.8284575,"top":0.07102953,"width":0.16456117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.90458775,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9840425,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.9886968,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"bounds":{"left":0.99035907,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"}]...
|
9180191236176166086
|
4016585161346849004
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
1m
Show More
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4
# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
# ─── COPY LOGS ────────────────────────────────────────────────────────────────
Thoughts
7
/
7
tasks
done
Thought
for 1s
I've completed the refactoring
and added audio file syncing. Here's what was done:
Refactoring:
Created
lib/
directory with three modules:
lib/screenpipe_sync_helpers.sh
- logging, timing, SQLite helpers
lib/screenpipe_sync_db.sh
- all DB operations (tables, indexes
, sync, FTS, verify)
lib/screenpipe_sync_files.sh
- data folder, audio files, and log
copying
Refactored
screenpipe_sync.sh
to source
the modules and call functions
Main script
maintains exact same CLI interface for backward compatibility
Audio File Syncing:
Added
copy_audio_files()
function to
lib/screenpipe_sync_files.sh
Queries
audio_chunks
table for file paths on
target date
Copies audio files (e.g.,
LakyLak bose
qc35 II (input)_2026-05
-12_06-49-17.mp4
) from
~/.screenpipe/data
to
$NAS_DATA/audio/
Integrated into main sync flow between data folder and log
copying
Usage:
bash
# Main script (backward compatible)
./screenpipe_sync.sh
2026-05-11
# Standalone module testing
TARGET_DATE
=
2026-05-11
DB_SRC
=
~/.screenpipe/db.sqlite
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_db.sh
TARGET_DATE
=
2026-05-11
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_files.sh
Copy the entire
lib/
folder to your Mac and run
the main script from there
.
Feedback submitted
lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there
Expand content to scroll
Thoughts
screenpipe_sync_files.sh
+
1
-
1...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32164
|
1242
|
23
|
2026-05-13T09:08:49.904180+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663329904_m1.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
1m
Show More
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4
# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
# ─── COPY LOGS ────────────────────────────────────────────────────────────────
Thoughts
7
/
7
tasks
done
Thought
for 1s
I've completed the refactoring
and added audio file syncing. Here's what was done:
Refactoring:
Created
lib/
directory with three modules:
lib/screenpipe_sync_helpers.sh
- logging, timing, SQLite helpers
lib/screenpipe_sync_db.sh
- all DB operations (tables, indexes
, sync, FTS, verify)
lib/screenpipe_sync_files.sh
- data folder, audio files, and log
copying
Refactored
screenpipe_sync.sh
to source
the modules and call functions
Main script
maintains exact same CLI interface for backward compatibility
Audio File Syncing:
Added
copy_audio_files()
function to
lib/screenpipe_sync_files.sh
Queries
audio_chunks
table for file paths on
target date
Copies audio files (e.g.,
LakyLak bose
qc35 II (input)_2026-05
-12_06-49-17.mp4
) from
~/.screenpipe/data
to
$NAS_DATA/audio/
Integrated into main sync flow between data folder and log
copying
Usage:
bash
# Main script (backward compatible)
./screenpipe_sync.sh
2026-05-11
# Standalone module testing
TARGET_DATE
=
2026-05-11
DB_SRC
=
~/.screenpipe/db.sqlite
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_db.sh
TARGET_DATE
=
2026-05-11
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_files.sh
Copy the entire
lib/
folder to your Mac and run
the main script from there
.
Feedback submitted
lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there
Expand content to scroll...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Add audio file copying to sync flow","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"37","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total_size","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"du","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-sh","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$nas_audio","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cut","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-f1","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %d file(s), %s\\n\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio files total:\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$count","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$total_size","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tee","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-a","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$LOG_FILE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying screenpipe logs for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── COPY LOGS ────────────────────────────────────────────────────────────────","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"I've completed the refactoring","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and added audio file syncing. Here's what was done:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactoring:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Created","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"directory with three modules:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_helpers.sh","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- logging, timing, SQLite helpers","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_db.sh","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- all DB operations (tables, indexes","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", sync, FTS, verify)","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_files.sh","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- data folder, audio files, and log","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copying","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactored","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to source","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the modules and call functions","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Main script","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"maintains exact same CLI interface for backward compatibility","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Audio File Syncing:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Added","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files()","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"function to","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_files.sh","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Queries","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"table for file paths on","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target date","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Copies audio files (e.g.,","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LakyLak bose","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"qc35 II (input)_2026-05","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-12_06-49-17.mp4","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") from","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Integrated into main sync flow between data folder and log","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copying","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Usage:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Main script (backward compatible)","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Standalone module testing","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TARGET_DATE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"DB_SRC","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/db.sqlite","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"NAS_MOUNT","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Volumes/screenpipe","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\\","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./lib/screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TARGET_DATE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"NAS_MOUNT","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Volumes/screenpipe","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\\","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./lib/screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Copy the entire","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder to your Mac and run","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the main script from there","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
5506348976938712403
|
4016585161351076076
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
1m
Show More
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4
# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
# ─── COPY LOGS ────────────────────────────────────────────────────────────────
Thoughts
7
/
7
tasks
done
Thought
for 1s
I've completed the refactoring
and added audio file syncing. Here's what was done:
Refactoring:
Created
lib/
directory with three modules:
lib/screenpipe_sync_helpers.sh
- logging, timing, SQLite helpers
lib/screenpipe_sync_db.sh
- all DB operations (tables, indexes
, sync, FTS, verify)
lib/screenpipe_sync_files.sh
- data folder, audio files, and log
copying
Refactored
screenpipe_sync.sh
to source
the modules and call functions
Main script
maintains exact same CLI interface for backward compatibility
Audio File Syncing:
Added
copy_audio_files()
function to
lib/screenpipe_sync_files.sh
Queries
audio_chunks
table for file paths on
target date
Copies audio files (e.g.,
LakyLak bose
qc35 II (input)_2026-05
-12_06-49-17.mp4
) from
~/.screenpipe/data
to
$NAS_DATA/audio/
Integrated into main sync flow between data folder and log
copying
Usage:
bash
# Main script (backward compatible)
./screenpipe_sync.sh
2026-05-11
# Standalone module testing
TARGET_DATE
=
2026-05-11
DB_SRC
=
~/.screenpipe/db.sqlite
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_db.sh
TARGET_DATE
=
2026-05-11
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_files.sh
Copy the entire
lib/
folder to your Mac and run
the main script from there
.
Feedback submitted
lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there
Expand content to scroll...
|
32163
|
NULL
|
NULL
|
NULL
|
|
32163
|
1242
|
22
|
2026-05-13T09:08:41.641081+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663321641_m1.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
1m
Show More
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4
# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
# ─── COPY LOGS ────────────────────────────────────────────────────────────────
Thoughts
7
/
7
tasks
done
Thought
for 1s
I've completed the refactoring
and added audio file syncing. Here's what was done:
Refactoring:
Created
lib/
directory with three modules:
lib/screenpipe_sync_helpers.sh
- logging, timing, SQLite helpers
lib/screenpipe_sync_db.sh
- all DB operations (tables, indexes
, sync, FTS, verify)
lib/screenpipe_sync_files.sh
- data folder, audio files, and log
copying
Refactored
screenpipe_sync.sh
to source
the modules and call functions
Main script
maintains exact same CLI interface for backward compatibility
Audio File Syncing:
Added
copy_audio_files()
function to
lib/screenpipe_sync_files.sh
Queries
audio_chunks
table for file paths on
target date
Copies audio files (e.g.,
LakyLak bose
qc35 II (input)_2026-05
-12_06-49-17.mp4
) from
~/.screenpipe/data
to
$NAS_DATA/audio/
Integrated into main sync flow between data folder and log
copying
Usage:
bash
# Main script (backward compatible)
./screenpipe_sync.sh
2026-05-11
# Standalone module testing
TARGET_DATE
=
2026-05-11
DB_SRC
=
~/.screenpipe/db.sqlite
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_db.sh
TARGET_DATE
=
2026-05-11
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_files.sh
Copy the entire
lib/
folder to your Mac and run
the main script from there
.
Feedback submitted
lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there
Expand content to scroll
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s [URL_WITH_CREDENTIALS] ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 9468000
drwxr-xr-x 24 lukas staff 768 13 May 11:25 .
drwx------+ 96 lukas staff 3072 13 May 09:16 ..
-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data
-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite
-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm
-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log
-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log
-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts
-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll
total 48
drwxrwxrwx 5 lukas staff 160 13 May 10:24 .
drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..
-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh
-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh
-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $
Expand content to scroll
Thought
for 3s
The
error shows
lib/lib/
doubled in the path. The issue is that
the lib modules define their own
SCRIPT_DIR
variable, which overwrites
the one from the main script. When
screenpipe_sync_db.sh
or
screenpipe_sync_files.sh
sources
screenpipe_sync_helpers.sh
, they use their own directory (
already inside
lib
), causing the path to be doubled
.
Fix: Use
unique variable names in lib
modules to avoid conflicts:
screenpipe_sync_db.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Add audio file copying to sync flow","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"37","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total_size","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"du","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-sh","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$nas_audio","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cut","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-f1","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %d file(s), %s\\n\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio files total:\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$count","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$total_size","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tee","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-a","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$LOG_FILE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying screenpipe logs for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── COPY LOGS ────────────────────────────────────────────────────────────────","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"I've completed the refactoring","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and added audio file syncing. Here's what was done:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactoring:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Created","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"directory with three modules:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_helpers.sh","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- logging, timing, SQLite helpers","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_db.sh","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- all DB operations (tables, indexes","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", sync, FTS, verify)","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_files.sh","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- data folder, audio files, and log","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copying","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactored","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to source","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the modules and call functions","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Main script","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"maintains exact same CLI interface for backward compatibility","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Audio File Syncing:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Added","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files()","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"function to","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_files.sh","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Queries","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"table for file paths on","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target date","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Copies audio files (e.g.,","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LakyLak bose","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"qc35 II (input)_2026-05","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-12_06-49-17.mp4","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") from","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Integrated into main sync flow between data folder and log","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copying","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Usage:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Main script (backward compatible)","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Standalone module testing","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TARGET_DATE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"DB_SRC","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/db.sqlite","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"NAS_MOUNT","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Volumes/screenpipe","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\\","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./lib/screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TARGET_DATE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"NAS_MOUNT","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Volumes/screenpipe","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\\","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./lib/screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Copy the entire","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder to your Mac and run","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the main script from there","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target_date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$1","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$target_date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Done. Audio","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"files will now be copied to","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/{date}/audio/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"instead of","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":". This keeps audio files organized by date alongside the frame","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"will that all work if I move","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"@","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and lib folder inside scripts folder?","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 2s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", it will work as long as you","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"keep the relative structure intact. The script uses:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This dynamically","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"finds the directory of","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the script being executed, so moving both","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"into a","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder will","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"work fine.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Structure that will work:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── lib/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_helpers.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Just","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy the entire","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder (with","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"inside it) to your Mac","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s http://localhost:3030/health | jq \"{status, frame_status, audio_status, last_frame: .last_frame_timestamp, uptime: .pipeline.uptime_secs, fps: .pipeline.capture_fps_actual, frames: .pipeline.frames_captured}\"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"{","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"status\": \"healthy\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frame_status\": \"ok\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_status\": \"ok\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"last_frame\": \"2026-05-13T11:28:00+03:00\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"uptime\": 7879.209718708,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"fps\": 0.27426608468981734,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frames\": 2161","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"} also what is degraded I received it as response a while ago {","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"status\": \"degraded\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frame_status\": \"ok\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_status\": \"stale\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"last_frame\": \"2026-05-13T11:27:35+03:00\",","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"uptime\": 7854.077230416,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"fps\": 0.27488907183634176,","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"frames\": 2159","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes, that command is still","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"correct. It queries the Screenpipe health endpoint","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"at","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"localhost:3030/health","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Status meanings:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"healthy\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- All systems OK","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"(frame_status","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\", audio","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"_status: \"ok\")","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"degraded\"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- One or","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more subsystems have issues (your example","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"shows audio_status: \"st","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ale\")","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"What \"degraded\" with \"audio_status: stale\" means:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Frame","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"capture is working fine","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Audio capture is not working properly or","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"is outdated/delayed","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"could indicate the","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio device disconnected, permission","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"issues, or the audio pipeline stopped","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Other possible statuses:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"frame_status","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"| \"stale\" | \"error","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_status","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":": \"ok\" | \"stale","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" | \"error\"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The command","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"format is fine - it","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"extracts the key metrics","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"you need to","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"monitor Screenpipe's","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"health.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total 9468000","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 24 lukas staff 768 13 May 11:25 .","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwx------+ 96 lukas staff 3072 13 May 09:16 ..","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total 48","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxrwxrwx 5 lukas staff 160 13 May 10:24 .","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 3s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"The","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"error shows","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/lib/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"doubled in the path. The issue is that","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the lib modules define their own","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"variable, which overwrites","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the one from the main script. When","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"or","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"sources","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", they use their own directory (","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"already inside","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"), causing the path to be doubled","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Fix: Use","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"unique variable names in lib","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"modules to avoid conflicts:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/screenpipe_sync_helpers.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LIB_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"}]...
|
3663167265002998653
|
2859652706735205577
|
visual_change
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
1m
Show More
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4
# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
# ─── COPY LOGS ────────────────────────────────────────────────────────────────
Thoughts
7
/
7
tasks
done
Thought
for 1s
I've completed the refactoring
and added audio file syncing. Here's what was done:
Refactoring:
Created
lib/
directory with three modules:
lib/screenpipe_sync_helpers.sh
- logging, timing, SQLite helpers
lib/screenpipe_sync_db.sh
- all DB operations (tables, indexes
, sync, FTS, verify)
lib/screenpipe_sync_files.sh
- data folder, audio files, and log
copying
Refactored
screenpipe_sync.sh
to source
the modules and call functions
Main script
maintains exact same CLI interface for backward compatibility
Audio File Syncing:
Added
copy_audio_files()
function to
lib/screenpipe_sync_files.sh
Queries
audio_chunks
table for file paths on
target date
Copies audio files (e.g.,
LakyLak bose
qc35 II (input)_2026-05
-12_06-49-17.mp4
) from
~/.screenpipe/data
to
$NAS_DATA/audio/
Integrated into main sync flow between data folder and log
copying
Usage:
bash
# Main script (backward compatible)
./screenpipe_sync.sh
2026-05-11
# Standalone module testing
TARGET_DATE
=
2026-05-11
DB_SRC
=
~/.screenpipe/db.sqlite
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_db.sh
TARGET_DATE
=
2026-05-11
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_files.sh
Copy the entire
lib/
folder to your Mac and run
the main script from there
.
Feedback submitted
lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there
Expand content to scroll
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted
is this still the correct command to get the status lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ curl -s [URL_WITH_CREDENTIALS] ~/.screenpipe $ ~/.screenpipe/scripts/screenpipe_sync.sh 2026-05-11
/Users/lukas/.screenpipe/scripts/screenpipe_sync.sh: line 28: /Users/lukas/.screenpipe/scripts/lib/lib/screenpipe_sync_files.sh: No such file or directory
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ll
total 9468000
drwxr-xr-x 24 lukas staff 768 13 May 11:25 .
drwx------+ 96 lukas staff 3072 13 May 09:16 ..
-rw-r--r--@ 1 lukas staff 10244 13 May 11:26 .DS_Store
-rw-r--r--@ 1 lukas staff 37 11 May 20:54 .sync_install_id
-rw-r--r-- 1 lukas staff 0 10 May 14:43 clipboard-disabled-after-crash
drwxr-xr-x 3996 lukas staff 127872 13 May 11:31 data
-rw-r--r--@ 1 lukas staff 4844216320 13 May 11:31 db.sqlite
-rw-r--r-- 1 lukas staff 65536 13 May 09:17 db.sqlite-shm
-rw-r--r-- 1 lukas staff 955872 13 May 11:31 db.sqlite-wal
drwxr-xr-x 9 lukas staff 288 10 May 11:39 pipes
-rw-r--r-- 1 lukas staff 28408 6 May 21:02 screenpipe.2026-05-06.0.log
-rw-r--r-- 1 lukas staff 566164 7 May 21:50 screenpipe.2026-05-07.0.log
-rw-r--r-- 1 lukas staff 382102 8 May 22:20 screenpipe.2026-05-08.0.log
-rw-r--r-- 1 lukas staff 167023 9 May 23:04 screenpipe.2026-05-09.0.log
-rw-r--r-- 1 lukas staff 88266 10 May 23:51 screenpipe.2026-05-10.0.log
-rw-r--r-- 1 lukas staff 528943 11 May 22:54 screenpipe.2026-05-11.0.log
-rw-r--r-- 1 lukas staff 294131 12 May 21:46 screenpipe.2026-05-12.0.log
-rw-r--r-- 1 lukas staff 86812 13 May 11:31 screenpipe.2026-05-13.0.log
-rwxr-xr-x 1 lukas staff 18401 12 May 21:28 screenpipe_sync.sh
-rwxr-xr-x@ 1 lukas staff 32005 11 May 20:54 screenpipe_sync.sh-bakk
-rwxr-xr-x@ 1 lukas staff 14994 6 May 20:26 screenpipe_sync.sh.bak
-rwxr-xr-x@ 1 lukas staff 21485 10 May 13:34 screenpipe_sync.sh.bak2
drwxr-xr-x 5 lukas staff 160 13 May 11:26 scripts
-rw-r--r--@ 1 lukas staff 13813 12 May 21:36 sync.log
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd scripts/lib
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $ ll
total 48
drwxrwxrwx 5 lukas staff 160 13 May 10:24 .
drwxr-xr-x 5 lukas staff 160 13 May 11:26 ..
-rwxrwxrwx 1 lukas staff 11643 13 May 10:24 screenpipe_sync_db.sh
-rwxrwxrwx 1 lukas staff 4896 13 May 11:22 screenpipe_sync_files.sh
-rwxrwxrwx 1 lukas staff 2997 13 May 10:23 screenpipe_sync_helpers.sh
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe/scripts/lib $
Expand content to scroll
Thought
for 3s
The
error shows
lib/lib/
doubled in the path. The issue is that
the lib modules define their own
SCRIPT_DIR
variable, which overwrites
the one from the main script. When
screenpipe_sync_db.sh
or
screenpipe_sync_files.sh
sources
screenpipe_sync_helpers.sh
, they use their own directory (
already inside
lib
), causing the path to be doubled
.
Fix: Use
unique variable names in lib
modules to avoid conflicts:
screenpipe_sync_db.sh
+
2
-
2
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/screenpipe_sync_helpers.sh"
LIB_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32162
|
1243
|
26
|
2026-05-13T09:08:39.965830+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663319965_m2.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
1m
Show More
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4
# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
# ─── COPY LOGS ────────────────────────────────────────────────────────────────
Thoughts...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"bounds":{"left":0.0,"top":0.047885075,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.05586592,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"bounds":{"left":0.0,"top":0.07581804,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.083798885,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"bounds":{"left":0.0,"top":0.103751,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.11173184,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"bounds":{"left":0.004986702,"top":0.11811652,"width":0.003656915,"height":0.007980846},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.005319149,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}},{"char_start":1,"char_count":1,"bounds":{"left":0.006981383,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}}],"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"bounds":{"left":0.0,"top":0.13168396,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.1396648,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"bounds":{"left":0.0,"top":0.15961692,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"bounds":{"left":0.0,"top":0.18754987,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.19553073,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"bounds":{"left":0.0,"top":0.21548285,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.22346368,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"bounds":{"left":0.0,"top":0.2434158,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.25139666,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"bounds":{"left":0.01462766,"top":0.047885075,"width":0.013630319,"height":0.023144454},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"bounds":{"left":0.01462766,"top":0.054269753,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.014960106,"top":0.055067837,"width":0.0019946808,"height":0.008778931}},{"char_start":1,"char_count":7,"bounds":{"left":0.016954787,"top":0.055067837,"width":0.011303191,"height":0.008778931}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.011635638,"top":0.07102953,"width":0.0831117,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.0726257,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.016954787,"top":0.07102953,"width":0.035904255,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"bounds":{"left":0.016954787,"top":0.07342378,"width":0.035904255,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.07342378,"width":0.0019946808,"height":0.009577015}},{"char_start":1,"char_count":20,"bounds":{"left":0.018949468,"top":0.07342378,"width":0.034242023,"height":0.009577015}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.08699122,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.08699122,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.025930852,"top":0.08699122,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.087789305,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.02825798,"top":0.087789305,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.10215483,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.10215483,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0063164895,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":2,"bounds":{"left":0.027925532,"top":0.10215483,"width":0.004654255,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.10215483,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.11652035,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.11652035,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.025930852,"top":0.11652035,"width":0.0076462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.11731844,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":3,"bounds":{"left":0.02825798,"top":0.11731844,"width":0.005319149,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.01462766,"top":0.13088587,"width":0.0043218085,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"bounds":{"left":0.025930852,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.13168396,"width":0.0009973404,"height":0.0103751}},{"char_start":1,"char_count":2,"bounds":{"left":0.026928192,"top":0.13168396,"width":0.0033244682,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.13168396,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.14604948,"width":0.003656915,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"bounds":{"left":0.027925532,"top":0.14604948,"width":0.039893616,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.14604948,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":20,"bounds":{"left":0.029920213,"top":0.14604948,"width":0.037898935,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.14604948,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.16041501,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"bounds":{"left":0.027925532,"top":0.16041501,"width":0.04255319,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.16121309,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":23,"bounds":{"left":0.029920213,"top":0.16121309,"width":0.04089096,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.16121309,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.17478053,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"bounds":{"left":0.027925532,"top":0.17478053,"width":0.048204787,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.17557861,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.029920213,"top":0.17557861,"width":0.046210106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.17557861,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.18994413,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.18994413,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.006981383,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.0009973404,"height":0.011173184}},{"char_start":1,"char_count":3,"bounds":{"left":0.026928192,"top":0.18994413,"width":0.0063164895,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.18994413,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.20430966,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.20430966,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.025930852,"top":0.20430966,"width":0.00930851,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.20510775,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":4,"bounds":{"left":0.02825798,"top":0.20510775,"width":0.006981383,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.21867518,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.025930852,"top":0.21867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.21947326,"width":0.0013297872,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.026928192,"top":0.21947326,"width":0.014960106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.23383878,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.029920213,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":16,"bounds":{"left":0.027925532,"top":0.23383878,"width":0.027925532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.2482043,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"bounds":{"left":0.025930852,"top":0.2482043,"width":0.01761968,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.2490024,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.027925532,"top":0.2490024,"width":0.015625,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.26256984,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.025930852,"top":0.26256984,"width":0.025265958,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.26336792,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":13,"bounds":{"left":0.027925532,"top":0.26336792,"width":0.023603724,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.26336792,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.27773345,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.046210106,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":27,"bounds":{"left":0.027925532,"top":0.27773345,"width":0.04454787,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.27773345,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.29209897,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.025930852,"top":0.29209897,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.29289705,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":8,"bounds":{"left":0.02825798,"top":0.29289705,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3064645,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.025930852,"top":0.3064645,"width":0.023271276,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.30726257,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.30726257,"width":0.021276595,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3216281,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.021941489,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.3216281,"width":0.019614361,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.33599362,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"bounds":{"left":0.025930852,"top":0.33599362,"width":0.04488032,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3367917,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":24,"bounds":{"left":0.027925532,"top":0.3367917,"width":0.04288564,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.3367917,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.35035914,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"bounds":{"left":0.025930852,"top":0.35035914,"width":0.042220745,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.35115722,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":22,"bounds":{"left":0.027925532,"top":0.35115722,"width":0.04055851,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.35115722,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.36552274,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.04055851,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":21,"bounds":{"left":0.027925532,"top":0.36552274,"width":0.03856383,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.36552274,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.37988827,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.025930852,"top":0.37988827,"width":0.04920213,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.38068634,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.027925532,"top":0.38068634,"width":0.047539894,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.38068634,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3942538,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.025930852,"top":0.3942538,"width":0.03357713,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.39505187,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":17,"bounds":{"left":0.027925532,"top":0.39505187,"width":0.03158245,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.087101065,"top":0.39505187,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.4094174,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.023936171,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.027925532,"top":0.4094174,"width":0.022273935,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.011635638,"top":0.95530725,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.95690346,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"bounds":{"left":0.016954787,"top":0.95530725,"width":0.011635638,"height":0.015163607},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"bounds":{"left":0.016954787,"top":0.9577015,"width":0.011635638,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9584996,"width":0.0026595744,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.019946808,"top":0.9584996,"width":0.008976064,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.011635638,"top":0.9696728,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.97206706,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"bounds":{"left":0.016954787,"top":0.97047085,"width":0.013630319,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"bounds":{"left":0.016954787,"top":0.9728651,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9728651,"width":0.0023271276,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.019281914,"top":0.9728651,"width":0.011635638,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0016622341,"top":0.9848364,"width":0.024268618,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.0039893617,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.00831117,"top":0.98723066,"width":0.015292553,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.008643617,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.009640957,"top":0.98723066,"width":0.012300532,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.027260639,"top":0.9848364,"width":0.019281914,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.027925532,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"bounds":{"left":0.032247342,"top":0.98723066,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.032579787,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.03357713,"top":0.98723066,"width":0.010970744,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.04654255,"top":0.9848364,"width":0.0063164895,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.054853722,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.05618351,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.06050532,"top":0.98723066,"width":0.0043218085,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.064494684,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.069148935,"top":0.98723066,"width":0.0029920214,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"bounds":{"left":0.07513298,"top":0.9848364,"width":0.010305851,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.07646277,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"bounds":{"left":0.080784574,"top":0.98723066,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.99102396,"top":0.9848364,"width":0.008976042,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"bounds":{"left":0.9567819,"top":0.9848364,"width":0.03357713,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"bounds":{"left":0.9421542,"top":0.9848364,"width":0.012965426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"bounds":{"left":0.91988033,"top":0.9848364,"width":0.020611702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"bounds":{"left":0.9115692,"top":0.9848364,"width":0.0066489363,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"bounds":{"left":0.8969415,"top":0.9848364,"width":0.013297873,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"bounds":{"left":0.87699467,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"bounds":{"left":0.8494016,"top":0.9848364,"width":0.026263298,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":0.80418885,"top":0.9848364,"width":0.04454787,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"bounds":{"left":0.76163566,"top":0.05347167,"width":0.034574468,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.76163566,"top":0.054269753,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":19,"bounds":{"left":0.76396275,"top":0.054269753,"width":0.032247342,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23238032,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Add audio file copying to sync flow","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.05851064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":21,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.042220745,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"37","depth":23,"bounds":{"left":0.9880319,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total_size","depth":24,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7912234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"du","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-sh","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.80984044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$nas_audio","depth":24,"bounds":{"left":0.81150264,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8317819,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"bounds":{"left":0.8334442,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.83543885,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cut","depth":24,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-f1","depth":24,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")","depth":24,"bounds":{"left":0.8500665,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %d file(s), %s\\n\"","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8480718,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio files total:\"","depth":24,"bounds":{"left":0.8500665,"top":0.07102953,"width":0.036901597,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.88663566,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$count","depth":24,"bounds":{"left":0.8902925,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9015958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.90325797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.90525264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$total_size","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9271942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9288564,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"bounds":{"left":0.93085104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9325133,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tee","depth":24,"bounds":{"left":0.93450797,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-a","depth":24,"bounds":{"left":0.9418218,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.94547874,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9474734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$LOG_FILE","depth":24,"bounds":{"left":0.94913566,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.96575797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98769945,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":23,"bounds":{"left":0.9896942,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.045877658,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84640956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.029587766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying screenpipe logs for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.05319149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8317819,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8537234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98769945,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":23,"bounds":{"left":0.9896942,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"bounds":{"left":0.7749335,"top":0.07102953,"width":0.045877658,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.029587766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── COPY LOGS ────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"}]...
|
6441641655969980316
|
3860683210768226540
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
1m
Show More
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4
# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
# ─── COPY LOGS ────────────────────────────────────────────────────────────────
Thoughts...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32161
|
1242
|
21
|
2026-05-13T09:08:39.941962+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663319941_m1.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
1m
Show More
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4
# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Add audio file copying to sync flow","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"37","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total_size","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"du","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-sh","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$nas_audio","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cut","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-f1","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %d file(s), %s\\n\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio files total:\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$count","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$total_size","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tee","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-a","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$LOG_FILE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying screenpipe logs for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files","depth":24,"on_screen":true,"role_description":"text"}]...
|
6792662256567098226
|
-5362688826086680340
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
1m
Show More
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4
# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32154
|
1243
|
23
|
2026-05-13T09:08:04.794159+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663284794_m2.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
1m
Show More
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4
# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
# ─── COPY LOGS ────────────────────────────────────────────────────────────────
Thoughts
7
/
7
tasks
done
Thought
for 1s
I've completed the refactoring
and added audio file syncing. Here's what was done:
Refactoring:
Created
lib/
directory with three modules:
lib/screenpipe_sync_helpers.sh
- logging, timing, SQLite helpers
lib/screenpipe_sync_db.sh
- all DB operations (tables, indexes
, sync, FTS, verify)
lib/screenpipe_sync_files.sh
- data folder, audio files, and log
copying
Refactored
screenpipe_sync.sh
to source
the modules and call functions
Main script
maintains exact same CLI interface for backward compatibility
Audio File Syncing:
Added
copy_audio_files()
function to
lib/screenpipe_sync_files.sh
Queries
audio_chunks
table for file paths on
target date
Copies audio files (e.g.,
LakyLak bose
qc35 II (input)_2026-05
-12_06-49-17.mp4
) from
~/.screenpipe/data
to
$NAS_DATA/audio/
Integrated into main sync flow between data folder and log
copying
Usage:
bash
# Main script (backward compatible)
./screenpipe_sync.sh
2026-05-11
# Standalone module testing
TARGET_DATE
=
2026-05-11
DB_SRC
=
~/.screenpipe/db.sqlite
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_db.sh
TARGET_DATE
=
2026-05-11
NAS_MOUNT
=
/Volumes/screenpipe
\...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"bounds":{"left":0.0,"top":0.047885075,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.05586592,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"bounds":{"left":0.0,"top":0.07581804,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.083798885,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"bounds":{"left":0.0,"top":0.103751,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.11173184,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"bounds":{"left":0.004986702,"top":0.11811652,"width":0.003656915,"height":0.007980846},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.005319149,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}},{"char_start":1,"char_count":1,"bounds":{"left":0.006981383,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}}],"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"bounds":{"left":0.0,"top":0.13168396,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.1396648,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"bounds":{"left":0.0,"top":0.15961692,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"bounds":{"left":0.0,"top":0.18754987,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.19553073,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"bounds":{"left":0.0,"top":0.21548285,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.22346368,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"bounds":{"left":0.0,"top":0.2434158,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.25139666,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"bounds":{"left":0.01462766,"top":0.047885075,"width":0.013630319,"height":0.023144454},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"bounds":{"left":0.01462766,"top":0.054269753,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.014960106,"top":0.055067837,"width":0.0019946808,"height":0.008778931}},{"char_start":1,"char_count":7,"bounds":{"left":0.016954787,"top":0.055067837,"width":0.011303191,"height":0.008778931}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.011635638,"top":0.07102953,"width":0.0831117,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.0726257,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.016954787,"top":0.07102953,"width":0.035904255,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"bounds":{"left":0.016954787,"top":0.07342378,"width":0.035904255,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.07342378,"width":0.0019946808,"height":0.009577015}},{"char_start":1,"char_count":20,"bounds":{"left":0.018949468,"top":0.07342378,"width":0.034242023,"height":0.009577015}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.08699122,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.08699122,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.025930852,"top":0.08699122,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.087789305,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.02825798,"top":0.087789305,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.10215483,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.10215483,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0063164895,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":2,"bounds":{"left":0.027925532,"top":0.10215483,"width":0.004654255,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.10215483,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.11652035,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.11652035,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.025930852,"top":0.11652035,"width":0.0076462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.11731844,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":3,"bounds":{"left":0.02825798,"top":0.11731844,"width":0.005319149,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.01462766,"top":0.13088587,"width":0.0043218085,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"bounds":{"left":0.025930852,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.13168396,"width":0.0009973404,"height":0.0103751}},{"char_start":1,"char_count":2,"bounds":{"left":0.026928192,"top":0.13168396,"width":0.0033244682,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.13168396,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.14604948,"width":0.003656915,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"bounds":{"left":0.027925532,"top":0.14604948,"width":0.039893616,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.14604948,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":20,"bounds":{"left":0.029920213,"top":0.14604948,"width":0.037898935,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.14604948,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.16041501,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"bounds":{"left":0.027925532,"top":0.16041501,"width":0.04255319,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.16121309,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":23,"bounds":{"left":0.029920213,"top":0.16121309,"width":0.04089096,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.16121309,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.17478053,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"bounds":{"left":0.027925532,"top":0.17478053,"width":0.048204787,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.17557861,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.029920213,"top":0.17557861,"width":0.046210106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.17557861,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.18994413,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.18994413,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.006981383,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.0009973404,"height":0.011173184}},{"char_start":1,"char_count":3,"bounds":{"left":0.026928192,"top":0.18994413,"width":0.0063164895,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.18994413,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.20430966,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.20430966,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.025930852,"top":0.20430966,"width":0.00930851,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.20510775,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":4,"bounds":{"left":0.02825798,"top":0.20510775,"width":0.006981383,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.21867518,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.025930852,"top":0.21867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.21947326,"width":0.0013297872,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.026928192,"top":0.21947326,"width":0.014960106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.23383878,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.029920213,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":16,"bounds":{"left":0.027925532,"top":0.23383878,"width":0.027925532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.2482043,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"bounds":{"left":0.025930852,"top":0.2482043,"width":0.01761968,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.2490024,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.027925532,"top":0.2490024,"width":0.015625,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.26256984,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.025930852,"top":0.26256984,"width":0.025265958,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.26336792,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":13,"bounds":{"left":0.027925532,"top":0.26336792,"width":0.023603724,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.26336792,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.27773345,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.046210106,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":27,"bounds":{"left":0.027925532,"top":0.27773345,"width":0.04454787,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.27773345,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.29209897,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.025930852,"top":0.29209897,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.29289705,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":8,"bounds":{"left":0.02825798,"top":0.29289705,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3064645,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.025930852,"top":0.3064645,"width":0.023271276,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.30726257,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.30726257,"width":0.021276595,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3216281,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.021941489,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.3216281,"width":0.019614361,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.33599362,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"bounds":{"left":0.025930852,"top":0.33599362,"width":0.04488032,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3367917,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":24,"bounds":{"left":0.027925532,"top":0.3367917,"width":0.04288564,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.3367917,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.35035914,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"bounds":{"left":0.025930852,"top":0.35035914,"width":0.042220745,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.35115722,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":22,"bounds":{"left":0.027925532,"top":0.35115722,"width":0.04055851,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.35115722,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.36552274,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.04055851,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":21,"bounds":{"left":0.027925532,"top":0.36552274,"width":0.03856383,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.36552274,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.37988827,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.025930852,"top":0.37988827,"width":0.04920213,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.38068634,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.027925532,"top":0.38068634,"width":0.047539894,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.38068634,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3942538,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.025930852,"top":0.3942538,"width":0.03357713,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.39505187,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":17,"bounds":{"left":0.027925532,"top":0.39505187,"width":0.03158245,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.087101065,"top":0.39505187,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.4094174,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.023936171,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.027925532,"top":0.4094174,"width":0.022273935,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.011635638,"top":0.95530725,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.95690346,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"bounds":{"left":0.016954787,"top":0.95530725,"width":0.011635638,"height":0.015163607},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"bounds":{"left":0.016954787,"top":0.9577015,"width":0.011635638,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9584996,"width":0.0026595744,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.019946808,"top":0.9584996,"width":0.008976064,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.011635638,"top":0.9696728,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.97206706,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"bounds":{"left":0.016954787,"top":0.97047085,"width":0.013630319,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"bounds":{"left":0.016954787,"top":0.9728651,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9728651,"width":0.0023271276,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.019281914,"top":0.9728651,"width":0.011635638,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0016622341,"top":0.9848364,"width":0.024268618,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.0039893617,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.00831117,"top":0.98723066,"width":0.015292553,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.008643617,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.009640957,"top":0.98723066,"width":0.012300532,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.027260639,"top":0.9848364,"width":0.019281914,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.027925532,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"bounds":{"left":0.032247342,"top":0.98723066,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.032579787,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.03357713,"top":0.98723066,"width":0.010970744,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.04654255,"top":0.9848364,"width":0.0063164895,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.054853722,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.05618351,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.06050532,"top":0.98723066,"width":0.0043218085,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.064494684,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.069148935,"top":0.98723066,"width":0.0029920214,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"bounds":{"left":0.07513298,"top":0.9848364,"width":0.010305851,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.07646277,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"bounds":{"left":0.080784574,"top":0.98723066,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.99102396,"top":0.9848364,"width":0.008976042,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"bounds":{"left":0.9567819,"top":0.9848364,"width":0.03357713,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"bounds":{"left":0.9421542,"top":0.9848364,"width":0.012965426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"bounds":{"left":0.91988033,"top":0.9848364,"width":0.020611702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"bounds":{"left":0.9115692,"top":0.9848364,"width":0.0066489363,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"bounds":{"left":0.8969415,"top":0.9848364,"width":0.013297873,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"bounds":{"left":0.87699467,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"bounds":{"left":0.8494016,"top":0.9848364,"width":0.026263298,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":0.80418885,"top":0.9848364,"width":0.04454787,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"bounds":{"left":0.76163566,"top":0.05347167,"width":0.034574468,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.76163566,"top":0.054269753,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":19,"bounds":{"left":0.76396275,"top":0.054269753,"width":0.032247342,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23238032,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Add audio file copying to sync flow","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.05851064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":21,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.042220745,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"37","depth":23,"bounds":{"left":0.9880319,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total_size","depth":24,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7912234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"du","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-sh","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.80984044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$nas_audio","depth":24,"bounds":{"left":0.81150264,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8317819,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"bounds":{"left":0.8334442,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.83543885,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cut","depth":24,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-f1","depth":24,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")","depth":24,"bounds":{"left":0.8500665,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %d file(s), %s\\n\"","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8480718,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio files total:\"","depth":24,"bounds":{"left":0.8500665,"top":0.07102953,"width":0.036901597,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.88663566,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$count","depth":24,"bounds":{"left":0.8902925,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9015958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.90325797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.90525264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$total_size","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9271942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9288564,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"bounds":{"left":0.93085104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9325133,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tee","depth":24,"bounds":{"left":0.93450797,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-a","depth":24,"bounds":{"left":0.9418218,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.94547874,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9474734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$LOG_FILE","depth":24,"bounds":{"left":0.94913566,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.96575797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98769945,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":23,"bounds":{"left":0.9896942,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.045877658,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84640956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.029587766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying screenpipe logs for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.05319149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8317819,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8537234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98769945,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":23,"bounds":{"left":0.9896942,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"bounds":{"left":0.7749335,"top":0.07102953,"width":0.045877658,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.029587766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── COPY LOGS ────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76828456,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"I've completed the refactoring","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.053856384,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and added audio file syncing. Here's what was done:","depth":21,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.09507979,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactoring:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Created","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.015625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/","depth":23,"bounds":{"left":0.78723407,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"directory with three modules:","depth":22,"bounds":{"left":0.79587764,"top":0.07102953,"width":0.053523935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_helpers.sh","depth":26,"bounds":{"left":0.78424203,"top":0.07102953,"width":0.065159574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- logging, timing, SQLite helpers","depth":24,"bounds":{"left":0.8490692,"top":0.07102953,"width":0.058843084,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_db.sh","depth":26,"bounds":{"left":0.78424203,"top":0.07102953,"width":0.05418883,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- all DB operations (tables, indexes","depth":24,"bounds":{"left":0.8384308,"top":0.07102953,"width":0.06349734,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", sync, FTS, verify)","depth":24,"bounds":{"left":0.9015958,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_files.sh","depth":26,"bounds":{"left":0.78424203,"top":0.07102953,"width":0.060837764,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- data folder, audio files, and log","depth":24,"bounds":{"left":0.84474736,"top":0.07102953,"width":0.058843084,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copying","depth":24,"bounds":{"left":0.90359044,"top":0.07102953,"width":0.015292553,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactored","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.020944148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7915558,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":24,"bounds":{"left":0.7972075,"top":0.07102953,"width":0.039228722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to source","depth":22,"bounds":{"left":0.83610374,"top":0.07102953,"width":0.017952127,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the modules and call functions","depth":22,"bounds":{"left":0.8540558,"top":0.07102953,"width":0.055851065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Main script","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"maintains exact same CLI interface for backward compatibility","depth":22,"bounds":{"left":0.79089093,"top":0.07102953,"width":0.112034574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Audio File Syncing:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.03557181,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Added","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.011968086,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7825798,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78357714,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files()","depth":24,"bounds":{"left":0.78922874,"top":0.07102953,"width":0.038896278,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"function to","depth":22,"bounds":{"left":0.828125,"top":0.07102953,"width":0.021609042,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.84973407,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_files.sh","depth":24,"bounds":{"left":0.8550532,"top":0.07102953,"width":0.060837764,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Queries","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.013962766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":23,"bounds":{"left":0.7869016,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"table for file paths on","depth":22,"bounds":{"left":0.81017286,"top":0.07102953,"width":0.039228722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target date","depth":22,"bounds":{"left":0.8490692,"top":0.07102953,"width":0.020944148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Copies audio files (e.g.,","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.042220745,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.8128325,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LakyLak bose","depth":23,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"qc35 II (input)_2026-05","depth":23,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-12_06-49-17.mp4","depth":23,"bounds":{"left":0.88098407,"top":0.07102953,"width":0.029587766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") from","depth":22,"bounds":{"left":0.9115692,"top":0.07102953,"width":0.010970744,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.9225399,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data","depth":23,"bounds":{"left":0.92453456,"top":0.07102953,"width":0.03324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to","depth":22,"bounds":{"left":0.9587766,"top":0.07102953,"width":0.004654255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.9634308,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":23,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.22041224,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Integrated into main sync flow between data folder and log","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.105053194,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copying","depth":22,"bounds":{"left":0.8756649,"top":0.07102953,"width":0.015625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Usage:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Main script (backward compatible)","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.07047872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./screenpipe_sync.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.040226065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.8068484,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"bounds":{"left":0.8088431,"top":0.07102953,"width":0.019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Standalone module testing","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.05418883,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TARGET_DATE","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.78889626,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"bounds":{"left":0.79089093,"top":0.07102953,"width":0.019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.81083775,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"DB_SRC","depth":23,"bounds":{"left":0.8128325,"top":0.07102953,"width":0.011968086,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.82480055,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/db.sqlite","depth":23,"bounds":{"left":0.8267952,"top":0.07102953,"width":0.046210106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.87267286,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"NAS_MOUNT","depth":23,"bounds":{"left":0.8746675,"top":0.07102953,"width":0.018284574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.89295214,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Volumes/screenpipe","depth":23,"bounds":{"left":0.8949468,"top":0.07102953,"width":0.038231384,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.9328458,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\\","depth":23,"bounds":{"left":0.93484044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./lib/screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.7706117,"top":0.07102953,"width":0.05418883,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TARGET_DATE","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.78889626,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"bounds":{"left":0.79089093,"top":0.07102953,"width":0.019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.81083775,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"NAS_MOUNT","depth":23,"bounds":{"left":0.8128325,"top":0.07102953,"width":0.017952127,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.83078456,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Volumes/screenpipe","depth":23,"bounds":{"left":0.8327792,"top":0.07102953,"width":0.038231384,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.8706782,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\\","depth":23,"bounds":{"left":0.87267286,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"}]...
|
5380955081185487583
|
1566626964057340140
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
1m
Show More
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4
# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
# ─── COPY LOGS ────────────────────────────────────────────────────────────────
Thoughts
7
/
7
tasks
done
Thought
for 1s
I've completed the refactoring
and added audio file syncing. Here's what was done:
Refactoring:
Created
lib/
directory with three modules:
lib/screenpipe_sync_helpers.sh
- logging, timing, SQLite helpers
lib/screenpipe_sync_db.sh
- all DB operations (tables, indexes
, sync, FTS, verify)
lib/screenpipe_sync_files.sh
- data folder, audio files, and log
copying
Refactored
screenpipe_sync.sh
to source
the modules and call functions
Main script
maintains exact same CLI interface for backward compatibility
Audio File Syncing:
Added
copy_audio_files()
function to
lib/screenpipe_sync_files.sh
Queries
audio_chunks
table for file paths on
target date
Copies audio files (e.g.,
LakyLak bose
qc35 II (input)_2026-05
-12_06-49-17.mp4
) from
~/.screenpipe/data
to
$NAS_DATA/audio/
Integrated into main sync flow between data folder and log
copying
Usage:
bash
# Main script (backward compatible)
./screenpipe_sync.sh
2026-05-11
# Standalone module testing
TARGET_DATE
=
2026-05-11
DB_SRC
=
~/.screenpipe/db.sqlite
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_db.sh
TARGET_DATE
=
2026-05-11
NAS_MOUNT
=
/Volumes/screenpipe
\...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32153
|
1242
|
16
|
2026-05-13T09:08:04.820124+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663284820_m1.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
1m
Show More
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4
# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
# ─── COPY LOGS ────────────────────────────────────────────────────────────────
Thoughts
7
/
7
tasks
done
Thought
for 1s
I've completed the refactoring
and added audio file syncing. Here's what was done:
Refactoring:
Created
lib/
directory with three modules:
lib/screenpipe_sync_helpers.sh
- logging, timing, SQLite helpers
lib/screenpipe_sync_db.sh
- all DB operations (tables, indexes
, sync, FTS, verify)
lib/screenpipe_sync_files.sh
- data folder, audio files, and log
copying
Refactored
screenpipe_sync.sh
to source
the modules and call functions
Main script
maintains exact same CLI interface for backward compatibility
Audio File Syncing:
Added
copy_audio_files()
function to
lib/screenpipe_sync_files.sh
Queries
audio_chunks
table for file paths on
target date
Copies audio files (e.g.,
LakyLak bose
qc35 II (input)_2026-05
-12_06-49-17.mp4
) from
~/.screenpipe/data
to
$NAS_DATA/audio/
Integrated into main sync flow between data folder and log
copying
Usage:
bash
# Main script (backward compatible)
./screenpipe_sync.sh
2026-05-11
# Standalone module testing
TARGET_DATE
=
2026-05-11
DB_SRC
=
~/.screenpipe/db.sqlite
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_db.sh
TARGET_DATE
=
2026-05-11
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_files.sh
Copy the entire
lib/
folder to your Mac and run
the main script from there
.
Feedback submitted
lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there
Expand content to scroll
Thoughts...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Add audio file copying to sync flow","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"37","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total_size","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"du","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-sh","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$nas_audio","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cut","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-f1","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %d file(s), %s\\n\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio files total:\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$count","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$total_size","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tee","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-a","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$LOG_FILE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying screenpipe logs for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── COPY LOGS ────────────────────────────────────────────────────────────────","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"I've completed the refactoring","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and added audio file syncing. Here's what was done:","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactoring:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Created","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"directory with three modules:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_helpers.sh","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- logging, timing, SQLite helpers","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_db.sh","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- all DB operations (tables, indexes","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", sync, FTS, verify)","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_files.sh","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- data folder, audio files, and log","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copying","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactored","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to source","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the modules and call functions","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Main script","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"maintains exact same CLI interface for backward compatibility","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Audio File Syncing:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Added","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files()","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"function to","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_files.sh","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Queries","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"table for file paths on","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target date","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Copies audio files (e.g.,","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LakyLak bose","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"qc35 II (input)_2026-05","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-12_06-49-17.mp4","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") from","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Integrated into main sync flow between data folder and log","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copying","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Usage:","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Main script (backward compatible)","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Standalone module testing","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TARGET_DATE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"DB_SRC","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/db.sqlite","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"NAS_MOUNT","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Volumes/screenpipe","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\\","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./lib/screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TARGET_DATE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"NAS_MOUNT","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Volumes/screenpipe","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\\","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./lib/screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Copy the entire","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder to your Mac and run","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the main script from there","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"}]...
|
7877089640070606176
|
1710742152133155052
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
1m
Show More
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4
# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
# ─── COPY LOGS ────────────────────────────────────────────────────────────────
Thoughts
7
/
7
tasks
done
Thought
for 1s
I've completed the refactoring
and added audio file syncing. Here's what was done:
Refactoring:
Created
lib/
directory with three modules:
lib/screenpipe_sync_helpers.sh
- logging, timing, SQLite helpers
lib/screenpipe_sync_db.sh
- all DB operations (tables, indexes
, sync, FTS, verify)
lib/screenpipe_sync_files.sh
- data folder, audio files, and log
copying
Refactored
screenpipe_sync.sh
to source
the modules and call functions
Main script
maintains exact same CLI interface for backward compatibility
Audio File Syncing:
Added
copy_audio_files()
function to
lib/screenpipe_sync_files.sh
Queries
audio_chunks
table for file paths on
target date
Copies audio files (e.g.,
LakyLak bose
qc35 II (input)_2026-05
-12_06-49-17.mp4
) from
~/.screenpipe/data
to
$NAS_DATA/audio/
Integrated into main sync flow between data folder and log
copying
Usage:
bash
# Main script (backward compatible)
./screenpipe_sync.sh
2026-05-11
# Standalone module testing
TARGET_DATE
=
2026-05-11
DB_SRC
=
~/.screenpipe/db.sqlite
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_db.sh
TARGET_DATE
=
2026-05-11
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_files.sh
Copy the entire
lib/
folder to your Mac and run
the main script from there
.
Feedback submitted
lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there
Expand content to scroll
Thoughts...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32152
|
1243
|
22
|
2026-05-13T09:08:03.680412+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663283680_m2.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
1m
Show More
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4
# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
# ─── COPY LOGS ────────────────────────────────────────────────────────────────
Thoughts
7
/
7
tasks
done
Thought
for 1s
I've completed the refactoring
and added audio file syncing. Here's what was done:
Refactoring:
Created
lib/
directory with three modules:
lib/screenpipe_sync_helpers.sh
- logging, timing, SQLite helpers
lib/screenpipe_sync_db.sh
- all DB operations (tables, indexes
, sync, FTS, verify)
lib/screenpipe_sync_files.sh
- data folder, audio files, and log
copying
Refactored
screenpipe_sync.sh
to source
the modules and call functions
Main script
maintains exact same CLI interface for backward compatibility
Audio File Syncing:
Added
copy_audio_files()
function to
lib/screenpipe_sync_files.sh
Queries
audio_chunks
table for file paths on
target date
Copies audio files (e.g.,
LakyLak bose
qc35 II (input)_2026-05
-12_06-49-17.mp4
) from
~/.screenpipe/data
to
$NAS_DATA/audio/
Integrated into main sync flow between data folder and log
copying
Usage:
bash
# Main script (backward compatible)
./screenpipe_sync.sh
2026-05-11
# Standalone module testing
TARGET_DATE
=
2026-05-11
DB_SRC
=
~/.screenpipe/db.sqlite
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_db.sh
TARGET_DATE
=
2026-05-11
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_files.sh
Copy the entire
lib/
folder to your Mac and run
the main script from there
.
Feedback submitted
lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"bounds":{"left":0.0,"top":0.047885075,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.05586592,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"bounds":{"left":0.0,"top":0.07581804,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.083798885,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"bounds":{"left":0.0,"top":0.103751,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.11173184,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"bounds":{"left":0.004986702,"top":0.11811652,"width":0.003656915,"height":0.007980846},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.005319149,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}},{"char_start":1,"char_count":1,"bounds":{"left":0.006981383,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}}],"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"bounds":{"left":0.0,"top":0.13168396,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.1396648,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"bounds":{"left":0.0,"top":0.15961692,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"bounds":{"left":0.0,"top":0.18754987,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.19553073,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"bounds":{"left":0.0,"top":0.21548285,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.22346368,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"bounds":{"left":0.0,"top":0.2434158,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.25139666,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"bounds":{"left":0.01462766,"top":0.047885075,"width":0.013630319,"height":0.023144454},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"bounds":{"left":0.01462766,"top":0.054269753,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.014960106,"top":0.055067837,"width":0.0019946808,"height":0.008778931}},{"char_start":1,"char_count":7,"bounds":{"left":0.016954787,"top":0.055067837,"width":0.011303191,"height":0.008778931}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.011635638,"top":0.07102953,"width":0.0831117,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.0726257,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.016954787,"top":0.07102953,"width":0.035904255,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"bounds":{"left":0.016954787,"top":0.07342378,"width":0.035904255,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.07342378,"width":0.0019946808,"height":0.009577015}},{"char_start":1,"char_count":20,"bounds":{"left":0.018949468,"top":0.07342378,"width":0.034242023,"height":0.009577015}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.08699122,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.08699122,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.025930852,"top":0.08699122,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.087789305,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.02825798,"top":0.087789305,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.10215483,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.10215483,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0063164895,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":2,"bounds":{"left":0.027925532,"top":0.10215483,"width":0.004654255,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.10215483,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.11652035,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.11652035,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.025930852,"top":0.11652035,"width":0.0076462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.11731844,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":3,"bounds":{"left":0.02825798,"top":0.11731844,"width":0.005319149,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.01462766,"top":0.13088587,"width":0.0043218085,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"bounds":{"left":0.025930852,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.13168396,"width":0.0009973404,"height":0.0103751}},{"char_start":1,"char_count":2,"bounds":{"left":0.026928192,"top":0.13168396,"width":0.0033244682,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.13168396,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.14604948,"width":0.003656915,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"bounds":{"left":0.027925532,"top":0.14604948,"width":0.039893616,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.14604948,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":20,"bounds":{"left":0.029920213,"top":0.14604948,"width":0.037898935,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.14604948,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.16041501,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"bounds":{"left":0.027925532,"top":0.16041501,"width":0.04255319,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.16121309,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":23,"bounds":{"left":0.029920213,"top":0.16121309,"width":0.04089096,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.16121309,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.17478053,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"bounds":{"left":0.027925532,"top":0.17478053,"width":0.048204787,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.17557861,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.029920213,"top":0.17557861,"width":0.046210106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.17557861,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.18994413,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.18994413,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.006981383,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.0009973404,"height":0.011173184}},{"char_start":1,"char_count":3,"bounds":{"left":0.026928192,"top":0.18994413,"width":0.0063164895,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.18994413,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.20430966,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.20430966,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.025930852,"top":0.20430966,"width":0.00930851,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.20510775,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":4,"bounds":{"left":0.02825798,"top":0.20510775,"width":0.006981383,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.21867518,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.025930852,"top":0.21867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.21947326,"width":0.0013297872,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.026928192,"top":0.21947326,"width":0.014960106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.23383878,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.029920213,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":16,"bounds":{"left":0.027925532,"top":0.23383878,"width":0.027925532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.2482043,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"bounds":{"left":0.025930852,"top":0.2482043,"width":0.01761968,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.2490024,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.027925532,"top":0.2490024,"width":0.015625,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.26256984,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.025930852,"top":0.26256984,"width":0.025265958,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.26336792,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":13,"bounds":{"left":0.027925532,"top":0.26336792,"width":0.023603724,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.26336792,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.27773345,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.046210106,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":27,"bounds":{"left":0.027925532,"top":0.27773345,"width":0.04454787,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.27773345,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.29209897,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.025930852,"top":0.29209897,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.29289705,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":8,"bounds":{"left":0.02825798,"top":0.29289705,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3064645,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.025930852,"top":0.3064645,"width":0.023271276,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.30726257,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.30726257,"width":0.021276595,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3216281,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.021941489,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.3216281,"width":0.019614361,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.33599362,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"bounds":{"left":0.025930852,"top":0.33599362,"width":0.04488032,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3367917,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":24,"bounds":{"left":0.027925532,"top":0.3367917,"width":0.04288564,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.3367917,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.35035914,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"bounds":{"left":0.025930852,"top":0.35035914,"width":0.042220745,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.35115722,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":22,"bounds":{"left":0.027925532,"top":0.35115722,"width":0.04055851,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.35115722,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.36552274,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.04055851,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":21,"bounds":{"left":0.027925532,"top":0.36552274,"width":0.03856383,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.36552274,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.37988827,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.025930852,"top":0.37988827,"width":0.04920213,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.38068634,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.027925532,"top":0.38068634,"width":0.047539894,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.38068634,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3942538,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.025930852,"top":0.3942538,"width":0.03357713,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.39505187,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":17,"bounds":{"left":0.027925532,"top":0.39505187,"width":0.03158245,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.087101065,"top":0.39505187,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.4094174,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.023936171,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.027925532,"top":0.4094174,"width":0.022273935,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.011635638,"top":0.95530725,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.95690346,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"bounds":{"left":0.016954787,"top":0.95530725,"width":0.011635638,"height":0.015163607},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"bounds":{"left":0.016954787,"top":0.9577015,"width":0.011635638,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9584996,"width":0.0026595744,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.019946808,"top":0.9584996,"width":0.008976064,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.011635638,"top":0.9696728,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.97206706,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"bounds":{"left":0.016954787,"top":0.97047085,"width":0.013630319,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"bounds":{"left":0.016954787,"top":0.9728651,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9728651,"width":0.0023271276,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.019281914,"top":0.9728651,"width":0.011635638,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0016622341,"top":0.9848364,"width":0.024268618,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.0039893617,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.00831117,"top":0.98723066,"width":0.015292553,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.008643617,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.009640957,"top":0.98723066,"width":0.012300532,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.027260639,"top":0.9848364,"width":0.019281914,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.027925532,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"bounds":{"left":0.032247342,"top":0.98723066,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.032579787,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.03357713,"top":0.98723066,"width":0.010970744,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.04654255,"top":0.9848364,"width":0.0063164895,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.054853722,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.05618351,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.06050532,"top":0.98723066,"width":0.0043218085,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.064494684,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.069148935,"top":0.98723066,"width":0.0029920214,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"bounds":{"left":0.07513298,"top":0.9848364,"width":0.010305851,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.07646277,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"bounds":{"left":0.080784574,"top":0.98723066,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.99102396,"top":0.9848364,"width":0.008976042,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"bounds":{"left":0.9567819,"top":0.9848364,"width":0.03357713,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"bounds":{"left":0.9421542,"top":0.9848364,"width":0.012965426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"bounds":{"left":0.91988033,"top":0.9848364,"width":0.020611702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"bounds":{"left":0.9115692,"top":0.9848364,"width":0.0066489363,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"bounds":{"left":0.8969415,"top":0.9848364,"width":0.013297873,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"bounds":{"left":0.87699467,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"bounds":{"left":0.8494016,"top":0.9848364,"width":0.026263298,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":0.80418885,"top":0.9848364,"width":0.04454787,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"bounds":{"left":0.76163566,"top":0.05347167,"width":0.034574468,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.76163566,"top":0.054269753,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":19,"bounds":{"left":0.76396275,"top":0.054269753,"width":0.032247342,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23238032,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Add audio file copying to sync flow","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.05851064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":21,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.042220745,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"37","depth":23,"bounds":{"left":0.9880319,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total_size","depth":24,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7912234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"du","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-sh","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.80984044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$nas_audio","depth":24,"bounds":{"left":0.81150264,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8317819,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"bounds":{"left":0.8334442,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.83543885,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cut","depth":24,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-f1","depth":24,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")","depth":24,"bounds":{"left":0.8500665,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %d file(s), %s\\n\"","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8480718,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio files total:\"","depth":24,"bounds":{"left":0.8500665,"top":0.07102953,"width":0.036901597,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.88663566,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$count","depth":24,"bounds":{"left":0.8902925,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9015958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.90325797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.90525264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$total_size","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9271942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9288564,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"bounds":{"left":0.93085104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9325133,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tee","depth":24,"bounds":{"left":0.93450797,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-a","depth":24,"bounds":{"left":0.9418218,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.94547874,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9474734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$LOG_FILE","depth":24,"bounds":{"left":0.94913566,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.96575797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98769945,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":23,"bounds":{"left":0.9896942,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.045877658,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84640956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.029587766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying screenpipe logs for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.05319149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8317819,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8537234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98769945,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":23,"bounds":{"left":0.9896942,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"bounds":{"left":0.7749335,"top":0.07102953,"width":0.045877658,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.029587766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── COPY LOGS ────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76828456,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"I've completed the refactoring","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.053856384,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and added audio file syncing. Here's what was done:","depth":21,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.09507979,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactoring:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Created","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.015625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/","depth":23,"bounds":{"left":0.78723407,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"directory with three modules:","depth":22,"bounds":{"left":0.79587764,"top":0.07102953,"width":0.053523935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_helpers.sh","depth":26,"bounds":{"left":0.78424203,"top":0.07102953,"width":0.065159574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- logging, timing, SQLite helpers","depth":24,"bounds":{"left":0.8490692,"top":0.07102953,"width":0.058843084,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_db.sh","depth":26,"bounds":{"left":0.78424203,"top":0.07102953,"width":0.05418883,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- all DB operations (tables, indexes","depth":24,"bounds":{"left":0.8384308,"top":0.07102953,"width":0.06349734,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", sync, FTS, verify)","depth":24,"bounds":{"left":0.9015958,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_files.sh","depth":26,"bounds":{"left":0.78424203,"top":0.07102953,"width":0.060837764,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- data folder, audio files, and log","depth":24,"bounds":{"left":0.84474736,"top":0.07102953,"width":0.058843084,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copying","depth":24,"bounds":{"left":0.90359044,"top":0.07102953,"width":0.015292553,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactored","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.020944148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7915558,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":24,"bounds":{"left":0.7972075,"top":0.07102953,"width":0.039228722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to source","depth":22,"bounds":{"left":0.83610374,"top":0.07102953,"width":0.017952127,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the modules and call functions","depth":22,"bounds":{"left":0.8540558,"top":0.07102953,"width":0.055851065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Main script","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"maintains exact same CLI interface for backward compatibility","depth":22,"bounds":{"left":0.79089093,"top":0.07102953,"width":0.112034574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Audio File Syncing:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.03557181,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Added","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.011968086,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7825798,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78357714,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files()","depth":24,"bounds":{"left":0.78922874,"top":0.07102953,"width":0.038896278,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"function to","depth":22,"bounds":{"left":0.828125,"top":0.07102953,"width":0.021609042,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.84973407,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_files.sh","depth":24,"bounds":{"left":0.8550532,"top":0.07102953,"width":0.060837764,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Queries","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.013962766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":23,"bounds":{"left":0.7869016,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"table for file paths on","depth":22,"bounds":{"left":0.81017286,"top":0.07102953,"width":0.039228722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target date","depth":22,"bounds":{"left":0.8490692,"top":0.07102953,"width":0.020944148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Copies audio files (e.g.,","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.042220745,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.8128325,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LakyLak bose","depth":23,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"qc35 II (input)_2026-05","depth":23,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-12_06-49-17.mp4","depth":23,"bounds":{"left":0.88098407,"top":0.07102953,"width":0.029587766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") from","depth":22,"bounds":{"left":0.9115692,"top":0.07102953,"width":0.010970744,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.9225399,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data","depth":23,"bounds":{"left":0.92453456,"top":0.07102953,"width":0.03324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to","depth":22,"bounds":{"left":0.9587766,"top":0.07102953,"width":0.004654255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.9634308,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":23,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.22041224,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Integrated into main sync flow between data folder and log","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.105053194,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copying","depth":22,"bounds":{"left":0.8756649,"top":0.07102953,"width":0.015625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Usage:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Main script (backward compatible)","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.07047872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./screenpipe_sync.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.040226065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.8068484,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"bounds":{"left":0.8088431,"top":0.07102953,"width":0.019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Standalone module testing","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.05418883,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TARGET_DATE","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.78889626,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"bounds":{"left":0.79089093,"top":0.07102953,"width":0.019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.81083775,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"DB_SRC","depth":23,"bounds":{"left":0.8128325,"top":0.07102953,"width":0.011968086,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.82480055,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/db.sqlite","depth":23,"bounds":{"left":0.8267952,"top":0.07102953,"width":0.046210106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.87267286,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"NAS_MOUNT","depth":23,"bounds":{"left":0.8746675,"top":0.07102953,"width":0.018284574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.89295214,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Volumes/screenpipe","depth":23,"bounds":{"left":0.8949468,"top":0.07102953,"width":0.038231384,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.9328458,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\\","depth":23,"bounds":{"left":0.93484044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./lib/screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.7706117,"top":0.07102953,"width":0.05418883,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TARGET_DATE","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.78889626,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"bounds":{"left":0.79089093,"top":0.07102953,"width":0.019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.81083775,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"NAS_MOUNT","depth":23,"bounds":{"left":0.8128325,"top":0.07102953,"width":0.017952127,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.83078456,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Volumes/screenpipe","depth":23,"bounds":{"left":0.8327792,"top":0.07102953,"width":0.038231384,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.8706782,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\\","depth":23,"bounds":{"left":0.87267286,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./lib/screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.7706117,"top":0.07102953,"width":0.06017287,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Copy the entire","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.028590426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/","depth":22,"bounds":{"left":0.79288566,"top":0.07102953,"width":0.00731383,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder to your Mac and run","depth":21,"bounds":{"left":0.8011968,"top":0.07102953,"width":0.048537236,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the main script from there","depth":21,"bounds":{"left":0.8494016,"top":0.07102953,"width":0.047872342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"bounds":{"left":0.8969415,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there","depth":25,"bounds":{"left":0.8284575,"top":0.07102953,"width":0.16456117,"height":0.0007980846},"on_screen":true,"role_description":"text"}]...
|
-2747409555042981415
|
1710742152137382124
|
visual_change
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
1m
Show More
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4
# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
# ─── COPY LOGS ────────────────────────────────────────────────────────────────
Thoughts
7
/
7
tasks
done
Thought
for 1s
I've completed the refactoring
and added audio file syncing. Here's what was done:
Refactoring:
Created
lib/
directory with three modules:
lib/screenpipe_sync_helpers.sh
- logging, timing, SQLite helpers
lib/screenpipe_sync_db.sh
- all DB operations (tables, indexes
, sync, FTS, verify)
lib/screenpipe_sync_files.sh
- data folder, audio files, and log
copying
Refactored
screenpipe_sync.sh
to source
the modules and call functions
Main script
maintains exact same CLI interface for backward compatibility
Audio File Syncing:
Added
copy_audio_files()
function to
lib/screenpipe_sync_files.sh
Queries
audio_chunks
table for file paths on
target date
Copies audio files (e.g.,
LakyLak bose
qc35 II (input)_2026-05
-12_06-49-17.mp4
) from
~/.screenpipe/data
to
$NAS_DATA/audio/
Integrated into main sync flow between data folder and log
copying
Usage:
bash
# Main script (backward compatible)
./screenpipe_sync.sh
2026-05-11
# Standalone module testing
TARGET_DATE
=
2026-05-11
DB_SRC
=
~/.screenpipe/db.sqlite
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_db.sh
TARGET_DATE
=
2026-05-11
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_files.sh
Copy the entire
lib/
folder to your Mac and run
the main script from there
.
Feedback submitted
lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there...
|
32151
|
NULL
|
NULL
|
NULL
|
|
32150
|
1243
|
20
|
2026-05-13T09:07:57.618740+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663277618_m2.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
1m
Show More
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4
# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
# ─── COPY LOGS ────────────────────────────────────────────────────────────────
Thoughts
7
/
7
tasks
done
Thought
for 1s
I've completed the refactoring
and added audio file syncing. Here's what was done:
Refactoring:
Created
lib/
directory with three modules:
lib/screenpipe_sync_helpers.sh
- logging, timing, SQLite helpers
lib/screenpipe_sync_db.sh
- all DB operations (tables, indexes
, sync, FTS, verify)
lib/screenpipe_sync_files.sh
- data folder, audio files, and log
copying
Refactored
screenpipe_sync.sh
to source
the modules and call functions
Main script
maintains exact same CLI interface for backward compatibility
Audio File Syncing:
Added
copy_audio_files()
function to
lib/screenpipe_sync_files.sh
Queries
audio_chunks
table for file paths on
target date
Copies audio files (e.g.,
LakyLak bose
qc35 II (input)_2026-05
-12_06-49-17.mp4
) from
~/.screenpipe/data
to
$NAS_DATA/audio/
Integrated into main sync flow between data folder and log
copying
Usage:
bash
# Main script (backward compatible)
./screenpipe_sync.sh
2026-05-11
# Standalone module testing
TARGET_DATE
=
2026-05-11
DB_SRC
=
~/.screenpipe/db.sqlite
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_db.sh
TARGET_DATE
=
2026-05-11
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_files.sh
Copy the entire
lib/
folder to your Mac and run
the main script from there
.
Feedback submitted
lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there
Expand content to scroll
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"bounds":{"left":0.0,"top":0.047885075,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.05586592,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"bounds":{"left":0.0,"top":0.07581804,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.083798885,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"bounds":{"left":0.0,"top":0.103751,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.11173184,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"bounds":{"left":0.004986702,"top":0.11811652,"width":0.003656915,"height":0.007980846},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.005319149,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}},{"char_start":1,"char_count":1,"bounds":{"left":0.006981383,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}}],"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"bounds":{"left":0.0,"top":0.13168396,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.1396648,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"bounds":{"left":0.0,"top":0.15961692,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"bounds":{"left":0.0,"top":0.18754987,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.19553073,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"bounds":{"left":0.0,"top":0.21548285,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.22346368,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"bounds":{"left":0.0,"top":0.2434158,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.25139666,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"bounds":{"left":0.01462766,"top":0.047885075,"width":0.013630319,"height":0.023144454},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"bounds":{"left":0.01462766,"top":0.054269753,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.014960106,"top":0.055067837,"width":0.0019946808,"height":0.008778931}},{"char_start":1,"char_count":7,"bounds":{"left":0.016954787,"top":0.055067837,"width":0.011303191,"height":0.008778931}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.011635638,"top":0.07102953,"width":0.0831117,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.0726257,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.016954787,"top":0.07102953,"width":0.035904255,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"bounds":{"left":0.016954787,"top":0.07342378,"width":0.035904255,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.07342378,"width":0.0019946808,"height":0.009577015}},{"char_start":1,"char_count":20,"bounds":{"left":0.018949468,"top":0.07342378,"width":0.034242023,"height":0.009577015}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.08699122,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.08699122,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.025930852,"top":0.08699122,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.087789305,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.02825798,"top":0.087789305,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.10215483,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.10215483,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0063164895,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":2,"bounds":{"left":0.027925532,"top":0.10215483,"width":0.004654255,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.10215483,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.11652035,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.11652035,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.025930852,"top":0.11652035,"width":0.0076462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.11731844,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":3,"bounds":{"left":0.02825798,"top":0.11731844,"width":0.005319149,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.01462766,"top":0.13088587,"width":0.0043218085,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"bounds":{"left":0.025930852,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.13168396,"width":0.0009973404,"height":0.0103751}},{"char_start":1,"char_count":2,"bounds":{"left":0.026928192,"top":0.13168396,"width":0.0033244682,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.13168396,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.14604948,"width":0.003656915,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"bounds":{"left":0.027925532,"top":0.14604948,"width":0.039893616,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.14604948,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":20,"bounds":{"left":0.029920213,"top":0.14604948,"width":0.037898935,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.14604948,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.16041501,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"bounds":{"left":0.027925532,"top":0.16041501,"width":0.04255319,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.16121309,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":23,"bounds":{"left":0.029920213,"top":0.16121309,"width":0.04089096,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.16121309,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.17478053,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"bounds":{"left":0.027925532,"top":0.17478053,"width":0.048204787,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.17557861,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.029920213,"top":0.17557861,"width":0.046210106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.17557861,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.18994413,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.18994413,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.006981383,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.0009973404,"height":0.011173184}},{"char_start":1,"char_count":3,"bounds":{"left":0.026928192,"top":0.18994413,"width":0.0063164895,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.18994413,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.20430966,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.20430966,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.025930852,"top":0.20430966,"width":0.00930851,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.20510775,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":4,"bounds":{"left":0.02825798,"top":0.20510775,"width":0.006981383,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.21867518,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.025930852,"top":0.21867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.21947326,"width":0.0013297872,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.026928192,"top":0.21947326,"width":0.014960106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.23383878,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.029920213,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":16,"bounds":{"left":0.027925532,"top":0.23383878,"width":0.027925532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.2482043,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"bounds":{"left":0.025930852,"top":0.2482043,"width":0.01761968,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.2490024,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.027925532,"top":0.2490024,"width":0.015625,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.26256984,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.025930852,"top":0.26256984,"width":0.025265958,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.26336792,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":13,"bounds":{"left":0.027925532,"top":0.26336792,"width":0.023603724,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.26336792,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.27773345,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.046210106,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":27,"bounds":{"left":0.027925532,"top":0.27773345,"width":0.04454787,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.27773345,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.29209897,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.025930852,"top":0.29209897,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.29289705,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":8,"bounds":{"left":0.02825798,"top":0.29289705,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3064645,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.025930852,"top":0.3064645,"width":0.023271276,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.30726257,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.30726257,"width":0.021276595,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3216281,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.021941489,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.3216281,"width":0.019614361,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.33599362,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"bounds":{"left":0.025930852,"top":0.33599362,"width":0.04488032,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3367917,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":24,"bounds":{"left":0.027925532,"top":0.3367917,"width":0.04288564,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.3367917,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.35035914,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"bounds":{"left":0.025930852,"top":0.35035914,"width":0.042220745,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.35115722,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":22,"bounds":{"left":0.027925532,"top":0.35115722,"width":0.04055851,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.35115722,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.36552274,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.04055851,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":21,"bounds":{"left":0.027925532,"top":0.36552274,"width":0.03856383,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.36552274,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.37988827,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.025930852,"top":0.37988827,"width":0.04920213,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.38068634,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.027925532,"top":0.38068634,"width":0.047539894,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.38068634,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3942538,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.025930852,"top":0.3942538,"width":0.03357713,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.39505187,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":17,"bounds":{"left":0.027925532,"top":0.39505187,"width":0.03158245,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.087101065,"top":0.39505187,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.4094174,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.023936171,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.027925532,"top":0.4094174,"width":0.022273935,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.011635638,"top":0.95530725,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.95690346,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"bounds":{"left":0.016954787,"top":0.95530725,"width":0.011635638,"height":0.015163607},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"bounds":{"left":0.016954787,"top":0.9577015,"width":0.011635638,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9584996,"width":0.0026595744,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.019946808,"top":0.9584996,"width":0.008976064,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.011635638,"top":0.9696728,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.97206706,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"bounds":{"left":0.016954787,"top":0.97047085,"width":0.013630319,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"bounds":{"left":0.016954787,"top":0.9728651,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9728651,"width":0.0023271276,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.019281914,"top":0.9728651,"width":0.011635638,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0016622341,"top":0.9848364,"width":0.024268618,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.0039893617,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.00831117,"top":0.98723066,"width":0.015292553,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.008643617,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.009640957,"top":0.98723066,"width":0.012300532,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.027260639,"top":0.9848364,"width":0.019281914,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.027925532,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"bounds":{"left":0.032247342,"top":0.98723066,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.032579787,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.03357713,"top":0.98723066,"width":0.010970744,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.04654255,"top":0.9848364,"width":0.0063164895,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.054853722,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.05618351,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.06050532,"top":0.98723066,"width":0.0043218085,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.064494684,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.069148935,"top":0.98723066,"width":0.0029920214,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"bounds":{"left":0.07513298,"top":0.9848364,"width":0.010305851,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.07646277,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"bounds":{"left":0.080784574,"top":0.98723066,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.99102396,"top":0.9848364,"width":0.008976042,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"bounds":{"left":0.9567819,"top":0.9848364,"width":0.03357713,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"bounds":{"left":0.9421542,"top":0.9848364,"width":0.012965426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"bounds":{"left":0.91988033,"top":0.9848364,"width":0.020611702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"bounds":{"left":0.9115692,"top":0.9848364,"width":0.0066489363,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"bounds":{"left":0.8969415,"top":0.9848364,"width":0.013297873,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"bounds":{"left":0.87699467,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"bounds":{"left":0.8494016,"top":0.9848364,"width":0.026263298,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":0.80418885,"top":0.9848364,"width":0.04454787,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"bounds":{"left":0.76163566,"top":0.05347167,"width":0.034574468,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.76163566,"top":0.054269753,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":19,"bounds":{"left":0.76396275,"top":0.054269753,"width":0.032247342,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23238032,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Add audio file copying to sync flow","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.05851064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":21,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.042220745,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"37","depth":23,"bounds":{"left":0.9880319,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total_size","depth":24,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7912234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"du","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-sh","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.80984044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$nas_audio","depth":24,"bounds":{"left":0.81150264,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8317819,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"bounds":{"left":0.8334442,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.83543885,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cut","depth":24,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-f1","depth":24,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")","depth":24,"bounds":{"left":0.8500665,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %d file(s), %s\\n\"","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8480718,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio files total:\"","depth":24,"bounds":{"left":0.8500665,"top":0.07102953,"width":0.036901597,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.88663566,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$count","depth":24,"bounds":{"left":0.8902925,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9015958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.90325797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.90525264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$total_size","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9271942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9288564,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"bounds":{"left":0.93085104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9325133,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tee","depth":24,"bounds":{"left":0.93450797,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-a","depth":24,"bounds":{"left":0.9418218,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.94547874,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9474734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$LOG_FILE","depth":24,"bounds":{"left":0.94913566,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.96575797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98769945,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":23,"bounds":{"left":0.9896942,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.045877658,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84640956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.029587766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying screenpipe logs for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.05319149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8317819,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8537234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98769945,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":23,"bounds":{"left":0.9896942,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"bounds":{"left":0.7749335,"top":0.07102953,"width":0.045877658,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.029587766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── COPY LOGS ────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76828456,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"I've completed the refactoring","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.053856384,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and added audio file syncing. Here's what was done:","depth":21,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.09507979,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactoring:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Created","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.015625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/","depth":23,"bounds":{"left":0.78723407,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"directory with three modules:","depth":22,"bounds":{"left":0.79587764,"top":0.07102953,"width":0.053523935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_helpers.sh","depth":26,"bounds":{"left":0.78424203,"top":0.07102953,"width":0.065159574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- logging, timing, SQLite helpers","depth":24,"bounds":{"left":0.8490692,"top":0.07102953,"width":0.058843084,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_db.sh","depth":26,"bounds":{"left":0.78424203,"top":0.07102953,"width":0.05418883,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- all DB operations (tables, indexes","depth":24,"bounds":{"left":0.8384308,"top":0.07102953,"width":0.06349734,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", sync, FTS, verify)","depth":24,"bounds":{"left":0.9015958,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_files.sh","depth":26,"bounds":{"left":0.78424203,"top":0.07102953,"width":0.060837764,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- data folder, audio files, and log","depth":24,"bounds":{"left":0.84474736,"top":0.07102953,"width":0.058843084,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copying","depth":24,"bounds":{"left":0.90359044,"top":0.07102953,"width":0.015292553,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactored","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.020944148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7915558,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":24,"bounds":{"left":0.7972075,"top":0.07102953,"width":0.039228722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to source","depth":22,"bounds":{"left":0.83610374,"top":0.07102953,"width":0.017952127,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the modules and call functions","depth":22,"bounds":{"left":0.8540558,"top":0.07102953,"width":0.055851065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Main script","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"maintains exact same CLI interface for backward compatibility","depth":22,"bounds":{"left":0.79089093,"top":0.07102953,"width":0.112034574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Audio File Syncing:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.03557181,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Added","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.011968086,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7825798,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78357714,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files()","depth":24,"bounds":{"left":0.78922874,"top":0.07102953,"width":0.038896278,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"function to","depth":22,"bounds":{"left":0.828125,"top":0.07102953,"width":0.021609042,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.84973407,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_files.sh","depth":24,"bounds":{"left":0.8550532,"top":0.07102953,"width":0.060837764,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Queries","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.013962766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":23,"bounds":{"left":0.7869016,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"table for file paths on","depth":22,"bounds":{"left":0.81017286,"top":0.07102953,"width":0.039228722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target date","depth":22,"bounds":{"left":0.8490692,"top":0.07102953,"width":0.020944148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Copies audio files (e.g.,","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.042220745,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.8128325,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LakyLak bose","depth":23,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"qc35 II (input)_2026-05","depth":23,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-12_06-49-17.mp4","depth":23,"bounds":{"left":0.88098407,"top":0.07102953,"width":0.029587766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") from","depth":22,"bounds":{"left":0.9115692,"top":0.07102953,"width":0.010970744,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.9225399,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data","depth":23,"bounds":{"left":0.92453456,"top":0.07102953,"width":0.03324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to","depth":22,"bounds":{"left":0.9587766,"top":0.07102953,"width":0.004654255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.9634308,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":23,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.22041224,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Integrated into main sync flow between data folder and log","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.105053194,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copying","depth":22,"bounds":{"left":0.8756649,"top":0.07102953,"width":0.015625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Usage:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Main script (backward compatible)","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.07047872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./screenpipe_sync.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.040226065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.8068484,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"bounds":{"left":0.8088431,"top":0.07102953,"width":0.019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Standalone module testing","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.05418883,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TARGET_DATE","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.78889626,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"bounds":{"left":0.79089093,"top":0.07102953,"width":0.019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.81083775,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"DB_SRC","depth":23,"bounds":{"left":0.8128325,"top":0.07102953,"width":0.011968086,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.82480055,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/db.sqlite","depth":23,"bounds":{"left":0.8267952,"top":0.07102953,"width":0.046210106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.87267286,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"NAS_MOUNT","depth":23,"bounds":{"left":0.8746675,"top":0.07102953,"width":0.018284574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.89295214,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Volumes/screenpipe","depth":23,"bounds":{"left":0.8949468,"top":0.07102953,"width":0.038231384,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.9328458,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\\","depth":23,"bounds":{"left":0.93484044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./lib/screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.7706117,"top":0.07102953,"width":0.05418883,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TARGET_DATE","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.78889626,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"bounds":{"left":0.79089093,"top":0.07102953,"width":0.019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.81083775,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"NAS_MOUNT","depth":23,"bounds":{"left":0.8128325,"top":0.07102953,"width":0.017952127,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.83078456,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Volumes/screenpipe","depth":23,"bounds":{"left":0.8327792,"top":0.07102953,"width":0.038231384,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.8706782,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\\","depth":23,"bounds":{"left":0.87267286,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./lib/screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.7706117,"top":0.07102953,"width":0.06017287,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Copy the entire","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.028590426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/","depth":22,"bounds":{"left":0.79288566,"top":0.07102953,"width":0.00731383,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder to your Mac and run","depth":21,"bounds":{"left":0.8011968,"top":0.07102953,"width":0.048537236,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the main script from there","depth":21,"bounds":{"left":0.8494016,"top":0.07102953,"width":0.047872342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"bounds":{"left":0.8969415,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there","depth":25,"bounds":{"left":0.8284575,"top":0.07102953,"width":0.16456117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.90458775,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9840425,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.9886968,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"bounds":{"left":0.99035907,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target_date","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$1","depth":24,"bounds":{"left":0.80418885,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$target_date","depth":24,"bounds":{"left":0.8188165,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76828456,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Done. Audio","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"files will now be copied to","depth":21,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.04720745,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.83211434,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/{date}/audio/","depth":22,"bounds":{"left":0.83410907,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"instead of","depth":21,"bounds":{"left":0.87765956,"top":0.07102953,"width":0.018949468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.8962766,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":22,"bounds":{"left":0.89860374,"top":0.07102953,"width":0.02925532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":". This keeps audio files organized by date alongside the frame","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23071809,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data.","depth":21,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.010305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"will that all work if I move","depth":25,"bounds":{"left":0.8543883,"top":0.07102953,"width":0.04288564,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"@","depth":27,"bounds":{"left":0.89793885,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.9012633,"top":0.07102953,"width":0.031914894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and lib folder inside scripts folder?","depth":25,"bounds":{"left":0.9338431,"top":0.07102953,"width":0.059175532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.9175532,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 2s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Yes","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", it will work as long as you","depth":21,"bounds":{"left":0.76961434,"top":0.07102953,"width":0.047539894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"keep the relative structure intact. The script uses:","depth":21,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.09009308,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.7869016,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"bounds":{"left":0.78889626,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":23,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":23,"bounds":{"left":0.79886967,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":23,"bounds":{"left":0.8068484,"top":0.07102953,"width":0.013962766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":23,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":23,"bounds":{"left":0.8287899,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":23,"bounds":{"left":0.8507314,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":23,"bounds":{"left":0.87267286,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":23,"bounds":{"left":0.87898934,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":23,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":23,"bounds":{"left":0.78291225,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":23,"bounds":{"left":0.80485374,"top":0.07102953,"width":0.06416223,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"This dynamically","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.029920213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"finds the directory of","depth":21,"bounds":{"left":0.79288566,"top":0.07102953,"width":0.038896278,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the script being executed, so moving both","depth":21,"bounds":{"left":0.83144945,"top":0.07102953,"width":0.07646277,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.9075798,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.90890956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.91422874,"top":0.07102953,"width":0.039228722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"bounds":{"left":0.953125,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.9617686,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"bounds":{"left":0.9674202,"top":0.07102953,"width":0.0066489363,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"into a","depth":21,"bounds":{"left":0.9740692,"top":0.07102953,"width":0.011968086,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23138298,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder will","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"work fine.","depth":21,"bounds":{"left":0.7898936,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Structure that will work:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.045212764,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.016289894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── lib/","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.016289894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_helpers.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.068484046,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"├── screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.05817819,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"└── screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.06416223,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Just","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy the entire","depth":21,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.027925532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"scripts/","depth":22,"bounds":{"left":0.80086434,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder (with","depth":21,"bounds":{"left":0.81648934,"top":0.07102953,"width":0.021609042,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.8380984,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.8390958,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.84474736,"top":0.07102953,"width":0.038896278,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":21,"bounds":{"left":0.8836436,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.89228725,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":23,"bounds":{"left":0.89793885,"top":0.07102953,"width":0.0066489363,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"inside it) to your Mac","depth":21,"bounds":{"left":0.90425533,"top":0.07102953,"width":0.038896278,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"bounds":{"left":0.9428192,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"}]...
|
-4739510061070209875
|
1638684558183303404
|
visual_change
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
1m
Show More
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4
# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
# ─── COPY LOGS ────────────────────────────────────────────────────────────────
Thoughts
7
/
7
tasks
done
Thought
for 1s
I've completed the refactoring
and added audio file syncing. Here's what was done:
Refactoring:
Created
lib/
directory with three modules:
lib/screenpipe_sync_helpers.sh
- logging, timing, SQLite helpers
lib/screenpipe_sync_db.sh
- all DB operations (tables, indexes
, sync, FTS, verify)
lib/screenpipe_sync_files.sh
- data folder, audio files, and log
copying
Refactored
screenpipe_sync.sh
to source
the modules and call functions
Main script
maintains exact same CLI interface for backward compatibility
Audio File Syncing:
Added
copy_audio_files()
function to
lib/screenpipe_sync_files.sh
Queries
audio_chunks
table for file paths on
target date
Copies audio files (e.g.,
LakyLak bose
qc35 II (input)_2026-05
-12_06-49-17.mp4
) from
~/.screenpipe/data
to
$NAS_DATA/audio/
Integrated into main sync flow between data folder and log
copying
Usage:
bash
# Main script (backward compatible)
./screenpipe_sync.sh
2026-05-11
# Standalone module testing
TARGET_DATE
=
2026-05-11
DB_SRC
=
~/.screenpipe/db.sqlite
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_db.sh
TARGET_DATE
=
2026-05-11
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_files.sh
Copy the entire
lib/
folder to your Mac and run
the main script from there
.
Feedback submitted
lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there
Expand content to scroll
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought
for 2s
Yes
, it will work as long as you
keep the relative structure intact. The script uses:
bash
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
This dynamically
finds the directory of
the script being executed, so moving both
screenpipe_sync.sh
and
lib
into a
scripts/
folder will
work fine.
Structure that will work:
scripts/
├── screenpipe_sync.sh
└── lib/
├── screenpipe_sync_helpers.sh
├── screenpipe_sync_db.sh
└── screenpipe_sync_files.sh
Just
copy the entire
scripts/
folder (with
screenpipe_sync.sh
and
lib
inside it) to your Mac
.
Feedback submitted...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32137
|
1243
|
13
|
2026-05-13T09:07:42.473169+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663262473_m2.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
17m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else
printf
" %-36s %s\n"
"rsync logs → NAS"
"skipped (no matching logs)"
fi
copy_logs
"
$TARGET_DATE
"
Thoughts
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Test backward compatibility of main script
Thoughts
Command
bash
bash
-n
/volume1/screenpipe/screenpipe_sync.sh
Canceled
terminal command
Feedback submitted
this is something that will live inside mac and run it from there. It is here for documentation mostly. I want the whole lib to copy to mac and run from there. So I will test it there. Alos I noticed that audio files are not synced. Only video. I neeed to copy data from ~/.screenpipe/data there audio lives in files named like LakyLak bose qc35 II (input)_2026-05-12_06-49-17.mp4 or MacBook Pro Microphone (input)_2026-05-12_12-17-23.mp4 or soundcore AeroClip (input)_2026-05-12_07-40-48.mp4 or System Audio (output)_2026-05-11_06-17-14.mp4 or somethign simillar (path in sqlite db). I want to copy data form that particular data as the part of the sycn process. Add it to the script sync flow.
Expand content to scroll
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4
# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
# ─── COPY LOGS ────────────────────────────────────────────────────────────────
Thoughts
7
/
7
tasks
done
Thought
for 1s
I've completed the refactoring
and added audio file syncing. Here's what was done:
Refactoring:
Created
lib/
directory with three modules:
lib/screenpipe_sync_helpers.sh
- logging, timing, SQLite helpers
lib/screenpipe_sync_db.sh
- all DB operations (tables, indexes
, sync, FTS, verify)
lib/screenpipe_sync_files.sh
- data folder, audio files, and log
copying
Refactored
screenpipe_sync.sh
to source
the modules and call functions
Main script
maintains exact same CLI interface for backward compatibility
Audio File Syncing:
Added
copy_audio_files()
function to
lib/screenpipe_sync_files.sh
Queries
audio_chunks
table for file paths on
target date
Copies audio files (e.g.,
LakyLak bose
qc35 II (input)_2026-05
-12_06-49-17.mp4
) from
~/.screenpipe/data
to
$NAS_DATA/audio/
Integrated into main sync flow between data folder and log
copying
Usage:
bash
# Main script (backward compatible)
./screenpipe_sync.sh
2026-05-11
# Standalone module testing
TARGET_DATE
=
2026-05-11
DB_SRC
=
~/.screenpipe/db.sqlite
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_db.sh
TARGET_DATE
=
2026-05-11
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_files.sh
Copy the entire
lib/
folder to your Mac and run
the main script from there
.
Feedback submitted
lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there
Expand content to scroll
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"bounds":{"left":0.0,"top":0.047885075,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.05586592,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"bounds":{"left":0.0,"top":0.07581804,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.083798885,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"bounds":{"left":0.0,"top":0.103751,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.11173184,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"bounds":{"left":0.004986702,"top":0.11811652,"width":0.003656915,"height":0.007980846},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.005319149,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}},{"char_start":1,"char_count":1,"bounds":{"left":0.006981383,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}}],"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"bounds":{"left":0.0,"top":0.13168396,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.1396648,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"bounds":{"left":0.0,"top":0.15961692,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"bounds":{"left":0.0,"top":0.18754987,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.19553073,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"bounds":{"left":0.0,"top":0.21548285,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.22346368,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"bounds":{"left":0.0,"top":0.2434158,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.25139666,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"bounds":{"left":0.01462766,"top":0.047885075,"width":0.013630319,"height":0.023144454},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"bounds":{"left":0.01462766,"top":0.054269753,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.014960106,"top":0.055067837,"width":0.0019946808,"height":0.008778931}},{"char_start":1,"char_count":7,"bounds":{"left":0.016954787,"top":0.055067837,"width":0.011303191,"height":0.008778931}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.011635638,"top":0.07102953,"width":0.0831117,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.0726257,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.016954787,"top":0.07102953,"width":0.035904255,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"bounds":{"left":0.016954787,"top":0.07342378,"width":0.035904255,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.07342378,"width":0.0019946808,"height":0.009577015}},{"char_start":1,"char_count":20,"bounds":{"left":0.018949468,"top":0.07342378,"width":0.034242023,"height":0.009577015}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.08699122,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.08699122,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.025930852,"top":0.08699122,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.087789305,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.02825798,"top":0.087789305,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.10215483,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.10215483,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0063164895,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":2,"bounds":{"left":0.027925532,"top":0.10215483,"width":0.004654255,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.10215483,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.11652035,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.11652035,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.025930852,"top":0.11652035,"width":0.0076462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.11731844,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":3,"bounds":{"left":0.02825798,"top":0.11731844,"width":0.005319149,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.01462766,"top":0.13088587,"width":0.0043218085,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"bounds":{"left":0.025930852,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.13168396,"width":0.0009973404,"height":0.0103751}},{"char_start":1,"char_count":2,"bounds":{"left":0.026928192,"top":0.13168396,"width":0.0033244682,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.13168396,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.14604948,"width":0.003656915,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"bounds":{"left":0.027925532,"top":0.14604948,"width":0.039893616,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.14604948,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":20,"bounds":{"left":0.029920213,"top":0.14604948,"width":0.037898935,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.14604948,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.16041501,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"bounds":{"left":0.027925532,"top":0.16041501,"width":0.04255319,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.16121309,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":23,"bounds":{"left":0.029920213,"top":0.16121309,"width":0.04089096,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.16121309,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.17478053,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"bounds":{"left":0.027925532,"top":0.17478053,"width":0.048204787,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.17557861,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.029920213,"top":0.17557861,"width":0.046210106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.17557861,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.18994413,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.18994413,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.006981383,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.0009973404,"height":0.011173184}},{"char_start":1,"char_count":3,"bounds":{"left":0.026928192,"top":0.18994413,"width":0.0063164895,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.18994413,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.20430966,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.20430966,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.025930852,"top":0.20430966,"width":0.00930851,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.20510775,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":4,"bounds":{"left":0.02825798,"top":0.20510775,"width":0.006981383,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.21867518,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.025930852,"top":0.21867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.21947326,"width":0.0013297872,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.026928192,"top":0.21947326,"width":0.014960106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.23383878,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.029920213,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":16,"bounds":{"left":0.027925532,"top":0.23383878,"width":0.027925532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.2482043,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"bounds":{"left":0.025930852,"top":0.2482043,"width":0.01761968,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.2490024,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.027925532,"top":0.2490024,"width":0.015625,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.26256984,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.025930852,"top":0.26256984,"width":0.025265958,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.26336792,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":13,"bounds":{"left":0.027925532,"top":0.26336792,"width":0.023603724,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.26336792,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.27773345,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.046210106,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":27,"bounds":{"left":0.027925532,"top":0.27773345,"width":0.04454787,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.27773345,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.29209897,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.025930852,"top":0.29209897,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.29289705,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":8,"bounds":{"left":0.02825798,"top":0.29289705,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3064645,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.025930852,"top":0.3064645,"width":0.023271276,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.30726257,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.30726257,"width":0.021276595,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3216281,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.021941489,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.3216281,"width":0.019614361,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.33599362,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"bounds":{"left":0.025930852,"top":0.33599362,"width":0.04488032,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3367917,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":24,"bounds":{"left":0.027925532,"top":0.3367917,"width":0.04288564,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.3367917,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.35035914,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"bounds":{"left":0.025930852,"top":0.35035914,"width":0.042220745,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.35115722,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":22,"bounds":{"left":0.027925532,"top":0.35115722,"width":0.04055851,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.35115722,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.36552274,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.04055851,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":21,"bounds":{"left":0.027925532,"top":0.36552274,"width":0.03856383,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.36552274,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.37988827,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.025930852,"top":0.37988827,"width":0.04920213,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.38068634,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.027925532,"top":0.38068634,"width":0.047539894,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.38068634,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3942538,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.025930852,"top":0.3942538,"width":0.03357713,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.39505187,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":17,"bounds":{"left":0.027925532,"top":0.39505187,"width":0.03158245,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.087101065,"top":0.39505187,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.4094174,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.023936171,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.027925532,"top":0.4094174,"width":0.022273935,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.011635638,"top":0.95530725,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.95690346,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"bounds":{"left":0.016954787,"top":0.95530725,"width":0.011635638,"height":0.015163607},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"bounds":{"left":0.016954787,"top":0.9577015,"width":0.011635638,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9584996,"width":0.0026595744,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.019946808,"top":0.9584996,"width":0.008976064,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.011635638,"top":0.9696728,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.97206706,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"bounds":{"left":0.016954787,"top":0.97047085,"width":0.013630319,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"bounds":{"left":0.016954787,"top":0.9728651,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9728651,"width":0.0023271276,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.019281914,"top":0.9728651,"width":0.011635638,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0016622341,"top":0.9848364,"width":0.024268618,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.0039893617,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.00831117,"top":0.98723066,"width":0.015292553,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.008643617,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.009640957,"top":0.98723066,"width":0.012300532,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.027260639,"top":0.9848364,"width":0.019281914,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.027925532,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"bounds":{"left":0.032247342,"top":0.98723066,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.032579787,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.03357713,"top":0.98723066,"width":0.010970744,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.04654255,"top":0.9848364,"width":0.0063164895,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.054853722,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.05618351,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.06050532,"top":0.98723066,"width":0.0043218085,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.064494684,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.069148935,"top":0.98723066,"width":0.0029920214,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"bounds":{"left":0.07513298,"top":0.9848364,"width":0.010305851,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.07646277,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"bounds":{"left":0.080784574,"top":0.98723066,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.99102396,"top":0.9848364,"width":0.008976042,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"bounds":{"left":0.9567819,"top":0.9848364,"width":0.03357713,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"bounds":{"left":0.9421542,"top":0.9848364,"width":0.012965426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"bounds":{"left":0.91988033,"top":0.9848364,"width":0.020611702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"bounds":{"left":0.9115692,"top":0.9848364,"width":0.0066489363,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"bounds":{"left":0.8969415,"top":0.9848364,"width":0.013297873,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"bounds":{"left":0.87699467,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"bounds":{"left":0.8494016,"top":0.9848364,"width":0.026263298,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":0.80418885,"top":0.9848364,"width":0.04454787,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"bounds":{"left":0.76163566,"top":0.05347167,"width":0.034574468,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.76163566,"top":0.054269753,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":19,"bounds":{"left":0.76396275,"top":0.054269753,"width":0.032247342,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"17m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23238032,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Began implementing","depth":23,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.03557181,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"refactor-screenpipe-sync-modular-6b711a.md","depth":23,"bounds":{"left":0.8071808,"top":0.07102953,"width":0.077792555,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7649601,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76795214,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7799202,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create refactoring plan to split screenpipe_sync.sh into modular components","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.12965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.049867023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.7815825,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":23,"bounds":{"left":0.7825798,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":22,"bounds":{"left":0.76894945,"top":0.07102953,"width":0.010305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.77892286,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-p","depth":22,"bounds":{"left":0.7809175,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/lib","depth":22,"bounds":{"left":0.7869016,"top":0.07102953,"width":0.046210106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.7669548,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.049867023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.0987367,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.047872342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.97539896,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"79","depth":23,"bounds":{"left":0.9880319,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" step(msg)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" run_sqlite_heredoc(label, sql)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" check(label, got, expected)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.056848403,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.0987367,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.087101065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.039893616,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.9730718,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"298","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.034906916,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"DB sync complete for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8188165,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.8557181,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.8793218,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.8849734,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.90325797,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"bounds":{"left":0.9271942,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.9325133,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"bounds":{"left":0.9361702,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.087101065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.9734042,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9840425,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"100","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.034906916,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"File sync complete for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.859375,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.88297874,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"bounds":{"left":0.89228725,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"bounds":{"left":0.93085104,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.9361702,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.7669548,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":21,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.03324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Cascade cannot create","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.039893616,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.80285907,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.80851066,"top":0.07102953,"width":0.036236703,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"because it already exists.","depth":21,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.043550532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98138297,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.98670214,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"51","depth":23,"bounds":{"left":0.98836434,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"bounds":{"left":0.7912234,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"bounds":{"left":0.8630319,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"bounds":{"left":0.86835104,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.058843084,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_db.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.049534574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_files.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.05518617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9773936,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"10","depth":23,"bounds":{"left":0.9797208,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.984375,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"189","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"meetings\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_MEETINGS","depth":24,"bounds":{"left":0.80418885,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82613033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.828125,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.024268618,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8537234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_chunks\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.025930852,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.80585104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ACHUNKS","depth":24,"bounds":{"left":0.80984044,"top":0.07102953,"width":0.018284574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.828125,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8334442,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"bounds":{"left":0.83543885,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.85738033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_transcriptions\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ATRANS","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8480718,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"bounds":{"left":0.8500665,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8703458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db_verify","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.7875665,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.78956115,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.81150264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_FRAMES","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8390958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ELEMENTS","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.86668885,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.86835104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8703458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_UI","depth":24,"bounds":{"left":0.87200797,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8849734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.88663566,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_OCR","depth":24,"bounds":{"left":0.8902925,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.90525264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.90890956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"bounds":{"left":0.9105718,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.93450797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.93650264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9381649,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.96210104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9637633,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.96575797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"bounds":{"left":0.9674202,"top":0.07102953,"width":0.020611702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.98769945,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98138297,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.98670214,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"41","depth":23,"bounds":{"left":0.98836434,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"else","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %s\\n\"","depth":24,"bounds":{"left":0.78224736,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"rsync logs → NAS\"","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.03324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.85738033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"skipped (no matching logs)\"","depth":24,"bounds":{"left":0.859375,"top":0.07102953,"width":0.051529255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_logs","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78224736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Test backward compatibility of main script","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.07114362,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.7815825,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":23,"bounds":{"left":0.7825798,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"bounds":{"left":0.76894945,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7769282,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-n","depth":22,"bounds":{"left":0.77892286,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.78291225,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/screenpipe_sync.sh","depth":22,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.076130316,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Canceled","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.01462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"terminal command","depth":22,"bounds":{"left":0.7855718,"top":0.07102953,"width":0.027260639,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"this is something that will live inside mac and run it from there. It is here for documentation mostly. I want the whole lib to copy to mac and run from there. So I will test it there. Alos I noticed that audio files are not synced. Only video. I neeed to copy data from ~/.screenpipe/data there audio lives in files named like LakyLak bose qc35 II (input)_2026-05-12_06-49-17.mp4 or MacBook Pro Microphone (input)_2026-05-12_12-17-23.mp4 or soundcore AeroClip (input)_2026-05-12_07-40-48.mp4 or System Audio (output)_2026-05-11_06-17-14.mp4 or somethign simillar (path in sqlite db). I want to copy data form that particular data as the part of the sycn process. Add it to the script sync flow.","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.22506648,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.87333775,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Add audio file copying to sync flow","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.05851064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":21,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.042220745,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"37","depth":23,"bounds":{"left":0.9880319,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total_size","depth":24,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7912234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"du","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-sh","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.80984044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$nas_audio","depth":24,"bounds":{"left":0.81150264,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8317819,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"bounds":{"left":0.8334442,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.83543885,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cut","depth":24,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-f1","depth":24,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")","depth":24,"bounds":{"left":0.8500665,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %d file(s), %s\\n\"","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8480718,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio files total:\"","depth":24,"bounds":{"left":0.8500665,"top":0.07102953,"width":0.036901597,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.88663566,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$count","depth":24,"bounds":{"left":0.8902925,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9015958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.90325797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.90525264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$total_size","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9271942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9288564,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"bounds":{"left":0.93085104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9325133,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tee","depth":24,"bounds":{"left":0.93450797,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-a","depth":24,"bounds":{"left":0.9418218,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.94547874,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9474734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$LOG_FILE","depth":24,"bounds":{"left":0.94913566,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.96575797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98769945,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":23,"bounds":{"left":0.9896942,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.045877658,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84640956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.029587766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying screenpipe logs for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.05319149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8317819,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8537234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98769945,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":23,"bounds":{"left":0.9896942,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"bounds":{"left":0.7749335,"top":0.07102953,"width":0.045877658,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.029587766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── COPY LOGS ────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76828456,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"I've completed the refactoring","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.053856384,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and added audio file syncing. Here's what was done:","depth":21,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.09507979,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactoring:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Created","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.015625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/","depth":23,"bounds":{"left":0.78723407,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"directory with three modules:","depth":22,"bounds":{"left":0.79587764,"top":0.07102953,"width":0.053523935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_helpers.sh","depth":26,"bounds":{"left":0.78424203,"top":0.07102953,"width":0.065159574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- logging, timing, SQLite helpers","depth":24,"bounds":{"left":0.8490692,"top":0.07102953,"width":0.058843084,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_db.sh","depth":26,"bounds":{"left":0.78424203,"top":0.07102953,"width":0.05418883,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- all DB operations (tables, indexes","depth":24,"bounds":{"left":0.8384308,"top":0.07102953,"width":0.06349734,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", sync, FTS, verify)","depth":24,"bounds":{"left":0.9015958,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_files.sh","depth":26,"bounds":{"left":0.78424203,"top":0.07102953,"width":0.060837764,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- data folder, audio files, and log","depth":24,"bounds":{"left":0.84474736,"top":0.07102953,"width":0.058843084,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copying","depth":24,"bounds":{"left":0.90359044,"top":0.07102953,"width":0.015292553,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactored","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.020944148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7915558,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":24,"bounds":{"left":0.7972075,"top":0.07102953,"width":0.039228722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to source","depth":22,"bounds":{"left":0.83610374,"top":0.07102953,"width":0.017952127,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the modules and call functions","depth":22,"bounds":{"left":0.8540558,"top":0.07102953,"width":0.055851065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Main script","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"maintains exact same CLI interface for backward compatibility","depth":22,"bounds":{"left":0.79089093,"top":0.07102953,"width":0.112034574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Audio File Syncing:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.03557181,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Added","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.011968086,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7825798,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78357714,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files()","depth":24,"bounds":{"left":0.78922874,"top":0.07102953,"width":0.038896278,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"function to","depth":22,"bounds":{"left":0.828125,"top":0.07102953,"width":0.021609042,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.84973407,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_files.sh","depth":24,"bounds":{"left":0.8550532,"top":0.07102953,"width":0.060837764,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Queries","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.013962766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":23,"bounds":{"left":0.7869016,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"table for file paths on","depth":22,"bounds":{"left":0.81017286,"top":0.07102953,"width":0.039228722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target date","depth":22,"bounds":{"left":0.8490692,"top":0.07102953,"width":0.020944148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Copies audio files (e.g.,","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.042220745,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.8128325,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LakyLak bose","depth":23,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"qc35 II (input)_2026-05","depth":23,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-12_06-49-17.mp4","depth":23,"bounds":{"left":0.88098407,"top":0.07102953,"width":0.029587766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") from","depth":22,"bounds":{"left":0.9115692,"top":0.07102953,"width":0.010970744,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.9225399,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data","depth":23,"bounds":{"left":0.92453456,"top":0.07102953,"width":0.03324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to","depth":22,"bounds":{"left":0.9587766,"top":0.07102953,"width":0.004654255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.9634308,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":23,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.22041224,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Integrated into main sync flow between data folder and log","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.105053194,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copying","depth":22,"bounds":{"left":0.8756649,"top":0.07102953,"width":0.015625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Usage:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Main script (backward compatible)","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.07047872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./screenpipe_sync.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.040226065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.8068484,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"bounds":{"left":0.8088431,"top":0.07102953,"width":0.019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Standalone module testing","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.05418883,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TARGET_DATE","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.78889626,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"bounds":{"left":0.79089093,"top":0.07102953,"width":0.019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.81083775,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"DB_SRC","depth":23,"bounds":{"left":0.8128325,"top":0.07102953,"width":0.011968086,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.82480055,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/db.sqlite","depth":23,"bounds":{"left":0.8267952,"top":0.07102953,"width":0.046210106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.87267286,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"NAS_MOUNT","depth":23,"bounds":{"left":0.8746675,"top":0.07102953,"width":0.018284574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.89295214,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Volumes/screenpipe","depth":23,"bounds":{"left":0.8949468,"top":0.07102953,"width":0.038231384,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.9328458,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\\","depth":23,"bounds":{"left":0.93484044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./lib/screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.7706117,"top":0.07102953,"width":0.05418883,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TARGET_DATE","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.78889626,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"bounds":{"left":0.79089093,"top":0.07102953,"width":0.019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.81083775,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"NAS_MOUNT","depth":23,"bounds":{"left":0.8128325,"top":0.07102953,"width":0.017952127,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.83078456,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Volumes/screenpipe","depth":23,"bounds":{"left":0.8327792,"top":0.07102953,"width":0.038231384,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.8706782,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\\","depth":23,"bounds":{"left":0.87267286,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./lib/screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.7706117,"top":0.07102953,"width":0.06017287,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Copy the entire","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.028590426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/","depth":22,"bounds":{"left":0.79288566,"top":0.07102953,"width":0.00731383,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder to your Mac and run","depth":21,"bounds":{"left":0.8011968,"top":0.07102953,"width":0.048537236,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the main script from there","depth":21,"bounds":{"left":0.8494016,"top":0.07102953,"width":0.047872342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"bounds":{"left":0.8969415,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there","depth":25,"bounds":{"left":0.8284575,"top":0.07102953,"width":0.16456117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.90458775,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9840425,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.9886968,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"bounds":{"left":0.99035907,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target_date","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$1","depth":24,"bounds":{"left":0.80418885,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"local","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"nas_audio","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$target_date","depth":24,"bounds":{"left":0.8188165,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/audio\"","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76828456,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Done. Audio","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"files will now be copied to","depth":21,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.04720745,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.83211434,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/{date}/audio/","depth":22,"bounds":{"left":0.83410907,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"instead of","depth":21,"bounds":{"left":0.87765956,"top":0.07102953,"width":0.018949468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.8962766,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":22,"bounds":{"left":0.89860374,"top":0.07102953,"width":0.02925532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":". This keeps audio files organized by date alongside the frame","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23071809,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data.","depth":21,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.010305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"will that all work if I move","depth":25,"bounds":{"left":0.8543883,"top":0.07102953,"width":0.04288564,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"@","depth":27,"bounds":{"left":0.89793885,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.9012633,"top":0.07102953,"width":0.031914894,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and lib folder inside scripts folder?","depth":25,"bounds":{"left":0.9338431,"top":0.07102953,"width":0.059175532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.9175532,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"}]...
|
6033981988594799706
|
8583232983273384135
|
visual_change
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
17m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else
printf
" %-36s %s\n"
"rsync logs → NAS"
"skipped (no matching logs)"
fi
copy_logs
"
$TARGET_DATE
"
Thoughts
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Test backward compatibility of main script
Thoughts
Command
bash
bash
-n
/volume1/screenpipe/screenpipe_sync.sh
Canceled
terminal command
Feedback submitted
this is something that will live inside mac and run it from there. It is here for documentation mostly. I want the whole lib to copy to mac and run from there. So I will test it there. Alos I noticed that audio files are not synced. Only video. I neeed to copy data from ~/.screenpipe/data there audio lives in files named like LakyLak bose qc35 II (input)_2026-05-12_06-49-17.mp4 or MacBook Pro Microphone (input)_2026-05-12_12-17-23.mp4 or soundcore AeroClip (input)_2026-05-12_07-40-48.mp4 or System Audio (output)_2026-05-11_06-17-14.mp4 or somethign simillar (path in sqlite db). I want to copy data form that particular data as the part of the sycn process. Add it to the script sync flow.
Expand content to scroll
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4
# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
# ─── COPY LOGS ────────────────────────────────────────────────────────────────
Thoughts
7
/
7
tasks
done
Thought
for 1s
I've completed the refactoring
and added audio file syncing. Here's what was done:
Refactoring:
Created
lib/
directory with three modules:
lib/screenpipe_sync_helpers.sh
- logging, timing, SQLite helpers
lib/screenpipe_sync_db.sh
- all DB operations (tables, indexes
, sync, FTS, verify)
lib/screenpipe_sync_files.sh
- data folder, audio files, and log
copying
Refactored
screenpipe_sync.sh
to source
the modules and call functions
Main script
maintains exact same CLI interface for backward compatibility
Audio File Syncing:
Added
copy_audio_files()
function to
lib/screenpipe_sync_files.sh
Queries
audio_chunks
table for file paths on
target date
Copies audio files (e.g.,
LakyLak bose
qc35 II (input)_2026-05
-12_06-49-17.mp4
) from
~/.screenpipe/data
to
$NAS_DATA/audio/
Integrated into main sync flow between data folder and log
copying
Usage:
bash
# Main script (backward compatible)
./screenpipe_sync.sh
2026-05-11
# Standalone module testing
TARGET_DATE
=
2026-05-11
DB_SRC
=
~/.screenpipe/db.sqlite
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_db.sh
TARGET_DATE
=
2026-05-11
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_files.sh
Copy the entire
lib/
folder to your Mac and run
the main script from there
.
Feedback submitted
lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there
Expand content to scroll
Thoughts
screenpipe_sync_files.sh
+
1
-
1
local
target_date
=
"
$1
"
local
nas_audio
=
"
$NAS_DATA
/audio"
local
nas_audio
=
"
$NAS_DATA
/
$target_date
/audio"
Thoughts
7
/
7
tasks
done
Thoughts
Done. Audio
files will now be copied to
$NAS_DATA/{date}/audio/
instead of
$NAS_DATA/audio/
. This keeps audio files organized by date alongside the frame
data.
Feedback submitted
will that all work if I move
@
screenpipe_sync.sh
and lib folder inside scripts folder?
Expand content to scroll
Thought...
|
32136
|
NULL
|
NULL
|
NULL
|
|
32136
|
1243
|
12
|
2026-05-13T09:07:41.117682+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663261117_m2.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"bounds":{"left":0.0,"top":0.047885075,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.05586592,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"bounds":{"left":0.0,"top":0.07581804,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.083798885,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"bounds":{"left":0.0,"top":0.103751,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.11173184,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"bounds":{"left":0.004986702,"top":0.11811652,"width":0.003656915,"height":0.007980846},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.005319149,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}},{"char_start":1,"char_count":1,"bounds":{"left":0.006981383,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}}],"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"bounds":{"left":0.0,"top":0.13168396,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.1396648,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"bounds":{"left":0.0,"top":0.15961692,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"bounds":{"left":0.0,"top":0.18754987,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.19553073,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"bounds":{"left":0.0,"top":0.21548285,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.22346368,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"bounds":{"left":0.0,"top":0.2434158,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.25139666,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"bounds":{"left":0.01462766,"top":0.047885075,"width":0.013630319,"height":0.023144454},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"bounds":{"left":0.01462766,"top":0.054269753,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.014960106,"top":0.055067837,"width":0.0019946808,"height":0.008778931}},{"char_start":1,"char_count":7,"bounds":{"left":0.016954787,"top":0.055067837,"width":0.011303191,"height":0.008778931}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.011635638,"top":0.07102953,"width":0.0831117,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.0726257,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.016954787,"top":0.07102953,"width":0.035904255,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"bounds":{"left":0.016954787,"top":0.07342378,"width":0.035904255,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.07342378,"width":0.0019946808,"height":0.009577015}},{"char_start":1,"char_count":20,"bounds":{"left":0.018949468,"top":0.07342378,"width":0.034242023,"height":0.009577015}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.08699122,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.08699122,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.025930852,"top":0.08699122,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.087789305,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.02825798,"top":0.087789305,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.10215483,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.10215483,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0063164895,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":2,"bounds":{"left":0.027925532,"top":0.10215483,"width":0.004654255,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.10215483,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.11652035,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.11652035,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.025930852,"top":0.11652035,"width":0.0076462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.11731844,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":3,"bounds":{"left":0.02825798,"top":0.11731844,"width":0.005319149,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.01462766,"top":0.13088587,"width":0.0043218085,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"bounds":{"left":0.025930852,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.13168396,"width":0.0009973404,"height":0.0103751}},{"char_start":1,"char_count":2,"bounds":{"left":0.026928192,"top":0.13168396,"width":0.0033244682,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.13168396,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.14604948,"width":0.003656915,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"bounds":{"left":0.027925532,"top":0.14604948,"width":0.039893616,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.14604948,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":20,"bounds":{"left":0.029920213,"top":0.14604948,"width":0.037898935,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.14604948,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.16041501,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"bounds":{"left":0.027925532,"top":0.16041501,"width":0.04255319,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.16121309,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":23,"bounds":{"left":0.029920213,"top":0.16121309,"width":0.04089096,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.16121309,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.17478053,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"bounds":{"left":0.027925532,"top":0.17478053,"width":0.048204787,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.17557861,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.029920213,"top":0.17557861,"width":0.046210106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.17557861,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.18994413,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.18994413,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.006981383,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.0009973404,"height":0.011173184}},{"char_start":1,"char_count":3,"bounds":{"left":0.026928192,"top":0.18994413,"width":0.0063164895,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.18994413,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.20430966,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.20430966,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.025930852,"top":0.20430966,"width":0.00930851,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.20510775,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":4,"bounds":{"left":0.02825798,"top":0.20510775,"width":0.006981383,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.21867518,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.025930852,"top":0.21867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.21947326,"width":0.0013297872,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.026928192,"top":0.21947326,"width":0.014960106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.23383878,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.029920213,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":16,"bounds":{"left":0.027925532,"top":0.23383878,"width":0.027925532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.2482043,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"bounds":{"left":0.025930852,"top":0.2482043,"width":0.01761968,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.2490024,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.027925532,"top":0.2490024,"width":0.015625,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.26256984,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.025930852,"top":0.26256984,"width":0.025265958,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.26336792,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":13,"bounds":{"left":0.027925532,"top":0.26336792,"width":0.023603724,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.26336792,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.27773345,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.046210106,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":27,"bounds":{"left":0.027925532,"top":0.27773345,"width":0.04454787,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.27773345,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.29209897,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.025930852,"top":0.29209897,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.29289705,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":8,"bounds":{"left":0.02825798,"top":0.29289705,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3064645,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.025930852,"top":0.3064645,"width":0.023271276,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.30726257,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.30726257,"width":0.021276595,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3216281,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.021941489,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.3216281,"width":0.019614361,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.33599362,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"bounds":{"left":0.025930852,"top":0.33599362,"width":0.04488032,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3367917,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":24,"bounds":{"left":0.027925532,"top":0.3367917,"width":0.04288564,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.3367917,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.35035914,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"bounds":{"left":0.025930852,"top":0.35035914,"width":0.042220745,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.35115722,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":22,"bounds":{"left":0.027925532,"top":0.35115722,"width":0.04055851,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.35115722,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.36552274,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.04055851,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":21,"bounds":{"left":0.027925532,"top":0.36552274,"width":0.03856383,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.36552274,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.37988827,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.025930852,"top":0.37988827,"width":0.04920213,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.38068634,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.027925532,"top":0.38068634,"width":0.047539894,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.38068634,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3942538,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.025930852,"top":0.3942538,"width":0.03357713,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.39505187,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":17,"bounds":{"left":0.027925532,"top":0.39505187,"width":0.03158245,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.087101065,"top":0.39505187,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.4094174,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.023936171,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.027925532,"top":0.4094174,"width":0.022273935,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.011635638,"top":0.95530725,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.95690346,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"bounds":{"left":0.016954787,"top":0.95530725,"width":0.011635638,"height":0.015163607},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"bounds":{"left":0.016954787,"top":0.9577015,"width":0.011635638,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9584996,"width":0.0026595744,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.019946808,"top":0.9584996,"width":0.008976064,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.011635638,"top":0.9696728,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.97206706,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"bounds":{"left":0.016954787,"top":0.97047085,"width":0.013630319,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"bounds":{"left":0.016954787,"top":0.9728651,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9728651,"width":0.0023271276,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.019281914,"top":0.9728651,"width":0.011635638,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0016622341,"top":0.9848364,"width":0.024268618,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.0039893617,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.00831117,"top":0.98723066,"width":0.015292553,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.008643617,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.009640957,"top":0.98723066,"width":0.012300532,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.027260639,"top":0.9848364,"width":0.019281914,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.027925532,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"bounds":{"left":0.032247342,"top":0.98723066,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.032579787,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.03357713,"top":0.98723066,"width":0.010970744,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.04654255,"top":0.9848364,"width":0.0063164895,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.054853722,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.05618351,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.06050532,"top":0.98723066,"width":0.0043218085,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.064494684,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.069148935,"top":0.98723066,"width":0.0029920214,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"bounds":{"left":0.07513298,"top":0.9848364,"width":0.010305851,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.07646277,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"bounds":{"left":0.080784574,"top":0.98723066,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.99102396,"top":0.9848364,"width":0.008976042,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"bounds":{"left":0.9567819,"top":0.9848364,"width":0.03357713,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"bounds":{"left":0.9421542,"top":0.9848364,"width":0.012965426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"bounds":{"left":0.91988033,"top":0.9848364,"width":0.020611702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"bounds":{"left":0.9115692,"top":0.9848364,"width":0.0066489363,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"bounds":{"left":0.8969415,"top":0.9848364,"width":0.013297873,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"bounds":{"left":0.87699467,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"bounds":{"left":0.8494016,"top":0.9848364,"width":0.026263298,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":0.80418885,"top":0.9848364,"width":0.04454787,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"bounds":{"left":0.76163566,"top":0.05347167,"width":0.034574468,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.76163566,"top":0.054269753,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":19,"bounds":{"left":0.76396275,"top":0.054269753,"width":0.032247342,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"15m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23238032,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Began implementing","depth":23,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.03557181,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"refactor-screenpipe-sync-modular-6b711a.md","depth":23,"bounds":{"left":0.8071808,"top":0.07102953,"width":0.077792555,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7649601,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76795214,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7799202,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create refactoring plan to split screenpipe_sync.sh into modular components","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.12965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.049867023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.7815825,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":23,"bounds":{"left":0.7825798,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":22,"bounds":{"left":0.76894945,"top":0.07102953,"width":0.010305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.77892286,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-p","depth":22,"bounds":{"left":0.7809175,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/lib","depth":22,"bounds":{"left":0.7869016,"top":0.07102953,"width":0.046210106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.7669548,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.049867023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.0987367,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.047872342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.97539896,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"79","depth":23,"bounds":{"left":0.9880319,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" step(msg)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" run_sqlite_heredoc(label, sql)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" check(label, got, expected)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.056848403,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.0987367,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.087101065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.039893616,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.9730718,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"298","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.034906916,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"DB sync complete for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8188165,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.8557181,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.8793218,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.8849734,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.90325797,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"bounds":{"left":0.9271942,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.9325133,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"bounds":{"left":0.9361702,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.087101065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.9734042,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9840425,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"100","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.034906916,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"File sync complete for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.859375,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.88297874,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"bounds":{"left":0.89228725,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"bounds":{"left":0.93085104,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.9361702,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.7669548,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":21,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.03324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Cascade cannot create","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.039893616,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.80285907,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.80851066,"top":0.07102953,"width":0.036236703,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"because it already exists.","depth":21,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.043550532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98138297,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.98670214,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"51","depth":23,"bounds":{"left":0.98836434,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"bounds":{"left":0.7912234,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"bounds":{"left":0.8630319,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"bounds":{"left":0.86835104,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.058843084,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_db.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.049534574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_files.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.05518617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9773936,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"10","depth":23,"bounds":{"left":0.9797208,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.984375,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"189","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"meetings\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_MEETINGS","depth":24,"bounds":{"left":0.80418885,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82613033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.828125,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"}]...
|
-2450382604595903606
|
-1072131597133313337
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32135
|
1242
|
9
|
2026-05-13T09:07:41.107570+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663261107_m1.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"15m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Began implementing","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"refactor-screenpipe-sync-modular-6b711a.md","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create refactoring plan to split screenpipe_sync.sh into modular components","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-p","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/lib","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"79","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" step(msg)\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" run_sqlite_heredoc(label, sql)\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" check(label, got, expected)\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"298","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"DB sync complete for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"100","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"File sync complete for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Cascade cannot create","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"because it already exists.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"51","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"}]...
|
5722418650678557933
|
-1072133246400623930
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32134
|
1243
|
11
|
2026-05-13T09:07:38.870862+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663258870_m2.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else
printf
" %-36s %s\n"
"rsync logs → NAS"
"skipped (no matching logs)"
fi
copy_logs
"
$TARGET_DATE
"
Thoughts
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"bounds":{"left":0.0,"top":0.047885075,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.05586592,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"bounds":{"left":0.0,"top":0.07581804,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.083798885,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"bounds":{"left":0.0,"top":0.103751,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.11173184,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"bounds":{"left":0.004986702,"top":0.11811652,"width":0.003656915,"height":0.007980846},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.005319149,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}},{"char_start":1,"char_count":1,"bounds":{"left":0.006981383,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}}],"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"bounds":{"left":0.0,"top":0.13168396,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.1396648,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"bounds":{"left":0.0,"top":0.15961692,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"bounds":{"left":0.0,"top":0.18754987,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.19553073,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"bounds":{"left":0.0,"top":0.21548285,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.22346368,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"bounds":{"left":0.0,"top":0.2434158,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.25139666,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"bounds":{"left":0.01462766,"top":0.047885075,"width":0.013630319,"height":0.023144454},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"bounds":{"left":0.01462766,"top":0.054269753,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.014960106,"top":0.055067837,"width":0.0019946808,"height":0.008778931}},{"char_start":1,"char_count":7,"bounds":{"left":0.016954787,"top":0.055067837,"width":0.011303191,"height":0.008778931}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.011635638,"top":0.07102953,"width":0.0831117,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.0726257,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.016954787,"top":0.07102953,"width":0.035904255,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"bounds":{"left":0.016954787,"top":0.07342378,"width":0.035904255,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.07342378,"width":0.0019946808,"height":0.009577015}},{"char_start":1,"char_count":20,"bounds":{"left":0.018949468,"top":0.07342378,"width":0.034242023,"height":0.009577015}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.08699122,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.08699122,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.025930852,"top":0.08699122,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.087789305,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.02825798,"top":0.087789305,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.10215483,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.10215483,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0063164895,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":2,"bounds":{"left":0.027925532,"top":0.10215483,"width":0.004654255,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.10215483,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.11652035,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.11652035,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.025930852,"top":0.11652035,"width":0.0076462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.11731844,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":3,"bounds":{"left":0.02825798,"top":0.11731844,"width":0.005319149,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.01462766,"top":0.13088587,"width":0.0043218085,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"bounds":{"left":0.025930852,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.13168396,"width":0.0009973404,"height":0.0103751}},{"char_start":1,"char_count":2,"bounds":{"left":0.026928192,"top":0.13168396,"width":0.0033244682,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.13168396,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.14604948,"width":0.003656915,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"bounds":{"left":0.027925532,"top":0.14604948,"width":0.039893616,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.14604948,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":20,"bounds":{"left":0.029920213,"top":0.14604948,"width":0.037898935,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.14604948,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.16041501,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"bounds":{"left":0.027925532,"top":0.16041501,"width":0.04255319,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.16121309,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":23,"bounds":{"left":0.029920213,"top":0.16121309,"width":0.04089096,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.16121309,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.17478053,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"bounds":{"left":0.027925532,"top":0.17478053,"width":0.048204787,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.17557861,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.029920213,"top":0.17557861,"width":0.046210106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.17557861,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.18994413,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.18994413,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.006981383,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.0009973404,"height":0.011173184}},{"char_start":1,"char_count":3,"bounds":{"left":0.026928192,"top":0.18994413,"width":0.0063164895,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.18994413,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.20430966,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.20430966,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.025930852,"top":0.20430966,"width":0.00930851,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.20510775,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":4,"bounds":{"left":0.02825798,"top":0.20510775,"width":0.006981383,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.21867518,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.025930852,"top":0.21867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.21947326,"width":0.0013297872,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.026928192,"top":0.21947326,"width":0.014960106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.23383878,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.029920213,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":16,"bounds":{"left":0.027925532,"top":0.23383878,"width":0.027925532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.2482043,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"bounds":{"left":0.025930852,"top":0.2482043,"width":0.01761968,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.2490024,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.027925532,"top":0.2490024,"width":0.015625,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.26256984,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.025930852,"top":0.26256984,"width":0.025265958,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.26336792,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":13,"bounds":{"left":0.027925532,"top":0.26336792,"width":0.023603724,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.26336792,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.27773345,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.046210106,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":27,"bounds":{"left":0.027925532,"top":0.27773345,"width":0.04454787,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.27773345,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.29209897,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.025930852,"top":0.29209897,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.29289705,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":8,"bounds":{"left":0.02825798,"top":0.29289705,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3064645,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.025930852,"top":0.3064645,"width":0.023271276,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.30726257,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.30726257,"width":0.021276595,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3216281,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.021941489,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.3216281,"width":0.019614361,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.33599362,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"bounds":{"left":0.025930852,"top":0.33599362,"width":0.04488032,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3367917,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":24,"bounds":{"left":0.027925532,"top":0.3367917,"width":0.04288564,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.3367917,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.35035914,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"bounds":{"left":0.025930852,"top":0.35035914,"width":0.042220745,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.35115722,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":22,"bounds":{"left":0.027925532,"top":0.35115722,"width":0.04055851,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.35115722,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.36552274,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.04055851,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":21,"bounds":{"left":0.027925532,"top":0.36552274,"width":0.03856383,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.36552274,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.37988827,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.025930852,"top":0.37988827,"width":0.04920213,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.38068634,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.027925532,"top":0.38068634,"width":0.047539894,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.38068634,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3942538,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.025930852,"top":0.3942538,"width":0.03357713,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.39505187,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":17,"bounds":{"left":0.027925532,"top":0.39505187,"width":0.03158245,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.087101065,"top":0.39505187,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.4094174,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.023936171,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.027925532,"top":0.4094174,"width":0.022273935,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.011635638,"top":0.95530725,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.95690346,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"bounds":{"left":0.016954787,"top":0.95530725,"width":0.011635638,"height":0.015163607},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"bounds":{"left":0.016954787,"top":0.9577015,"width":0.011635638,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9584996,"width":0.0026595744,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.019946808,"top":0.9584996,"width":0.008976064,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.011635638,"top":0.9696728,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.97206706,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"bounds":{"left":0.016954787,"top":0.97047085,"width":0.013630319,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"bounds":{"left":0.016954787,"top":0.9728651,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9728651,"width":0.0023271276,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.019281914,"top":0.9728651,"width":0.011635638,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0016622341,"top":0.9848364,"width":0.024268618,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.0039893617,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.00831117,"top":0.98723066,"width":0.015292553,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.008643617,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.009640957,"top":0.98723066,"width":0.012300532,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.027260639,"top":0.9848364,"width":0.019281914,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.027925532,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"bounds":{"left":0.032247342,"top":0.98723066,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.032579787,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.03357713,"top":0.98723066,"width":0.010970744,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.04654255,"top":0.9848364,"width":0.0063164895,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.054853722,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.05618351,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.06050532,"top":0.98723066,"width":0.0043218085,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.064494684,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.069148935,"top":0.98723066,"width":0.0029920214,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"bounds":{"left":0.07513298,"top":0.9848364,"width":0.010305851,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.07646277,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"bounds":{"left":0.080784574,"top":0.98723066,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.99102396,"top":0.9848364,"width":0.008976042,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"bounds":{"left":0.9567819,"top":0.9848364,"width":0.03357713,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"bounds":{"left":0.9421542,"top":0.9848364,"width":0.012965426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"bounds":{"left":0.91988033,"top":0.9848364,"width":0.020611702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"bounds":{"left":0.9115692,"top":0.9848364,"width":0.0066489363,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"bounds":{"left":0.8969415,"top":0.9848364,"width":0.013297873,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"bounds":{"left":0.87699467,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"bounds":{"left":0.8494016,"top":0.9848364,"width":0.026263298,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":0.80418885,"top":0.9848364,"width":0.04454787,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"bounds":{"left":0.76163566,"top":0.05347167,"width":0.034574468,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.76163566,"top":0.054269753,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":19,"bounds":{"left":0.76396275,"top":0.054269753,"width":0.032247342,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"15m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23238032,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Began implementing","depth":23,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.03557181,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"refactor-screenpipe-sync-modular-6b711a.md","depth":23,"bounds":{"left":0.8071808,"top":0.07102953,"width":0.077792555,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7649601,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76795214,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7799202,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create refactoring plan to split screenpipe_sync.sh into modular components","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.12965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.049867023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.7815825,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":23,"bounds":{"left":0.7825798,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":22,"bounds":{"left":0.76894945,"top":0.07102953,"width":0.010305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.77892286,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-p","depth":22,"bounds":{"left":0.7809175,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/lib","depth":22,"bounds":{"left":0.7869016,"top":0.07102953,"width":0.046210106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.7669548,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.049867023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.0987367,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.047872342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.97539896,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"79","depth":23,"bounds":{"left":0.9880319,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" step(msg)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" run_sqlite_heredoc(label, sql)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" check(label, got, expected)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.056848403,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.0987367,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.087101065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.039893616,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.9730718,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"298","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.034906916,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"DB sync complete for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8188165,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.8557181,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.8793218,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.8849734,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.90325797,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"bounds":{"left":0.9271942,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.9325133,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"bounds":{"left":0.9361702,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.087101065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.9734042,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9840425,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"100","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.034906916,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"File sync complete for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.859375,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.88297874,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"bounds":{"left":0.89228725,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"bounds":{"left":0.93085104,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.9361702,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.7669548,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":21,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.03324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Cascade cannot create","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.039893616,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.80285907,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.80851066,"top":0.07102953,"width":0.036236703,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"because it already exists.","depth":21,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.043550532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98138297,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.98670214,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"51","depth":23,"bounds":{"left":0.98836434,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"bounds":{"left":0.7912234,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"bounds":{"left":0.8630319,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"bounds":{"left":0.86835104,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.058843084,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_db.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.049534574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_files.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.05518617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9773936,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"10","depth":23,"bounds":{"left":0.9797208,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.984375,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"189","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"meetings\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_MEETINGS","depth":24,"bounds":{"left":0.80418885,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82613033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.828125,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.024268618,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8537234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_chunks\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.025930852,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.80585104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ACHUNKS","depth":24,"bounds":{"left":0.80984044,"top":0.07102953,"width":0.018284574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.828125,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8334442,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"bounds":{"left":0.83543885,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.85738033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_transcriptions\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ATRANS","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8480718,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"bounds":{"left":0.8500665,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8703458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db_verify","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.7875665,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.78956115,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.81150264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_FRAMES","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8390958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ELEMENTS","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.86668885,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.86835104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8703458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_UI","depth":24,"bounds":{"left":0.87200797,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8849734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.88663566,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_OCR","depth":24,"bounds":{"left":0.8902925,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.90525264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.90890956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"bounds":{"left":0.9105718,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.93450797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.93650264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9381649,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.96210104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9637633,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.96575797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"bounds":{"left":0.9674202,"top":0.07102953,"width":0.020611702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.98769945,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98138297,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.98670214,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"41","depth":23,"bounds":{"left":0.98836434,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"else","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %s\\n\"","depth":24,"bounds":{"left":0.78224736,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"rsync logs → NAS\"","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.03324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.85738033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"skipped (no matching logs)\"","depth":24,"bounds":{"left":0.859375,"top":0.07102953,"width":0.051529255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_logs","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78224736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"}]...
|
3989963215657460374
|
-928580527207905081
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else
printf
" %-36s %s\n"
"rsync logs → NAS"
"skipped (no matching logs)"
fi
copy_logs
"
$TARGET_DATE
"
Thoughts
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules...
|
32132
|
NULL
|
NULL
|
NULL
|
|
32133
|
1242
|
8
|
2026-05-13T09:07:38.870840+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663258870_m1.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else
printf
" %-36s %s\n"
"rsync logs → NAS"
"skipped (no matching logs)"
fi
copy_logs
"
$TARGET_DATE
"
Thoughts...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"15m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Began implementing","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"refactor-screenpipe-sync-modular-6b711a.md","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create refactoring plan to split screenpipe_sync.sh into modular components","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-p","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/lib","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"79","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" step(msg)\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" run_sqlite_heredoc(label, sql)\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" check(label, got, expected)\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"298","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"DB sync complete for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"100","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"File sync complete for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Cascade cannot create","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"because it already exists.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"51","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_db.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_files.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"10","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"189","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"meetings\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_MEETINGS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_chunks\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ACHUNKS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_transcriptions\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ATRANS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db_verify","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_FRAMES","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ELEMENTS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_UI","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_OCR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"41","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"else","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %s\\n\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"rsync logs → NAS\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"skipped (no matching logs)\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_logs","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"}]...
|
4208931035979147441
|
-928580527207905081
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else
printf
" %-36s %s\n"
"rsync logs → NAS"
"skipped (no matching logs)"
fi
copy_logs
"
$TARGET_DATE
"
Thoughts...
|
32131
|
NULL
|
NULL
|
NULL
|
|
32132
|
1243
|
10
|
2026-05-13T09:07:34.714435+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663254714_m2.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"bounds":{"left":0.0,"top":0.047885075,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.05586592,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"bounds":{"left":0.0,"top":0.07581804,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.083798885,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"bounds":{"left":0.0,"top":0.103751,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.11173184,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"bounds":{"left":0.004986702,"top":0.11811652,"width":0.003656915,"height":0.007980846},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.005319149,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}},{"char_start":1,"char_count":1,"bounds":{"left":0.006981383,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}}],"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"bounds":{"left":0.0,"top":0.13168396,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.1396648,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"bounds":{"left":0.0,"top":0.15961692,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"bounds":{"left":0.0,"top":0.18754987,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.19553073,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"bounds":{"left":0.0,"top":0.21548285,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.22346368,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"bounds":{"left":0.0,"top":0.2434158,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.25139666,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"bounds":{"left":0.01462766,"top":0.047885075,"width":0.013630319,"height":0.023144454},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"bounds":{"left":0.01462766,"top":0.054269753,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.014960106,"top":0.055067837,"width":0.0019946808,"height":0.008778931}},{"char_start":1,"char_count":7,"bounds":{"left":0.016954787,"top":0.055067837,"width":0.011303191,"height":0.008778931}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.011635638,"top":0.07102953,"width":0.0831117,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.0726257,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.016954787,"top":0.07102953,"width":0.035904255,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"bounds":{"left":0.016954787,"top":0.07342378,"width":0.035904255,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.07342378,"width":0.0019946808,"height":0.009577015}},{"char_start":1,"char_count":20,"bounds":{"left":0.018949468,"top":0.07342378,"width":0.034242023,"height":0.009577015}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.08699122,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.08699122,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.025930852,"top":0.08699122,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.087789305,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.02825798,"top":0.087789305,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.10215483,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.10215483,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0063164895,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":2,"bounds":{"left":0.027925532,"top":0.10215483,"width":0.004654255,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.10215483,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.11652035,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.11652035,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.025930852,"top":0.11652035,"width":0.0076462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.11731844,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":3,"bounds":{"left":0.02825798,"top":0.11731844,"width":0.005319149,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.01462766,"top":0.13088587,"width":0.0043218085,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"bounds":{"left":0.025930852,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.13168396,"width":0.0009973404,"height":0.0103751}},{"char_start":1,"char_count":2,"bounds":{"left":0.026928192,"top":0.13168396,"width":0.0033244682,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.13168396,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.14604948,"width":0.003656915,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"bounds":{"left":0.027925532,"top":0.14604948,"width":0.039893616,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.14604948,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":20,"bounds":{"left":0.029920213,"top":0.14604948,"width":0.037898935,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.14604948,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.16041501,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"bounds":{"left":0.027925532,"top":0.16041501,"width":0.04255319,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.16121309,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":23,"bounds":{"left":0.029920213,"top":0.16121309,"width":0.04089096,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.16121309,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.17478053,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"bounds":{"left":0.027925532,"top":0.17478053,"width":0.048204787,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.17557861,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.029920213,"top":0.17557861,"width":0.046210106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.17557861,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.18994413,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.18994413,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.006981383,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.0009973404,"height":0.011173184}},{"char_start":1,"char_count":3,"bounds":{"left":0.026928192,"top":0.18994413,"width":0.0063164895,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.18994413,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.20430966,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.20430966,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.025930852,"top":0.20430966,"width":0.00930851,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.20510775,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":4,"bounds":{"left":0.02825798,"top":0.20510775,"width":0.006981383,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.21867518,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.025930852,"top":0.21867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.21947326,"width":0.0013297872,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.026928192,"top":0.21947326,"width":0.014960106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.23383878,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.029920213,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":16,"bounds":{"left":0.027925532,"top":0.23383878,"width":0.027925532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.2482043,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"bounds":{"left":0.025930852,"top":0.2482043,"width":0.01761968,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.2490024,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.027925532,"top":0.2490024,"width":0.015625,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.26256984,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.025930852,"top":0.26256984,"width":0.025265958,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.26336792,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":13,"bounds":{"left":0.027925532,"top":0.26336792,"width":0.023603724,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.26336792,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.27773345,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.046210106,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":27,"bounds":{"left":0.027925532,"top":0.27773345,"width":0.04454787,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.27773345,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.29209897,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.025930852,"top":0.29209897,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.29289705,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":8,"bounds":{"left":0.02825798,"top":0.29289705,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3064645,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.025930852,"top":0.3064645,"width":0.023271276,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.30726257,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.30726257,"width":0.021276595,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3216281,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.021941489,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.3216281,"width":0.019614361,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.33599362,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"bounds":{"left":0.025930852,"top":0.33599362,"width":0.04488032,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3367917,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":24,"bounds":{"left":0.027925532,"top":0.3367917,"width":0.04288564,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.3367917,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.35035914,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"bounds":{"left":0.025930852,"top":0.35035914,"width":0.042220745,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.35115722,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":22,"bounds":{"left":0.027925532,"top":0.35115722,"width":0.04055851,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.35115722,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.36552274,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.04055851,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":21,"bounds":{"left":0.027925532,"top":0.36552274,"width":0.03856383,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.36552274,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.37988827,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.025930852,"top":0.37988827,"width":0.04920213,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.38068634,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.027925532,"top":0.38068634,"width":0.047539894,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.38068634,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3942538,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.025930852,"top":0.3942538,"width":0.03357713,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.39505187,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":17,"bounds":{"left":0.027925532,"top":0.39505187,"width":0.03158245,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.087101065,"top":0.39505187,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.4094174,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.023936171,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.027925532,"top":0.4094174,"width":0.022273935,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.011635638,"top":0.95530725,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.95690346,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"bounds":{"left":0.016954787,"top":0.95530725,"width":0.011635638,"height":0.015163607},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"bounds":{"left":0.016954787,"top":0.9577015,"width":0.011635638,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9584996,"width":0.0026595744,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.019946808,"top":0.9584996,"width":0.008976064,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.011635638,"top":0.9696728,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.97206706,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"bounds":{"left":0.016954787,"top":0.97047085,"width":0.013630319,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"bounds":{"left":0.016954787,"top":0.9728651,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9728651,"width":0.0023271276,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.019281914,"top":0.9728651,"width":0.011635638,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0016622341,"top":0.9848364,"width":0.024268618,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.0039893617,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.00831117,"top":0.98723066,"width":0.015292553,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.008643617,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.009640957,"top":0.98723066,"width":0.012300532,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.027260639,"top":0.9848364,"width":0.019281914,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.027925532,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"bounds":{"left":0.032247342,"top":0.98723066,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.032579787,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.03357713,"top":0.98723066,"width":0.010970744,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.04654255,"top":0.9848364,"width":0.0063164895,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.054853722,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.05618351,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.06050532,"top":0.98723066,"width":0.0043218085,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.064494684,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.069148935,"top":0.98723066,"width":0.0029920214,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"bounds":{"left":0.07513298,"top":0.9848364,"width":0.010305851,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.07646277,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"bounds":{"left":0.080784574,"top":0.98723066,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.99102396,"top":0.9848364,"width":0.008976042,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"bounds":{"left":0.9567819,"top":0.9848364,"width":0.03357713,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"bounds":{"left":0.9421542,"top":0.9848364,"width":0.012965426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"bounds":{"left":0.91988033,"top":0.9848364,"width":0.020611702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"bounds":{"left":0.9115692,"top":0.9848364,"width":0.0066489363,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"bounds":{"left":0.8969415,"top":0.9848364,"width":0.013297873,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"bounds":{"left":0.87699467,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"bounds":{"left":0.8494016,"top":0.9848364,"width":0.026263298,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":0.80418885,"top":0.9848364,"width":0.04454787,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"bounds":{"left":0.76163566,"top":0.05347167,"width":0.034574468,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.76163566,"top":0.054269753,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":19,"bounds":{"left":0.76396275,"top":0.054269753,"width":0.032247342,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"15m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23238032,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Began implementing","depth":23,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.03557181,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"refactor-screenpipe-sync-modular-6b711a.md","depth":23,"bounds":{"left":0.8071808,"top":0.07102953,"width":0.077792555,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7649601,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76795214,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7799202,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create refactoring plan to split screenpipe_sync.sh into modular components","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.12965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.049867023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.7815825,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":23,"bounds":{"left":0.7825798,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":22,"bounds":{"left":0.76894945,"top":0.07102953,"width":0.010305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.77892286,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-p","depth":22,"bounds":{"left":0.7809175,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/lib","depth":22,"bounds":{"left":0.7869016,"top":0.07102953,"width":0.046210106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.7669548,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.049867023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.0987367,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.047872342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.97539896,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"79","depth":23,"bounds":{"left":0.9880319,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" step(msg)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" run_sqlite_heredoc(label, sql)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" check(label, got, expected)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.056848403,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.0987367,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.087101065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.039893616,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.9730718,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"298","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.034906916,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"DB sync complete for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8188165,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.8557181,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.8793218,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.8849734,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.90325797,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"bounds":{"left":0.9271942,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.9325133,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"bounds":{"left":0.9361702,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.087101065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.9734042,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9840425,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"100","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.034906916,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"File sync complete for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.859375,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.88297874,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"bounds":{"left":0.89228725,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"bounds":{"left":0.93085104,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.9361702,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.7669548,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":21,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.03324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Cascade cannot create","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.039893616,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.80285907,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.80851066,"top":0.07102953,"width":0.036236703,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"because it already exists.","depth":21,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.043550532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98138297,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.98670214,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"51","depth":23,"bounds":{"left":0.98836434,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"bounds":{"left":0.7912234,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"bounds":{"left":0.8630319,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"bounds":{"left":0.86835104,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.058843084,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_db.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.049534574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_files.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.05518617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9773936,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"10","depth":23,"bounds":{"left":0.9797208,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.984375,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"189","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"meetings\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_MEETINGS","depth":24,"bounds":{"left":0.80418885,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82613033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.828125,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.024268618,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8537234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_chunks\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.025930852,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.80585104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ACHUNKS","depth":24,"bounds":{"left":0.80984044,"top":0.07102953,"width":0.018284574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.828125,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8334442,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"bounds":{"left":0.83543885,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.85738033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_transcriptions\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ATRANS","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8480718,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"bounds":{"left":0.8500665,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8703458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db_verify","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.7875665,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.78956115,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.81150264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_FRAMES","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8390958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ELEMENTS","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.86668885,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.86835104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8703458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_UI","depth":24,"bounds":{"left":0.87200797,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8849734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.88663566,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_OCR","depth":24,"bounds":{"left":0.8902925,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.90525264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.90890956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"bounds":{"left":0.9105718,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.93450797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.93650264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9381649,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.96210104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9637633,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.96575797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"bounds":{"left":0.9674202,"top":0.07102953,"width":0.020611702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.98769945,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"}]...
|
-2874773069602310949
|
-928580527208298297
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32131
|
1242
|
7
|
2026-05-13T09:07:34.720599+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663254720_m1.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else
printf
" %-36s %s\n"
"rsync logs → NAS"
"skipped (no matching logs)"
fi
copy_logs
"
$TARGET_DATE
"...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"15m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Began implementing","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"refactor-screenpipe-sync-modular-6b711a.md","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create refactoring plan to split screenpipe_sync.sh into modular components","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-p","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/lib","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"79","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" step(msg)\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" run_sqlite_heredoc(label, sql)\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" check(label, got, expected)\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"298","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"DB sync complete for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"100","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"File sync complete for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Cascade cannot create","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"because it already exists.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"51","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_db.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_files.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"10","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"189","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"meetings\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_MEETINGS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_chunks\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ACHUNKS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_transcriptions\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ATRANS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db_verify","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_FRAMES","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ELEMENTS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_UI","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_OCR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"41","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"else","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %s\\n\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"rsync logs → NAS\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"skipped (no matching logs)\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_logs","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"}]...
|
-449443631436742954
|
-928580527207905081
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else
printf
" %-36s %s\n"
"rsync logs → NAS"
"skipped (no matching logs)"
fi
copy_logs
"
$TARGET_DATE
"...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32123
|
1243
|
4
|
2026-05-13T09:07:14.880283+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663234880_m2.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else
printf
" %-36s %s\n"
"rsync logs → NAS"
"skipped (no matching logs)"
fi
copy_logs
"
$TARGET_DATE
"
Thoughts
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Test backward compatibility of main script
Thoughts
Command
bash
bash
-n
/volume1/screenpipe/screenpipe_sync.sh
Canceled
terminal command
Feedback submitted
this is something that will live inside mac and run it from there. It is here for documentation mostly. I want the whole lib to copy to mac and run from there. So I will test it there. Alos I noticed that audio files are not synced. Only video. I neeed to copy data from ~/.screenpipe/data there audio lives in files named like LakyLak bose qc35 II (input)_2026-05-12_06-49-17.mp4 or MacBook Pro Microphone (input)_2026-05-12_12-17-23.mp4 or soundcore AeroClip (input)_2026-05-12_07-40-48.mp4 or System Audio (output)_2026-05-11_06-17-14.mp4 or somethign simillar (path in sqlite db). I want to copy data form that particular data as the part of the sycn process. Add it to the script sync flow.
Expand content to scroll
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4
# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
# ─── COPY LOGS ────────────────────────────────────────────────────────────────
Thoughts
7
/
7
tasks
done
Thought
for 1s
I've completed the refactoring
and added audio file syncing. Here's what was done:
Refactoring:
Created
lib/
directory with three modules:
lib/screenpipe_sync_helpers.sh
- logging, timing, SQLite helpers
lib/screenpipe_sync_db.sh
- all DB operations (tables, indexes
, sync, FTS, verify)
lib/screenpipe_sync_files.sh
- data folder, audio files, and log
copying
Refactored
screenpipe_sync.sh
to source
the modules and call functions
Main script
maintains exact same CLI interface for backward compatibility
Audio File Syncing:
Added
copy_audio_files()
function to
lib/screenpipe_sync_files.sh
Queries
audio_chunks
table for file paths on
target date
Copies audio files (e.g.,
LakyLak bose
qc35 II (input)_2026-05
-12_06-49-17.mp4
) from
~/.screenpipe/data
to
$NAS_DATA/audio/
Integrated into main sync flow between data folder and log
copying
Usage:
bash
# Main script (backward compatible)
./screenpipe_sync.sh
2026-05-11
# Standalone module testing
TARGET_DATE
=
2026-05-11
DB_SRC
=
~/.screenpipe/db.sqlite
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_db.sh
TARGET_DATE
=
2026-05-11
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_files.sh
Copy the entire
lib/
folder to your Mac and run
the main script from there
.
Feedback submitted
lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there
Expand content to scroll
Thoughts
screenpipe_sync_files.sh
+
1
-...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"bounds":{"left":0.0,"top":0.047885075,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.05586592,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"bounds":{"left":0.0,"top":0.07581804,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.083798885,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"bounds":{"left":0.0,"top":0.103751,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.11173184,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"bounds":{"left":0.004986702,"top":0.11811652,"width":0.003656915,"height":0.007980846},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.005319149,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}},{"char_start":1,"char_count":1,"bounds":{"left":0.006981383,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}}],"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"bounds":{"left":0.0,"top":0.13168396,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.1396648,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"bounds":{"left":0.0,"top":0.15961692,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"bounds":{"left":0.0,"top":0.18754987,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.19553073,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"bounds":{"left":0.0,"top":0.21548285,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.22346368,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"bounds":{"left":0.0,"top":0.2434158,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.25139666,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"bounds":{"left":0.01462766,"top":0.047885075,"width":0.013630319,"height":0.023144454},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"bounds":{"left":0.01462766,"top":0.054269753,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.014960106,"top":0.055067837,"width":0.0019946808,"height":0.008778931}},{"char_start":1,"char_count":7,"bounds":{"left":0.016954787,"top":0.055067837,"width":0.011303191,"height":0.008778931}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.011635638,"top":0.07102953,"width":0.0831117,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.0726257,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.016954787,"top":0.07102953,"width":0.035904255,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"bounds":{"left":0.016954787,"top":0.07342378,"width":0.035904255,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.07342378,"width":0.0019946808,"height":0.009577015}},{"char_start":1,"char_count":20,"bounds":{"left":0.018949468,"top":0.07342378,"width":0.034242023,"height":0.009577015}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.08699122,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.08699122,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.025930852,"top":0.08699122,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.087789305,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.02825798,"top":0.087789305,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.10215483,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.10215483,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0063164895,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":2,"bounds":{"left":0.027925532,"top":0.10215483,"width":0.004654255,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.10215483,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.11652035,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.11652035,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.025930852,"top":0.11652035,"width":0.0076462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.11731844,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":3,"bounds":{"left":0.02825798,"top":0.11731844,"width":0.005319149,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.01462766,"top":0.13088587,"width":0.0043218085,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"bounds":{"left":0.025930852,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.13168396,"width":0.0009973404,"height":0.0103751}},{"char_start":1,"char_count":2,"bounds":{"left":0.026928192,"top":0.13168396,"width":0.0033244682,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.13168396,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.14604948,"width":0.003656915,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"bounds":{"left":0.027925532,"top":0.14604948,"width":0.039893616,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.14604948,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":20,"bounds":{"left":0.029920213,"top":0.14604948,"width":0.037898935,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.14604948,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.16041501,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"bounds":{"left":0.027925532,"top":0.16041501,"width":0.04255319,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.16121309,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":23,"bounds":{"left":0.029920213,"top":0.16121309,"width":0.04089096,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.16121309,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.17478053,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"bounds":{"left":0.027925532,"top":0.17478053,"width":0.048204787,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.17557861,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.029920213,"top":0.17557861,"width":0.046210106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.17557861,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.18994413,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.18994413,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.006981383,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.0009973404,"height":0.011173184}},{"char_start":1,"char_count":3,"bounds":{"left":0.026928192,"top":0.18994413,"width":0.0063164895,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.18994413,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.20430966,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.20430966,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.025930852,"top":0.20430966,"width":0.00930851,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.20510775,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":4,"bounds":{"left":0.02825798,"top":0.20510775,"width":0.006981383,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.21867518,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.025930852,"top":0.21867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.21947326,"width":0.0013297872,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.026928192,"top":0.21947326,"width":0.014960106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.23383878,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.029920213,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":16,"bounds":{"left":0.027925532,"top":0.23383878,"width":0.027925532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.2482043,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"bounds":{"left":0.025930852,"top":0.2482043,"width":0.01761968,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.2490024,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.027925532,"top":0.2490024,"width":0.015625,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.26256984,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.025930852,"top":0.26256984,"width":0.025265958,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.26336792,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":13,"bounds":{"left":0.027925532,"top":0.26336792,"width":0.023603724,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.26336792,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.27773345,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.046210106,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":27,"bounds":{"left":0.027925532,"top":0.27773345,"width":0.04454787,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.27773345,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.29209897,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.025930852,"top":0.29209897,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.29289705,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":8,"bounds":{"left":0.02825798,"top":0.29289705,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3064645,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.025930852,"top":0.3064645,"width":0.023271276,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.30726257,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.30726257,"width":0.021276595,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3216281,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.021941489,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.3216281,"width":0.019614361,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.33599362,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"bounds":{"left":0.025930852,"top":0.33599362,"width":0.04488032,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3367917,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":24,"bounds":{"left":0.027925532,"top":0.3367917,"width":0.04288564,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.3367917,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.35035914,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"bounds":{"left":0.025930852,"top":0.35035914,"width":0.042220745,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.35115722,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":22,"bounds":{"left":0.027925532,"top":0.35115722,"width":0.04055851,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.35115722,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.36552274,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.04055851,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":21,"bounds":{"left":0.027925532,"top":0.36552274,"width":0.03856383,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.36552274,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.37988827,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.025930852,"top":0.37988827,"width":0.04920213,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.38068634,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.027925532,"top":0.38068634,"width":0.047539894,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.38068634,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3942538,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.025930852,"top":0.3942538,"width":0.03357713,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.39505187,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":17,"bounds":{"left":0.027925532,"top":0.39505187,"width":0.03158245,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.087101065,"top":0.39505187,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.4094174,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.023936171,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.027925532,"top":0.4094174,"width":0.022273935,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.011635638,"top":0.95530725,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.95690346,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"bounds":{"left":0.016954787,"top":0.95530725,"width":0.011635638,"height":0.015163607},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"bounds":{"left":0.016954787,"top":0.9577015,"width":0.011635638,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9584996,"width":0.0026595744,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.019946808,"top":0.9584996,"width":0.008976064,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.011635638,"top":0.9696728,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.97206706,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"bounds":{"left":0.016954787,"top":0.97047085,"width":0.013630319,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"bounds":{"left":0.016954787,"top":0.9728651,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9728651,"width":0.0023271276,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.019281914,"top":0.9728651,"width":0.011635638,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0016622341,"top":0.9848364,"width":0.024268618,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.0039893617,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.00831117,"top":0.98723066,"width":0.015292553,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.008643617,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.009640957,"top":0.98723066,"width":0.012300532,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.027260639,"top":0.9848364,"width":0.019281914,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.027925532,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"bounds":{"left":0.032247342,"top":0.98723066,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.032579787,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.03357713,"top":0.98723066,"width":0.010970744,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.04654255,"top":0.9848364,"width":0.0063164895,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.054853722,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.05618351,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.06050532,"top":0.98723066,"width":0.0043218085,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.064494684,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.069148935,"top":0.98723066,"width":0.0029920214,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"bounds":{"left":0.07513298,"top":0.9848364,"width":0.010305851,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.07646277,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"bounds":{"left":0.080784574,"top":0.98723066,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.99102396,"top":0.9848364,"width":0.008976042,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"bounds":{"left":0.9567819,"top":0.9848364,"width":0.03357713,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"bounds":{"left":0.9421542,"top":0.9848364,"width":0.012965426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"bounds":{"left":0.91988033,"top":0.9848364,"width":0.020611702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"bounds":{"left":0.9115692,"top":0.9848364,"width":0.0066489363,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"bounds":{"left":0.8969415,"top":0.9848364,"width":0.013297873,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"bounds":{"left":0.87699467,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"bounds":{"left":0.8494016,"top":0.9848364,"width":0.026263298,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":0.80418885,"top":0.9848364,"width":0.04454787,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"bounds":{"left":0.76163566,"top":0.05347167,"width":0.034574468,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.76163566,"top":0.054269753,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":19,"bounds":{"left":0.76396275,"top":0.054269753,"width":0.032247342,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"15m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23238032,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Began implementing","depth":23,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.03557181,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"refactor-screenpipe-sync-modular-6b711a.md","depth":23,"bounds":{"left":0.8071808,"top":0.07102953,"width":0.077792555,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7649601,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76795214,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7799202,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create refactoring plan to split screenpipe_sync.sh into modular components","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.12965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.049867023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.7815825,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":23,"bounds":{"left":0.7825798,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":22,"bounds":{"left":0.76894945,"top":0.07102953,"width":0.010305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.77892286,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-p","depth":22,"bounds":{"left":0.7809175,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/lib","depth":22,"bounds":{"left":0.7869016,"top":0.07102953,"width":0.046210106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.7669548,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.049867023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.0987367,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.047872342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.97539896,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"79","depth":23,"bounds":{"left":0.9880319,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" step(msg)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" run_sqlite_heredoc(label, sql)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" check(label, got, expected)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.056848403,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.0987367,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.087101065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.039893616,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.9730718,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"298","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.034906916,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"DB sync complete for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8188165,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.8557181,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.8793218,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.8849734,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.90325797,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"bounds":{"left":0.9271942,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.9325133,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"bounds":{"left":0.9361702,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.087101065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.9734042,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9840425,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"100","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.034906916,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"File sync complete for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.859375,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.88297874,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"bounds":{"left":0.89228725,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"bounds":{"left":0.93085104,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.9361702,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.7669548,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":21,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.03324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Cascade cannot create","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.039893616,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.80285907,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.80851066,"top":0.07102953,"width":0.036236703,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"because it already exists.","depth":21,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.043550532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98138297,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.98670214,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"51","depth":23,"bounds":{"left":0.98836434,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"bounds":{"left":0.7912234,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"bounds":{"left":0.8630319,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"bounds":{"left":0.86835104,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.058843084,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_db.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.049534574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_files.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.05518617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9773936,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"10","depth":23,"bounds":{"left":0.9797208,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.984375,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"189","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"meetings\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_MEETINGS","depth":24,"bounds":{"left":0.80418885,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82613033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.828125,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.024268618,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8537234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_chunks\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.025930852,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.80585104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ACHUNKS","depth":24,"bounds":{"left":0.80984044,"top":0.07102953,"width":0.018284574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.828125,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8334442,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"bounds":{"left":0.83543885,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.85738033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_transcriptions\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ATRANS","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8480718,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"bounds":{"left":0.8500665,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8703458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db_verify","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.7875665,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.78956115,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.81150264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_FRAMES","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8390958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ELEMENTS","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.86668885,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.86835104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8703458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_UI","depth":24,"bounds":{"left":0.87200797,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8849734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.88663566,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_OCR","depth":24,"bounds":{"left":0.8902925,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.90525264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.90890956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"bounds":{"left":0.9105718,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.93450797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.93650264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9381649,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.96210104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9637633,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.96575797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"bounds":{"left":0.9674202,"top":0.07102953,"width":0.020611702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.98769945,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98138297,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.98670214,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"41","depth":23,"bounds":{"left":0.98836434,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"else","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %s\\n\"","depth":24,"bounds":{"left":0.78224736,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"rsync logs → NAS\"","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.03324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.85738033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"skipped (no matching logs)\"","depth":24,"bounds":{"left":0.859375,"top":0.07102953,"width":0.051529255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_logs","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78224736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Test backward compatibility of main script","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.07114362,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.7815825,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":23,"bounds":{"left":0.7825798,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"bounds":{"left":0.76894945,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7769282,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-n","depth":22,"bounds":{"left":0.77892286,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.78291225,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/screenpipe_sync.sh","depth":22,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.076130316,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Canceled","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.01462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"terminal command","depth":22,"bounds":{"left":0.7855718,"top":0.07102953,"width":0.027260639,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"this is something that will live inside mac and run it from there. It is here for documentation mostly. I want the whole lib to copy to mac and run from there. So I will test it there. Alos I noticed that audio files are not synced. Only video. I neeed to copy data from ~/.screenpipe/data there audio lives in files named like LakyLak bose qc35 II (input)_2026-05-12_06-49-17.mp4 or MacBook Pro Microphone (input)_2026-05-12_12-17-23.mp4 or soundcore AeroClip (input)_2026-05-12_07-40-48.mp4 or System Audio (output)_2026-05-11_06-17-14.mp4 or somethign simillar (path in sqlite db). I want to copy data form that particular data as the part of the sycn process. Add it to the script sync flow.","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.22506648,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.87333775,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Add audio file copying to sync flow","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.05851064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":21,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.042220745,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"37","depth":23,"bounds":{"left":0.9880319,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total_size","depth":24,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7912234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"du","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-sh","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.80984044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$nas_audio","depth":24,"bounds":{"left":0.81150264,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8317819,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"bounds":{"left":0.8334442,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.83543885,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cut","depth":24,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-f1","depth":24,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")","depth":24,"bounds":{"left":0.8500665,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %d file(s), %s\\n\"","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8480718,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio files total:\"","depth":24,"bounds":{"left":0.8500665,"top":0.07102953,"width":0.036901597,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.88663566,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$count","depth":24,"bounds":{"left":0.8902925,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9015958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.90325797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.90525264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$total_size","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9271942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9288564,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"bounds":{"left":0.93085104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9325133,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tee","depth":24,"bounds":{"left":0.93450797,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-a","depth":24,"bounds":{"left":0.9418218,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.94547874,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9474734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$LOG_FILE","depth":24,"bounds":{"left":0.94913566,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.96575797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98769945,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":23,"bounds":{"left":0.9896942,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.045877658,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84640956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.029587766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying screenpipe logs for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.05319149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8317819,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8537234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98769945,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":23,"bounds":{"left":0.9896942,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"bounds":{"left":0.7749335,"top":0.07102953,"width":0.045877658,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.029587766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── COPY LOGS ────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76828456,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"I've completed the refactoring","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.053856384,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and added audio file syncing. Here's what was done:","depth":21,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.09507979,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactoring:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Created","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.015625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/","depth":23,"bounds":{"left":0.78723407,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"directory with three modules:","depth":22,"bounds":{"left":0.79587764,"top":0.07102953,"width":0.053523935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_helpers.sh","depth":26,"bounds":{"left":0.78424203,"top":0.07102953,"width":0.065159574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- logging, timing, SQLite helpers","depth":24,"bounds":{"left":0.8490692,"top":0.07102953,"width":0.058843084,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_db.sh","depth":26,"bounds":{"left":0.78424203,"top":0.07102953,"width":0.05418883,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- all DB operations (tables, indexes","depth":24,"bounds":{"left":0.8384308,"top":0.07102953,"width":0.06349734,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", sync, FTS, verify)","depth":24,"bounds":{"left":0.9015958,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_files.sh","depth":26,"bounds":{"left":0.78424203,"top":0.07102953,"width":0.060837764,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- data folder, audio files, and log","depth":24,"bounds":{"left":0.84474736,"top":0.07102953,"width":0.058843084,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copying","depth":24,"bounds":{"left":0.90359044,"top":0.07102953,"width":0.015292553,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactored","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.020944148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7915558,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":24,"bounds":{"left":0.7972075,"top":0.07102953,"width":0.039228722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to source","depth":22,"bounds":{"left":0.83610374,"top":0.07102953,"width":0.017952127,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the modules and call functions","depth":22,"bounds":{"left":0.8540558,"top":0.07102953,"width":0.055851065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Main script","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"maintains exact same CLI interface for backward compatibility","depth":22,"bounds":{"left":0.79089093,"top":0.07102953,"width":0.112034574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Audio File Syncing:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.03557181,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Added","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.011968086,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7825798,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78357714,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files()","depth":24,"bounds":{"left":0.78922874,"top":0.07102953,"width":0.038896278,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"function to","depth":22,"bounds":{"left":0.828125,"top":0.07102953,"width":0.021609042,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.84973407,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_files.sh","depth":24,"bounds":{"left":0.8550532,"top":0.07102953,"width":0.060837764,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Queries","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.013962766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":23,"bounds":{"left":0.7869016,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"table for file paths on","depth":22,"bounds":{"left":0.81017286,"top":0.07102953,"width":0.039228722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target date","depth":22,"bounds":{"left":0.8490692,"top":0.07102953,"width":0.020944148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Copies audio files (e.g.,","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.042220745,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.8128325,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LakyLak bose","depth":23,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"qc35 II (input)_2026-05","depth":23,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-12_06-49-17.mp4","depth":23,"bounds":{"left":0.88098407,"top":0.07102953,"width":0.029587766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") from","depth":22,"bounds":{"left":0.9115692,"top":0.07102953,"width":0.010970744,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.9225399,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data","depth":23,"bounds":{"left":0.92453456,"top":0.07102953,"width":0.03324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to","depth":22,"bounds":{"left":0.9587766,"top":0.07102953,"width":0.004654255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.9634308,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":23,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.22041224,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Integrated into main sync flow between data folder and log","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.105053194,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copying","depth":22,"bounds":{"left":0.8756649,"top":0.07102953,"width":0.015625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Usage:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Main script (backward compatible)","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.07047872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./screenpipe_sync.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.040226065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.8068484,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"bounds":{"left":0.8088431,"top":0.07102953,"width":0.019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Standalone module testing","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.05418883,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TARGET_DATE","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.78889626,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"bounds":{"left":0.79089093,"top":0.07102953,"width":0.019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.81083775,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"DB_SRC","depth":23,"bounds":{"left":0.8128325,"top":0.07102953,"width":0.011968086,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.82480055,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/db.sqlite","depth":23,"bounds":{"left":0.8267952,"top":0.07102953,"width":0.046210106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.87267286,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"NAS_MOUNT","depth":23,"bounds":{"left":0.8746675,"top":0.07102953,"width":0.018284574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.89295214,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Volumes/screenpipe","depth":23,"bounds":{"left":0.8949468,"top":0.07102953,"width":0.038231384,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.9328458,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\\","depth":23,"bounds":{"left":0.93484044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./lib/screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.7706117,"top":0.07102953,"width":0.05418883,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TARGET_DATE","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.78889626,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"bounds":{"left":0.79089093,"top":0.07102953,"width":0.019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.81083775,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"NAS_MOUNT","depth":23,"bounds":{"left":0.8128325,"top":0.07102953,"width":0.017952127,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":23,"bounds":{"left":0.83078456,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/Volumes/screenpipe","depth":23,"bounds":{"left":0.8327792,"top":0.07102953,"width":0.038231384,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.8706782,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\\","depth":23,"bounds":{"left":0.87267286,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./lib/screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.7706117,"top":0.07102953,"width":0.06017287,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Copy the entire","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.028590426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/","depth":22,"bounds":{"left":0.79288566,"top":0.07102953,"width":0.00731383,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"folder to your Mac and run","depth":21,"bounds":{"left":0.8011968,"top":0.07102953,"width":0.048537236,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the main script from there","depth":21,"bounds":{"left":0.8494016,"top":0.07102953,"width":0.047872342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".","depth":21,"bounds":{"left":0.8969415,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there","depth":25,"bounds":{"left":0.8284575,"top":0.07102953,"width":0.16456117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.90458775,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9840425,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.9886968,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"}]...
|
8365983866052673616
|
8583091773472868551
|
visual_change
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else
printf
" %-36s %s\n"
"rsync logs → NAS"
"skipped (no matching logs)"
fi
copy_logs
"
$TARGET_DATE
"
Thoughts
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Test backward compatibility of main script
Thoughts
Command
bash
bash
-n
/volume1/screenpipe/screenpipe_sync.sh
Canceled
terminal command
Feedback submitted
this is something that will live inside mac and run it from there. It is here for documentation mostly. I want the whole lib to copy to mac and run from there. So I will test it there. Alos I noticed that audio files are not synced. Only video. I neeed to copy data from ~/.screenpipe/data there audio lives in files named like LakyLak bose qc35 II (input)_2026-05-12_06-49-17.mp4 or MacBook Pro Microphone (input)_2026-05-12_12-17-23.mp4 or soundcore AeroClip (input)_2026-05-12_07-40-48.mp4 or System Audio (output)_2026-05-11_06-17-14.mp4 or somethign simillar (path in sqlite db). I want to copy data form that particular data as the part of the sycn process. Add it to the script sync flow.
Expand content to scroll
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4
# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
# ─── COPY LOGS ────────────────────────────────────────────────────────────────
Thoughts
7
/
7
tasks
done
Thought
for 1s
I've completed the refactoring
and added audio file syncing. Here's what was done:
Refactoring:
Created
lib/
directory with three modules:
lib/screenpipe_sync_helpers.sh
- logging, timing, SQLite helpers
lib/screenpipe_sync_db.sh
- all DB operations (tables, indexes
, sync, FTS, verify)
lib/screenpipe_sync_files.sh
- data folder, audio files, and log
copying
Refactored
screenpipe_sync.sh
to source
the modules and call functions
Main script
maintains exact same CLI interface for backward compatibility
Audio File Syncing:
Added
copy_audio_files()
function to
lib/screenpipe_sync_files.sh
Queries
audio_chunks
table for file paths on
target date
Copies audio files (e.g.,
LakyLak bose
qc35 II (input)_2026-05
-12_06-49-17.mp4
) from
~/.screenpipe/data
to
$NAS_DATA/audio/
Integrated into main sync flow between data folder and log
copying
Usage:
bash
# Main script (backward compatible)
./screenpipe_sync.sh
2026-05-11
# Standalone module testing
TARGET_DATE
=
2026-05-11
DB_SRC
=
~/.screenpipe/db.sqlite
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_db.sh
TARGET_DATE
=
2026-05-11
NAS_MOUNT
=
/Volumes/screenpipe
\
./lib/screenpipe_sync_files.sh
Copy the entire
lib/
folder to your Mac and run
the main script from there
.
Feedback submitted
lets add audio files in subfolder in date/{date} lets call is audio and lets plalcew all audio files there
Expand content to scroll
Thoughts
screenpipe_sync_files.sh
+
1
-...
|
32122
|
NULL
|
NULL
|
NULL
|
|
32122
|
1243
|
3
|
2026-05-13T09:07:11.254174+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663231254_m2.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else
printf
" %-36s %s\n"
"rsync logs → NAS"
"skipped (no matching logs)"
fi
copy_logs
"
$TARGET_DATE
"
Thoughts
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Test backward compatibility of main script
Thoughts
Command
bash
bash
-n
/volume1/screenpipe/screenpipe_sync.sh
Canceled
terminal command
Feedback submitted
this is something that will live inside mac and run it from there. It is here for documentation mostly. I want the whole lib to copy to mac and run from there. So I will test it there. Alos I noticed that audio files are not synced. Only video. I neeed to copy data from ~/.screenpipe/data there audio lives in files named like LakyLak bose qc35 II (input)_2026-05-12_06-49-17.mp4 or MacBook Pro Microphone (input)_2026-05-12_12-17-23.mp4 or soundcore AeroClip (input)_2026-05-12_07-40-48.mp4 or System Audio (output)_2026-05-11_06-17-14.mp4 or somethign simillar (path in sqlite db). I want to copy data form that particular data as the part of the sycn process. Add it to the script sync flow.
Expand content to scroll
Thought
for 1s
6
/...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"bounds":{"left":0.0,"top":0.047885075,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.05586592,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"bounds":{"left":0.0,"top":0.07581804,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.083798885,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"bounds":{"left":0.0,"top":0.103751,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.11173184,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"bounds":{"left":0.004986702,"top":0.11811652,"width":0.003656915,"height":0.007980846},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.005319149,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}},{"char_start":1,"char_count":1,"bounds":{"left":0.006981383,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}}],"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"bounds":{"left":0.0,"top":0.13168396,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.1396648,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"bounds":{"left":0.0,"top":0.15961692,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"bounds":{"left":0.0,"top":0.18754987,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.19553073,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"bounds":{"left":0.0,"top":0.21548285,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.22346368,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"bounds":{"left":0.0,"top":0.2434158,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.25139666,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"bounds":{"left":0.01462766,"top":0.047885075,"width":0.013630319,"height":0.023144454},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"bounds":{"left":0.01462766,"top":0.054269753,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.014960106,"top":0.055067837,"width":0.0019946808,"height":0.008778931}},{"char_start":1,"char_count":7,"bounds":{"left":0.016954787,"top":0.055067837,"width":0.011303191,"height":0.008778931}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.011635638,"top":0.07102953,"width":0.0831117,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.0726257,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.016954787,"top":0.07102953,"width":0.035904255,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"bounds":{"left":0.016954787,"top":0.07342378,"width":0.035904255,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.07342378,"width":0.0019946808,"height":0.009577015}},{"char_start":1,"char_count":20,"bounds":{"left":0.018949468,"top":0.07342378,"width":0.034242023,"height":0.009577015}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.08699122,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.08699122,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.025930852,"top":0.08699122,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.087789305,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.02825798,"top":0.087789305,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.10215483,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.10215483,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0063164895,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":2,"bounds":{"left":0.027925532,"top":0.10215483,"width":0.004654255,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.10215483,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.11652035,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.11652035,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.025930852,"top":0.11652035,"width":0.0076462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.11731844,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":3,"bounds":{"left":0.02825798,"top":0.11731844,"width":0.005319149,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.01462766,"top":0.13088587,"width":0.0043218085,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"bounds":{"left":0.025930852,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.13168396,"width":0.0009973404,"height":0.0103751}},{"char_start":1,"char_count":2,"bounds":{"left":0.026928192,"top":0.13168396,"width":0.0033244682,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.13168396,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.14604948,"width":0.003656915,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"bounds":{"left":0.027925532,"top":0.14604948,"width":0.039893616,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.14604948,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":20,"bounds":{"left":0.029920213,"top":0.14604948,"width":0.037898935,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.14604948,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.16041501,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"bounds":{"left":0.027925532,"top":0.16041501,"width":0.04255319,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.16121309,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":23,"bounds":{"left":0.029920213,"top":0.16121309,"width":0.04089096,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.16121309,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.17478053,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"bounds":{"left":0.027925532,"top":0.17478053,"width":0.048204787,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.17557861,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.029920213,"top":0.17557861,"width":0.046210106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.17557861,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.18994413,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.18994413,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.006981383,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.0009973404,"height":0.011173184}},{"char_start":1,"char_count":3,"bounds":{"left":0.026928192,"top":0.18994413,"width":0.0063164895,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.18994413,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.20430966,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.20430966,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.025930852,"top":0.20430966,"width":0.00930851,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.20510775,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":4,"bounds":{"left":0.02825798,"top":0.20510775,"width":0.006981383,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.21867518,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.025930852,"top":0.21867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.21947326,"width":0.0013297872,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.026928192,"top":0.21947326,"width":0.014960106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.23383878,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.029920213,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":16,"bounds":{"left":0.027925532,"top":0.23383878,"width":0.027925532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.2482043,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"bounds":{"left":0.025930852,"top":0.2482043,"width":0.01761968,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.2490024,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.027925532,"top":0.2490024,"width":0.015625,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.26256984,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.025930852,"top":0.26256984,"width":0.025265958,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.26336792,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":13,"bounds":{"left":0.027925532,"top":0.26336792,"width":0.023603724,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.26336792,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.27773345,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.046210106,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":27,"bounds":{"left":0.027925532,"top":0.27773345,"width":0.04454787,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.27773345,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.29209897,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.025930852,"top":0.29209897,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.29289705,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":8,"bounds":{"left":0.02825798,"top":0.29289705,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3064645,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.025930852,"top":0.3064645,"width":0.023271276,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.30726257,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.30726257,"width":0.021276595,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3216281,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.021941489,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.3216281,"width":0.019614361,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.33599362,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"bounds":{"left":0.025930852,"top":0.33599362,"width":0.04488032,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3367917,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":24,"bounds":{"left":0.027925532,"top":0.3367917,"width":0.04288564,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.3367917,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.35035914,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"bounds":{"left":0.025930852,"top":0.35035914,"width":0.042220745,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.35115722,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":22,"bounds":{"left":0.027925532,"top":0.35115722,"width":0.04055851,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.35115722,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.36552274,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.04055851,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":21,"bounds":{"left":0.027925532,"top":0.36552274,"width":0.03856383,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.36552274,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.37988827,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.025930852,"top":0.37988827,"width":0.04920213,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.38068634,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.027925532,"top":0.38068634,"width":0.047539894,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.38068634,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3942538,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.025930852,"top":0.3942538,"width":0.03357713,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.39505187,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":17,"bounds":{"left":0.027925532,"top":0.39505187,"width":0.03158245,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.087101065,"top":0.39505187,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.4094174,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.023936171,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.027925532,"top":0.4094174,"width":0.022273935,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.011635638,"top":0.95530725,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.95690346,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"bounds":{"left":0.016954787,"top":0.95530725,"width":0.011635638,"height":0.015163607},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"bounds":{"left":0.016954787,"top":0.9577015,"width":0.011635638,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9584996,"width":0.0026595744,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.019946808,"top":0.9584996,"width":0.008976064,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.011635638,"top":0.9696728,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.97206706,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"bounds":{"left":0.016954787,"top":0.97047085,"width":0.013630319,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"bounds":{"left":0.016954787,"top":0.9728651,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9728651,"width":0.0023271276,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.019281914,"top":0.9728651,"width":0.011635638,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0016622341,"top":0.9848364,"width":0.024268618,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.0039893617,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.00831117,"top":0.98723066,"width":0.015292553,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.008643617,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.009640957,"top":0.98723066,"width":0.012300532,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.027260639,"top":0.9848364,"width":0.019281914,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.027925532,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"bounds":{"left":0.032247342,"top":0.98723066,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.032579787,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.03357713,"top":0.98723066,"width":0.010970744,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.04654255,"top":0.9848364,"width":0.0063164895,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.054853722,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.05618351,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.06050532,"top":0.98723066,"width":0.0043218085,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.064494684,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.069148935,"top":0.98723066,"width":0.0029920214,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"bounds":{"left":0.07513298,"top":0.9848364,"width":0.010305851,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.07646277,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"bounds":{"left":0.080784574,"top":0.98723066,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.99102396,"top":0.9848364,"width":0.008976042,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"bounds":{"left":0.9567819,"top":0.9848364,"width":0.03357713,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"bounds":{"left":0.9421542,"top":0.9848364,"width":0.012965426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"bounds":{"left":0.91988033,"top":0.9848364,"width":0.020611702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"bounds":{"left":0.9115692,"top":0.9848364,"width":0.0066489363,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"bounds":{"left":0.8969415,"top":0.9848364,"width":0.013297873,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"bounds":{"left":0.87699467,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"bounds":{"left":0.8494016,"top":0.9848364,"width":0.026263298,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":0.80418885,"top":0.9848364,"width":0.04454787,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"bounds":{"left":0.76163566,"top":0.05347167,"width":0.034574468,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.76163566,"top":0.054269753,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":19,"bounds":{"left":0.76396275,"top":0.054269753,"width":0.032247342,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"15m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23238032,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Began implementing","depth":23,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.03557181,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"refactor-screenpipe-sync-modular-6b711a.md","depth":23,"bounds":{"left":0.8071808,"top":0.07102953,"width":0.077792555,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7649601,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76795214,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7799202,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create refactoring plan to split screenpipe_sync.sh into modular components","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.12965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.049867023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.7815825,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":23,"bounds":{"left":0.7825798,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":22,"bounds":{"left":0.76894945,"top":0.07102953,"width":0.010305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.77892286,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-p","depth":22,"bounds":{"left":0.7809175,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/lib","depth":22,"bounds":{"left":0.7869016,"top":0.07102953,"width":0.046210106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.7669548,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.049867023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.0987367,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.047872342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.97539896,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"79","depth":23,"bounds":{"left":0.9880319,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" step(msg)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" run_sqlite_heredoc(label, sql)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" check(label, got, expected)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.056848403,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.0987367,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.087101065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.039893616,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.9730718,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"298","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.034906916,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"DB sync complete for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8188165,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.8557181,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.8793218,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.8849734,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.90325797,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"bounds":{"left":0.9271942,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.9325133,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"bounds":{"left":0.9361702,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.087101065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.9734042,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9840425,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"100","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.034906916,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"File sync complete for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.859375,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.88297874,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"bounds":{"left":0.89228725,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"bounds":{"left":0.93085104,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.9361702,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.7669548,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":21,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.03324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Cascade cannot create","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.039893616,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.80285907,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.80851066,"top":0.07102953,"width":0.036236703,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"because it already exists.","depth":21,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.043550532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98138297,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.98670214,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"51","depth":23,"bounds":{"left":0.98836434,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"bounds":{"left":0.7912234,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"bounds":{"left":0.8630319,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"bounds":{"left":0.86835104,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.058843084,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_db.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.049534574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_files.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.05518617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9773936,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"10","depth":23,"bounds":{"left":0.9797208,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.984375,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"189","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"meetings\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_MEETINGS","depth":24,"bounds":{"left":0.80418885,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82613033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.828125,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.024268618,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8537234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_chunks\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.025930852,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.80585104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ACHUNKS","depth":24,"bounds":{"left":0.80984044,"top":0.07102953,"width":0.018284574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.828125,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8334442,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"bounds":{"left":0.83543885,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.85738033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_transcriptions\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ATRANS","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8480718,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"bounds":{"left":0.8500665,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8703458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db_verify","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.7875665,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.78956115,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.81150264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_FRAMES","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8390958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ELEMENTS","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.86668885,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.86835104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8703458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_UI","depth":24,"bounds":{"left":0.87200797,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8849734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.88663566,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_OCR","depth":24,"bounds":{"left":0.8902925,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.90525264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.90890956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"bounds":{"left":0.9105718,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.93450797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.93650264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9381649,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.96210104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9637633,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.96575797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"bounds":{"left":0.9674202,"top":0.07102953,"width":0.020611702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.98769945,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98138297,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.98670214,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"41","depth":23,"bounds":{"left":0.98836434,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"else","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %s\\n\"","depth":24,"bounds":{"left":0.78224736,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"rsync logs → NAS\"","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.03324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.85738033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"skipped (no matching logs)\"","depth":24,"bounds":{"left":0.859375,"top":0.07102953,"width":0.051529255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_logs","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78224736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Test backward compatibility of main script","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.07114362,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.7815825,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":23,"bounds":{"left":0.7825798,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"bounds":{"left":0.76894945,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7769282,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-n","depth":22,"bounds":{"left":0.77892286,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.78291225,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/screenpipe_sync.sh","depth":22,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.076130316,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Canceled","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.01462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"terminal command","depth":22,"bounds":{"left":0.7855718,"top":0.07102953,"width":0.027260639,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"this is something that will live inside mac and run it from there. It is here for documentation mostly. I want the whole lib to copy to mac and run from there. So I will test it there. Alos I noticed that audio files are not synced. Only video. I neeed to copy data from ~/.screenpipe/data there audio lives in files named like LakyLak bose qc35 II (input)_2026-05-12_06-49-17.mp4 or MacBook Pro Microphone (input)_2026-05-12_12-17-23.mp4 or soundcore AeroClip (input)_2026-05-12_07-40-48.mp4 or System Audio (output)_2026-05-11_06-17-14.mp4 or somethign simillar (path in sqlite db). I want to copy data form that particular data as the part of the sycn process. Add it to the script sync flow.","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.22506648,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.87333775,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"}]...
|
-1588367169526411362
|
-933013689103177529
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else
printf
" %-36s %s\n"
"rsync logs → NAS"
"skipped (no matching logs)"
fi
copy_logs
"
$TARGET_DATE
"
Thoughts
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Test backward compatibility of main script
Thoughts
Command
bash
bash
-n
/volume1/screenpipe/screenpipe_sync.sh
Canceled
terminal command
Feedback submitted
this is something that will live inside mac and run it from there. It is here for documentation mostly. I want the whole lib to copy to mac and run from there. So I will test it there. Alos I noticed that audio files are not synced. Only video. I neeed to copy data from ~/.screenpipe/data there audio lives in files named like LakyLak bose qc35 II (input)_2026-05-12_06-49-17.mp4 or MacBook Pro Microphone (input)_2026-05-12_12-17-23.mp4 or soundcore AeroClip (input)_2026-05-12_07-40-48.mp4 or System Audio (output)_2026-05-11_06-17-14.mp4 or somethign simillar (path in sqlite db). I want to copy data form that particular data as the part of the sycn process. Add it to the script sync flow.
Expand content to scroll
Thought
for 1s
6
/...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32121
|
1242
|
4
|
2026-05-13T09:07:11.237701+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663231237_m1.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else
printf
" %-36s %s\n"
"rsync logs → NAS"
"skipped (no matching logs)"
fi
copy_logs
"
$TARGET_DATE
"
Thoughts
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Test backward compatibility of main script
Thoughts
Command
bash
bash
-n
/volume1/screenpipe/screenpipe_sync.sh
Canceled...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"15m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Began implementing","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"refactor-screenpipe-sync-modular-6b711a.md","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create refactoring plan to split screenpipe_sync.sh into modular components","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-p","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/lib","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"79","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" step(msg)\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" run_sqlite_heredoc(label, sql)\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" check(label, got, expected)\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"298","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"DB sync complete for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"100","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"File sync complete for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Cascade cannot create","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"because it already exists.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"51","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_db.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_files.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"10","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"189","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"meetings\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_MEETINGS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_chunks\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ACHUNKS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_transcriptions\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ATRANS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db_verify","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_FRAMES","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ELEMENTS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_UI","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_OCR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"41","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"else","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %s\\n\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"rsync logs → NAS\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"skipped (no matching logs)\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_logs","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Test backward compatibility of main script","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-n","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/screenpipe_sync.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Canceled","depth":22,"on_screen":true,"role_description":"text"}]...
|
3216009052235814642
|
-933084676590958393
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else
printf
" %-36s %s\n"
"rsync logs → NAS"
"skipped (no matching logs)"
fi
copy_logs
"
$TARGET_DATE
"
Thoughts
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Test backward compatibility of main script
Thoughts
Command
bash
bash
-n
/volume1/screenpipe/screenpipe_sync.sh
Canceled...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32120
|
1243
|
2
|
2026-05-13T09:07:10.339807+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663230339_m2.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"bounds":{"left":0.0,"top":0.047885075,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.05586592,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"bounds":{"left":0.0,"top":0.07581804,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.083798885,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"bounds":{"left":0.0,"top":0.103751,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.11173184,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"bounds":{"left":0.004986702,"top":0.11811652,"width":0.003656915,"height":0.007980846},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.005319149,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}},{"char_start":1,"char_count":1,"bounds":{"left":0.006981383,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}}],"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"bounds":{"left":0.0,"top":0.13168396,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.1396648,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"bounds":{"left":0.0,"top":0.15961692,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"bounds":{"left":0.0,"top":0.18754987,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.19553073,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"bounds":{"left":0.0,"top":0.21548285,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.22346368,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"bounds":{"left":0.0,"top":0.2434158,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.25139666,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"bounds":{"left":0.01462766,"top":0.047885075,"width":0.013630319,"height":0.023144454},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"bounds":{"left":0.01462766,"top":0.054269753,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.014960106,"top":0.055067837,"width":0.0019946808,"height":0.008778931}},{"char_start":1,"char_count":7,"bounds":{"left":0.016954787,"top":0.055067837,"width":0.011303191,"height":0.008778931}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.011635638,"top":0.07102953,"width":0.0831117,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.0726257,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.016954787,"top":0.07102953,"width":0.035904255,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"bounds":{"left":0.016954787,"top":0.07342378,"width":0.035904255,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.07342378,"width":0.0019946808,"height":0.009577015}},{"char_start":1,"char_count":20,"bounds":{"left":0.018949468,"top":0.07342378,"width":0.034242023,"height":0.009577015}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.08699122,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.08699122,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.025930852,"top":0.08699122,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.087789305,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.02825798,"top":0.087789305,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.10215483,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.10215483,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0063164895,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":2,"bounds":{"left":0.027925532,"top":0.10215483,"width":0.004654255,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.10215483,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.11652035,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.11652035,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.025930852,"top":0.11652035,"width":0.0076462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.11731844,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":3,"bounds":{"left":0.02825798,"top":0.11731844,"width":0.005319149,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.01462766,"top":0.13088587,"width":0.0043218085,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"bounds":{"left":0.025930852,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.13168396,"width":0.0009973404,"height":0.0103751}},{"char_start":1,"char_count":2,"bounds":{"left":0.026928192,"top":0.13168396,"width":0.0033244682,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.13168396,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.14604948,"width":0.003656915,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"bounds":{"left":0.027925532,"top":0.14604948,"width":0.039893616,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.14604948,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":20,"bounds":{"left":0.029920213,"top":0.14604948,"width":0.037898935,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.14604948,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.16041501,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"bounds":{"left":0.027925532,"top":0.16041501,"width":0.04255319,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.16121309,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":23,"bounds":{"left":0.029920213,"top":0.16121309,"width":0.04089096,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.16121309,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.17478053,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"bounds":{"left":0.027925532,"top":0.17478053,"width":0.048204787,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.17557861,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.029920213,"top":0.17557861,"width":0.046210106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.17557861,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.18994413,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.18994413,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.006981383,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.0009973404,"height":0.011173184}},{"char_start":1,"char_count":3,"bounds":{"left":0.026928192,"top":0.18994413,"width":0.0063164895,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.18994413,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.20430966,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.20430966,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.025930852,"top":0.20430966,"width":0.00930851,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.20510775,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":4,"bounds":{"left":0.02825798,"top":0.20510775,"width":0.006981383,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.21867518,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.025930852,"top":0.21867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.21947326,"width":0.0013297872,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.026928192,"top":0.21947326,"width":0.014960106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.23383878,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.029920213,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":16,"bounds":{"left":0.027925532,"top":0.23383878,"width":0.027925532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.2482043,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"bounds":{"left":0.025930852,"top":0.2482043,"width":0.01761968,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.2490024,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.027925532,"top":0.2490024,"width":0.015625,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.26256984,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.025930852,"top":0.26256984,"width":0.025265958,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.26336792,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":13,"bounds":{"left":0.027925532,"top":0.26336792,"width":0.023603724,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.26336792,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.27773345,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.046210106,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":27,"bounds":{"left":0.027925532,"top":0.27773345,"width":0.04454787,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.27773345,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.29209897,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.025930852,"top":0.29209897,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.29289705,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":8,"bounds":{"left":0.02825798,"top":0.29289705,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3064645,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.025930852,"top":0.3064645,"width":0.023271276,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.30726257,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.30726257,"width":0.021276595,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3216281,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.021941489,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.3216281,"width":0.019614361,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.33599362,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"bounds":{"left":0.025930852,"top":0.33599362,"width":0.04488032,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3367917,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":24,"bounds":{"left":0.027925532,"top":0.3367917,"width":0.04288564,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.3367917,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.35035914,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"bounds":{"left":0.025930852,"top":0.35035914,"width":0.042220745,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.35115722,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":22,"bounds":{"left":0.027925532,"top":0.35115722,"width":0.04055851,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.35115722,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.36552274,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.04055851,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":21,"bounds":{"left":0.027925532,"top":0.36552274,"width":0.03856383,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.36552274,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.37988827,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.025930852,"top":0.37988827,"width":0.04920213,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.38068634,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.027925532,"top":0.38068634,"width":0.047539894,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.38068634,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3942538,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.025930852,"top":0.3942538,"width":0.03357713,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.39505187,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":17,"bounds":{"left":0.027925532,"top":0.39505187,"width":0.03158245,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.087101065,"top":0.39505187,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.4094174,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.023936171,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.027925532,"top":0.4094174,"width":0.022273935,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.011635638,"top":0.95530725,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.95690346,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"bounds":{"left":0.016954787,"top":0.95530725,"width":0.011635638,"height":0.015163607},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"bounds":{"left":0.016954787,"top":0.9577015,"width":0.011635638,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9584996,"width":0.0026595744,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.019946808,"top":0.9584996,"width":0.008976064,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.011635638,"top":0.9696728,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.97206706,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"bounds":{"left":0.016954787,"top":0.97047085,"width":0.013630319,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"bounds":{"left":0.016954787,"top":0.9728651,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9728651,"width":0.0023271276,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.019281914,"top":0.9728651,"width":0.011635638,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0016622341,"top":0.9848364,"width":0.024268618,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.0039893617,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.00831117,"top":0.98723066,"width":0.015292553,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.008643617,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.009640957,"top":0.98723066,"width":0.012300532,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.027260639,"top":0.9848364,"width":0.019281914,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.027925532,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"bounds":{"left":0.032247342,"top":0.98723066,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.032579787,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.03357713,"top":0.98723066,"width":0.010970744,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.04654255,"top":0.9848364,"width":0.0063164895,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.054853722,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.05618351,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.06050532,"top":0.98723066,"width":0.0043218085,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.064494684,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.069148935,"top":0.98723066,"width":0.0029920214,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"bounds":{"left":0.07513298,"top":0.9848364,"width":0.010305851,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.07646277,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"bounds":{"left":0.080784574,"top":0.98723066,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.99102396,"top":0.9848364,"width":0.008976042,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"bounds":{"left":0.9567819,"top":0.9848364,"width":0.03357713,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"bounds":{"left":0.9421542,"top":0.9848364,"width":0.012965426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"bounds":{"left":0.91988033,"top":0.9848364,"width":0.020611702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"bounds":{"left":0.9115692,"top":0.9848364,"width":0.0066489363,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"bounds":{"left":0.8969415,"top":0.9848364,"width":0.013297873,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"bounds":{"left":0.87699467,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"bounds":{"left":0.8494016,"top":0.9848364,"width":0.026263298,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":0.80418885,"top":0.9848364,"width":0.04454787,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"bounds":{"left":0.76163566,"top":0.05347167,"width":0.034574468,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.76163566,"top":0.054269753,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":19,"bounds":{"left":0.76396275,"top":0.054269753,"width":0.032247342,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"15m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23238032,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Began implementing","depth":23,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.03557181,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"refactor-screenpipe-sync-modular-6b711a.md","depth":23,"bounds":{"left":0.8071808,"top":0.07102953,"width":0.077792555,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7649601,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76795214,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7799202,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create refactoring plan to split screenpipe_sync.sh into modular components","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.12965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.049867023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.7815825,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":23,"bounds":{"left":0.7825798,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":22,"bounds":{"left":0.76894945,"top":0.07102953,"width":0.010305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.77892286,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-p","depth":22,"bounds":{"left":0.7809175,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/lib","depth":22,"bounds":{"left":0.7869016,"top":0.07102953,"width":0.046210106,"height":0.0007980846},"on_screen":true,"role_description":"text"}]...
|
8944060466825704566
|
-5512601742192702900
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib...
|
32118
|
NULL
|
NULL
|
NULL
|
|
32119
|
1242
|
3
|
2026-05-13T09:07:10.300545+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663230300_m1.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"15m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Began implementing","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"refactor-screenpipe-sync-modular-6b711a.md","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create refactoring plan to split screenpipe_sync.sh into modular components","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-p","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/lib","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"}]...
|
8114634841269294814
|
-5512602841704330676
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done...
|
32117
|
NULL
|
NULL
|
NULL
|
|
32114
|
NULL
|
0
|
2026-05-13T09:06:41.525757+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663201525_m2.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"bounds":{"left":0.0,"top":0.047885075,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.05586592,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"bounds":{"left":0.0,"top":0.07581804,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.083798885,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"bounds":{"left":0.0,"top":0.103751,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.11173184,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"bounds":{"left":0.004986702,"top":0.11811652,"width":0.003656915,"height":0.007980846},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.005319149,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}},{"char_start":1,"char_count":1,"bounds":{"left":0.006981383,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}}],"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"bounds":{"left":0.0,"top":0.13168396,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.1396648,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"bounds":{"left":0.0,"top":0.15961692,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"bounds":{"left":0.0,"top":0.18754987,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.19553073,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"bounds":{"left":0.0,"top":0.21548285,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.22346368,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"bounds":{"left":0.0,"top":0.2434158,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.25139666,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"bounds":{"left":0.01462766,"top":0.047885075,"width":0.013630319,"height":0.023144454},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"bounds":{"left":0.01462766,"top":0.054269753,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.014960106,"top":0.055067837,"width":0.0019946808,"height":0.008778931}},{"char_start":1,"char_count":7,"bounds":{"left":0.016954787,"top":0.055067837,"width":0.011303191,"height":0.008778931}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.011635638,"top":0.07102953,"width":0.0831117,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.0726257,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.016954787,"top":0.07102953,"width":0.035904255,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"bounds":{"left":0.016954787,"top":0.07342378,"width":0.035904255,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.07342378,"width":0.0019946808,"height":0.009577015}},{"char_start":1,"char_count":20,"bounds":{"left":0.018949468,"top":0.07342378,"width":0.034242023,"height":0.009577015}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.08699122,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.08699122,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.025930852,"top":0.08699122,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.087789305,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.02825798,"top":0.087789305,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.10215483,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.10215483,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0063164895,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":2,"bounds":{"left":0.027925532,"top":0.10215483,"width":0.004654255,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.10215483,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.11652035,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.11652035,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.025930852,"top":0.11652035,"width":0.0076462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.11731844,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":3,"bounds":{"left":0.02825798,"top":0.11731844,"width":0.005319149,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.01462766,"top":0.13088587,"width":0.0043218085,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"bounds":{"left":0.025930852,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.13168396,"width":0.0009973404,"height":0.0103751}},{"char_start":1,"char_count":2,"bounds":{"left":0.026928192,"top":0.13168396,"width":0.0033244682,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.13168396,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.14604948,"width":0.003656915,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"bounds":{"left":0.027925532,"top":0.14604948,"width":0.039893616,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.14604948,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":20,"bounds":{"left":0.029920213,"top":0.14604948,"width":0.037898935,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.14604948,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.16041501,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"bounds":{"left":0.027925532,"top":0.16041501,"width":0.04255319,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.16121309,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":23,"bounds":{"left":0.029920213,"top":0.16121309,"width":0.04089096,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.16121309,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.17478053,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"bounds":{"left":0.027925532,"top":0.17478053,"width":0.048204787,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.17557861,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.029920213,"top":0.17557861,"width":0.046210106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.17557861,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.18994413,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.18994413,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.006981383,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.0009973404,"height":0.011173184}},{"char_start":1,"char_count":3,"bounds":{"left":0.026928192,"top":0.18994413,"width":0.0063164895,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.18994413,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.20430966,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.20430966,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.025930852,"top":0.20430966,"width":0.00930851,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.20510775,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":4,"bounds":{"left":0.02825798,"top":0.20510775,"width":0.006981383,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.21867518,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.025930852,"top":0.21867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.21947326,"width":0.0013297872,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.026928192,"top":0.21947326,"width":0.014960106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.23383878,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.029920213,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":16,"bounds":{"left":0.027925532,"top":0.23383878,"width":0.027925532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.2482043,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"bounds":{"left":0.025930852,"top":0.2482043,"width":0.01761968,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.2490024,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.027925532,"top":0.2490024,"width":0.015625,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.26256984,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.025930852,"top":0.26256984,"width":0.025265958,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.26336792,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":13,"bounds":{"left":0.027925532,"top":0.26336792,"width":0.023603724,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.26336792,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.27773345,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.046210106,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":27,"bounds":{"left":0.027925532,"top":0.27773345,"width":0.04454787,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.27773345,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.29209897,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.025930852,"top":0.29209897,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.29289705,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":8,"bounds":{"left":0.02825798,"top":0.29289705,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3064645,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.025930852,"top":0.3064645,"width":0.023271276,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.30726257,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.30726257,"width":0.021276595,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3216281,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.021941489,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.3216281,"width":0.019614361,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.33599362,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"bounds":{"left":0.025930852,"top":0.33599362,"width":0.04488032,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3367917,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":24,"bounds":{"left":0.027925532,"top":0.3367917,"width":0.04288564,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.3367917,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.35035914,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"bounds":{"left":0.025930852,"top":0.35035914,"width":0.042220745,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.35115722,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":22,"bounds":{"left":0.027925532,"top":0.35115722,"width":0.04055851,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.35115722,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.36552274,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.04055851,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":21,"bounds":{"left":0.027925532,"top":0.36552274,"width":0.03856383,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.36552274,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.37988827,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.025930852,"top":0.37988827,"width":0.04920213,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.38068634,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.027925532,"top":0.38068634,"width":0.047539894,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.38068634,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3942538,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.025930852,"top":0.3942538,"width":0.03357713,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.39505187,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":17,"bounds":{"left":0.027925532,"top":0.39505187,"width":0.03158245,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.087101065,"top":0.39505187,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.4094174,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.023936171,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.027925532,"top":0.4094174,"width":0.022273935,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.011635638,"top":0.95530725,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.95690346,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"bounds":{"left":0.016954787,"top":0.95530725,"width":0.011635638,"height":0.015163607},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"bounds":{"left":0.016954787,"top":0.9577015,"width":0.011635638,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9584996,"width":0.0026595744,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.019946808,"top":0.9584996,"width":0.008976064,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.011635638,"top":0.9696728,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.97206706,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"bounds":{"left":0.016954787,"top":0.97047085,"width":0.013630319,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"bounds":{"left":0.016954787,"top":0.9728651,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9728651,"width":0.0023271276,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.019281914,"top":0.9728651,"width":0.011635638,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0016622341,"top":0.9848364,"width":0.024268618,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.0039893617,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.00831117,"top":0.98723066,"width":0.015292553,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.008643617,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.009640957,"top":0.98723066,"width":0.012300532,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.027260639,"top":0.9848364,"width":0.019281914,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.027925532,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"bounds":{"left":0.032247342,"top":0.98723066,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.032579787,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.03357713,"top":0.98723066,"width":0.010970744,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.04654255,"top":0.9848364,"width":0.0063164895,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.054853722,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.05618351,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.06050532,"top":0.98723066,"width":0.0043218085,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.064494684,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.069148935,"top":0.98723066,"width":0.0029920214,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"bounds":{"left":0.07513298,"top":0.9848364,"width":0.010305851,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.07646277,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"bounds":{"left":0.080784574,"top":0.98723066,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.99102396,"top":0.9848364,"width":0.008976042,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"bounds":{"left":0.9567819,"top":0.9848364,"width":0.03357713,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"bounds":{"left":0.9421542,"top":0.9848364,"width":0.012965426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"bounds":{"left":0.91988033,"top":0.9848364,"width":0.020611702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"bounds":{"left":0.9115692,"top":0.9848364,"width":0.0066489363,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"bounds":{"left":0.8969415,"top":0.9848364,"width":0.013297873,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"bounds":{"left":0.87699467,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"bounds":{"left":0.8494016,"top":0.9848364,"width":0.026263298,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":0.80418885,"top":0.9848364,"width":0.04454787,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"bounds":{"left":0.76163566,"top":0.05347167,"width":0.034574468,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.76163566,"top":0.054269753,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":19,"bounds":{"left":0.76396275,"top":0.054269753,"width":0.032247342,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"15m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23238032,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Began implementing","depth":23,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.03557181,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"refactor-screenpipe-sync-modular-6b711a.md","depth":23,"bounds":{"left":0.8071808,"top":0.07102953,"width":0.077792555,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7649601,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76795214,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7799202,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create refactoring plan to split screenpipe_sync.sh into modular components","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.12965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.049867023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.7815825,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":23,"bounds":{"left":0.7825798,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":22,"bounds":{"left":0.76894945,"top":0.07102953,"width":0.010305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.77892286,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-p","depth":22,"bounds":{"left":0.7809175,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/lib","depth":22,"bounds":{"left":0.7869016,"top":0.07102953,"width":0.046210106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.7669548,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.049867023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.0987367,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.047872342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.97539896,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"79","depth":23,"bounds":{"left":0.9880319,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" step(msg)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" run_sqlite_heredoc(label, sql)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" check(label, got, expected)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.056848403,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.0987367,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.087101065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.039893616,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.9730718,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"298","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.034906916,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"DB sync complete for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8188165,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.8557181,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.8793218,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.8849734,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.90325797,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"bounds":{"left":0.9271942,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.9325133,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"bounds":{"left":0.9361702,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.087101065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.9734042,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9840425,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"100","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.034906916,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"File sync complete for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.859375,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.88297874,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"bounds":{"left":0.89228725,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"bounds":{"left":0.93085104,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.9361702,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.7669548,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":21,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.03324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Cascade cannot create","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.039893616,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.80285907,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.80851066,"top":0.07102953,"width":0.036236703,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"because it already exists.","depth":21,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.043550532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98138297,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.98670214,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"51","depth":23,"bounds":{"left":0.98836434,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"bounds":{"left":0.7912234,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"bounds":{"left":0.8630319,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"bounds":{"left":0.86835104,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.058843084,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_db.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.049534574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_files.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.05518617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9773936,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"10","depth":23,"bounds":{"left":0.9797208,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.984375,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"189","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"meetings\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_MEETINGS","depth":24,"bounds":{"left":0.80418885,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82613033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.828125,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.024268618,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8537234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_chunks\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.025930852,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.80585104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"}]...
|
339856609910315610
|
-1072131597133313338
|
idle
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"...
|
32111
|
NULL
|
NULL
|
NULL
|
|
32113
|
1242
|
0
|
2026-05-13T09:06:41.589686+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663201589_m1.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else
printf
" %-36s %s\n"
"rsync logs → NAS"
"skipped (no matching logs)"
fi
copy_logs
"
$TARGET_DATE
"
Thoughts
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Test backward compatibility of main script
Thoughts
Command
bash
bash
-n
/volume1/screenpipe/screenpipe_sync.sh
Canceled
terminal command
Feedback submitted
this is something that will live inside mac and run it from there. It is here for documentation mostly. I want the whole lib to copy to mac and run from there. So I will test it there. Alos I noticed that audio files are not synced. Only video. I neeed to copy data from ~/.screenpipe/data there audio lives in files named like LakyLak bose qc35 II (input)_2026-05-12_06-49-17.mp4 or MacBook Pro Microphone (input)_2026-05-12_12-17-23.mp4 or soundcore AeroClip (input)_2026-05-12_07-40-48.mp4 or System Audio (output)_2026-05-11_06-17-14.mp4 or somethign simillar (path in sqlite db). I want to copy data form that particular data as the part of the sycn process. Add it to the script sync flow.
Expand content to scroll
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"15m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Began implementing","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"refactor-screenpipe-sync-modular-6b711a.md","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create refactoring plan to split screenpipe_sync.sh into modular components","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-p","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/lib","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"79","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" step(msg)\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" run_sqlite_heredoc(label, sql)\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" check(label, got, expected)\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"298","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"DB sync complete for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"100","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"File sync complete for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Cascade cannot create","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"because it already exists.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"51","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_db.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_files.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"10","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"189","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"meetings\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_MEETINGS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_chunks\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ACHUNKS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_transcriptions\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ATRANS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db_verify","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_FRAMES","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ELEMENTS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_UI","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_OCR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"41","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"else","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %s\\n\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"rsync logs → NAS\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"skipped (no matching logs)\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_logs","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Test backward compatibility of main script","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-n","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/screenpipe_sync.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Canceled","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"terminal command","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"this is something that will live inside mac and run it from there. It is here for documentation mostly. I want the whole lib to copy to mac and run from there. So I will test it there. Alos I noticed that audio files are not synced. Only video. I neeed to copy data from ~/.screenpipe/data there audio lives in files named like LakyLak bose qc35 II (input)_2026-05-12_06-49-17.mp4 or MacBook Pro Microphone (input)_2026-05-12_12-17-23.mp4 or soundcore AeroClip (input)_2026-05-12_07-40-48.mp4 or System Audio (output)_2026-05-11_06-17-14.mp4 or somethign simillar (path in sqlite db). I want to copy data form that particular data as the part of the sycn process. Add it to the script sync flow.","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Add audio file copying to sync flow","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"37","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total_size","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"du","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-sh","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"}]...
|
-1020352172669623517
|
-1078255326875243293
|
idle
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else
printf
" %-36s %s\n"
"rsync logs → NAS"
"skipped (no matching logs)"
fi
copy_logs
"
$TARGET_DATE
"
Thoughts
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Test backward compatibility of main script
Thoughts
Command
bash
bash
-n
/volume1/screenpipe/screenpipe_sync.sh
Canceled
terminal command
Feedback submitted
this is something that will live inside mac and run it from there. It is here for documentation mostly. I want the whole lib to copy to mac and run from there. So I will test it there. Alos I noticed that audio files are not synced. Only video. I neeed to copy data from ~/.screenpipe/data there audio lives in files named like LakyLak bose qc35 II (input)_2026-05-12_06-49-17.mp4 or MacBook Pro Microphone (input)_2026-05-12_12-17-23.mp4 or soundcore AeroClip (input)_2026-05-12_07-40-48.mp4 or System Audio (output)_2026-05-11_06-17-14.mp4 or somethign simillar (path in sqlite db). I want to copy data form that particular data as the part of the sycn process. Add it to the script sync flow.
Expand content to scroll
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh...
|
32112
|
NULL
|
NULL
|
NULL
|
|
32112
|
NULL
|
0
|
2026-05-13T09:06:11.269747+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663171269_m1.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else
printf
" %-36s %s\n"
"rsync logs → NAS"
"skipped (no matching logs)"
fi
copy_logs
"
$TARGET_DATE
"
Thoughts
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Test backward compatibility of main script
Thoughts
Command
bash
bash
-n
/volume1/screenpipe/screenpipe_sync.sh
Canceled
terminal command
Feedback submitted
this is something that will live inside mac and run it from there. It is here for documentation mostly. I want the whole lib to copy to mac and run from there. So I will test it there. Alos I noticed that audio files are not synced. Only video. I neeed to copy data from ~/.screenpipe/data there audio lives in files named like LakyLak bose qc35 II (input)_2026-05-12_06-49-17.mp4 or MacBook Pro Microphone (input)_2026-05-12_12-17-23.mp4 or soundcore AeroClip (input)_2026-05-12_07-40-48.mp4 or System Audio (output)_2026-05-11_06-17-14.mp4 or somethign simillar (path in sqlite db). I want to copy data form that particular data as the part of the sycn process. Add it to the script sync flow.
Expand content to scroll
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"15m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Began implementing","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"refactor-screenpipe-sync-modular-6b711a.md","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create refactoring plan to split screenpipe_sync.sh into modular components","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-p","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/lib","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"79","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" step(msg)\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" run_sqlite_heredoc(label, sql)\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" check(label, got, expected)\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"298","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"DB sync complete for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"100","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"File sync complete for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Cascade cannot create","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"because it already exists.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"51","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_db.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_files.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"10","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"189","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"meetings\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_MEETINGS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_chunks\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ACHUNKS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_transcriptions\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ATRANS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db_verify","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_FRAMES","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ELEMENTS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_UI","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_OCR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"41","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"else","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %s\\n\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"rsync logs → NAS\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"skipped (no matching logs)\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_logs","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Test backward compatibility of main script","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-n","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/screenpipe_sync.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Canceled","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"terminal command","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"this is something that will live inside mac and run it from there. It is here for documentation mostly. I want the whole lib to copy to mac and run from there. So I will test it there. Alos I noticed that audio files are not synced. Only video. I neeed to copy data from ~/.screenpipe/data there audio lives in files named like LakyLak bose qc35 II (input)_2026-05-12_06-49-17.mp4 or MacBook Pro Microphone (input)_2026-05-12_12-17-23.mp4 or soundcore AeroClip (input)_2026-05-12_07-40-48.mp4 or System Audio (output)_2026-05-11_06-17-14.mp4 or somethign simillar (path in sqlite db). I want to copy data form that particular data as the part of the sycn process. Add it to the script sync flow.","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Add audio file copying to sync flow","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"37","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total_size","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"du","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-sh","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$nas_audio","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cut","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-f1","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %d file(s), %s\\n\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio files total:\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$count","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$total_size","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tee","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-a","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$LOG_FILE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying screenpipe logs for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":23,"on_screen":true,"role_description":"text"}]...
|
8218139364340424453
|
-790025017296057113
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else
printf
" %-36s %s\n"
"rsync logs → NAS"
"skipped (no matching logs)"
fi
copy_logs
"
$TARGET_DATE
"
Thoughts
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Test backward compatibility of main script
Thoughts
Command
bash
bash
-n
/volume1/screenpipe/screenpipe_sync.sh
Canceled
terminal command
Feedback submitted
this is something that will live inside mac and run it from there. It is here for documentation mostly. I want the whole lib to copy to mac and run from there. So I will test it there. Alos I noticed that audio files are not synced. Only video. I neeed to copy data from ~/.screenpipe/data there audio lives in files named like LakyLak bose qc35 II (input)_2026-05-12_06-49-17.mp4 or MacBook Pro Microphone (input)_2026-05-12_12-17-23.mp4 or soundcore AeroClip (input)_2026-05-12_07-40-48.mp4 or System Audio (output)_2026-05-11_06-17-14.mp4 or somethign simillar (path in sqlite db). I want to copy data form that particular data as the part of the sycn process. Add it to the script sync flow.
Expand content to scroll
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32111
|
1241
|
92
|
2026-05-13T09:06:11.136259+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663171136_m2.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else
printf
" %-36s %s\n"
"rsync logs → NAS"
"skipped (no matching logs)"
fi
copy_logs
"
$TARGET_DATE
"
Thoughts
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Test backward compatibility of main script
Thoughts
Command
bash
bash
-n
/volume1/screenpipe/screenpipe_sync.sh
Canceled
terminal command
Feedback submitted
this is something that will live inside mac and run it from there. It is here for documentation mostly. I want the whole lib to copy to mac and run from there. So I will test it there. Alos I noticed that audio files are not synced. Only video. I neeed to copy data from ~/.screenpipe/data there audio lives in files named like LakyLak bose qc35 II (input)_2026-05-12_06-49-17.mp4 or MacBook Pro Microphone (input)_2026-05-12_12-17-23.mp4 or soundcore AeroClip (input)_2026-05-12_07-40-48.mp4 or System Audio (output)_2026-05-11_06-17-14.mp4 or somethign simillar (path in sqlite db). I want to copy data form that particular data as the part of the sycn process. Add it to the script sync flow.
Expand content to scroll
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"bounds":{"left":0.0,"top":0.047885075,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.05586592,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"bounds":{"left":0.0,"top":0.07581804,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.083798885,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"bounds":{"left":0.0,"top":0.103751,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.11173184,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"bounds":{"left":0.004986702,"top":0.11811652,"width":0.003656915,"height":0.007980846},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.005319149,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}},{"char_start":1,"char_count":1,"bounds":{"left":0.006981383,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}}],"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"bounds":{"left":0.0,"top":0.13168396,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.1396648,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"bounds":{"left":0.0,"top":0.15961692,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"bounds":{"left":0.0,"top":0.18754987,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.19553073,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"bounds":{"left":0.0,"top":0.21548285,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.22346368,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"bounds":{"left":0.0,"top":0.2434158,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.25139666,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"bounds":{"left":0.01462766,"top":0.047885075,"width":0.013630319,"height":0.023144454},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"bounds":{"left":0.01462766,"top":0.054269753,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.014960106,"top":0.055067837,"width":0.0019946808,"height":0.008778931}},{"char_start":1,"char_count":7,"bounds":{"left":0.016954787,"top":0.055067837,"width":0.011303191,"height":0.008778931}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.011635638,"top":0.07102953,"width":0.0831117,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.0726257,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.016954787,"top":0.07102953,"width":0.035904255,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"bounds":{"left":0.016954787,"top":0.07342378,"width":0.035904255,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.07342378,"width":0.0019946808,"height":0.009577015}},{"char_start":1,"char_count":20,"bounds":{"left":0.018949468,"top":0.07342378,"width":0.034242023,"height":0.009577015}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.08699122,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.08699122,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.025930852,"top":0.08699122,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.087789305,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.02825798,"top":0.087789305,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.10215483,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.10215483,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0063164895,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":2,"bounds":{"left":0.027925532,"top":0.10215483,"width":0.004654255,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.10215483,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.11652035,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.11652035,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.025930852,"top":0.11652035,"width":0.0076462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.11731844,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":3,"bounds":{"left":0.02825798,"top":0.11731844,"width":0.005319149,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.01462766,"top":0.13088587,"width":0.0043218085,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"bounds":{"left":0.025930852,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.13168396,"width":0.0009973404,"height":0.0103751}},{"char_start":1,"char_count":2,"bounds":{"left":0.026928192,"top":0.13168396,"width":0.0033244682,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.13168396,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.14604948,"width":0.003656915,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"bounds":{"left":0.027925532,"top":0.14604948,"width":0.039893616,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.14604948,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":20,"bounds":{"left":0.029920213,"top":0.14604948,"width":0.037898935,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.14604948,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.16041501,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"bounds":{"left":0.027925532,"top":0.16041501,"width":0.04255319,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.16121309,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":23,"bounds":{"left":0.029920213,"top":0.16121309,"width":0.04089096,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.16121309,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.17478053,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"bounds":{"left":0.027925532,"top":0.17478053,"width":0.048204787,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.17557861,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.029920213,"top":0.17557861,"width":0.046210106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.17557861,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.18994413,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.18994413,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.006981383,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.0009973404,"height":0.011173184}},{"char_start":1,"char_count":3,"bounds":{"left":0.026928192,"top":0.18994413,"width":0.0063164895,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.18994413,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.20430966,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.20430966,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.025930852,"top":0.20430966,"width":0.00930851,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.20510775,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":4,"bounds":{"left":0.02825798,"top":0.20510775,"width":0.006981383,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.21867518,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.025930852,"top":0.21867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.21947326,"width":0.0013297872,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.026928192,"top":0.21947326,"width":0.014960106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.23383878,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.029920213,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":16,"bounds":{"left":0.027925532,"top":0.23383878,"width":0.027925532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.2482043,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"bounds":{"left":0.025930852,"top":0.2482043,"width":0.01761968,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.2490024,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.027925532,"top":0.2490024,"width":0.015625,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.26256984,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.025930852,"top":0.26256984,"width":0.025265958,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.26336792,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":13,"bounds":{"left":0.027925532,"top":0.26336792,"width":0.023603724,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.26336792,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.27773345,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.046210106,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":27,"bounds":{"left":0.027925532,"top":0.27773345,"width":0.04454787,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.27773345,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.29209897,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.025930852,"top":0.29209897,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.29289705,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":8,"bounds":{"left":0.02825798,"top":0.29289705,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3064645,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.025930852,"top":0.3064645,"width":0.023271276,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.30726257,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.30726257,"width":0.021276595,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3216281,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.021941489,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.3216281,"width":0.019614361,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.33599362,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"bounds":{"left":0.025930852,"top":0.33599362,"width":0.04488032,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3367917,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":24,"bounds":{"left":0.027925532,"top":0.3367917,"width":0.04288564,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.3367917,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.35035914,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"bounds":{"left":0.025930852,"top":0.35035914,"width":0.042220745,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.35115722,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":22,"bounds":{"left":0.027925532,"top":0.35115722,"width":0.04055851,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.35115722,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.36552274,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.04055851,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":21,"bounds":{"left":0.027925532,"top":0.36552274,"width":0.03856383,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.36552274,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.37988827,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.025930852,"top":0.37988827,"width":0.04920213,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.38068634,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.027925532,"top":0.38068634,"width":0.047539894,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.38068634,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3942538,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.025930852,"top":0.3942538,"width":0.03357713,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.39505187,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":17,"bounds":{"left":0.027925532,"top":0.39505187,"width":0.03158245,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.087101065,"top":0.39505187,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.4094174,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.023936171,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.027925532,"top":0.4094174,"width":0.022273935,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.011635638,"top":0.95530725,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.95690346,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"bounds":{"left":0.016954787,"top":0.95530725,"width":0.011635638,"height":0.015163607},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"bounds":{"left":0.016954787,"top":0.9577015,"width":0.011635638,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9584996,"width":0.0026595744,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.019946808,"top":0.9584996,"width":0.008976064,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.011635638,"top":0.9696728,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.97206706,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"bounds":{"left":0.016954787,"top":0.97047085,"width":0.013630319,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"bounds":{"left":0.016954787,"top":0.9728651,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9728651,"width":0.0023271276,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.019281914,"top":0.9728651,"width":0.011635638,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0016622341,"top":0.9848364,"width":0.024268618,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.0039893617,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.00831117,"top":0.98723066,"width":0.015292553,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.008643617,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.009640957,"top":0.98723066,"width":0.012300532,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.027260639,"top":0.9848364,"width":0.019281914,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.027925532,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"bounds":{"left":0.032247342,"top":0.98723066,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.032579787,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.03357713,"top":0.98723066,"width":0.010970744,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.04654255,"top":0.9848364,"width":0.0063164895,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.054853722,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.05618351,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.06050532,"top":0.98723066,"width":0.0043218085,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.064494684,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.069148935,"top":0.98723066,"width":0.0029920214,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"bounds":{"left":0.07513298,"top":0.9848364,"width":0.010305851,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.07646277,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"bounds":{"left":0.080784574,"top":0.98723066,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.99102396,"top":0.9848364,"width":0.008976042,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"bounds":{"left":0.9567819,"top":0.9848364,"width":0.03357713,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"bounds":{"left":0.9421542,"top":0.9848364,"width":0.012965426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"bounds":{"left":0.91988033,"top":0.9848364,"width":0.020611702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"bounds":{"left":0.9115692,"top":0.9848364,"width":0.0066489363,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"bounds":{"left":0.8969415,"top":0.9848364,"width":0.013297873,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"bounds":{"left":0.87699467,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"bounds":{"left":0.8494016,"top":0.9848364,"width":0.026263298,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":0.80418885,"top":0.9848364,"width":0.04454787,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"bounds":{"left":0.76163566,"top":0.05347167,"width":0.034574468,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.76163566,"top":0.054269753,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":19,"bounds":{"left":0.76396275,"top":0.054269753,"width":0.032247342,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"15m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23238032,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Began implementing","depth":23,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.03557181,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"refactor-screenpipe-sync-modular-6b711a.md","depth":23,"bounds":{"left":0.8071808,"top":0.07102953,"width":0.077792555,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7649601,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76795214,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7799202,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create refactoring plan to split screenpipe_sync.sh into modular components","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.12965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.049867023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.7815825,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":23,"bounds":{"left":0.7825798,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":22,"bounds":{"left":0.76894945,"top":0.07102953,"width":0.010305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.77892286,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-p","depth":22,"bounds":{"left":0.7809175,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/lib","depth":22,"bounds":{"left":0.7869016,"top":0.07102953,"width":0.046210106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.7669548,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.049867023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.0987367,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.047872342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.97539896,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"79","depth":23,"bounds":{"left":0.9880319,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" step(msg)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" run_sqlite_heredoc(label, sql)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" check(label, got, expected)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.056848403,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.0987367,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.087101065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.039893616,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.9730718,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"298","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.034906916,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"DB sync complete for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8188165,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.8557181,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.8793218,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.8849734,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.90325797,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"bounds":{"left":0.9271942,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.9325133,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"bounds":{"left":0.9361702,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.087101065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.9734042,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9840425,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"100","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.034906916,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"File sync complete for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.859375,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.88297874,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"bounds":{"left":0.89228725,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"bounds":{"left":0.93085104,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.9361702,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.7669548,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":21,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.03324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Cascade cannot create","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.039893616,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.80285907,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.80851066,"top":0.07102953,"width":0.036236703,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"because it already exists.","depth":21,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.043550532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98138297,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.98670214,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"51","depth":23,"bounds":{"left":0.98836434,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"bounds":{"left":0.7912234,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"bounds":{"left":0.8630319,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"bounds":{"left":0.86835104,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.058843084,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_db.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.049534574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_files.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.05518617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9773936,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"10","depth":23,"bounds":{"left":0.9797208,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.984375,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"189","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"meetings\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_MEETINGS","depth":24,"bounds":{"left":0.80418885,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82613033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.828125,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.024268618,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8537234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_chunks\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.025930852,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.80585104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ACHUNKS","depth":24,"bounds":{"left":0.80984044,"top":0.07102953,"width":0.018284574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.828125,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8334442,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"bounds":{"left":0.83543885,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.85738033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_transcriptions\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ATRANS","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8480718,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"bounds":{"left":0.8500665,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8703458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db_verify","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.7875665,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.78956115,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.81150264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_FRAMES","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8390958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ELEMENTS","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.86668885,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.86835104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8703458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_UI","depth":24,"bounds":{"left":0.87200797,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8849734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.88663566,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_OCR","depth":24,"bounds":{"left":0.8902925,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.90525264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.90890956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"bounds":{"left":0.9105718,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.93450797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.93650264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9381649,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.96210104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9637633,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.96575797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"bounds":{"left":0.9674202,"top":0.07102953,"width":0.020611702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.98769945,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98138297,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.98670214,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"41","depth":23,"bounds":{"left":0.98836434,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"else","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %s\\n\"","depth":24,"bounds":{"left":0.78224736,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"rsync logs → NAS\"","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.03324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.85738033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"skipped (no matching logs)\"","depth":24,"bounds":{"left":0.859375,"top":0.07102953,"width":0.051529255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_logs","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78224736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Test backward compatibility of main script","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.07114362,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.7815825,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":23,"bounds":{"left":0.7825798,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"bounds":{"left":0.76894945,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7769282,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-n","depth":22,"bounds":{"left":0.77892286,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.78291225,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/screenpipe_sync.sh","depth":22,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.076130316,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Canceled","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.01462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"terminal command","depth":22,"bounds":{"left":0.7855718,"top":0.07102953,"width":0.027260639,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"this is something that will live inside mac and run it from there. It is here for documentation mostly. I want the whole lib to copy to mac and run from there. So I will test it there. Alos I noticed that audio files are not synced. Only video. I neeed to copy data from ~/.screenpipe/data there audio lives in files named like LakyLak bose qc35 II (input)_2026-05-12_06-49-17.mp4 or MacBook Pro Microphone (input)_2026-05-12_12-17-23.mp4 or soundcore AeroClip (input)_2026-05-12_07-40-48.mp4 or System Audio (output)_2026-05-11_06-17-14.mp4 or somethign simillar (path in sqlite db). I want to copy data form that particular data as the part of the sycn process. Add it to the script sync flow.","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.22506648,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.87333775,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Add audio file copying to sync flow","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.05851064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":21,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.042220745,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"37","depth":23,"bounds":{"left":0.9880319,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total_size","depth":24,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7912234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"du","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-sh","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.80984044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$nas_audio","depth":24,"bounds":{"left":0.81150264,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8317819,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"bounds":{"left":0.8334442,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.83543885,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cut","depth":24,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"}]...
|
-3624938283752669111
|
-645909762647675673
|
visual_change
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else
printf
" %-36s %s\n"
"rsync logs → NAS"
"skipped (no matching logs)"
fi
copy_logs
"
$TARGET_DATE
"
Thoughts
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Test backward compatibility of main script
Thoughts
Command
bash
bash
-n
/volume1/screenpipe/screenpipe_sync.sh
Canceled
terminal command
Feedback submitted
this is something that will live inside mac and run it from there. It is here for documentation mostly. I want the whole lib to copy to mac and run from there. So I will test it there. Alos I noticed that audio files are not synced. Only video. I neeed to copy data from ~/.screenpipe/data there audio lives in files named like LakyLak bose qc35 II (input)_2026-05-12_06-49-17.mp4 or MacBook Pro Microphone (input)_2026-05-12_12-17-23.mp4 or soundcore AeroClip (input)_2026-05-12_07-40-48.mp4 or System Audio (output)_2026-05-11_06-17-14.mp4 or somethign simillar (path in sqlite db). I want to copy data form that particular data as the part of the sycn process. Add it to the script sync flow.
Expand content to scroll
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32106
|
1241
|
89
|
2026-05-13T09:05:59.789613+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663159789_m2.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else
printf
" %-36s %s\n"
"rsync logs → NAS"
"skipped (no matching logs)"
fi
copy_logs
"
$TARGET_DATE
"
Thoughts
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Test backward compatibility of main script
Thoughts
Command
bash
bash
-n...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"bounds":{"left":0.0,"top":0.047885075,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.05586592,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"bounds":{"left":0.0,"top":0.07581804,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.083798885,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"bounds":{"left":0.0,"top":0.103751,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.11173184,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"bounds":{"left":0.004986702,"top":0.11811652,"width":0.003656915,"height":0.007980846},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.005319149,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}},{"char_start":1,"char_count":1,"bounds":{"left":0.006981383,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}}],"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"bounds":{"left":0.0,"top":0.13168396,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.1396648,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"bounds":{"left":0.0,"top":0.15961692,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"bounds":{"left":0.0,"top":0.18754987,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.19553073,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"bounds":{"left":0.0,"top":0.21548285,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.22346368,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"bounds":{"left":0.0,"top":0.2434158,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.25139666,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"bounds":{"left":0.01462766,"top":0.047885075,"width":0.013630319,"height":0.023144454},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"bounds":{"left":0.01462766,"top":0.054269753,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.014960106,"top":0.055067837,"width":0.0019946808,"height":0.008778931}},{"char_start":1,"char_count":7,"bounds":{"left":0.016954787,"top":0.055067837,"width":0.011303191,"height":0.008778931}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.011635638,"top":0.07102953,"width":0.0831117,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.0726257,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.016954787,"top":0.07102953,"width":0.035904255,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"bounds":{"left":0.016954787,"top":0.07342378,"width":0.035904255,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.07342378,"width":0.0019946808,"height":0.009577015}},{"char_start":1,"char_count":20,"bounds":{"left":0.018949468,"top":0.07342378,"width":0.034242023,"height":0.009577015}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.08699122,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.08699122,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.025930852,"top":0.08699122,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.087789305,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.02825798,"top":0.087789305,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.10215483,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.10215483,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0063164895,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":2,"bounds":{"left":0.027925532,"top":0.10215483,"width":0.004654255,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.10215483,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.11652035,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.11652035,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.025930852,"top":0.11652035,"width":0.0076462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.11731844,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":3,"bounds":{"left":0.02825798,"top":0.11731844,"width":0.005319149,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.01462766,"top":0.13088587,"width":0.0043218085,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"bounds":{"left":0.025930852,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.13168396,"width":0.0009973404,"height":0.0103751}},{"char_start":1,"char_count":2,"bounds":{"left":0.026928192,"top":0.13168396,"width":0.0033244682,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.13168396,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.14604948,"width":0.003656915,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"bounds":{"left":0.027925532,"top":0.14604948,"width":0.039893616,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.14604948,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":20,"bounds":{"left":0.029920213,"top":0.14604948,"width":0.037898935,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.14604948,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.16041501,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"bounds":{"left":0.027925532,"top":0.16041501,"width":0.04255319,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.16121309,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":23,"bounds":{"left":0.029920213,"top":0.16121309,"width":0.04089096,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.16121309,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.17478053,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"bounds":{"left":0.027925532,"top":0.17478053,"width":0.048204787,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.17557861,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.029920213,"top":0.17557861,"width":0.046210106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.17557861,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.18994413,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.18994413,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.006981383,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.0009973404,"height":0.011173184}},{"char_start":1,"char_count":3,"bounds":{"left":0.026928192,"top":0.18994413,"width":0.0063164895,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.18994413,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.20430966,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.20430966,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.025930852,"top":0.20430966,"width":0.00930851,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.20510775,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":4,"bounds":{"left":0.02825798,"top":0.20510775,"width":0.006981383,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.21867518,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.025930852,"top":0.21867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.21947326,"width":0.0013297872,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.026928192,"top":0.21947326,"width":0.014960106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.23383878,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.029920213,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":16,"bounds":{"left":0.027925532,"top":0.23383878,"width":0.027925532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.2482043,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"bounds":{"left":0.025930852,"top":0.2482043,"width":0.01761968,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.2490024,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.027925532,"top":0.2490024,"width":0.015625,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.26256984,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.025930852,"top":0.26256984,"width":0.025265958,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.26336792,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":13,"bounds":{"left":0.027925532,"top":0.26336792,"width":0.023603724,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.26336792,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.27773345,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.046210106,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":27,"bounds":{"left":0.027925532,"top":0.27773345,"width":0.04454787,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.27773345,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.29209897,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.025930852,"top":0.29209897,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.29289705,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":8,"bounds":{"left":0.02825798,"top":0.29289705,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3064645,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.025930852,"top":0.3064645,"width":0.023271276,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.30726257,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.30726257,"width":0.021276595,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3216281,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.021941489,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.3216281,"width":0.019614361,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.33599362,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"bounds":{"left":0.025930852,"top":0.33599362,"width":0.04488032,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3367917,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":24,"bounds":{"left":0.027925532,"top":0.3367917,"width":0.04288564,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.3367917,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.35035914,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"bounds":{"left":0.025930852,"top":0.35035914,"width":0.042220745,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.35115722,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":22,"bounds":{"left":0.027925532,"top":0.35115722,"width":0.04055851,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.35115722,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.36552274,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.04055851,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":21,"bounds":{"left":0.027925532,"top":0.36552274,"width":0.03856383,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.36552274,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.37988827,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.025930852,"top":0.37988827,"width":0.04920213,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.38068634,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.027925532,"top":0.38068634,"width":0.047539894,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.38068634,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3942538,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.025930852,"top":0.3942538,"width":0.03357713,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.39505187,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":17,"bounds":{"left":0.027925532,"top":0.39505187,"width":0.03158245,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.087101065,"top":0.39505187,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.4094174,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.023936171,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.027925532,"top":0.4094174,"width":0.022273935,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.011635638,"top":0.95530725,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.95690346,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"bounds":{"left":0.016954787,"top":0.95530725,"width":0.011635638,"height":0.015163607},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"bounds":{"left":0.016954787,"top":0.9577015,"width":0.011635638,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9584996,"width":0.0026595744,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.019946808,"top":0.9584996,"width":0.008976064,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.011635638,"top":0.9696728,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.97206706,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"bounds":{"left":0.016954787,"top":0.97047085,"width":0.013630319,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"bounds":{"left":0.016954787,"top":0.9728651,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9728651,"width":0.0023271276,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.019281914,"top":0.9728651,"width":0.011635638,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0016622341,"top":0.9848364,"width":0.024268618,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.0039893617,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.00831117,"top":0.98723066,"width":0.015292553,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.008643617,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.009640957,"top":0.98723066,"width":0.012300532,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.027260639,"top":0.9848364,"width":0.019281914,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.027925532,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"bounds":{"left":0.032247342,"top":0.98723066,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.032579787,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.03357713,"top":0.98723066,"width":0.010970744,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.04654255,"top":0.9848364,"width":0.0063164895,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.054853722,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.05618351,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.06050532,"top":0.98723066,"width":0.0043218085,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.064494684,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.069148935,"top":0.98723066,"width":0.0029920214,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"bounds":{"left":0.07513298,"top":0.9848364,"width":0.010305851,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.07646277,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"bounds":{"left":0.080784574,"top":0.98723066,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.99102396,"top":0.9848364,"width":0.008976042,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"bounds":{"left":0.9567819,"top":0.9848364,"width":0.03357713,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"bounds":{"left":0.9421542,"top":0.9848364,"width":0.012965426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"bounds":{"left":0.91988033,"top":0.9848364,"width":0.020611702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"bounds":{"left":0.9115692,"top":0.9848364,"width":0.0066489363,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"bounds":{"left":0.8969415,"top":0.9848364,"width":0.013297873,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"bounds":{"left":0.87699467,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"bounds":{"left":0.8494016,"top":0.9848364,"width":0.026263298,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":0.80418885,"top":0.9848364,"width":0.04454787,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"bounds":{"left":0.76163566,"top":0.05347167,"width":0.034574468,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.76163566,"top":0.054269753,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":19,"bounds":{"left":0.76396275,"top":0.054269753,"width":0.032247342,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"15m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23238032,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Began implementing","depth":23,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.03557181,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"refactor-screenpipe-sync-modular-6b711a.md","depth":23,"bounds":{"left":0.8071808,"top":0.07102953,"width":0.077792555,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7649601,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76795214,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7799202,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create refactoring plan to split screenpipe_sync.sh into modular components","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.12965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.049867023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.7815825,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":23,"bounds":{"left":0.7825798,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":22,"bounds":{"left":0.76894945,"top":0.07102953,"width":0.010305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.77892286,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-p","depth":22,"bounds":{"left":0.7809175,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/lib","depth":22,"bounds":{"left":0.7869016,"top":0.07102953,"width":0.046210106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.7669548,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.049867023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.0987367,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.047872342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.97539896,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"79","depth":23,"bounds":{"left":0.9880319,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" step(msg)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" run_sqlite_heredoc(label, sql)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" check(label, got, expected)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.056848403,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.0987367,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.087101065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.039893616,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.9730718,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"298","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.034906916,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"DB sync complete for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8188165,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.8557181,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.8793218,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.8849734,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.90325797,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"bounds":{"left":0.9271942,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.9325133,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"bounds":{"left":0.9361702,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.087101065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.9734042,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9840425,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"100","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.034906916,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"File sync complete for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.859375,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.88297874,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"bounds":{"left":0.89228725,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"bounds":{"left":0.93085104,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.9361702,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.7669548,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":21,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.03324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Cascade cannot create","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.039893616,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.80285907,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.80851066,"top":0.07102953,"width":0.036236703,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"because it already exists.","depth":21,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.043550532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98138297,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.98670214,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"51","depth":23,"bounds":{"left":0.98836434,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"bounds":{"left":0.7912234,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"bounds":{"left":0.8630319,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"bounds":{"left":0.86835104,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.058843084,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_db.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.049534574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_files.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.05518617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9773936,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"10","depth":23,"bounds":{"left":0.9797208,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.984375,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"189","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"meetings\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_MEETINGS","depth":24,"bounds":{"left":0.80418885,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82613033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.828125,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.024268618,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8537234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_chunks\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.025930852,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.80585104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ACHUNKS","depth":24,"bounds":{"left":0.80984044,"top":0.07102953,"width":0.018284574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.828125,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8334442,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"bounds":{"left":0.83543885,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.85738033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_transcriptions\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ATRANS","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8480718,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"bounds":{"left":0.8500665,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8703458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db_verify","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.7875665,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.78956115,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.81150264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_FRAMES","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8390958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ELEMENTS","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.86668885,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.86835104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8703458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_UI","depth":24,"bounds":{"left":0.87200797,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8849734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.88663566,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_OCR","depth":24,"bounds":{"left":0.8902925,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.90525264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.90890956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"bounds":{"left":0.9105718,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.93450797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.93650264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9381649,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.96210104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9637633,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.96575797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"bounds":{"left":0.9674202,"top":0.07102953,"width":0.020611702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.98769945,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98138297,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.98670214,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"41","depth":23,"bounds":{"left":0.98836434,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"else","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %s\\n\"","depth":24,"bounds":{"left":0.78224736,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"rsync logs → NAS\"","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.03324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.85738033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"skipped (no matching logs)\"","depth":24,"bounds":{"left":0.859375,"top":0.07102953,"width":0.051529255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_logs","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78224736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Test backward compatibility of main script","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.07114362,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.7815825,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":23,"bounds":{"left":0.7825798,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"bounds":{"left":0.76894945,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7769282,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-n","depth":22,"bounds":{"left":0.77892286,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"}]...
|
9002235524242874184
|
-933084676590958361
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else
printf
" %-36s %s\n"
"rsync logs → NAS"
"skipped (no matching logs)"
fi
copy_logs
"
$TARGET_DATE
"
Thoughts
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Test backward compatibility of main script
Thoughts
Command
bash
bash
-n...
|
32104
|
NULL
|
NULL
|
NULL
|
|
32105
|
1240
|
59
|
2026-05-13T09:05:59.773549+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663159773_m1.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"15m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Began implementing","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"refactor-screenpipe-sync-modular-6b711a.md","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create refactoring plan to split screenpipe_sync.sh into modular components","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-p","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/lib","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"79","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" step(msg)\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" run_sqlite_heredoc(label, sql)\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" check(label, got, expected)\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"298","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"DB sync complete for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"100","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"File sync complete for","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Cascade cannot create","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"because it already exists.","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"51","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_db.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_files.sh\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"10","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"189","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"meetings\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_MEETINGS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_chunks\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ACHUNKS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_transcriptions\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ATRANS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db_verify","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_FRAMES","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ELEMENTS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_UI","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_OCR","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"41","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"else","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":true,"role_description":"text"}]...
|
-2330845962652356571
|
-928580458488297273
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32104
|
1241
|
88
|
2026-05-13T09:05:58.961500+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663158961_m2.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else
printf
" %-36s %s\n"
"rsync logs → NAS"
"skipped (no matching logs)"
fi
copy_logs
"
$TARGET_DATE
"
Thoughts
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Test backward compatibility of main script
Thoughts
Command
bash
bash
-n
/volume1/screenpipe/screenpipe_sync.sh
Canceled
terminal command
Feedback submitted
this is something that will live inside mac and run it from there. It is here for documentation mostly. I want the whole lib to copy to mac and run from there. So I will test it there. Alos I noticed that audio files are not synced. Only video. I neeed to copy data from ~/.screenpipe/data there audio lives in files named like LakyLak bose qc35 II (input)_2026-05-12_06-49-17.mp4 or MacBook Pro Microphone (input)_2026-05-12_12-17-23.mp4 or soundcore AeroClip (input)_2026-05-12_07-40-48.mp4 or System Audio (output)_2026-05-11_06-17-14.mp4 or somethign simillar (path in sqlite db). I want to copy data form that particular data as the part of the sycn process. Add it to the script sync flow.
Expand content to scroll
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4
# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
# ─── COPY LOGS ────────────────────────────────────────────────────────────────
Thoughts
7
/
7
tasks
done
Thought
for 1s
I've completed the refactoring
and added audio file syncing. Here's what was done:
Refactoring:
Created
lib/
directory with three modules:
lib/screenpipe_sync_helpers.sh
- logging, timing, SQLite helpers
lib/screenpipe_sync_db.sh
- all DB operations (tables, indexes
, sync, FTS, verify)
lib/screenpipe_sync_files.sh
- data folder, audio files, and log
copying
Refactored
screenpipe_sync.sh
to source
the modules and call functions
Main script
maintains exact same CLI interface for backward compatibility
Audio File Syncing:
Added
copy_audio_files()
function to
lib/screenpipe_sync_files.sh
Queries
audio_chunks
table for file paths on
target date
Copies audio files (e.g.,
LakyLak bose
qc35 II (input)_2026-05
-12_06-49-17.mp4
) from
~/.screenpipe/data
to
$NAS_DATA/audio/
Integrated into main sync flow between data folder and log
copying
Usage:
bash
# Main script (backward compatible)
./screenpipe_sync.sh
2026-05-11...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"bounds":{"left":0.0,"top":0.047885075,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.05586592,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"bounds":{"left":0.0,"top":0.07581804,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.083798885,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"bounds":{"left":0.0,"top":0.103751,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.11173184,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"bounds":{"left":0.004986702,"top":0.11811652,"width":0.003656915,"height":0.007980846},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.005319149,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}},{"char_start":1,"char_count":1,"bounds":{"left":0.006981383,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}}],"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"bounds":{"left":0.0,"top":0.13168396,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.1396648,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"bounds":{"left":0.0,"top":0.15961692,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"bounds":{"left":0.0,"top":0.18754987,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.19553073,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"bounds":{"left":0.0,"top":0.21548285,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.22346368,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"bounds":{"left":0.0,"top":0.2434158,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.25139666,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"bounds":{"left":0.01462766,"top":0.047885075,"width":0.013630319,"height":0.023144454},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"bounds":{"left":0.01462766,"top":0.054269753,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.014960106,"top":0.055067837,"width":0.0019946808,"height":0.008778931}},{"char_start":1,"char_count":7,"bounds":{"left":0.016954787,"top":0.055067837,"width":0.011303191,"height":0.008778931}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.011635638,"top":0.07102953,"width":0.0831117,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.0726257,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.016954787,"top":0.07102953,"width":0.035904255,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"bounds":{"left":0.016954787,"top":0.07342378,"width":0.035904255,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.07342378,"width":0.0019946808,"height":0.009577015}},{"char_start":1,"char_count":20,"bounds":{"left":0.018949468,"top":0.07342378,"width":0.034242023,"height":0.009577015}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.08699122,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.08699122,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.025930852,"top":0.08699122,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.087789305,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.02825798,"top":0.087789305,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.10215483,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.10215483,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0063164895,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":2,"bounds":{"left":0.027925532,"top":0.10215483,"width":0.004654255,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.10215483,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.11652035,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.11652035,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.025930852,"top":0.11652035,"width":0.0076462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.11731844,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":3,"bounds":{"left":0.02825798,"top":0.11731844,"width":0.005319149,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.01462766,"top":0.13088587,"width":0.0043218085,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"bounds":{"left":0.025930852,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.13168396,"width":0.0009973404,"height":0.0103751}},{"char_start":1,"char_count":2,"bounds":{"left":0.026928192,"top":0.13168396,"width":0.0033244682,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.13168396,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.14604948,"width":0.003656915,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"bounds":{"left":0.027925532,"top":0.14604948,"width":0.039893616,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.14604948,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":20,"bounds":{"left":0.029920213,"top":0.14604948,"width":0.037898935,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.14604948,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.16041501,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"bounds":{"left":0.027925532,"top":0.16041501,"width":0.04255319,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.16121309,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":23,"bounds":{"left":0.029920213,"top":0.16121309,"width":0.04089096,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.16121309,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.17478053,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"bounds":{"left":0.027925532,"top":0.17478053,"width":0.048204787,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.17557861,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.029920213,"top":0.17557861,"width":0.046210106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.17557861,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.18994413,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.18994413,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.006981383,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.0009973404,"height":0.011173184}},{"char_start":1,"char_count":3,"bounds":{"left":0.026928192,"top":0.18994413,"width":0.0063164895,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.18994413,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.20430966,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.20430966,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.025930852,"top":0.20430966,"width":0.00930851,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.20510775,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":4,"bounds":{"left":0.02825798,"top":0.20510775,"width":0.006981383,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.21867518,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.025930852,"top":0.21867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.21947326,"width":0.0013297872,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.026928192,"top":0.21947326,"width":0.014960106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.23383878,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.029920213,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":16,"bounds":{"left":0.027925532,"top":0.23383878,"width":0.027925532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.2482043,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"bounds":{"left":0.025930852,"top":0.2482043,"width":0.01761968,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.2490024,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.027925532,"top":0.2490024,"width":0.015625,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.26256984,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.025930852,"top":0.26256984,"width":0.025265958,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.26336792,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":13,"bounds":{"left":0.027925532,"top":0.26336792,"width":0.023603724,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.26336792,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.27773345,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.046210106,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":27,"bounds":{"left":0.027925532,"top":0.27773345,"width":0.04454787,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.27773345,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.29209897,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.025930852,"top":0.29209897,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.29289705,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":8,"bounds":{"left":0.02825798,"top":0.29289705,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3064645,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.025930852,"top":0.3064645,"width":0.023271276,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.30726257,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.30726257,"width":0.021276595,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3216281,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.021941489,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.3216281,"width":0.019614361,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.33599362,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"bounds":{"left":0.025930852,"top":0.33599362,"width":0.04488032,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3367917,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":24,"bounds":{"left":0.027925532,"top":0.3367917,"width":0.04288564,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.3367917,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.35035914,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"bounds":{"left":0.025930852,"top":0.35035914,"width":0.042220745,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.35115722,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":22,"bounds":{"left":0.027925532,"top":0.35115722,"width":0.04055851,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.35115722,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.36552274,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.04055851,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":21,"bounds":{"left":0.027925532,"top":0.36552274,"width":0.03856383,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.36552274,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.37988827,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.025930852,"top":0.37988827,"width":0.04920213,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.38068634,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.027925532,"top":0.38068634,"width":0.047539894,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.38068634,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3942538,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.025930852,"top":0.3942538,"width":0.03357713,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.39505187,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":17,"bounds":{"left":0.027925532,"top":0.39505187,"width":0.03158245,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.087101065,"top":0.39505187,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.4094174,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.023936171,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.027925532,"top":0.4094174,"width":0.022273935,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.011635638,"top":0.95530725,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.95690346,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"bounds":{"left":0.016954787,"top":0.95530725,"width":0.011635638,"height":0.015163607},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"bounds":{"left":0.016954787,"top":0.9577015,"width":0.011635638,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9584996,"width":0.0026595744,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.019946808,"top":0.9584996,"width":0.008976064,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.011635638,"top":0.9696728,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.97206706,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"bounds":{"left":0.016954787,"top":0.97047085,"width":0.013630319,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"bounds":{"left":0.016954787,"top":0.9728651,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9728651,"width":0.0023271276,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.019281914,"top":0.9728651,"width":0.011635638,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0016622341,"top":0.9848364,"width":0.024268618,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.0039893617,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.00831117,"top":0.98723066,"width":0.015292553,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.008643617,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.009640957,"top":0.98723066,"width":0.012300532,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.027260639,"top":0.9848364,"width":0.019281914,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.027925532,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"bounds":{"left":0.032247342,"top":0.98723066,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.032579787,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.03357713,"top":0.98723066,"width":0.010970744,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.04654255,"top":0.9848364,"width":0.0063164895,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.054853722,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.05618351,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.06050532,"top":0.98723066,"width":0.0043218085,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.064494684,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.069148935,"top":0.98723066,"width":0.0029920214,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"bounds":{"left":0.07513298,"top":0.9848364,"width":0.010305851,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.07646277,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"bounds":{"left":0.080784574,"top":0.98723066,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.99102396,"top":0.9848364,"width":0.008976042,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"bounds":{"left":0.9567819,"top":0.9848364,"width":0.03357713,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"bounds":{"left":0.9421542,"top":0.9848364,"width":0.012965426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"bounds":{"left":0.91988033,"top":0.9848364,"width":0.020611702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"bounds":{"left":0.9115692,"top":0.9848364,"width":0.0066489363,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"bounds":{"left":0.8969415,"top":0.9848364,"width":0.013297873,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"bounds":{"left":0.87699467,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"bounds":{"left":0.8494016,"top":0.9848364,"width":0.026263298,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":0.80418885,"top":0.9848364,"width":0.04454787,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"bounds":{"left":0.76163566,"top":0.05347167,"width":0.034574468,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.76163566,"top":0.054269753,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":19,"bounds":{"left":0.76396275,"top":0.054269753,"width":0.032247342,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"15m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23238032,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Began implementing","depth":23,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.03557181,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"refactor-screenpipe-sync-modular-6b711a.md","depth":23,"bounds":{"left":0.8071808,"top":0.07102953,"width":0.077792555,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7649601,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76795214,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7799202,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create refactoring plan to split screenpipe_sync.sh into modular components","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.12965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.049867023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.7815825,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":23,"bounds":{"left":0.7825798,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":22,"bounds":{"left":0.76894945,"top":0.07102953,"width":0.010305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.77892286,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-p","depth":22,"bounds":{"left":0.7809175,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/lib","depth":22,"bounds":{"left":0.7869016,"top":0.07102953,"width":0.046210106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.7669548,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.049867023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.0987367,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.047872342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.97539896,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"79","depth":23,"bounds":{"left":0.9880319,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" step(msg)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" run_sqlite_heredoc(label, sql)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" check(label, got, expected)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.056848403,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.0987367,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.087101065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.039893616,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.9730718,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"298","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.034906916,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"DB sync complete for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8188165,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.8557181,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.8793218,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.8849734,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.90325797,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"bounds":{"left":0.9271942,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.9325133,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"bounds":{"left":0.9361702,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.087101065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.9734042,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9840425,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"100","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.034906916,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"File sync complete for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.859375,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.88297874,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"bounds":{"left":0.89228725,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"bounds":{"left":0.93085104,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.9361702,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.7669548,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":21,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.03324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Cascade cannot create","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.039893616,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.80285907,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.80851066,"top":0.07102953,"width":0.036236703,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"because it already exists.","depth":21,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.043550532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98138297,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.98670214,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"51","depth":23,"bounds":{"left":0.98836434,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"bounds":{"left":0.7912234,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"bounds":{"left":0.8630319,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"bounds":{"left":0.86835104,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.058843084,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_db.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.049534574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_files.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.05518617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9773936,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"10","depth":23,"bounds":{"left":0.9797208,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.984375,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"189","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"meetings\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_MEETINGS","depth":24,"bounds":{"left":0.80418885,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82613033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.828125,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.024268618,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8537234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_chunks\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.025930852,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.80585104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ACHUNKS","depth":24,"bounds":{"left":0.80984044,"top":0.07102953,"width":0.018284574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.828125,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8334442,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"bounds":{"left":0.83543885,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.85738033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_transcriptions\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ATRANS","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8480718,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"bounds":{"left":0.8500665,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8703458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db_verify","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.7875665,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.78956115,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.81150264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_FRAMES","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8390958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ELEMENTS","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.86668885,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.86835104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8703458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_UI","depth":24,"bounds":{"left":0.87200797,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8849734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.88663566,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_OCR","depth":24,"bounds":{"left":0.8902925,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.90525264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.90890956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"bounds":{"left":0.9105718,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.93450797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.93650264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9381649,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.96210104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9637633,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.96575797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"bounds":{"left":0.9674202,"top":0.07102953,"width":0.020611702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.98769945,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98138297,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.98670214,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"41","depth":23,"bounds":{"left":0.98836434,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"else","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %s\\n\"","depth":24,"bounds":{"left":0.78224736,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"rsync logs → NAS\"","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.03324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.85738033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"skipped (no matching logs)\"","depth":24,"bounds":{"left":0.859375,"top":0.07102953,"width":0.051529255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_logs","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78224736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Test backward compatibility of main script","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.07114362,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.7815825,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":23,"bounds":{"left":0.7825798,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"bounds":{"left":0.76894945,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7769282,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-n","depth":22,"bounds":{"left":0.77892286,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.78291225,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/screenpipe_sync.sh","depth":22,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.076130316,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Canceled","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.01462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"terminal command","depth":22,"bounds":{"left":0.7855718,"top":0.07102953,"width":0.027260639,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"this is something that will live inside mac and run it from there. It is here for documentation mostly. I want the whole lib to copy to mac and run from there. So I will test it there. Alos I noticed that audio files are not synced. Only video. I neeed to copy data from ~/.screenpipe/data there audio lives in files named like LakyLak bose qc35 II (input)_2026-05-12_06-49-17.mp4 or MacBook Pro Microphone (input)_2026-05-12_12-17-23.mp4 or soundcore AeroClip (input)_2026-05-12_07-40-48.mp4 or System Audio (output)_2026-05-11_06-17-14.mp4 or somethign simillar (path in sqlite db). I want to copy data form that particular data as the part of the sycn process. Add it to the script sync flow.","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.22506648,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.87333775,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Add audio file copying to sync flow","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.05851064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":21,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.042220745,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"37","depth":23,"bounds":{"left":0.9880319,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total_size","depth":24,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7912234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"du","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-sh","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.80984044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$nas_audio","depth":24,"bounds":{"left":0.81150264,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8317819,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"bounds":{"left":0.8334442,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.83543885,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cut","depth":24,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-f1","depth":24,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")","depth":24,"bounds":{"left":0.8500665,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %d file(s), %s\\n\"","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8480718,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio files total:\"","depth":24,"bounds":{"left":0.8500665,"top":0.07102953,"width":0.036901597,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.88663566,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$count","depth":24,"bounds":{"left":0.8902925,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9015958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.90325797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.90525264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$total_size","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9271942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9288564,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"bounds":{"left":0.93085104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9325133,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tee","depth":24,"bounds":{"left":0.93450797,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-a","depth":24,"bounds":{"left":0.9418218,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.94547874,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9474734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$LOG_FILE","depth":24,"bounds":{"left":0.94913566,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.96575797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98769945,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":23,"bounds":{"left":0.9896942,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.045877658,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84640956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.029587766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying screenpipe logs for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.05319149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8317819,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8537234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98769945,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":23,"bounds":{"left":0.9896942,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"bounds":{"left":0.7749335,"top":0.07102953,"width":0.045877658,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.029587766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ─── COPY LOGS ────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76828456,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"I've completed the refactoring","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.053856384,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"and added audio file syncing. Here's what was done:","depth":21,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.09507979,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactoring:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Created","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.015625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/","depth":23,"bounds":{"left":0.78723407,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"directory with three modules:","depth":22,"bounds":{"left":0.79587764,"top":0.07102953,"width":0.053523935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_helpers.sh","depth":26,"bounds":{"left":0.78424203,"top":0.07102953,"width":0.065159574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- logging, timing, SQLite helpers","depth":24,"bounds":{"left":0.8490692,"top":0.07102953,"width":0.058843084,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_db.sh","depth":26,"bounds":{"left":0.78424203,"top":0.07102953,"width":0.05418883,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- all DB operations (tables, indexes","depth":24,"bounds":{"left":0.8384308,"top":0.07102953,"width":0.06349734,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":", sync, FTS, verify)","depth":24,"bounds":{"left":0.9015958,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_files.sh","depth":26,"bounds":{"left":0.78424203,"top":0.07102953,"width":0.060837764,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"- data folder, audio files, and log","depth":24,"bounds":{"left":0.84474736,"top":0.07102953,"width":0.058843084,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copying","depth":24,"bounds":{"left":0.90359044,"top":0.07102953,"width":0.015292553,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactored","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.020944148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7915558,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":24,"bounds":{"left":0.7972075,"top":0.07102953,"width":0.039228722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to source","depth":22,"bounds":{"left":0.83610374,"top":0.07102953,"width":0.017952127,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the modules and call functions","depth":22,"bounds":{"left":0.8540558,"top":0.07102953,"width":0.055851065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Main script","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"maintains exact same CLI interface for backward compatibility","depth":22,"bounds":{"left":0.79089093,"top":0.07102953,"width":0.112034574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Audio File Syncing:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.03557181,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Added","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.011968086,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7825798,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78357714,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_audio_files()","depth":24,"bounds":{"left":0.78922874,"top":0.07102953,"width":0.038896278,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"function to","depth":22,"bounds":{"left":0.828125,"top":0.07102953,"width":0.021609042,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.84973407,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib/screenpipe_sync_files.sh","depth":24,"bounds":{"left":0.8550532,"top":0.07102953,"width":0.060837764,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Queries","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.013962766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"audio_chunks","depth":23,"bounds":{"left":0.7869016,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"table for file paths on","depth":22,"bounds":{"left":0.81017286,"top":0.07102953,"width":0.039228722,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"target date","depth":22,"bounds":{"left":0.8490692,"top":0.07102953,"width":0.020944148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Copies audio files (e.g.,","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.042220745,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.8128325,"top":0.07102953,"width":0.0013297872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"LakyLak bose","depth":23,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"qc35 II (input)_2026-05","depth":23,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-12_06-49-17.mp4","depth":23,"bounds":{"left":0.88098407,"top":0.07102953,"width":0.029587766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") from","depth":22,"bounds":{"left":0.9115692,"top":0.07102953,"width":0.010970744,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.9225399,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"~/.screenpipe/data","depth":23,"bounds":{"left":0.92453456,"top":0.07102953,"width":0.03324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"to","depth":22,"bounds":{"left":0.9587766,"top":0.07102953,"width":0.004654255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.9634308,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$NAS_DATA/audio/","depth":23,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.22041224,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Integrated into main sync flow between data folder and log","depth":22,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.105053194,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copying","depth":22,"bounds":{"left":0.8756649,"top":0.07102953,"width":0.015625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Usage:","depth":22,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.007978723,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# Main script (backward compatible)","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.07047872,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"./screenpipe_sync.sh","depth":23,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.040226065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.8068484,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2026-05-11","depth":23,"bounds":{"left":0.8088431,"top":0.07102953,"width":0.019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"}]...
|
-2512931491013577056
|
3827290223372250343
|
visual_change
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else
printf
" %-36s %s\n"
"rsync logs → NAS"
"skipped (no matching logs)"
fi
copy_logs
"
$TARGET_DATE
"
Thoughts
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Test backward compatibility of main script
Thoughts
Command
bash
bash
-n
/volume1/screenpipe/screenpipe_sync.sh
Canceled
terminal command
Feedback submitted
this is something that will live inside mac and run it from there. It is here for documentation mostly. I want the whole lib to copy to mac and run from there. So I will test it there. Alos I noticed that audio files are not synced. Only video. I neeed to copy data from ~/.screenpipe/data there audio lives in files named like LakyLak bose qc35 II (input)_2026-05-12_06-49-17.mp4 or MacBook Pro Microphone (input)_2026-05-12_12-17-23.mp4 or soundcore AeroClip (input)_2026-05-12_07-40-48.mp4 or System Audio (output)_2026-05-11_06-17-14.mp4 or somethign simillar (path in sqlite db). I want to copy data form that particular data as the part of the sycn process. Add it to the script sync flow.
Expand content to scroll
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
step
"Copying screenpipe logs for
$TARGET_DATE
"
Thoughts
screenpipe_sync.sh
+
4
# ─── COPY AUDIO FILES ─────────────────────────────────────────────────────────
step
"Copying audio files for
$TARGET_DATE
"
copy_audio_files
"
$TARGET_DATE
"
# ─── COPY LOGS ────────────────────────────────────────────────────────────────
Thoughts
7
/
7
tasks
done
Thought
for 1s
I've completed the refactoring
and added audio file syncing. Here's what was done:
Refactoring:
Created
lib/
directory with three modules:
lib/screenpipe_sync_helpers.sh
- logging, timing, SQLite helpers
lib/screenpipe_sync_db.sh
- all DB operations (tables, indexes
, sync, FTS, verify)
lib/screenpipe_sync_files.sh
- data folder, audio files, and log
copying
Refactored
screenpipe_sync.sh
to source
the modules and call functions
Main script
maintains exact same CLI interface for backward compatibility
Audio File Syncing:
Added
copy_audio_files()
function to
lib/screenpipe_sync_files.sh
Queries
audio_chunks
table for file paths on
target date
Copies audio files (e.g.,
LakyLak bose
qc35 II (input)_2026-05
-12_06-49-17.mp4
) from
~/.screenpipe/data
to
$NAS_DATA/audio/
Integrated into main sync flow between data folder and log
copying
Usage:
bash
# Main script (backward compatible)
./screenpipe_sync.sh
2026-05-11...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
32072
|
1241
|
68
|
2026-05-13T09:05:03.290600+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-13/1778 /Users/lukas/.screenpipe/data/data/2026-05-13/1778663103290_m2.jpg...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_old.sh — U screenpipe [SSH: nas] — screenpipe_sync_old.sh — Untracked...
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else
printf
" %-36s %s\n"
"rsync logs → NAS"
"skipped (no matching logs)"
fi
copy_logs
"
$TARGET_DATE
"
Thoughts
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Test backward compatibility of main script
Thoughts
Command
bash
bash
-n
/volume1/screenpipe/screenpipe_sync.sh
Canceled
terminal command
Feedback submitted
this is something that will live inside mac and run it from there. It is here for documentation mostly. I want the whole lib to copy to mac and run from there. So I will test it there. Alos I noticed that audio files are not synced. Only video. I neeed to copy data from ~/.screenpipe/data there audio lives in files named like LakyLak bose qc35 II (input)_2026-05-12_06-49-17.mp4 or MacBook Pro Microphone (input)_2026-05-12_12-17-23.mp4 or soundcore AeroClip (input)_2026-05-12_07-40-48.mp4 or System Audio (output)_2026-05-11_06-17-14.mp4 or somethign simillar (path in sqlite db). I want to copy data form that particular data as the part of the sycn process. Add it to the script sync flow.
Expand content to scroll
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⌥⌘E)","depth":18,"bounds":{"left":0.0,"top":0.047885075,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.05586592,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":18,"bounds":{"left":0.0,"top":0.07581804,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.083798885,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⇧⌘G) - 20 pending changes","depth":18,"bounds":{"left":0.0,"top":0.103751,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.11173184,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"20","depth":21,"bounds":{"left":0.004986702,"top":0.11811652,"width":0.003656915,"height":0.007980846},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.005319149,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}},{"char_start":1,"char_count":1,"bounds":{"left":0.006981383,"top":0.118914604,"width":0.0016622341,"height":0.0071827616}}],"role_description":"text"},{"role":"AXRadioButton","text":"Codemaps","depth":18,"bounds":{"left":0.0,"top":0.13168396,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.1396648,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"DeepWiki","depth":18,"bounds":{"left":0.0,"top":0.15961692,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Run and Debug","depth":18,"bounds":{"left":0.0,"top":0.18754987,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.19553073,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":18,"bounds":{"left":0.0,"top":0.21548285,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.22346368,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X)","depth":18,"bounds":{"left":0.0,"top":0.2434158,"width":0.011635638,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":21,"bounds":{"left":0.0033244682,"top":0.25139666,"width":0.004986702,"height":0.011971269},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer","depth":17,"bounds":{"left":0.01462766,"top":0.047885075,"width":0.013630319,"height":0.023144454},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Explorer","depth":18,"bounds":{"left":0.01462766,"top":0.054269753,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.014960106,"top":0.055067837,"width":0.0019946808,"height":0.008778931}},{"char_start":1,"char_count":7,"bounds":{"left":0.016954787,"top":0.055067837,"width":0.011303191,"height":0.008778931}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.011635638,"top":0.07102953,"width":0.0831117,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.0726257,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.016954787,"top":0.07102953,"width":0.035904255,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"screenpipe [SSH: nas]","depth":23,"bounds":{"left":0.016954787,"top":0.07342378,"width":0.035904255,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.07342378,"width":0.0019946808,"height":0.009577015}},{"char_start":1,"char_count":20,"bounds":{"left":0.018949468,"top":0.07342378,"width":0.034242023,"height":0.009577015}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.08699122,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.08699122,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.025930852,"top":0.08699122,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.087789305,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.02825798,"top":0.087789305,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.10215483,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.10215483,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0063164895,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.10215483,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":2,"bounds":{"left":0.027925532,"top":0.10215483,"width":0.004654255,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.10215483,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.11652035,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.11652035,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.025930852,"top":0.11652035,"width":0.0076462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.11731844,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":3,"bounds":{"left":0.02825798,"top":0.11731844,"width":0.005319149,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.01462766,"top":0.13088587,"width":0.0043218085,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"lib","depth":27,"bounds":{"left":0.025930852,"top":0.13088587,"width":0.0039893617,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.13168396,"width":0.0009973404,"height":0.0103751}},{"char_start":1,"char_count":2,"bounds":{"left":0.026928192,"top":0.13168396,"width":0.0033244682,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.13168396,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.14604948,"width":0.003656915,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":27,"bounds":{"left":0.027925532,"top":0.14604948,"width":0.039893616,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.14604948,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":20,"bounds":{"left":0.029920213,"top":0.14604948,"width":0.037898935,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.14604948,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.16041501,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":27,"bounds":{"left":0.027925532,"top":0.16041501,"width":0.04255319,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.16121309,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":23,"bounds":{"left":0.029920213,"top":0.16121309,"width":0.04089096,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.16121309,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.021941489,"top":0.17478053,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":27,"bounds":{"left":0.027925532,"top":0.17478053,"width":0.048204787,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.02825798,"top":0.17557861,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.029920213,"top":0.17557861,"width":0.046210106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.17557861,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.18994413,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.18994413,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.006981383,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.18994413,"width":0.0009973404,"height":0.011173184}},{"char_start":1,"char_count":3,"bounds":{"left":0.026928192,"top":0.18994413,"width":0.0063164895,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.08676862,"top":0.18994413,"width":0.0039893617,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.014295213,"top":0.20430966,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.20430966,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.025930852,"top":0.20430966,"width":0.00930851,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.20510775,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":4,"bounds":{"left":0.02825798,"top":0.20510775,"width":0.006981383,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.21867518,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.025930852,"top":0.21867518,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.21947326,"width":0.0013297872,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.026928192,"top":0.21947326,"width":0.014960106,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.23383878,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.029920213,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.23383878,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":16,"bounds":{"left":0.027925532,"top":0.23383878,"width":0.027925532,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.2482043,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"bounds":{"left":0.025930852,"top":0.2482043,"width":0.01761968,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.2490024,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":9,"bounds":{"left":0.027925532,"top":0.2490024,"width":0.015625,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.26256984,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.025930852,"top":0.26256984,"width":0.025265958,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.26336792,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":13,"bounds":{"left":0.027925532,"top":0.26336792,"width":0.023603724,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.26336792,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.27773345,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db.bak-pre-installid","depth":27,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.046210106,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.27773345,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":27,"bounds":{"left":0.027925532,"top":0.27773345,"width":0.04454787,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.27773345,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.29209897,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.025930852,"top":0.29209897,"width":0.01462766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.29289705,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":8,"bounds":{"left":0.02825798,"top":0.29289705,"width":0.012300532,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3064645,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.025930852,"top":0.3064645,"width":0.023271276,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.30726257,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.30726257,"width":0.021276595,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3216281,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.021941489,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3216281,"width":0.0023271276,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.02825798,"top":0.3216281,"width":0.019614361,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.33599362,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"bounds":{"left":0.025930852,"top":0.33599362,"width":0.04488032,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.3367917,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":24,"bounds":{"left":0.027925532,"top":0.3367917,"width":0.04288564,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.3367917,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.35035914,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync copy.sh","depth":27,"bounds":{"left":0.025930852,"top":0.35035914,"width":0.042220745,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.35115722,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":22,"bounds":{"left":0.027925532,"top":0.35115722,"width":0.04055851,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.35115722,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.36552274,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_old.sh","depth":27,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.04055851,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.36552274,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":21,"bounds":{"left":0.027925532,"top":0.36552274,"width":0.03856383,"height":0.011173184}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.36552274,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.37988827,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.025930852,"top":0.37988827,"width":0.04920213,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.38068634,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":25,"bounds":{"left":0.027925532,"top":0.38068634,"width":0.047539894,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.087765954,"top":0.38068634,"width":0.0026595744,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.3942538,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.025930852,"top":0.3942538,"width":0.03357713,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.39505187,"width":0.0019946808,"height":0.0103751}},{"char_start":1,"char_count":17,"bounds":{"left":0.027925532,"top":0.39505187,"width":0.03158245,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.087101065,"top":0.39505187,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.019614361,"top":0.4094174,"width":0.0039893617,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.023936171,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.025930852,"top":0.4094174,"width":0.0019946808,"height":0.011173184}},{"char_start":1,"char_count":12,"bounds":{"left":0.027925532,"top":0.4094174,"width":0.022273935,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.011635638,"top":0.95530725,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.95690346,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Outline","depth":22,"bounds":{"left":0.016954787,"top":0.95530725,"width":0.011635638,"height":0.015163607},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Outline","depth":23,"bounds":{"left":0.016954787,"top":0.9577015,"width":0.011635638,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9584996,"width":0.0026595744,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.019946808,"top":0.9584996,"width":0.008976064,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.011635638,"top":0.9696728,"width":0.0831117,"height":0.015163607},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.011968086,"top":0.97206706,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Timeline","depth":22,"bounds":{"left":0.016954787,"top":0.97047085,"width":0.013630319,"height":0.014365523},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"Timeline","depth":23,"bounds":{"left":0.016954787,"top":0.9728651,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.017287234,"top":0.9728651,"width":0.0023271276,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.019281914,"top":0.9728651,"width":0.011635638,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0016622341,"top":0.9848364,"width":0.024268618,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.0039893617,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.00831117,"top":0.98723066,"width":0.015292553,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.008643617,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":7,"bounds":{"left":0.009640957,"top":0.98723066,"width":0.012300532,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.027260639,"top":0.9848364,"width":0.019281914,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.027925532,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"bounds":{"left":0.032247342,"top":0.98723066,"width":0.013630319,"height":0.009577015},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.032579787,"top":0.98723066,"width":0.0009973404,"height":0.009577015}},{"char_start":1,"char_count":6,"bounds":{"left":0.03357713,"top":0.98723066,"width":0.010970744,"height":0.009577015}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.04654255,"top":0.9848364,"width":0.0063164895,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.054853722,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.05618351,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.06050532,"top":0.98723066,"width":0.0043218085,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.064494684,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.069148935,"top":0.98723066,"width":0.0029920214,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 41257, 36613, 33153, 45375","depth":16,"bounds":{"left":0.07513298,"top":0.9848364,"width":0.010305851,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.07646277,"top":0.98643255,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":17,"bounds":{"left":0.080784574,"top":0.98723066,"width":0.0033244682,"height":0.009577015},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.99102396,"top":0.9848364,"width":0.008976042,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Windsurf - Settings","depth":16,"bounds":{"left":0.9567819,"top":0.9848364,"width":0.03357713,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Teams, Daily: 0% quota used · Weekly: 68% quota used","depth":16,"bounds":{"left":0.9421542,"top":0.9848364,"width":0.012965426,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Shell Script","depth":16,"bounds":{"left":0.91988033,"top":0.9848364,"width":0.020611702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"bounds":{"left":0.9115692,"top":0.9848364,"width":0.0066489363,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"bounds":{"left":0.8969415,"top":0.9848364,"width":0.013297873,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 2","depth":16,"bounds":{"left":0.87699467,"top":0.9848364,"width":0.01861702,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 390, Col 86","depth":16,"bounds":{"left":0.8494016,"top":0.9848364,"width":0.026263298,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Screen Reader Optimized","depth":16,"bounds":{"left":0.80418885,"top":0.9848364,"width":0.04454787,"height":0.014365523},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Setting up SSH Host (details): Creating local forwarding server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Clear","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Refactor Sync Script","depth":20,"bounds":{"left":0.76163566,"top":0.05347167,"width":0.034574468,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.76163566,"top":0.054269753,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":19,"bounds":{"left":0.76396275,"top":0.054269753,"width":0.032247342,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"16h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"2h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"1h","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"15m","depth":20,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Show More","depth":19,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.23238032,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Began implementing","depth":23,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.03557181,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"refactor-screenpipe-sync-modular-6b711a.md","depth":23,"bounds":{"left":0.8071808,"top":0.07102953,"width":0.077792555,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7649601,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76795214,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.7709442,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7799202,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create refactoring plan to split screenpipe_sync.sh into modular components","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.12965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.049867023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.7815825,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":23,"bounds":{"left":0.7825798,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"mkdir","depth":22,"bounds":{"left":0.76894945,"top":0.07102953,"width":0.010305851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.77892286,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-p","depth":22,"bounds":{"left":0.7809175,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/lib","depth":22,"bounds":{"left":0.7869016,"top":0.07102953,"width":0.046210106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.7669548,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Create lib/ directory structure","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.049867023,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.0987367,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_helpers.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.047872342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.97539896,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"79","depth":23,"bounds":{"left":0.9880319,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" step(msg)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" run_sqlite_heredoc(label, sql)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" check(label, got, expected)\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.056848403,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract helper functions to lib/screenpipe_sync_helpers.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.0987367,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.087101065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_db.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.039893616,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.9730718,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"298","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.034906916,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"DB sync complete for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8188165,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.8557181,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.8793218,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.8849734,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.90325797,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"bounds":{"left":0.9271942,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.9325133,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"bounds":{"left":0.9361702,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract DB operations to lib/screenpipe_sync_db.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.087101065,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"new","depth":22,"bounds":{"left":0.9734042,"top":0.07102953,"width":0.0063164895,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9840425,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"100","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$((","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(date","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+%s","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":") - SCRIPT_START ))","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.034906916,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"echo","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"File sync complete for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.044215426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"in $((","depth":24,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.859375,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":24,"bounds":{"left":0.88297874,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))m$((","depth":24,"bounds":{"left":0.89228725,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"TOTAL_ELAPSED","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"%","depth":24,"bounds":{"left":0.93085104,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"60","depth":24,"bounds":{"left":0.9361702,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"))s\"","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.7652925,"top":0.07102953,"width":0.0033244682,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Extract file operations to lib/screenpipe_sync_files.sh","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.7669548,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":21,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.03324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Cascade cannot create","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.039893616,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.80285907,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.80851066,"top":0.07102953,"width":0.036236703,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"because it already exists.","depth":21,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.043550532,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98138297,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.98670214,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"51","depth":23,"bounds":{"left":0.98836434,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SCRIPT_DIR","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cd","depth":24,"bounds":{"left":0.7912234,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"$(","depth":24,"bounds":{"left":0.79488033,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"dirname","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.013297873,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"${","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"BASH_SOURCE","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"[0]}\")\" &&","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pwd","depth":24,"bounds":{"left":0.8630319,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")\"","depth":24,"bounds":{"left":0.86835104,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_helpers.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.058843084,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_db.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.049534574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"source","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SCRIPT_DIR","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/lib/screenpipe_sync_files.sh\"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.05518617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9773936,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"10","depth":23,"bounds":{"left":0.9797208,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.984375,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"189","depth":23,"bounds":{"left":0.98603725,"top":0.07102953,"width":0.005984043,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"meetings\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.79853725,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_MEETINGS","depth":24,"bounds":{"left":0.80418885,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82613033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.828125,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.024268618,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8537234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_chunks\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.025930852,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.80585104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ACHUNKS","depth":24,"bounds":{"left":0.80984044,"top":0.07102953,"width":0.018284574,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.828125,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8334442,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"bounds":{"left":0.83543885,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.85738033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"check","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio_transcriptions\"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.82081115,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$V_ATRANS","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8480718,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"bounds":{"left":0.8500665,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8703458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db_verify","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.7875665,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.78956115,"top":0.07102953,"width":0.022273935,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.81150264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.81349736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.81515956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_FRAMES","depth":24,"bounds":{"left":0.8171542,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8390958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84075797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ELEMENTS","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.86668885,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.86835104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8703458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_UI","depth":24,"bounds":{"left":0.87200797,"top":0.07102953,"width":0.012965426,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8849734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.88663566,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_OCR","depth":24,"bounds":{"left":0.8902925,"top":0.07102953,"width":0.014960106,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.90525264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.90890956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_MEETINGS","depth":24,"bounds":{"left":0.9105718,"top":0.07102953,"width":0.023936171,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.93450797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.93650264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9381649,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ACHUNKS","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.96210104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9637633,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.96575797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$SRC_ATRANS","depth":24,"bounds":{"left":0.9674202,"top":0.07102953,"width":0.020611702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.98769945,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.03357713,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98138297,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"2","depth":23,"bounds":{"left":0.98337764,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-","depth":23,"bounds":{"left":0.98670214,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"41","depth":23,"bounds":{"left":0.98836434,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"else","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78025264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %s\\n\"","depth":24,"bounds":{"left":0.78224736,"top":0.07102953,"width":0.04055851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8224734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"rsync logs → NAS\"","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.03324468,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.85738033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"skipped (no matching logs)\"","depth":24,"bounds":{"left":0.859375,"top":0.07102953,"width":0.051529255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"copy_logs","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78224736,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Test backward compatibility of main script","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.07114362,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Command","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.7815825,"top":0.07102953,"width":0.0009973404,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":23,"bounds":{"left":0.7825798,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bash","depth":22,"bounds":{"left":0.76894945,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.7769282,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-n","depth":22,"bounds":{"left":0.77892286,"top":0.07102953,"width":0.0043218085,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.78291225,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/screenpipe_sync.sh","depth":22,"bounds":{"left":0.7849069,"top":0.07102953,"width":0.076130316,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Canceled","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.01462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"terminal command","depth":22,"bounds":{"left":0.7855718,"top":0.07102953,"width":0.027260639,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Feedback submitted","depth":20,"bounds":{"left":0.7742686,"top":0.07102953,"width":0.032247342,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"this is something that will live inside mac and run it from there. It is here for documentation mostly. I want the whole lib to copy to mac and run from there. So I will test it there. Alos I noticed that audio files are not synced. Only video. I neeed to copy data from ~/.screenpipe/data there audio lives in files named like LakyLak bose qc35 II (input)_2026-05-12_06-49-17.mp4 or MacBook Pro Microphone (input)_2026-05-12_12-17-23.mp4 or soundcore AeroClip (input)_2026-05-12_07-40-48.mp4 or System Audio (output)_2026-05-11_06-17-14.mp4 or somethign simillar (path in sqlite db). I want to copy data form that particular data as the part of the sycn process. Add it to the script sync flow.","depth":25,"bounds":{"left":0.7659575,"top":0.07102953,"width":0.22506648,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Expand content to scroll","depth":23,"bounds":{"left":0.87333775,"top":0.07102953,"width":0.012300532,"height":0.0007980846},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"6","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"/","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0029920214,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":21,"bounds":{"left":0.76861703,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tasks","depth":21,"bounds":{"left":0.77160907,"top":0.07102953,"width":0.008976064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"done","depth":21,"bounds":{"left":0.7805851,"top":0.07102953,"width":0.009640957,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":21,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"more","depth":21,"bounds":{"left":0.76761967,"top":0.07102953,"width":0.00831117,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Refactor main screenpipe_sync.sh to use modules","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.08444149,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"7","depth":22,"bounds":{"left":0.76662236,"top":0.07102953,"width":0.0016622341,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Add audio file copying to sync flow","depth":22,"bounds":{"left":0.7712766,"top":0.07102953,"width":0.05851064,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.008643617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":21,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.042220745,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thought","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.014295213,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"for 1s","depth":21,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.00930851,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.9857048,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"37","depth":23,"bounds":{"left":0.9880319,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"total_size","depth":24,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"=","depth":24,"bounds":{"left":0.7912234,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$(","depth":24,"bounds":{"left":0.7932181,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"du","depth":24,"bounds":{"left":0.796875,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8005319,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-sh","depth":24,"bounds":{"left":0.8021942,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8078458,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.80984044,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$nas_audio","depth":24,"bounds":{"left":0.81150264,"top":0.07102953,"width":0.01861702,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.82978725,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8317819,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"bounds":{"left":0.8334442,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.83543885,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"cut","depth":24,"bounds":{"left":0.83710104,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.84275264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-f1","depth":24,"bounds":{"left":0.8444149,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":")","depth":24,"bounds":{"left":0.8500665,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"printf","depth":24,"bounds":{"left":0.77293885,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.78390956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\" %-36s %d file(s), %s\\n\"","depth":24,"bounds":{"left":0.7859042,"top":0.07102953,"width":0.0625,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.8480718,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"audio files total:\"","depth":24,"bounds":{"left":0.8500665,"top":0.07102953,"width":0.036901597,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.88663566,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.88863033,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$count","depth":24,"bounds":{"left":0.8902925,"top":0.07102953,"width":0.011303191,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9015958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.90325797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.90525264,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$total_size","depth":24,"bounds":{"left":0.9069149,"top":0.07102953,"width":0.020279255,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9271942,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9288564,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"|","depth":24,"bounds":{"left":0.93085104,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.9325133,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"tee","depth":24,"bounds":{"left":0.93450797,"top":0.07102953,"width":0.0056515955,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.94015956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"-a","depth":24,"bounds":{"left":0.9418218,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.94547874,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.9474734,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$LOG_FILE","depth":24,"bounds":{"left":0.94913566,"top":0.07102953,"width":0.01662234,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.96575797,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"fi","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"}","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"# ──────────────────────────────────────────────────────────────────────────────","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.14694148,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Thoughts","depth":21,"bounds":{"left":0.76329786,"top":0.07102953,"width":0.015957447,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.765625,"top":0.07102953,"width":0.003656915,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_files.sh","depth":23,"bounds":{"left":0.77227396,"top":0.07102953,"width":0.04255319,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"+","depth":23,"bounds":{"left":0.98769945,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":23,"bounds":{"left":0.9896942,"top":0.07102953,"width":0.0023271276,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.765625,"top":0.07102953,"width":0.0039893617,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"step","depth":24,"bounds":{"left":0.7692819,"top":0.07102953,"width":0.0076462766,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"bounds":{"left":0.7765958,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"Copying audio files for","depth":24,"bounds":{"left":0.77859044,"top":0.07102953,"width":0.045877658,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"$TARGET_DATE","depth":24,"bounds":{"left":0.8244681,"top":0.07102953,"width":0.021941489,"height":0.0007980846},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"\"","depth":24,"bounds":{"left":0.84640956,"top":0.07102953,"width":0.0019946808,"height":0.0007980846},"on_screen":true,"role_description":"text"}]...
|
-3496802584165127782
|
-790024400967725849
|
click
|
accessibility
|
NULL
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 20 pending changes
20
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
lib
screenpipe_sync_db.sh
U
screenpipe_sync_files.sh
U
screenpipe_sync_helpers.sh
U
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync copy.sh
U
screenpipe_sync_old.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257, 36613, 33153, 45375
4
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 390, Col 86
Screen Reader Optimized
Info: Setting up SSH Host (details): Creating local forwarding server...
Clear
Refactor Sync Script
16h
2h
1h
15m
Show More
Began implementing
refactor-screenpipe-sync-modular-6b711a.md
Thought
for 1s
1
/
7
tasks
done
Create refactoring plan to split screenpipe_sync.sh into modular components
2
Create lib/ directory structure
5
more
Thoughts
Command
mkdir
mkdir
-p
/volume1/screenpipe/lib
Thoughts
2
/
7
tasks
done
1
more
Create lib/ directory structure
3
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
more
Thoughts
screenpipe_sync_helpers.sh
new
+
79
echo
" step(msg)"
echo
" run_sqlite_heredoc(label, sql)"
echo
" check(label, got, expected)"
fi
Thoughts
3
/
7
tasks
done
2
more
Extract helper functions to lib/screenpipe_sync_helpers.sh
4
Extract DB operations to lib/screenpipe_sync_db.sh
3
more
Thought
for 1s
screenpipe_sync_db.sh
new
+
298
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"DB sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
4
/
7
tasks
done
3
more
Extract DB operations to lib/screenpipe_sync_db.sh
5
Extract file operations to lib/screenpipe_sync_files.sh
2
more
Thoughts
screenpipe_sync_files.sh
new
+
100
TOTAL_ELAPSED
=
$((
$(date
+%s
) - SCRIPT_START ))
echo
""
echo
"File sync complete for
$TARGET_DATE
in $((
TOTAL_ELAPSED
/
60
))m$((
TOTAL_ELAPSED
%
60
))s"
fi
Thoughts
5
/
7
tasks
done
4
more
Extract file operations to lib/screenpipe_sync_files.sh
6
Refactor main screenpipe_sync.sh to use modules
1
more
Thoughts
Read
screenpipe_sync.sh
Thought
for 1s
Cascade cannot create
screenpipe_sync.sh
because it already exists.
Thoughts
screenpipe_sync.sh
+
5
-
51
SCRIPT_DIR
=
"$(
cd
"$(
dirname
"${
BASH_SOURCE
[0]}")" &&
pwd
)"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_helpers.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_db.sh"
source
"
$SCRIPT_DIR
/lib/screenpipe_sync_files.sh"
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync.sh
+
10
-
189
check
"meetings"
"
$V_MEETINGS
"
"
$SRC_MEETINGS
"
check
"audio_chunks"
"
$V_ACHUNKS
"
"
$SRC_ACHUNKS
"
check
"audio_transcriptions"
"
$V_ATRANS
"
"
$SRC_ATRANS
"
db_verify
"
$TARGET_DATE
"
"
$SRC_FRAMES
"
"
$SRC_ELEMENTS
"
"
$SRC_UI
"
"
$SRC_OCR
"
"
$SRC_MEETINGS
"
"
$SRC_ACHUNKS
"
"
$SRC_ATRANS
"
Thoughts
screenpipe_sync.sh
+
2
-
41
else
printf
" %-36s %s\n"
"rsync logs → NAS"
"skipped (no matching logs)"
fi
copy_logs
"
$TARGET_DATE
"
Thoughts
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Test backward compatibility of main script
Thoughts
Command
bash
bash
-n
/volume1/screenpipe/screenpipe_sync.sh
Canceled
terminal command
Feedback submitted
this is something that will live inside mac and run it from there. It is here for documentation mostly. I want the whole lib to copy to mac and run from there. So I will test it there. Alos I noticed that audio files are not synced. Only video. I neeed to copy data from ~/.screenpipe/data there audio lives in files named like LakyLak bose qc35 II (input)_2026-05-12_06-49-17.mp4 or MacBook Pro Microphone (input)_2026-05-12_12-17-23.mp4 or soundcore AeroClip (input)_2026-05-12_07-40-48.mp4 or System Audio (output)_2026-05-11_06-17-14.mp4 or somethign simillar (path in sqlite db). I want to copy data form that particular data as the part of the sycn process. Add it to the script sync flow.
Expand content to scroll
Thought
for 1s
6
/
7
tasks
done
5
more
Refactor main screenpipe_sync.sh to use modules
7
Add audio file copying to sync flow
Thought
for 1s
Read
screenpipe_sync_files.sh
Thought
for 1s
screenpipe_sync_files.sh
+
37
total_size
=
$(
du
-sh
"
$nas_audio
"
|
cut
-f1
)
printf
" %-36s %d file(s), %s\n"
"audio files total:"
"
$count
"
"
$total_size
"
|
tee
-a
"
$LOG_FILE
"
fi
}
# ──────────────────────────────────────────────────────────────────────────────
Thoughts
screenpipe_sync_files.sh
+
3
step
"Copying audio files for
$TARGET_DATE
"...
|
NULL
|
NULL
|
NULL
|
NULL
|