Allow well-formed bread.command events on the emit bus
Docs already said any module or app could publish bread.command.<app>.<verb>, but command is reserved so both unsourced bread-emit and sourced App emit rejected the whole namespace. Keep command unclaimable as an app id; accept bread.command.<known-app>.<verb> (and let an app command another known app). Also ship bread-emit and bread-module-host, and give udev enumerate the same classification fields as a live add so boot-time devices are not all unknown.
This commit is contained in:
parent
a6973360bd
commit
d3517d1433
52 changed files with 26405 additions and 6811 deletions
|
|
@ -1 +1,90 @@
|
|||
{"0": "Lua Runtime Core", "1": "Adapter Framework", "2": "Adapter Configuration", "3": "App Classification", "4": "Widget Spec & Placement", "5": "Adapter Implementations", "6": "Filesystem Adapter", "7": "Git State Tracking", "8": "Integration Tests", "9": "State Engine", "10": "Module Management", "11": "Systemd Adapter", "12": "Git Hooks", "13": "CLI Core", "14": "Type Definitions", "15": "Podman Adapter", "16": "Event Routing", "17": "Udev Adapter", "18": "Shell Hooks", "19": "Bluetooth Adapter", "20": "Subscription System", "21": "Glob Pattern Matching", "22": "Event Dispatch", "23": "Network RTNetlink", "24": "Network Adapter", "25": "Power Management", "26": "Hyprland Integration", "27": "UPower Integration", "28": "CI/CD Workflows", "29": "Git Widget", "30": "Emit CLI Tool", "31": "Shared Library Init", "32": "Active Window Widget", "33": "CPU Temp Widget", "34": "Focus Mode Widget", "35": "Workflow Status Widget", "36": "Widget API Documentation", "37": "Bluetooth Widget", "38": "Media Pause Widget", "39": "Module Patterns", "40": "Monitor Dock", "41": "Workflow Dock", "42": "Battery Warning", "43": "Install Script", "44": "Filesystem Adapter Spec", "45": "Git Adapter Spec", "46": "Podman Adapter Spec", "47": "Systemd Adapter Spec", "48": "Lua Timer API (after)", "49": "Lua Bluetooth API", "50": "Lua Timer API (every)", "51": "Lua Exec API", "52": "Lua Hyprland API", "53": "Lua Notify API", "54": "Lua State Watch API", "55": "Emit Binary Build", "56": "Adapters Module", "57": "System Startup Event", "58": "Monitor Layout Config", "59": "Binds Module", "60": "Bakery Package Manager", "61": "GUI Control Center Roadmap", "62": "Cross-Device Mesh Roadmap", "63": "Version Computation"}
|
||||
{
|
||||
"0": "lua/mod.rs",
|
||||
"1": "RawEvent",
|
||||
"2": "config.rs",
|
||||
"3": "Server",
|
||||
"4": "widget.rs",
|
||||
"5": "Bread Daemon (breadd)",
|
||||
"6": "filesystem.rs",
|
||||
"7": "git.rs",
|
||||
"8": "Result",
|
||||
"9": "state_engine.rs",
|
||||
"10": "modules_mgmt.rs",
|
||||
"11": "systemd.rs",
|
||||
"12": "hooks_git.rs",
|
||||
"13": "bread-cli/src/main.rs",
|
||||
"14": "types.rs",
|
||||
"15": "podman.rs",
|
||||
"16": "StateHandle",
|
||||
"17": "run_udev_monitor",
|
||||
"18": "hooks_shell.rs",
|
||||
"19": "bluetooth.rs",
|
||||
"20": "SubscriptionId",
|
||||
"21": "glob.rs",
|
||||
"22": "run_state_engine",
|
||||
"23": "RtnetlinkAdapter",
|
||||
"24": "network.rs",
|
||||
"25": "power.rs",
|
||||
"26": "hyprland.rs",
|
||||
"27": "Adapter",
|
||||
"28": "dl.breadway.dev Distribution",
|
||||
"29": "git-branch-widget.lua",
|
||||
"30": "TestHarness",
|
||||
"31": "Sync",
|
||||
"32": "active-window-widget.lua",
|
||||
"33": "cpu-temp-widget.lua",
|
||||
"34": "focus-mode-widget.lua",
|
||||
"35": "workflow-status-widget.lua",
|
||||
"36": "bread.widget API",
|
||||
"37": "bluetooth-toggle-widget.lua",
|
||||
"38": "pause-media-on-headphone-unplug.lua",
|
||||
"39": "Autostart Example Module",
|
||||
"40": "dock-monitors.lua",
|
||||
"41": "dock-workflow.lua",
|
||||
"42": "low-battery-warning.lua",
|
||||
"43": "install.sh",
|
||||
"44": "Filesystem Adapter",
|
||||
"45": "Git Adapter",
|
||||
"46": "Podman Adapter",
|
||||
"47": "Systemd Adapter",
|
||||
"48": "bread.after(delay_ms, fn)",
|
||||
"49": "bread.bluetooth namespace",
|
||||
"50": "bread.every(interval_ms, fn)",
|
||||
"51": "bread.exec(cmd)",
|
||||
"52": "bread.hyprland namespace",
|
||||
"53": "bread.notify(message, opts)",
|
||||
"54": "bread.state.watch(path, fn)",
|
||||
"55": "bread-cli/src/lib.rs",
|
||||
"56": "core/mod.rs",
|
||||
"57": "bread.system.startup",
|
||||
"58": "Monitors Configuration Example",
|
||||
"59": "Binds Module (Built-in)",
|
||||
"60": "Bakery Package Manager",
|
||||
"61": "Phase 3: GUI Control Center",
|
||||
"62": "Phase 5: Cross-Device Mesh",
|
||||
"63": "Dev Version Computation",
|
||||
"64": "ModuleHostLua",
|
||||
"65": "ModuleHostRegistry",
|
||||
"66": "xtask/src/main.rs",
|
||||
"67": "Bread",
|
||||
"68": "rules.rs",
|
||||
"69": "Normalized events",
|
||||
"70": "Bread Documentation",
|
||||
"71": "udev.rs",
|
||||
"72": "Dictionary: Lua API",
|
||||
"73": "Out-of-process module sandboxing *(Since: v1.6)*",
|
||||
"74": "Dictionary: Built-in modules",
|
||||
"75": "Events",
|
||||
"76": "Machine and filesystem",
|
||||
"77": "Contributing",
|
||||
"78": "Bluetooth",
|
||||
"79": "Widgets *(Since: v1.3)*",
|
||||
"80": "Getting started",
|
||||
"81": "Capability-scoped modules *(Since: v1.5)*",
|
||||
"82": "Workflows *(Since: v1.2)*",
|
||||
"83": "Timers",
|
||||
"84": "State",
|
||||
"85": "init.lua",
|
||||
"86": "Execution",
|
||||
"87": "packaging/README.md"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
/home/breadway/Projects/bread
|
||||
.
|
||||
|
|
@ -1,86 +1,115 @@
|
|||
# Graph Report - . (2026-08-04)
|
||||
# Graph Report - bread (2026-08-15)
|
||||
|
||||
## Corpus Check
|
||||
- 55 files · ~54,650 words
|
||||
- 62 files · ~88,250 words
|
||||
- Verdict: corpus is large enough that graph structure adds value.
|
||||
|
||||
## Summary
|
||||
- 978 nodes · 2283 edges · 64 communities (41 shown, 23 thin omitted)
|
||||
- Extraction: 99% EXTRACTED · 1% INFERRED · 0% AMBIGUOUS · INFERRED: 33 edges (avg confidence: 0.77)
|
||||
- Token cost: 72,759 input · 0 output
|
||||
- 1467 nodes · 3347 edges · 88 communities (64 shown, 24 thin omitted)
|
||||
- Extraction: 99% EXTRACTED · 1% INFERRED · 0% AMBIGUOUS · INFERRED: 48 edges (avg confidence: 0.78)
|
||||
- Token cost: 0 input · 0 output
|
||||
|
||||
## Graph Freshness
|
||||
- Built from commit: `a6973360`
|
||||
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
|
||||
- Run `graphify update .` after code changes (no API cost).
|
||||
|
||||
## Community Hubs (Navigation)
|
||||
- Lua Runtime Core
|
||||
- Adapter Framework
|
||||
- Adapter Configuration
|
||||
- App Classification
|
||||
- Widget Spec & Placement
|
||||
- Adapter Implementations
|
||||
- lua/mod.rs
|
||||
- RawEvent
|
||||
- config.rs
|
||||
- Server
|
||||
- widget.rs
|
||||
- Bread Daemon (breadd)
|
||||
- filesystem.rs
|
||||
- git.rs
|
||||
- Result
|
||||
- state_engine.rs
|
||||
- modules_mgmt.rs
|
||||
- systemd.rs
|
||||
- hooks_git.rs
|
||||
- bread-cli/src/main.rs
|
||||
- types.rs
|
||||
- podman.rs
|
||||
- StateHandle
|
||||
- run_udev_monitor
|
||||
- hooks_shell.rs
|
||||
- bluetooth.rs
|
||||
- SubscriptionId
|
||||
- glob.rs
|
||||
- run_state_engine
|
||||
- RtnetlinkAdapter
|
||||
- network.rs
|
||||
- power.rs
|
||||
- hyprland.rs
|
||||
- Adapter
|
||||
- dl.breadway.dev Distribution
|
||||
- git-branch-widget.lua
|
||||
- TestHarness
|
||||
- Sync
|
||||
- active-window-widget.lua
|
||||
- cpu-temp-widget.lua
|
||||
- focus-mode-widget.lua
|
||||
- workflow-status-widget.lua
|
||||
- bread.widget API
|
||||
- bluetooth-toggle-widget.lua
|
||||
- pause-media-on-headphone-unplug.lua
|
||||
- Autostart Example Module
|
||||
- install.sh
|
||||
- Filesystem Adapter
|
||||
- Git State Tracking
|
||||
- Integration Tests
|
||||
- State Engine
|
||||
- Module Management
|
||||
- Systemd Adapter
|
||||
- Git Hooks
|
||||
- CLI Core
|
||||
- Type Definitions
|
||||
- Git Adapter
|
||||
- Podman Adapter
|
||||
- Event Routing
|
||||
- Udev Adapter
|
||||
- Shell Hooks
|
||||
- Bluetooth Adapter
|
||||
- Subscription System
|
||||
- Glob Pattern Matching
|
||||
- Event Dispatch
|
||||
- Network RTNetlink
|
||||
- Network Adapter
|
||||
- Power Management
|
||||
- Hyprland Integration
|
||||
- UPower Integration
|
||||
- CI/CD Workflows
|
||||
- Git Widget
|
||||
- Emit CLI Tool
|
||||
- Shared Library Init
|
||||
- Active Window Widget
|
||||
- CPU Temp Widget
|
||||
- Focus Mode Widget
|
||||
- Workflow Status Widget
|
||||
- Widget API Documentation
|
||||
- Bluetooth Widget
|
||||
- Media Pause Widget
|
||||
- Module Patterns
|
||||
- Install Script
|
||||
- Filesystem Adapter Spec
|
||||
- Git Adapter Spec
|
||||
- Podman Adapter Spec
|
||||
- Systemd Adapter Spec
|
||||
- Lua Timer API (after)
|
||||
- Lua Bluetooth API
|
||||
- Lua Timer API (every)
|
||||
- Lua Exec API
|
||||
- Lua Hyprland API
|
||||
- Lua Notify API
|
||||
- Lua State Watch API
|
||||
- System Startup Event
|
||||
- Monitor Layout Config
|
||||
- Binds Module
|
||||
- Systemd Adapter
|
||||
- bread.after(delay_ms, fn)
|
||||
- bread.bluetooth namespace
|
||||
- bread.every(interval_ms, fn)
|
||||
- bread.exec(cmd)
|
||||
- bread.hyprland namespace
|
||||
- bread.notify(message, opts)
|
||||
- bread.state.watch(path, fn)
|
||||
- bread.system.startup
|
||||
- Monitors Configuration Example
|
||||
- Binds Module (Built-in)
|
||||
- Bakery Package Manager
|
||||
- GUI Control Center Roadmap
|
||||
- Cross-Device Mesh Roadmap
|
||||
- Version Computation
|
||||
- Phase 3: GUI Control Center
|
||||
- Phase 5: Cross-Device Mesh
|
||||
- Dev Version Computation
|
||||
- ModuleHostLua
|
||||
- ModuleHostRegistry
|
||||
- xtask/src/main.rs
|
||||
- Bread
|
||||
- rules.rs
|
||||
- Normalized events
|
||||
- Bread Documentation
|
||||
- udev.rs
|
||||
- Dictionary: Lua API
|
||||
- Out-of-process module sandboxing *(Since: v1.6)*
|
||||
- Dictionary: Built-in modules
|
||||
- Events
|
||||
- Machine and filesystem
|
||||
- Contributing
|
||||
- Bluetooth
|
||||
- Widgets *(Since: v1.3)*
|
||||
- Getting started
|
||||
- Capability-scoped modules *(Since: v1.5)*
|
||||
- Workflows *(Since: v1.2)*
|
||||
- Timers
|
||||
- State
|
||||
- init.lua
|
||||
- Execution
|
||||
- packaging/README.md
|
||||
|
||||
## God Nodes (most connected - your core abstractions)
|
||||
1. `LuaEngine` - 52 edges
|
||||
2. `RawEvent` - 47 edges
|
||||
3. `RuntimeState` - 34 edges
|
||||
4. `BreadEvent` - 30 edges
|
||||
5. `raw()` - 30 edges
|
||||
6. `StateHandle` - 27 edges
|
||||
7. `now_unix_ms()` - 25 edges
|
||||
1. `LuaEngine` - 59 edges
|
||||
2. `RawEvent` - 49 edges
|
||||
3. `BreadEvent` - 38 edges
|
||||
4. `raw()` - 37 edges
|
||||
5. `RuntimeState` - 34 edges
|
||||
6. `StateHandle` - 28 edges
|
||||
7. `now_unix_ms()` - 26 edges
|
||||
8. `Adapter` - 25 edges
|
||||
9. `SubscriptionId` - 25 edges
|
||||
10. `Server` - 22 edges
|
||||
10. `ModuleHostLua` - 24 edges
|
||||
|
||||
## Surprising Connections (you probably didn't know these)
|
||||
- `parse_bluetooth_message()` --calls--> `now_unix_ms()` [INFERRED]
|
||||
|
|
@ -96,6 +125,7 @@
|
|||
|
||||
## Import Cycles
|
||||
- 2-file cycle: `breadd/src/core/state_engine.rs -> breadd/src/lua/mod.rs -> breadd/src/core/state_engine.rs`
|
||||
- 2-file cycle: `bread-shared/src/lib.rs -> bread-shared/src/module_host_ipc.rs -> bread-shared/src/lib.rs`
|
||||
|
||||
## Hyperedges (group relationships)
|
||||
- **** — ci_dev_release, workflow_version_compute, release_track_dev, distribution_dl_breadway_dev, package_bakery [INFERRED]
|
||||
|
|
@ -105,171 +135,263 @@
|
|||
- **** — api_bread_widget, api_bread_every, example_widget_cpu_temp, api_bread_state_watch [INFERRED]
|
||||
- **** — branch_main, ci_dev_release, ci_rc_release, ci_stable_release, release_track_dev, release_track_beta, release_track_stable [INFERRED]
|
||||
|
||||
## Communities (64 total, 23 thin omitted)
|
||||
## Communities (88 total, 24 thin omitted)
|
||||
|
||||
### Community 0 - "Lua Runtime Core"
|
||||
### Community 0 - "lua/mod.rs"
|
||||
Cohesion: 0.06
|
||||
Nodes (80): now_unix_ms(), WidgetPlacement, WidgetSpec, RuntimeState, bluetooth_connect(), bluetooth_disconnect(), bluetooth_find_adapter(), bluetooth_get_powered() (+72 more)
|
||||
Nodes (86): now_unix_ms(), ModulePermission, Option, String, WidgetSpec, RuntimeState, bluetooth_connect(), bluetooth_disconnect() (+78 more)
|
||||
|
||||
### Community 1 - "Adapter Framework"
|
||||
### Community 1 - "RawEvent"
|
||||
Cohesion: 0.05
|
||||
Nodes (67): adapter_source_is_hashable_and_eq(), AdapterSource, bread_event_new_accepts_owned_and_borrowed_names(), bread_event_new_assigns_unique_id_and_no_cause(), bread_event_new_sets_current_timestamp(), bread_event_with_timestamp_preserves_timestamp_and_assigns_id(), BreadEvent, DaemonSection (+59 more)
|
||||
|
||||
### Community 2 - "config.rs"
|
||||
Cohesion: 0.07
|
||||
Nodes (52): adapter_source_is_hashable_and_eq(), AdapterSource, bread_event_new_accepts_owned_and_borrowed_names(), bread_event_new_sets_current_timestamp(), BreadEvent, DaemonSection, expand_path(), now_unix_ms_is_monotonically_non_decreasing_across_calls() (+44 more)
|
||||
Nodes (50): AdaptersConfig, AdapterToggle, compat_section_defaults_legacy_hyprland_names_to_true(), CompatConfig, Config, config_path(), config_path_falls_back_to_home_when_no_xdg(), config_path_respects_xdg_config_home() (+42 more)
|
||||
|
||||
### Community 2 - "Adapter Configuration"
|
||||
### Community 3 - "Server"
|
||||
Cohesion: 0.05
|
||||
Nodes (41): A, command_target(), event_domain(), is_known_app(), is_reserved_domain(), Option, validate_app_namespace(), validate_command_event() (+33 more)
|
||||
|
||||
### Community 4 - "widget.rs"
|
||||
Cohesion: 0.07
|
||||
Nodes (45): AdaptersConfig, AdapterToggle, Config, config_path(), config_path_falls_back_to_home_when_no_xdg(), config_path_respects_xdg_config_home(), DaemonConfig, default_config_uses_documented_defaults() (+37 more)
|
||||
Nodes (32): accepts_node_count_at_max(), accepts_tree_at_max_depth(), Align, Background, box_of(), default_orientation(), FontWeight, is_valid_class() (+24 more)
|
||||
|
||||
### Community 3 - "App Classification"
|
||||
Cohesion: 0.06
|
||||
Nodes (36): A, is_known_app(), validate_app_namespace(), AdapterStatus, Manager, Arc, HashMap, Receiver (+28 more)
|
||||
|
||||
### Community 4 - "Widget Spec & Placement"
|
||||
Cohesion: 0.07
|
||||
Nodes (31): accepts_node_count_at_max(), accepts_tree_at_max_depth(), Align, Background, box_of(), default_orientation(), FontWeight, is_valid_class() (+23 more)
|
||||
|
||||
### Community 5 - "Adapter Implementations"
|
||||
### Community 5 - "Bread Daemon (breadd)"
|
||||
Cohesion: 0.06
|
||||
Nodes (39): Bluetooth Adapter, Hyprland Adapter, Network Adapter, Power Adapter, udev Adapter, bread.on(pattern, fn), bread.spawn(fn), bread.wait(pattern, opts) (+31 more)
|
||||
|
||||
### Community 6 - "Filesystem Adapter"
|
||||
### Community 6 - "filesystem.rs"
|
||||
Cohesion: 0.12
|
||||
Nodes (28): classify(), classify_build_artifact_created_in_target(), classify_debounces_rapid_repeat_events_for_same_path(), classify_file_changed_for_ordinary_source_file(), classify_silent_for_modify_in_target_not_create(), classify_silent_under_git(), classify_silent_under_node_modules(), detect_markers() (+20 more)
|
||||
|
||||
### Community 7 - "Git State Tracking"
|
||||
### Community 7 - "git.rs"
|
||||
Cohesion: 0.12
|
||||
Nodes (22): check_ahead_behind(), check_dirty(), discover_repos(), expand_roots(), expand_roots_globs_single_trailing_star(), expand_roots_skips_unreadable_glob_parent_without_panicking(), expand_roots_uses_literal_path_without_trailing_star(), GitAdapter (+14 more)
|
||||
|
||||
### Community 8 - "Integration Tests"
|
||||
Cohesion: 0.24
|
||||
Nodes (30): daemon_survives_repeated_reloads_and_pipeline_resumes(), emit_with_app_source_rejects_wrong_namespace(), emit_with_internal_source_is_rejected(), emit_with_known_app_source_routes_through_normalizer(), emit_with_unregistered_app_source_is_rejected(), emit_without_event_errors(), event_stream_filter_excludes_non_matching_events(), events_replay_returns_buffered_events() (+22 more)
|
||||
### Community 8 - "Result"
|
||||
Cohesion: 0.15
|
||||
Nodes (50): daemon_survives_repeated_reloads_and_pipeline_resumes(), emit_with_app_source_allows_command_to_another_app(), emit_with_app_source_rejects_wrong_namespace(), emit_with_app_source_still_rejects_foreign_app_namespace(), emit_with_internal_source_is_rejected(), emit_with_known_app_source_routes_through_normalizer(), emit_with_unregistered_app_source_is_rejected(), emit_without_event_errors() (+42 more)
|
||||
|
||||
### Community 9 - "State Engine"
|
||||
### Community 9 - "state_engine.rs"
|
||||
Cohesion: 0.12
|
||||
Nodes (19): apply_device_change(), apply_event_to_state(), device_connect_adds_device_with_all_fields(), device_connect_is_idempotent_for_same_id(), device_disconnect_of_unknown_id_is_noop(), device_disconnect_removes_matching_id(), ev(), monitor_connect_adds_new_monitor() (+11 more)
|
||||
|
||||
### Community 10 - "Module Management"
|
||||
Cohesion: 0.14
|
||||
Nodes (24): copy_dir(), install_from_local(), list_modules(), ModuleManifest, modules_dir(), parse_source(), read_manifest_file(), read_module_manifest() (+16 more)
|
||||
### Community 10 - "modules_mgmt.rs"
|
||||
Cohesion: 0.11
|
||||
Nodes (36): audit_detects_fs_read_and_widget_from_cpu_temp_widget_style_module(), audit_extracts_exec_bin_hint_and_ignores_baseline_calls(), audit_module(), audit_scans_required_sibling_files_in_module_directory(), classify_call_site(), collect_lua_files(), copy_dir(), extract_first_string_arg() (+28 more)
|
||||
|
||||
### Community 11 - "Systemd Adapter"
|
||||
### Community 11 - "systemd.rs"
|
||||
Cohesion: 0.12
|
||||
Nodes (17): active_state_to_kind(), failure_result(), get_unit_path(), handle_message(), is_failed_transition(), query_active_state(), Connection, HashMap (+9 more)
|
||||
|
||||
### Community 12 - "Git Hooks"
|
||||
### Community 12 - "hooks_git.rs"
|
||||
Cohesion: 0.15
|
||||
Nodes (24): all_hook_scripts_exit_0_unconditionally(), all_hook_scripts_start_with_shebang_and_marker(), branch_changed_emit_line(), commit_created_emit_line(), emit_line_for(), git_dir(), hook_script(), hook_script_rejects_unknown_name() (+16 more)
|
||||
|
||||
### Community 13 - "CLI Core"
|
||||
Cohesion: 0.22
|
||||
Nodes (27): Cli, Commands, config_directory(), daemon_socket_path(), format_timestamp(), handle_modules_cmd(), HooksCommand, install_module() (+19 more)
|
||||
### Community 13 - "bread-cli/src/main.rs"
|
||||
Cohesion: 0.19
|
||||
Nodes (29): CausalityTracker, Cli, Commands, config_directory(), daemon_socket_path(), format_timestamp(), handle_modules_cmd(), HooksCommand (+21 more)
|
||||
|
||||
### Community 14 - "Type Definitions"
|
||||
Cohesion: 0.15
|
||||
Nodes (23): Device, DeviceRule, DeviceTopology, InterfaceState, MatchCondition, ModuleStatus, Monitor, NetworkState (+15 more)
|
||||
### Community 14 - "types.rs"
|
||||
Cohesion: 0.17
|
||||
Nodes (21): Device, DeviceRule, DeviceTopology, InterfaceState, MatchCondition, ModuleStatus, Monitor, NetworkState (+13 more)
|
||||
|
||||
### Community 15 - "Podman Adapter"
|
||||
### Community 15 - "podman.rs"
|
||||
Cohesion: 0.15
|
||||
Nodes (17): container_event(), ignores_remove_event(), ignores_stop_event_to_avoid_double_emit_with_died(), ignores_unknown_action(), map_podman_event(), maps_died_event(), maps_health_status_event(), maps_start_event() (+9 more)
|
||||
|
||||
### Community 16 - "Event Routing"
|
||||
Cohesion: 0.13
|
||||
### Community 16 - "StateHandle"
|
||||
Cohesion: 0.14
|
||||
Nodes (10): condition_matches(), resolve_device(), Option, Result, String, Value, Vec, StateHandle (+2 more)
|
||||
|
||||
### Community 17 - "Udev Adapter"
|
||||
Cohesion: 0.23
|
||||
Nodes (14): build_event(), enumerate_with_udev(), prop_bool(), prop_str(), Option, Result, Self, Sender (+6 more)
|
||||
### Community 17 - "run_udev_monitor"
|
||||
Cohesion: 0.35
|
||||
Nodes (9): enumerate_with_udev(), Result, Self, Sender, String, Vec, run_udev_monitor(), ScannedDevice (+1 more)
|
||||
|
||||
### Community 18 - "Shell Hooks"
|
||||
### Community 18 - "hooks_shell.rs"
|
||||
Cohesion: 0.18
|
||||
Nodes (11): hook_scripts_background_every_emit_call(), hooks_dir(), install_shell(), join_line_continuations(), Option, PathBuf, Result, String (+3 more)
|
||||
|
||||
### Community 19 - "Bluetooth Adapter"
|
||||
### Community 19 - "bluetooth.rs"
|
||||
Cohesion: 0.15
|
||||
Nodes (10): address_from_path(), BluetoothAdapter, parse_bluetooth_message(), Message, Option, Result, Self, Sender (+2 more)
|
||||
|
||||
### Community 20 - "Subscription System"
|
||||
### Community 20 - "SubscriptionId"
|
||||
Cohesion: 0.29
|
||||
Nodes (13): HashMap, String, Vec, Subscription, SubscriptionId, SubscriptionTable, table_add_assigns_provided_id_and_finds_match(), table_clear_removes_all() (+5 more)
|
||||
|
||||
### Community 22 - "Event Dispatch"
|
||||
### Community 22 - "run_state_engine"
|
||||
Cohesion: 0.27
|
||||
Nodes (12): dispatch_event(), handle_command(), Arc, AtomicU64, Receiver, RwLock, Self, Sender (+4 more)
|
||||
|
||||
### Community 23 - "Network RTNetlink"
|
||||
Cohesion: 0.19
|
||||
Nodes (9): Adapter, ip_from_bytes(), Option, Result, Self, Sender, String, RtnetlinkAdapter (+1 more)
|
||||
### Community 23 - "RtnetlinkAdapter"
|
||||
Cohesion: 0.22
|
||||
Nodes (7): ip_from_bytes(), Option, Result, Self, Sender, String, RtnetlinkAdapter
|
||||
|
||||
### Community 24 - "Network Adapter"
|
||||
### Community 24 - "network.rs"
|
||||
Cohesion: 0.27
|
||||
Nodes (9): has_default_route(), network_raw_event(), NetworkAdapter, NetworkSnapshot, read_network_state(), BTreeMap, Result, Sender (+1 more)
|
||||
|
||||
### Community 25 - "Power Management"
|
||||
### Community 25 - "power.rs"
|
||||
Cohesion: 0.26
|
||||
Nodes (8): power_raw_event(), PowerAdapter, PowerSnapshot, read_power_state(), Option, Result, Self, Sender
|
||||
|
||||
### Community 26 - "Hyprland Integration"
|
||||
### Community 26 - "hyprland.rs"
|
||||
Cohesion: 0.29
|
||||
Nodes (7): hyprland_event_socket(), HyprlandAdapter, parse_hyprland_line(), PathBuf, Result, Sender, String
|
||||
|
||||
### Community 27 - "UPower Integration"
|
||||
Cohesion: 0.27
|
||||
Nodes (6): parse_upower_message(), Message, Result, Self, Sender, UPowerAdapter
|
||||
### Community 27 - "Adapter"
|
||||
Cohesion: 0.23
|
||||
Nodes (8): Adapter, parse_upower_message(), Message, Result, Self, Sender, UPowerAdapter, Send
|
||||
|
||||
### Community 28 - "CI/CD Workflows"
|
||||
### Community 28 - "dl.breadway.dev Distribution"
|
||||
Cohesion: 0.25
|
||||
Nodes (8): main Branch, dev-release.yml Workflow, rc-release.yml Workflow, release.yml Workflow, dl.breadway.dev Distribution, beta Release Track, dev Release Track, stable Release Track
|
||||
|
||||
### Community 29 - "Git Widget"
|
||||
### Community 29 - "git-branch-widget.lua"
|
||||
Cohesion: 0.62
|
||||
Nodes (6): focused_tab_cwd(), git_info(), M.on_load(), shell_quote(), update(), widget_root()
|
||||
|
||||
### Community 30 - "Emit CLI Tool"
|
||||
Cohesion: 0.40
|
||||
Nodes (5): main(), parse_args(), Option, String, UnixStream
|
||||
### Community 30 - "TestHarness"
|
||||
Cohesion: 0.16
|
||||
Nodes (16): main(), parse_args(), Option, String, killing_a_module_host_child_does_not_take_down_breadd_or_other_modules(), os_execute_and_io_open_are_denied_at_the_kernel_level_outside_granted_scope(), Child, Drop (+8 more)
|
||||
|
||||
### Community 31 - "Shared Library Init"
|
||||
### Community 31 - "Sync"
|
||||
Cohesion: 0.50
|
||||
Nodes (3): main(), Result, Sync
|
||||
|
||||
### Community 32 - "Active Window Widget"
|
||||
### Community 32 - "active-window-widget.lua"
|
||||
Cohesion: 0.83
|
||||
Nodes (3): label_for(), M.on_load(), widget_root()
|
||||
|
||||
### Community 33 - "CPU Temp Widget"
|
||||
### Community 33 - "cpu-temp-widget.lua"
|
||||
Cohesion: 0.83
|
||||
Nodes (3): M.on_load(), read_temp_c(), widget_root()
|
||||
|
||||
### Community 34 - "Focus Mode Widget"
|
||||
### Community 34 - "focus-mode-widget.lua"
|
||||
Cohesion: 1.00
|
||||
Nodes (3): is_focused(), M.on_load(), widget_root()
|
||||
|
||||
### Community 35 - "Workflow Status Widget"
|
||||
### Community 35 - "workflow-status-widget.lua"
|
||||
Cohesion: 0.83
|
||||
Nodes (3): M.on_load(), most_relevant(), widget_update()
|
||||
|
||||
### Community 36 - "Widget API Documentation"
|
||||
### Community 36 - "bread.widget API"
|
||||
Cohesion: 0.67
|
||||
Nodes (3): bread.widget API, CPU Temperature Widget Example, Live Widget Update Pattern
|
||||
|
||||
### Community 64 - "ModuleHostLua"
|
||||
Cohesion: 0.10
|
||||
Nodes (38): call(), HostMessage, IoCommand, RpcResponse, Duration, Option, PathBuf, Receiver (+30 more)
|
||||
|
||||
### Community 65 - "ModuleHostRegistry"
|
||||
Cohesion: 0.07
|
||||
Nodes (43): bin_allowed(), path_allowed(), HashMap, Option, OwnedWriteHalf, Result, Sender, String (+35 more)
|
||||
|
||||
### Community 66 - "xtask/src/main.rs"
|
||||
Cohesion: 0.11
|
||||
Nodes (36): BTreeSet, ExitCode, check(), CheckReport, clean_state_passes(), extract_cli_commands(), extract_enum_variants(), extract_ipc_methods() (+28 more)
|
||||
|
||||
### Community 67 - "Bread"
|
||||
Cohesion: 0.06
|
||||
Nodes (28): Deprecations, Hyprland legacy flat event names (since v1.5), Bread Examples, Example 1: Porting keyboard_and_display_watcher.sh (system script), Example 2: Porting autostart.lua, Example 3: Porting display/monitors.lua, Example 4: Multi-step automation workflows, Example 5: A live widget in breadbar (+20 more)
|
||||
|
||||
### Community 68 - "rules.rs"
|
||||
Cohesion: 0.14
|
||||
Nodes (27): empty_file_loads_with_no_rules(), empty_on_is_treated_as_missing(), invalid_toml_is_fatal(), load_rules(), missing_on_is_reported_with_index_and_no_on(), multiple_action_keys_is_reported(), one_bad_rule_does_not_block_other_valid_rules(), ParsedRule (+19 more)
|
||||
|
||||
### Community 69 - "Normalized events"
|
||||
Cohesion: 0.12
|
||||
Nodes (16): Bluetooth (BlueZ), Compatibility: `[compat]` config, Devices (udev / Bluetooth), Filesystem / project detection, Git (hooks + dirty-state poller), Hyprland, Network, Normalized events (+8 more)
|
||||
|
||||
### Community 70 - "Bread Documentation"
|
||||
Cohesion: 0.14
|
||||
Nodes (14): API Stability & Versioning, Bread Documentation, Contents, Debugging tips, Dictionary: Event reference, Dictionary: IPC protocol, Dictionary: Runtime state schema, Integrating a bread\* app (+6 more)
|
||||
|
||||
### Community 71 - "udev.rs"
|
||||
Cohesion: 0.32
|
||||
Nodes (10): build_device_event(), build_event(), enumerate_payload_includes_classification_fields(), prop_bool(), prop_str(), Option, Value, udev_event_payload() (+2 more)
|
||||
|
||||
### Community 72 - "Dictionary: Lua API"
|
||||
Cohesion: 0.17
|
||||
Nodes (12): `bread.debounce(delay_ms, fn) -> wrapped_fn`, `bread.log(msg)` / `bread.warn(msg)` / `bread.error(msg)`, `bread.notify(message, opts)`, `bread.profile.activate(name)`, Dictionary: Lua API, Hyprland, Module declaration, Module lifecycle hooks (+4 more)
|
||||
|
||||
### Community 73 - "Out-of-process module sandboxing *(Since: v1.6)*"
|
||||
Cohesion: 0.20
|
||||
Nodes (10): Architecture, Crash isolation, New IPC methods, Out-of-process module sandboxing *(Since: v1.6)*, RPC bridge coverage, The gap this closes, The Landlock sandbox, The token/identity handshake (+2 more)
|
||||
|
||||
### Community 74 - "Dictionary: Built-in modules"
|
||||
Cohesion: 0.20
|
||||
Nodes (10): `bread.binds`, `bread.devices`, `bread.monitors`, `bread.rules` *(Since: v1.5)*, `bread.workspaces`, Device rule options, Dictionary: Built-in modules, Example: Dock-specific setup (+2 more)
|
||||
|
||||
### Community 75 - "Events"
|
||||
Cohesion: 0.20
|
||||
Nodes (10): `bread.emit(event, data)`, `bread.filter(pattern, fn, opts) -> id`, `bread.off(id)`, `bread.on(pattern, fn) -> id`, `bread.once(pattern, fn) -> id`, `bread.spawn(fn)`, `bread.wait_all(patterns, opts) -> table` *(Since: v1.2)*, `bread.wait_any(patterns, opts) -> event | nil` *(Since: v1.2)* (+2 more)
|
||||
|
||||
### Community 76 - "Machine and filesystem"
|
||||
Cohesion: 0.20
|
||||
Nodes (10): `bread.fs.exists(path) -> bool`, `bread.fs.expand(path) -> string`, `bread.fs.read(path) -> string | nil`, `bread.fs.readlink(path) -> string | nil`, `bread.fs.write(path, content)`, `bread.json.decode(str) -> table | nil`, `bread.machine.has_tag(tag) -> bool`, `bread.machine.name() -> string` (+2 more)
|
||||
|
||||
### Community 77 - "Contributing"
|
||||
Cohesion: 0.22
|
||||
Nodes (8): Branches, CI, Contributing, Keeping the API docs honest, Local development, Questions, The release cycle, Tracks, from a user's perspective
|
||||
|
||||
### Community 78 - "Bluetooth"
|
||||
Cohesion: 0.22
|
||||
Nodes (9): Bluetooth, `bread.bluetooth.connect(address)`, `bread.bluetooth.devices() -> table | nil`, `bread.bluetooth.disconnect(address)`, `bread.bluetooth.power(enabled)`, `bread.bluetooth.powered() -> bool | nil`, `bread.bluetooth.scan(enabled)`, Example: auto-connect headphones on AC power (+1 more)
|
||||
|
||||
### Community 79 - "Widgets *(Since: v1.3)*"
|
||||
Cohesion: 0.22
|
||||
Nodes (9): `bread.widget.list() -> table`, `bread.widget.register(spec) -> ok, err`, `bread.widget.remove(id) -> bool`, `bread.widget.update(id, patch) -> ok, err`, Click events, Node types, `style` *(Since: v1.4)*, Style vs. `class` (+1 more)
|
||||
|
||||
### Community 80 - "Getting started"
|
||||
Cohesion: 0.33
|
||||
Nodes (6): 1) Create a minimal config, 2) The fast path: `rules.toml` *(Since: v1.5)*, 3) Minimal `init.lua`, 4) Start the daemon, 5) Check that it's running, Getting started
|
||||
|
||||
### Community 81 - "Capability-scoped modules *(Since: v1.5)*"
|
||||
Cohesion: 0.33
|
||||
Nodes (6): Baseline (always available, no manifest entry needed), `bread modules audit <name>`, Capability-scoped modules *(Since: v1.5)*, Gated — requires a matching `[[permissions]]` entry, `path`/`bin` enforcement depends on where the module runs, `require("bread.devices")` still works from a scoped module
|
||||
|
||||
### Community 82 - "Workflows *(Since: v1.2)*"
|
||||
Cohesion: 0.33
|
||||
Nodes (6): `bread.workflow.define(name, fn)`, `bread.workflow.list() -> table`, `bread.workflow.start(name, opts)`, `bread.workflow.status(name) -> table | nil`, `bread.workflow.step(label)`, Workflows *(Since: v1.2)*
|
||||
|
||||
### Community 83 - "Timers"
|
||||
Cohesion: 0.50
|
||||
Nodes (4): `bread.after(delay_ms, fn) -> id`, `bread.cancel(id)`, `bread.every(interval_ms, fn) -> id`, Timers
|
||||
|
||||
### Community 84 - "State"
|
||||
Cohesion: 0.50
|
||||
Nodes (4): `bread.state.get(path)`, `bread.state.watch(path, fn) -> id`, State, Typed shorthands
|
||||
|
||||
### Community 85 - "init.lua"
|
||||
Cohesion: 0.83
|
||||
Nodes (3): M.on_load(), read_temp_c(), widget_root()
|
||||
|
||||
### Community 86 - "Execution"
|
||||
Cohesion: 0.67
|
||||
Nodes (3): `bread.exec_capture(cmd, opts) -> ok, stdout`, `bread.exec(cmd)`, Execution
|
||||
|
||||
## Knowledge Gaps
|
||||
- **44 isolated node(s):** `install.sh script`, `Git Adapter`, `Filesystem Adapter`, `Systemd Adapter`, `Podman Adapter` (+39 more)
|
||||
- **179 isolated node(s):** `install.sh script`, `Branches`, `The release cycle`, `Tracks, from a user's perspective`, `Keeping the API docs honest` (+174 more)
|
||||
These have ≤1 connection - possible missing edges or undocumented components.
|
||||
- **23 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
|
||||
- **24 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
|
||||
|
||||
## Suggested Questions
|
||||
_Questions this graph is uniquely positioned to answer:_
|
||||
|
||||
- **Why does `Adapter` connect `Network RTNetlink` to `App Classification`, `Filesystem Adapter`, `Git State Tracking`, `Systemd Adapter`, `Podman Adapter`, `Udev Adapter`, `Bluetooth Adapter`, `Network Adapter`, `Power Management`, `Hyprland Integration`, `UPower Integration`, `Shared Library Init`?**
|
||||
_High betweenness centrality (0.137) - this node is a cross-community bridge._
|
||||
- **Why does `RawEvent` connect `Adapter Framework` to `App Classification`, `Filesystem Adapter`, `Git State Tracking`, `Systemd Adapter`, `Podman Adapter`, `Udev Adapter`, `Bluetooth Adapter`, `Network RTNetlink`, `Network Adapter`, `Power Management`, `Hyprland Integration`, `UPower Integration`?**
|
||||
_High betweenness centrality (0.122) - this node is a cross-community bridge._
|
||||
- **Why does `Config` connect `Adapter Configuration` to `Lua Runtime Core`, `App Classification`?**
|
||||
_High betweenness centrality (0.076) - this node is a cross-community bridge._
|
||||
- **What connects `install.sh script`, `Git Adapter`, `Filesystem Adapter` to the rest of the system?**
|
||||
_44 weakly-connected nodes found - possible documentation gaps or missing edges._
|
||||
- **Should `Lua Runtime Core` be split into smaller, more focused modules?**
|
||||
_Cohesion score 0.061946902654867256 - nodes in this community are weakly interconnected._
|
||||
- **Should `Adapter Framework` be split into smaller, more focused modules?**
|
||||
_Cohesion score 0.0727036676403765 - nodes in this community are weakly interconnected._
|
||||
- **Should `Adapter Configuration` be split into smaller, more focused modules?**
|
||||
_Cohesion score 0.0741745816372682 - nodes in this community are weakly interconnected._
|
||||
- **Why does `RawEvent` connect `RawEvent` to `Server`, `filesystem.rs`, `git.rs`, `udev.rs`, `systemd.rs`, `podman.rs`, `run_udev_monitor`, `bluetooth.rs`, `RtnetlinkAdapter`, `network.rs`, `power.rs`, `hyprland.rs`, `Adapter`?**
|
||||
_High betweenness centrality (0.094) - this node is a cross-community bridge._
|
||||
- **Why does `Adapter` connect `Adapter` to `Server`, `filesystem.rs`, `git.rs`, `udev.rs`, `systemd.rs`, `podman.rs`, `run_udev_monitor`, `bluetooth.rs`, `RtnetlinkAdapter`, `network.rs`, `power.rs`, `hyprland.rs`, `Sync`?**
|
||||
_High betweenness centrality (0.077) - this node is a cross-community bridge._
|
||||
- **Why does `BreadEvent` connect `RawEvent` to `ModuleHostLua`, `lua/mod.rs`, `ModuleHostRegistry`, `Server`, `state_engine.rs`, `run_state_engine`?**
|
||||
_High betweenness centrality (0.063) - this node is a cross-community bridge._
|
||||
- **What connects `install.sh script`, `Branches`, `The release cycle` to the rest of the system?**
|
||||
_179 weakly-connected nodes found - possible documentation gaps or missing edges._
|
||||
- **Should `lua/mod.rs` be split into smaller, more focused modules?**
|
||||
_Cohesion score 0.056 - nodes in this community are weakly interconnected._
|
||||
- **Should `RawEvent` be split into smaller, more focused modules?**
|
||||
_Cohesion score 0.051842708517016396 - nodes in this community are weakly interconnected._
|
||||
- **Should `config.rs` be split into smaller, more focused modules?**
|
||||
_Cohesion score 0.07191780821917808 - nodes in this community are weakly interconnected._
|
||||
|
|
@ -0,0 +1 @@
|
|||
{"nodes": [{"id": "$graphify-root$_packaging_readme_md", "label": "README.md", "file_type": "document", "source_file": "packaging/README.md", "source_location": "L1"}, {"id": "$graphify-root$_packaging_readme_systemd_user_service", "label": "systemd user service", "file_type": "document", "source_file": "packaging/README.md", "source_location": "L17"}], "edges": [{"source": "$graphify-root$_packaging_readme_md", "target": "$graphify-root$_packaging_readme_systemd_user_service", "relation": "contains", "confidence": "EXTRACTED", "source_file": "packaging/README.md", "source_location": "L17", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
|||
{"nodes": [{"id": "$graphify-root$_examples_modules_readme_md", "label": "README.md", "file_type": "document", "source_file": "examples/modules/README.md", "source_location": "L1"}, {"id": "$graphify-root$_examples_modules_readme_example_bread_modules", "label": "Example bread modules", "file_type": "document", "source_file": "examples/modules/README.md", "source_location": "L1"}, {"id": "$graphify-root$_examples_modules_readme_installing", "label": "Installing", "file_type": "document", "source_file": "examples/modules/README.md", "source_location": "L7"}, {"id": "$graphify-root$_examples_modules_readme_modules", "label": "Modules", "file_type": "document", "source_file": "examples/modules/README.md", "source_location": "L33"}], "edges": [{"source": "$graphify-root$_examples_modules_readme_md", "target": "$graphify-root$_examples_modules_readme_example_bread_modules", "relation": "contains", "confidence": "EXTRACTED", "source_file": "examples/modules/README.md", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_examples_modules_readme_md", "target": "$graphify-root$_examples_md", "relation": "references", "confidence": "EXTRACTED", "source_file": "examples/modules/README.md", "source_location": "L4", "weight": 1.0, "target_file": "$graphify-root$/Examples.md"}, {"source": "$graphify-root$_examples_modules_readme_example_bread_modules", "target": "$graphify-root$_examples_modules_readme_installing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "examples/modules/README.md", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_examples_modules_readme_md", "target": "$graphify-root$_examples_modules_permissions_md", "relation": "references", "confidence": "EXTRACTED", "source_file": "examples/modules/README.md", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_examples_modules_readme_md", "target": "$graphify-root$_documentation_md", "relation": "references", "confidence": "EXTRACTED", "source_file": "examples/modules/README.md", "source_location": "L19", "weight": 1.0, "target_file": "$graphify-root$/Documentation.md"}, {"source": "$graphify-root$_examples_modules_readme_example_bread_modules", "target": "$graphify-root$_examples_modules_readme_modules", "relation": "contains", "confidence": "EXTRACTED", "source_file": "examples/modules/README.md", "source_location": "L33", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0}
|
||||
|
|
@ -0,0 +1 @@
|
|||
{"nodes": [{"id": "$graphify-root$_examples_md", "label": "Examples.md", "file_type": "document", "source_file": "Examples.md", "source_location": "L1"}, {"id": "$graphify-root$_examples_bread_examples", "label": "Bread Examples", "file_type": "document", "source_file": "Examples.md", "source_location": "L1"}, {"id": "$graphify-root$_examples_example_1_porting_keyboard_and_display_watcher_sh_system_script", "label": "Example 1: Porting keyboard_and_display_watcher.sh (system script)", "file_type": "document", "source_file": "Examples.md", "source_location": "L7"}, {"id": "$graphify-root$_examples_example_2_porting_autostart_lua", "label": "Example 2: Porting autostart.lua", "file_type": "document", "source_file": "Examples.md", "source_location": "L93"}, {"id": "$graphify-root$_examples_example_3_porting_display_monitors_lua", "label": "Example 3: Porting display/monitors.lua", "file_type": "document", "source_file": "Examples.md", "source_location": "L130"}, {"id": "$graphify-root$_examples_example_4_multi_step_automation_workflows", "label": "Example 4: Multi-step automation workflows", "file_type": "document", "source_file": "Examples.md", "source_location": "L182"}, {"id": "$graphify-root$_examples_example_5_a_live_widget_in_breadbar", "label": "Example 5: A live widget in breadbar", "file_type": "document", "source_file": "Examples.md", "source_location": "L241"}, {"id": "$graphify-root$_examples_tips_for_porting_your_own_scripts", "label": "Tips for porting your own scripts", "file_type": "document", "source_file": "Examples.md", "source_location": "L313"}], "edges": [{"source": "$graphify-root$_examples_md", "target": "$graphify-root$_examples_bread_examples", "relation": "contains", "confidence": "EXTRACTED", "source_file": "Examples.md", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_examples_bread_examples", "target": "$graphify-root$_examples_example_1_porting_keyboard_and_display_watcher_sh_system_script", "relation": "contains", "confidence": "EXTRACTED", "source_file": "Examples.md", "source_location": "L7", "weight": 1.0}, {"source": "$graphify-root$_examples_bread_examples", "target": "$graphify-root$_examples_example_2_porting_autostart_lua", "relation": "contains", "confidence": "EXTRACTED", "source_file": "Examples.md", "source_location": "L93", "weight": 1.0}, {"source": "$graphify-root$_examples_bread_examples", "target": "$graphify-root$_examples_example_3_porting_display_monitors_lua", "relation": "contains", "confidence": "EXTRACTED", "source_file": "Examples.md", "source_location": "L130", "weight": 1.0}, {"source": "$graphify-root$_examples_bread_examples", "target": "$graphify-root$_examples_example_4_multi_step_automation_workflows", "relation": "contains", "confidence": "EXTRACTED", "source_file": "Examples.md", "source_location": "L182", "weight": 1.0}, {"source": "$graphify-root$_examples_md", "target": "$graphify-root$_documentation_md", "relation": "references", "confidence": "EXTRACTED", "source_file": "Examples.md", "source_location": "L235", "weight": 1.0, "target_file": "$graphify-root$/Documentation.md"}, {"source": "$graphify-root$_examples_bread_examples", "target": "$graphify-root$_examples_example_5_a_live_widget_in_breadbar", "relation": "contains", "confidence": "EXTRACTED", "source_file": "Examples.md", "source_location": "L241", "weight": 1.0}, {"source": "$graphify-root$_examples_bread_examples", "target": "$graphify-root$_examples_tips_for_porting_your_own_scripts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "Examples.md", "source_location": "L313", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
|||
{"nodes": [{"id": "$graphify-root$_examples_modules_dock_workflow_lua", "label": "dock-workflow.lua", "file_type": "code", "source_file": "examples/modules/dock-workflow.lua", "source_location": "L1"}, {"id": "$graphify-root$_examples_modules_dock_workflow_m_on_load", "label": "M.on_load()", "file_type": "code", "source_file": "examples/modules/dock-workflow.lua", "source_location": "L44", "_callable": true}], "edges": [{"source": "$graphify-root$_examples_modules_dock_workflow_lua", "target": "$graphify-root$_examples_modules_dock_workflow_m_on_load", "relation": "contains", "confidence": "EXTRACTED", "source_file": "examples/modules/dock-workflow.lua", "source_location": "L44", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_examples_modules_dock_workflow_m_on_load", "callee": "bread.on", "is_member_call": false, "source_file": "examples/modules/dock-workflow.lua", "source_location": "L45", "receiver": null}, {"caller_nid": "$graphify-root$_examples_modules_dock_workflow_m_on_load", "callee": "bread.workflow.start", "is_member_call": false, "source_file": "examples/modules/dock-workflow.lua", "source_location": "L49", "receiver": null}]}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
|||
{"nodes": [{"id": "$graphify-root$_breadd_src_core_mod_rs", "label": "mod.rs", "file_type": "code", "source_file": "breadd/src/core/mod.rs", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
|||
{"nodes": [{"id": "$graphify-root$_deprecations_md", "label": "DEPRECATIONS.md", "file_type": "document", "source_file": "DEPRECATIONS.md", "source_location": "L1"}, {"id": "$graphify-root$_deprecations_deprecations", "label": "Deprecations", "file_type": "document", "source_file": "DEPRECATIONS.md", "source_location": "L1"}, {"id": "$graphify-root$_deprecations_hyprland_legacy_flat_event_names_since_v1_5", "label": "Hyprland legacy flat event names (since v1.5)", "file_type": "document", "source_file": "DEPRECATIONS.md", "source_location": "L8"}], "edges": [{"source": "$graphify-root$_deprecations_md", "target": "$graphify-root$_deprecations_deprecations", "relation": "contains", "confidence": "EXTRACTED", "source_file": "DEPRECATIONS.md", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_deprecations_md", "target": "$graphify-root$_documentation_md", "relation": "references", "confidence": "EXTRACTED", "source_file": "DEPRECATIONS.md", "source_location": "L4", "weight": 1.0, "target_file": "$graphify-root$/Documentation.md"}, {"source": "$graphify-root$_deprecations_deprecations", "target": "$graphify-root$_deprecations_hyprland_legacy_flat_event_names_since_v1_5", "relation": "contains", "confidence": "EXTRACTED", "source_file": "DEPRECATIONS.md", "source_location": "L8", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
|||
{"nodes": [{"id": "$graphify-root$_scripts_install_sh", "label": "install.sh", "file_type": "code", "source_file": "scripts/install.sh", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "$graphify-root$_scripts_install_sh__entry", "label": "install.sh script", "file_type": "code", "source_file": "scripts/install.sh", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}], "edges": [{"source": "$graphify-root$_scripts_install_sh", "target": "$graphify-root$_scripts_install_sh__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "scripts/install.sh", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"language": "bash", "callee": "set", "caller_nid": "$graphify-root$_scripts_install_sh__entry", "source_file": "scripts/install.sh", "source_location": "L2"}, {"language": "bash", "callee": "echo", "caller_nid": "$graphify-root$_scripts_install_sh__entry", "source_file": "scripts/install.sh", "source_location": "L11"}, {"language": "bash", "callee": "cargo", "caller_nid": "$graphify-root$_scripts_install_sh__entry", "source_file": "scripts/install.sh", "source_location": "L12"}, {"language": "bash", "callee": "mkdir", "caller_nid": "$graphify-root$_scripts_install_sh__entry", "source_file": "scripts/install.sh", "source_location": "L17"}, {"language": "bash", "callee": "ln", "caller_nid": "$graphify-root$_scripts_install_sh__entry", "source_file": "scripts/install.sh", "source_location": "L18"}, {"language": "bash", "callee": "cat", "caller_nid": "$graphify-root$_scripts_install_sh__entry", "source_file": "scripts/install.sh", "source_location": "L39"}, {"language": "bash", "callee": "sed", "caller_nid": "$graphify-root$_scripts_install_sh__entry", "source_file": "scripts/install.sh", "source_location": "L79"}, {"language": "bash", "callee": "systemctl", "caller_nid": "$graphify-root$_scripts_install_sh__entry", "source_file": "scripts/install.sh", "source_location": "L84"}, {"language": "bash", "callee": "break", "caller_nid": "$graphify-root$_scripts_install_sh__entry", "source_file": "scripts/install.sh", "source_location": "L103"}, {"language": "bash", "callee": "sleep", "caller_nid": "$graphify-root$_scripts_install_sh__entry", "source_file": "scripts/install.sh", "source_location": "L105"}], "bash_sources": []}
|
||||
|
|
@ -0,0 +1 @@
|
|||
{"nodes": [{"id": "$graphify-root$_contributing_md", "label": "CONTRIBUTING.md", "file_type": "document", "source_file": "CONTRIBUTING.md", "source_location": "L1"}, {"id": "$graphify-root$_contributing_contributing", "label": "Contributing", "file_type": "document", "source_file": "CONTRIBUTING.md", "source_location": "L1"}, {"id": "$graphify-root$_contributing_branches", "label": "Branches", "file_type": "document", "source_file": "CONTRIBUTING.md", "source_location": "L8"}, {"id": "$graphify-root$_contributing_the_release_cycle", "label": "The release cycle", "file_type": "document", "source_file": "CONTRIBUTING.md", "source_location": "L26"}, {"id": "$graphify-root$_contributing_tracks_from_a_user_s_perspective", "label": "Tracks, from a user's perspective", "file_type": "document", "source_file": "CONTRIBUTING.md", "source_location": "L43"}, {"id": "$graphify-root$_contributing_local_development", "label": "Local development", "file_type": "document", "source_file": "CONTRIBUTING.md", "source_location": "L63"}, {"id": "$graphify-root$_contributing_keeping_the_api_docs_honest", "label": "Keeping the API docs honest", "file_type": "document", "source_file": "CONTRIBUTING.md", "source_location": "L70"}, {"id": "$graphify-root$_contributing_ci", "label": "CI", "file_type": "document", "source_file": "CONTRIBUTING.md", "source_location": "L94"}, {"id": "$graphify-root$_contributing_questions", "label": "Questions", "file_type": "document", "source_file": "CONTRIBUTING.md", "source_location": "L106"}], "edges": [{"source": "$graphify-root$_contributing_md", "target": "$graphify-root$_contributing_contributing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "CONTRIBUTING.md", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_contributing_contributing", "target": "$graphify-root$_contributing_branches", "relation": "contains", "confidence": "EXTRACTED", "source_file": "CONTRIBUTING.md", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_contributing_contributing", "target": "$graphify-root$_contributing_the_release_cycle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "CONTRIBUTING.md", "source_location": "L26", "weight": 1.0}, {"source": "$graphify-root$_contributing_contributing", "target": "$graphify-root$_contributing_tracks_from_a_user_s_perspective", "relation": "contains", "confidence": "EXTRACTED", "source_file": "CONTRIBUTING.md", "source_location": "L43", "weight": 1.0}, {"source": "$graphify-root$_contributing_contributing", "target": "$graphify-root$_contributing_local_development", "relation": "contains", "confidence": "EXTRACTED", "source_file": "CONTRIBUTING.md", "source_location": "L63", "weight": 1.0}, {"source": "$graphify-root$_contributing_local_development", "target": "$graphify-root$_contributing_keeping_the_api_docs_honest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "CONTRIBUTING.md", "source_location": "L70", "weight": 1.0}, {"source": "$graphify-root$_contributing_contributing", "target": "$graphify-root$_contributing_ci", "relation": "contains", "confidence": "EXTRACTED", "source_file": "CONTRIBUTING.md", "source_location": "L94", "weight": 1.0}, {"source": "$graphify-root$_contributing_contributing", "target": "$graphify-root$_contributing_questions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "CONTRIBUTING.md", "source_location": "L106", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
|||
{"nodes": [{"id": "$graphify-root$_examples_modules_cpu_temp_widget_init_lua", "label": "init.lua", "file_type": "code", "source_file": "examples/modules/cpu-temp-widget/init.lua", "source_location": "L1"}, {"id": "$graphify-root$_examples_modules_cpu_temp_widget_init_read_temp_c", "label": "read_temp_c()", "file_type": "code", "source_file": "examples/modules/cpu-temp-widget/init.lua", "source_location": "L32", "_callable": true}, {"id": "$graphify-root$_examples_modules_cpu_temp_widget_init_widget_root", "label": "widget_root()", "file_type": "code", "source_file": "examples/modules/cpu-temp-widget/init.lua", "source_location": "L40", "_callable": true}, {"id": "$graphify-root$_examples_modules_cpu_temp_widget_init_m_on_load", "label": "M.on_load()", "file_type": "code", "source_file": "examples/modules/cpu-temp-widget/init.lua", "source_location": "L60", "_callable": true}], "edges": [{"source": "$graphify-root$_examples_modules_cpu_temp_widget_init_lua", "target": "$graphify-root$_examples_modules_cpu_temp_widget_init_read_temp_c", "relation": "contains", "confidence": "EXTRACTED", "source_file": "examples/modules/cpu-temp-widget/init.lua", "source_location": "L32", "weight": 1.0}, {"source": "$graphify-root$_examples_modules_cpu_temp_widget_init_lua", "target": "$graphify-root$_examples_modules_cpu_temp_widget_init_widget_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "examples/modules/cpu-temp-widget/init.lua", "source_location": "L40", "weight": 1.0}, {"source": "$graphify-root$_examples_modules_cpu_temp_widget_init_lua", "target": "$graphify-root$_examples_modules_cpu_temp_widget_init_m_on_load", "relation": "contains", "confidence": "EXTRACTED", "source_file": "examples/modules/cpu-temp-widget/init.lua", "source_location": "L60", "weight": 1.0}, {"source": "$graphify-root$_examples_modules_cpu_temp_widget_init_m_on_load", "target": "$graphify-root$_examples_modules_cpu_temp_widget_init_widget_root", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "examples/modules/cpu-temp-widget/init.lua", "source_location": "L65", "weight": 1.0}, {"source": "$graphify-root$_examples_modules_cpu_temp_widget_init_m_on_load", "target": "$graphify-root$_examples_modules_cpu_temp_widget_init_read_temp_c", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "examples/modules/cpu-temp-widget/init.lua", "source_location": "L65", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_examples_modules_cpu_temp_widget_init_read_temp_c", "callee": "bread.fs.read", "is_member_call": false, "source_file": "examples/modules/cpu-temp-widget/init.lua", "source_location": "L33", "receiver": null}, {"caller_nid": "$graphify-root$_examples_modules_cpu_temp_widget_init_read_temp_c", "callee": "tonumber", "is_member_call": false, "source_file": "examples/modules/cpu-temp-widget/init.lua", "source_location": "L37", "receiver": null}, {"caller_nid": "$graphify-root$_examples_modules_cpu_temp_widget_init_widget_root", "callee": "string.format", "is_member_call": false, "source_file": "examples/modules/cpu-temp-widget/init.lua", "source_location": "L41", "receiver": null}, {"caller_nid": "$graphify-root$_examples_modules_cpu_temp_widget_init_widget_root", "callee": "math.min", "is_member_call": false, "source_file": "examples/modules/cpu-temp-widget/init.lua", "source_location": "L53", "receiver": null}, {"caller_nid": "$graphify-root$_examples_modules_cpu_temp_widget_init_m_on_load", "callee": "bread.widget.register", "is_member_call": false, "source_file": "examples/modules/cpu-temp-widget/init.lua", "source_location": "L61", "receiver": null}, {"caller_nid": "$graphify-root$_examples_modules_cpu_temp_widget_init_m_on_load", "callee": "bread.every", "is_member_call": false, "source_file": "examples/modules/cpu-temp-widget/init.lua", "source_location": "L68", "receiver": null}, {"caller_nid": "$graphify-root$_examples_modules_cpu_temp_widget_init_m_on_load", "callee": "bread.widget.update", "is_member_call": false, "source_file": "examples/modules/cpu-temp-widget/init.lua", "source_location": "L69", "receiver": null}]}
|
||||
File diff suppressed because one or more lines are too long
2
graphify-out/cache/stat-index.json
vendored
2
graphify-out/cache/stat-index.json
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
31726
graphify-out/graph.json
31726
graphify-out/graph.json
File diff suppressed because it is too large
Load diff
|
|
@ -1,252 +1,327 @@
|
|||
{
|
||||
"bread-cli/src/hooks_git.rs": {
|
||||
"mtime": 1784781158.0572724,
|
||||
"mtime": 1786800467.7200727,
|
||||
"ast_hash": "7a29b5d5d90170f0aef9cececc7d8656",
|
||||
"semantic_hash": "7a29b5d5d90170f0aef9cececc7d8656"
|
||||
},
|
||||
"bread-cli/src/hooks_shell.rs": {
|
||||
"mtime": 1784781158.0582726,
|
||||
"mtime": 1786800467.7201686,
|
||||
"ast_hash": "c5d5b8922fcff79954ddb00496721603",
|
||||
"semantic_hash": "c5d5b8922fcff79954ddb00496721603"
|
||||
},
|
||||
"bread-cli/src/lib.rs": {
|
||||
"mtime": 1778512393.4941568,
|
||||
"mtime": 1786800467.7201686,
|
||||
"ast_hash": "d1bf6e1c239498521c42418f672bc400",
|
||||
"semantic_hash": "d1bf6e1c239498521c42418f672bc400"
|
||||
},
|
||||
"bread-cli/src/main.rs": {
|
||||
"mtime": 1784781158.0592725,
|
||||
"ast_hash": "db407455fee59858b369f8b8955de3d7",
|
||||
"semantic_hash": "db407455fee59858b369f8b8955de3d7"
|
||||
"mtime": 1786800467.7201686,
|
||||
"ast_hash": "e1fbe63ea3b10e0887072ab7133d0508",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"bread-cli/src/modules_mgmt.rs": {
|
||||
"mtime": 1784781158.0592725,
|
||||
"ast_hash": "ecef9a05ab9c0396ed7a27404b46334d",
|
||||
"semantic_hash": "ecef9a05ab9c0396ed7a27404b46334d"
|
||||
"mtime": 1786801244.1263742,
|
||||
"ast_hash": "1cb6f3e4fa26108f81215ab57bb02b91",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"bread-cli/tests/modules.rs": {
|
||||
"mtime": 1784781158.0602725,
|
||||
"mtime": 1786801244.1297076,
|
||||
"ast_hash": "84fca8f87dc915b1cb523f8199e78521",
|
||||
"semantic_hash": "84fca8f87dc915b1cb523f8199e78521"
|
||||
},
|
||||
"bread-emit/src/main.rs": {
|
||||
"mtime": 1784781158.0616376,
|
||||
"mtime": 1786800467.7206197,
|
||||
"ast_hash": "350cefbf697cfd93f7df7b7bcc45a101",
|
||||
"semantic_hash": "350cefbf697cfd93f7df7b7bcc45a101"
|
||||
},
|
||||
"bread-shared/src/apps.rs": {
|
||||
"mtime": 1785479966.7981513,
|
||||
"ast_hash": "78da874557a45d9b06a9d0622c72dc5a",
|
||||
"semantic_hash": "78da874557a45d9b06a9d0622c72dc5a"
|
||||
"mtime": 1786801218.1467261,
|
||||
"ast_hash": "e8419571e7a322019d71c89559fb02fb",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"bread-shared/src/glob.rs": {
|
||||
"mtime": 1784781158.0616376,
|
||||
"mtime": 1786800467.7210522,
|
||||
"ast_hash": "0594a313cb1909d1cca5fd5b8f241b68",
|
||||
"semantic_hash": "0594a313cb1909d1cca5fd5b8f241b68"
|
||||
},
|
||||
"bread-shared/src/lib.rs": {
|
||||
"mtime": 1784781173.9236407,
|
||||
"ast_hash": "8fabca4623d00ddfc131dea8d8c207c1",
|
||||
"semantic_hash": "8fabca4623d00ddfc131dea8d8c207c1"
|
||||
"mtime": 1786801244.1297076,
|
||||
"ast_hash": "236b73bad29f1544a28fbf3ee1ccc795",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"bread-shared/src/widget.rs": {
|
||||
"mtime": 1784781173.9236407,
|
||||
"mtime": 1786801244.1297076,
|
||||
"ast_hash": "33272eb38c7fffbfa180cef7c5a286fc",
|
||||
"semantic_hash": "33272eb38c7fffbfa180cef7c5a286fc"
|
||||
},
|
||||
"breadd/src/adapters/bluetooth.rs": {
|
||||
"mtime": 1778843727.5135255,
|
||||
"mtime": 1786800467.7214499,
|
||||
"ast_hash": "4d1df67347d5b7c9cdbcb12921a6ae28",
|
||||
"semantic_hash": "4d1df67347d5b7c9cdbcb12921a6ae28"
|
||||
},
|
||||
"breadd/src/adapters/filesystem.rs": {
|
||||
"mtime": 1784781158.0616376,
|
||||
"mtime": 1786800467.7215972,
|
||||
"ast_hash": "8ec9dcd8de13f30922cfbe9b4a3fff56",
|
||||
"semantic_hash": "8ec9dcd8de13f30922cfbe9b4a3fff56"
|
||||
},
|
||||
"breadd/src/adapters/git.rs": {
|
||||
"mtime": 1784781158.0616376,
|
||||
"mtime": 1786800467.7215972,
|
||||
"ast_hash": "6e6ff6ca318e28cd94690c30d41b520b",
|
||||
"semantic_hash": "6e6ff6ca318e28cd94690c30d41b520b"
|
||||
},
|
||||
"breadd/src/adapters/hyprland.rs": {
|
||||
"mtime": 1784774788.7034824,
|
||||
"mtime": 1786800467.7215972,
|
||||
"ast_hash": "71537dbd86b413d94476f8022054f1f4",
|
||||
"semantic_hash": "71537dbd86b413d94476f8022054f1f4"
|
||||
},
|
||||
"breadd/src/adapters/mod.rs": {
|
||||
"mtime": 1784781158.0616376,
|
||||
"mtime": 1786800467.7215972,
|
||||
"ast_hash": "63885887c2fc3ea2314d7fe095e5df61",
|
||||
"semantic_hash": "63885887c2fc3ea2314d7fe095e5df61"
|
||||
},
|
||||
"breadd/src/adapters/network.rs": {
|
||||
"mtime": 1778470615.8460202,
|
||||
"mtime": 1786800467.7215972,
|
||||
"ast_hash": "8706dc546b7e08d5aa084ca58c48559c",
|
||||
"semantic_hash": "8706dc546b7e08d5aa084ca58c48559c"
|
||||
},
|
||||
"breadd/src/adapters/network_rtnetlink.rs": {
|
||||
"mtime": 1784781158.0616376,
|
||||
"mtime": 1786800467.7215972,
|
||||
"ast_hash": "0c9d0bb2693bc46b11807f6b8ebb7c4c",
|
||||
"semantic_hash": "0c9d0bb2693bc46b11807f6b8ebb7c4c"
|
||||
},
|
||||
"breadd/src/adapters/podman.rs": {
|
||||
"mtime": 1784781158.0622723,
|
||||
"mtime": 1786800467.7215972,
|
||||
"ast_hash": "97c08551c0fe53b0a5888d98730d35db",
|
||||
"semantic_hash": "97c08551c0fe53b0a5888d98730d35db"
|
||||
},
|
||||
"breadd/src/adapters/power.rs": {
|
||||
"mtime": 1778470615.838569,
|
||||
"mtime": 1786800467.7215972,
|
||||
"ast_hash": "987d202ec0d30ec26b1d747a6e320ed7",
|
||||
"semantic_hash": "987d202ec0d30ec26b1d747a6e320ed7"
|
||||
},
|
||||
"breadd/src/adapters/power_upower.rs": {
|
||||
"mtime": 1784781158.0622723,
|
||||
"mtime": 1786800467.7215972,
|
||||
"ast_hash": "fc0a36ca76d340c8be77644f63e462bf",
|
||||
"semantic_hash": "fc0a36ca76d340c8be77644f63e462bf"
|
||||
},
|
||||
"breadd/src/adapters/systemd.rs": {
|
||||
"mtime": 1784781158.0622723,
|
||||
"mtime": 1786800467.7215972,
|
||||
"ast_hash": "b3884dbecd39acc38abdf67589a8b954",
|
||||
"semantic_hash": "b3884dbecd39acc38abdf67589a8b954"
|
||||
},
|
||||
"breadd/src/adapters/udev.rs": {
|
||||
"mtime": 1778680581.3648126,
|
||||
"ast_hash": "653a424baee8c436b2adb608c92c9fd2",
|
||||
"semantic_hash": "653a424baee8c436b2adb608c92c9fd2"
|
||||
"mtime": 1786800978.7399695,
|
||||
"ast_hash": "568993c8c2dd218879eec57aee50a6b9",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"breadd/src/core/config.rs": {
|
||||
"mtime": 1784781158.0632722,
|
||||
"ast_hash": "0bc6dd90a2398b22f5fdbf1d647b4c7d",
|
||||
"semantic_hash": "0bc6dd90a2398b22f5fdbf1d647b4c7d"
|
||||
"mtime": 1786800467.7215972,
|
||||
"ast_hash": "7f479bfb51647e6131c14f0c2f153d95",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"breadd/src/core/mod.rs": {
|
||||
"mtime": 1778471738.0735896,
|
||||
"ast_hash": "3df83a958dd6ee5d09712b7cc03e15c9",
|
||||
"semantic_hash": "3df83a958dd6ee5d09712b7cc03e15c9"
|
||||
"mtime": 1786800467.7223108,
|
||||
"ast_hash": "e38bfdb894eabd208941bd3ffb1ef464",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"breadd/src/core/normalizer.rs": {
|
||||
"mtime": 1784781158.0632722,
|
||||
"ast_hash": "5e918ed12395767b6d0c315d804f1215",
|
||||
"semantic_hash": "5e918ed12395767b6d0c315d804f1215"
|
||||
"mtime": 1786801218.2233918,
|
||||
"ast_hash": "1596f60df5049ff8715f66f64bee9f8a",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"breadd/src/core/state_engine.rs": {
|
||||
"mtime": 1784781173.9246407,
|
||||
"ast_hash": "162df9607c8a733a7060bb732fdcf783",
|
||||
"semantic_hash": "162df9607c8a733a7060bb732fdcf783"
|
||||
"mtime": 1786800467.7223108,
|
||||
"ast_hash": "84a35ee78f3881261a3ce378ea3c03a0",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"breadd/src/core/subscriptions.rs": {
|
||||
"mtime": 1784781158.0632722,
|
||||
"mtime": 1786800467.7223108,
|
||||
"ast_hash": "8735d4717b74523c787dab9ea2b0bbd8",
|
||||
"semantic_hash": "8735d4717b74523c787dab9ea2b0bbd8"
|
||||
},
|
||||
"breadd/src/core/supervisor.rs": {
|
||||
"mtime": 1778680581.3778126,
|
||||
"mtime": 1786800467.7223108,
|
||||
"ast_hash": "403f7ba1807c71f9b89d81bfeff2681a",
|
||||
"semantic_hash": "403f7ba1807c71f9b89d81bfeff2681a"
|
||||
},
|
||||
"breadd/src/core/types.rs": {
|
||||
"mtime": 1784781173.9246407,
|
||||
"ast_hash": "830da3a3b75e0cad06f07f971950bbbb",
|
||||
"semantic_hash": "830da3a3b75e0cad06f07f971950bbbb"
|
||||
"mtime": 1786800467.7223108,
|
||||
"ast_hash": "8bd070d4c09725d8717749a79aa42a92",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"breadd/src/ipc/mod.rs": {
|
||||
"mtime": 1784781173.9246407,
|
||||
"ast_hash": "c26947d0a253ab5bec356049bb63d7e5",
|
||||
"semantic_hash": "c26947d0a253ab5bec356049bb63d7e5"
|
||||
"mtime": 1786800912.9916558,
|
||||
"ast_hash": "54af229257e555313f7d4b59d57ff8d3",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"breadd/src/lua/mod.rs": {
|
||||
"mtime": 1784781173.9246407,
|
||||
"ast_hash": "6816dd3c14657467a4e537328d6edb59",
|
||||
"semantic_hash": "6816dd3c14657467a4e537328d6edb59"
|
||||
"mtime": 1786801244.1297076,
|
||||
"ast_hash": "ed13e2495399d532625653a22a4fee14",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"breadd/src/main.rs": {
|
||||
"mtime": 1784781158.0642722,
|
||||
"ast_hash": "b59d4e025c652b074a87638d99823418",
|
||||
"semantic_hash": "b59d4e025c652b074a87638d99823418"
|
||||
"mtime": 1786800467.722855,
|
||||
"ast_hash": "4b31888cc9e76210df0c7cff3a8b1e42",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"breadd/tests/ipc_integration.rs": {
|
||||
"mtime": 1784781158.0642722,
|
||||
"ast_hash": "116f390ea369b67ddefa95b8519de3b7",
|
||||
"semantic_hash": "116f390ea369b67ddefa95b8519de3b7"
|
||||
"mtime": 1786801218.36339,
|
||||
"ast_hash": "2b5bade2cc2e189a3af9c692232be258",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"examples/modules/active-window-widget.lua": {
|
||||
"mtime": 1784781173.9256406,
|
||||
"mtime": 1786800467.7243168,
|
||||
"ast_hash": "a5f6fb2c54775a49ddaf29674f86571d",
|
||||
"semantic_hash": "a5f6fb2c54775a49ddaf29674f86571d"
|
||||
},
|
||||
"examples/modules/bluetooth-toggle-widget.lua": {
|
||||
"mtime": 1784781173.9256406,
|
||||
"mtime": 1786800467.7243168,
|
||||
"ast_hash": "c8529dc45862adf4f63db48674a28277",
|
||||
"semantic_hash": "c8529dc45862adf4f63db48674a28277"
|
||||
},
|
||||
"examples/modules/cpu-temp-widget.lua": {
|
||||
"mtime": 1784781173.9256406,
|
||||
"ast_hash": "c214e573fa1338b9e5e56ce38a1a36e3",
|
||||
"semantic_hash": "c214e573fa1338b9e5e56ce38a1a36e3"
|
||||
},
|
||||
"examples/modules/dock-monitors.lua": {
|
||||
"mtime": 1784781158.0663679,
|
||||
"mtime": 1786800467.724451,
|
||||
"ast_hash": "4abe51f19614d2bf117ac35e95324801",
|
||||
"semantic_hash": "4abe51f19614d2bf117ac35e95324801"
|
||||
},
|
||||
"examples/modules/dock-workflow.lua": {
|
||||
"mtime": 1784781158.0663679,
|
||||
"ast_hash": "7ea9293195fdcb839acaa52bc0d040b3",
|
||||
"semantic_hash": "7ea9293195fdcb839acaa52bc0d040b3"
|
||||
"mtime": 1786800467.724451,
|
||||
"ast_hash": "84cf81cfb7780e89a46e96a6ccfbad15",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"examples/modules/focus-mode-widget.lua": {
|
||||
"mtime": 1784781173.9256406,
|
||||
"mtime": 1786800467.724451,
|
||||
"ast_hash": "f62c366c2c85cfbe59eef663fc607230",
|
||||
"semantic_hash": "f62c366c2c85cfbe59eef663fc607230"
|
||||
},
|
||||
"examples/modules/git-branch-widget.lua": {
|
||||
"mtime": 1784781173.9256406,
|
||||
"ast_hash": "25ae6c6190547d7ca7ad649bc288eac1",
|
||||
"semantic_hash": "25ae6c6190547d7ca7ad649bc288eac1"
|
||||
"mtime": 1786800467.724451,
|
||||
"ast_hash": "ebeeaebab5b5b29619f3db65c1df57d8",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"examples/modules/low-battery-warning.lua": {
|
||||
"mtime": 1784781158.0663679,
|
||||
"mtime": 1786800467.724451,
|
||||
"ast_hash": "e0ba79860562fc36fa8cb183bc576fb7",
|
||||
"semantic_hash": "e0ba79860562fc36fa8cb183bc576fb7"
|
||||
},
|
||||
"examples/modules/pause-media-on-headphone-unplug.lua": {
|
||||
"mtime": 1784781158.0663679,
|
||||
"mtime": 1786800467.724451,
|
||||
"ast_hash": "6c4cf82b6963eb93df224bed60d06c2d",
|
||||
"semantic_hash": "6c4cf82b6963eb93df224bed60d06c2d"
|
||||
},
|
||||
"examples/modules/workflow-status-widget.lua": {
|
||||
"mtime": 1784781173.9256406,
|
||||
"mtime": 1786800467.724451,
|
||||
"ast_hash": "9f913a66a0f8654dadc1c5d6c2be0938",
|
||||
"semantic_hash": "9f913a66a0f8654dadc1c5d6c2be0938"
|
||||
},
|
||||
"scripts/install.sh": {
|
||||
"mtime": 1778679456.2324038,
|
||||
"ast_hash": "c471884651bedb94c2cbceda02dee99c",
|
||||
"semantic_hash": "c471884651bedb94c2cbceda02dee99c"
|
||||
"mtime": 1786800994.0764284,
|
||||
"ast_hash": "35d1a7f63824e9176bd105ab3d699576",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"CONTRIBUTING.md": {
|
||||
"mtime": 1785467202.8123527,
|
||||
"ast_hash": "83fdc4753fadb0a6caba7d9fa5126055",
|
||||
"semantic_hash": "83fdc4753fadb0a6caba7d9fa5126055"
|
||||
"mtime": 1786800467.716893,
|
||||
"ast_hash": "6d056fcf0dae29949d19c41b41792879",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"Documentation.md": {
|
||||
"mtime": 1784781173.9236407,
|
||||
"ast_hash": "5cbefc87f14fa998b29d8720a2c35ead",
|
||||
"semantic_hash": "5cbefc87f14fa998b29d8720a2c35ead"
|
||||
"mtime": 1786801027.2816515,
|
||||
"ast_hash": "7b8471e7ae45aed70682bb858826860c",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"Examples.md": {
|
||||
"mtime": 1784781173.9236407,
|
||||
"mtime": 1786800467.716893,
|
||||
"ast_hash": "6bcd7a14be53a9f67ef6912b160da8bc",
|
||||
"semantic_hash": "6bcd7a14be53a9f67ef6912b160da8bc"
|
||||
},
|
||||
"README.md": {
|
||||
"mtime": 1784781158.0562725,
|
||||
"ast_hash": "4fb428200bf6ef1aef21552842249237",
|
||||
"semantic_hash": "4fb428200bf6ef1aef21552842249237"
|
||||
"mtime": 1786800994.0964282,
|
||||
"ast_hash": "97ae9f7efb9f2cdceb615a47cf3dfa1a",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"upgrade.md": {
|
||||
"mtime": 1785826079.9260893,
|
||||
"ast_hash": "d298b8982ab58c0155e8f22b96dd5666",
|
||||
"semantic_hash": "d298b8982ab58c0155e8f22b96dd5666"
|
||||
"bread-module-host/src/io.rs": {
|
||||
"mtime": 1786801244.1297076,
|
||||
"ast_hash": "dbe04e05d1cfb02770db8d7c0bcc0b68",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"bread-module-host/src/lua_env.rs": {
|
||||
"mtime": 1786801244.1297076,
|
||||
"ast_hash": "97d009846e18d3c809663b1185c98bbb",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"bread-module-host/src/main.rs": {
|
||||
"mtime": 1786801244.1297076,
|
||||
"ast_hash": "9a93253ae44c764b8273df40999ddede",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"bread-shared/src/module_host_ipc.rs": {
|
||||
"mtime": 1786801244.1297076,
|
||||
"ast_hash": "fcdb4c03f242a5ea51fd3a096b711363",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"bread-shared/src/permissions.rs": {
|
||||
"mtime": 1786800467.7210522,
|
||||
"ast_hash": "800445ef9c90bdbf8f3ac9d4f1afd98e",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"breadd/src/core/rules.rs": {
|
||||
"mtime": 1786801244.1297076,
|
||||
"ast_hash": "bd430cf213f400b8d4e96ccc35a76ff1",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"breadd/src/ipc/module_host_bridge.rs": {
|
||||
"mtime": 1786801244.1297076,
|
||||
"ast_hash": "caa9cf82695e48c88758fcfa835e1871",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"breadd/src/module_host.rs": {
|
||||
"mtime": 1786801244.1297076,
|
||||
"ast_hash": "228826ff3c8941ea5f9bb28b66d637a9",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"breadd/tests/module_host_sandbox.rs": {
|
||||
"mtime": 1786801244.1297076,
|
||||
"ast_hash": "7e637b3a950c510215a6f6a7b88dd404",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"examples/modules/cpu-temp-widget/init.lua": {
|
||||
"mtime": 1786800467.724451,
|
||||
"ast_hash": "5ac893dd2f6af6d8b22dd290e3021f77",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"xtask/src/main.rs": {
|
||||
"mtime": 1786801244.1297076,
|
||||
"ast_hash": "e914dd77ac3241df09e3a681228961db",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
".forgejo/workflows/dev-release.yml": {
|
||||
"mtime": 1786800467.7161875,
|
||||
"ast_hash": "707129aa2fe79b4539d108c03e6d7abf",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
".forgejo/workflows/rc-release.yml": {
|
||||
"mtime": 1786800467.7167187,
|
||||
"ast_hash": "3007d2c43d785cd72f0548096626a21d",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
".forgejo/workflows/release.yml": {
|
||||
"mtime": 1786800467.7167187,
|
||||
"ast_hash": "3578aa39e7b2466822c8d85247489d36",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"DEPRECATIONS.md": {
|
||||
"mtime": 1786800467.716893,
|
||||
"ast_hash": "1685b60fad2ed4184e4119c30866ec12",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"examples/modules/README.md": {
|
||||
"mtime": 1786800467.7242541,
|
||||
"ast_hash": "dfa8a72f41c08bd5b8036b684092a93b",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"packaging/README.md": {
|
||||
"mtime": 1786800994.0430956,
|
||||
"ast_hash": "caa295eed64de126874a2e48b8aed8a2",
|
||||
"semantic_hash": ""
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue