@agentunion/kite 1.0.6 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli.js +127 -25
- package/core/event_hub/entry.py +384 -61
- package/core/event_hub/hub.py +8 -0
- package/core/event_hub/module.md +0 -1
- package/core/event_hub/server.py +169 -38
- package/core/kite_log.py +241 -0
- package/core/launcher/entry.py +1306 -425
- package/core/launcher/module_scanner.py +10 -9
- package/core/launcher/process_manager.py +555 -121
- package/core/registry/entry.py +335 -30
- package/core/registry/server.py +339 -256
- package/core/registry/store.py +13 -2
- package/extensions/agents/__init__.py +1 -0
- package/extensions/agents/assistant/__init__.py +1 -0
- package/extensions/agents/assistant/entry.py +380 -0
- package/extensions/agents/assistant/module.md +22 -0
- package/extensions/agents/assistant/server.py +236 -0
- package/extensions/channels/__init__.py +1 -0
- package/extensions/channels/acp_channel/__init__.py +1 -0
- package/extensions/channels/acp_channel/entry.py +380 -0
- package/extensions/channels/acp_channel/module.md +22 -0
- package/extensions/channels/acp_channel/server.py +236 -0
- package/{core → extensions}/event_hub_bench/entry.py +664 -371
- package/{core → extensions}/event_hub_bench/module.md +4 -2
- package/extensions/services/backup/__init__.py +1 -0
- package/extensions/services/backup/entry.py +380 -0
- package/extensions/services/backup/module.md +22 -0
- package/extensions/services/backup/server.py +244 -0
- package/extensions/services/model_service/__init__.py +1 -0
- package/extensions/services/model_service/entry.py +380 -0
- package/extensions/services/model_service/module.md +22 -0
- package/extensions/services/model_service/server.py +236 -0
- package/extensions/services/watchdog/entry.py +460 -143
- package/extensions/services/watchdog/module.md +3 -0
- package/extensions/services/watchdog/monitor.py +128 -13
- package/extensions/services/watchdog/server.py +75 -13
- package/extensions/services/web/__init__.py +1 -0
- package/extensions/services/web/config.yaml +149 -0
- package/extensions/services/web/entry.py +487 -0
- package/extensions/services/web/module.md +24 -0
- package/extensions/services/web/routes/__init__.py +1 -0
- package/extensions/services/web/routes/routes_call.py +189 -0
- package/extensions/services/web/routes/routes_config.py +512 -0
- package/extensions/services/web/routes/routes_contacts.py +98 -0
- package/extensions/services/web/routes/routes_devlog.py +99 -0
- package/extensions/services/web/routes/routes_phone.py +81 -0
- package/extensions/services/web/routes/routes_sms.py +48 -0
- package/extensions/services/web/routes/routes_stats.py +17 -0
- package/extensions/services/web/routes/routes_voicechat.py +554 -0
- package/extensions/services/web/routes/schemas.py +216 -0
- package/extensions/services/web/server.py +332 -0
- package/extensions/services/web/static/css/style.css +1064 -0
- package/extensions/services/web/static/index.html +1445 -0
- package/extensions/services/web/static/js/app.js +4671 -0
- package/extensions/services/web/vendor/__init__.py +1 -0
- package/extensions/services/web/vendor/bluetooth/audio.py +348 -0
- package/extensions/services/web/vendor/bluetooth/contacts.py +251 -0
- package/extensions/services/web/vendor/bluetooth/manager.py +395 -0
- package/extensions/services/web/vendor/bluetooth/sms.py +290 -0
- package/extensions/services/web/vendor/bluetooth/telephony.py +274 -0
- package/extensions/services/web/vendor/config.py +139 -0
- package/extensions/services/web/vendor/conversation/__init__.py +0 -0
- package/extensions/services/web/vendor/conversation/asr.py +936 -0
- package/extensions/services/web/vendor/conversation/engine.py +548 -0
- package/extensions/services/web/vendor/conversation/llm.py +534 -0
- package/extensions/services/web/vendor/conversation/mcp_tools.py +190 -0
- package/extensions/services/web/vendor/conversation/tts.py +322 -0
- package/extensions/services/web/vendor/conversation/vad.py +138 -0
- package/extensions/services/web/vendor/storage/__init__.py +1 -0
- package/extensions/services/web/vendor/storage/identity.py +312 -0
- package/extensions/services/web/vendor/storage/store.py +507 -0
- package/extensions/services/web/vendor/task/__init__.py +0 -0
- package/extensions/services/web/vendor/task/manager.py +864 -0
- package/extensions/services/web/vendor/task/models.py +45 -0
- package/extensions/services/web/vendor/task/webhook.py +263 -0
- package/extensions/services/web/vendor/tools/__init__.py +0 -0
- package/extensions/services/web/vendor/tools/registry.py +321 -0
- package/main.py +344 -4
- package/package.json +11 -2
- package/core/__pycache__/__init__.cpython-313.pyc +0 -0
- package/core/__pycache__/data_dir.cpython-313.pyc +0 -0
- package/core/data_dir.py +0 -62
- package/core/event_hub/__pycache__/__init__.cpython-313.pyc +0 -0
- package/core/event_hub/__pycache__/bench.cpython-313.pyc +0 -0
- package/core/event_hub/__pycache__/bench_perf.cpython-313.pyc +0 -0
- package/core/event_hub/__pycache__/dedup.cpython-313.pyc +0 -0
- package/core/event_hub/__pycache__/entry.cpython-313.pyc +0 -0
- package/core/event_hub/__pycache__/hub.cpython-313.pyc +0 -0
- package/core/event_hub/__pycache__/router.cpython-313.pyc +0 -0
- package/core/event_hub/__pycache__/server.cpython-313.pyc +0 -0
- package/core/event_hub/bench_results/2026-02-28_13-26-48.json +0 -51
- package/core/event_hub/bench_results/2026-02-28_13-44-45.json +0 -51
- package/core/event_hub/bench_results/2026-02-28_13-45-39.json +0 -51
- package/core/launcher/__pycache__/__init__.cpython-313.pyc +0 -0
- package/core/launcher/__pycache__/entry.cpython-313.pyc +0 -0
- package/core/launcher/__pycache__/module_scanner.cpython-313.pyc +0 -0
- package/core/launcher/__pycache__/process_manager.cpython-313.pyc +0 -0
- package/core/launcher/data/log/lifecycle.jsonl +0 -1158
- package/core/launcher/data/token.txt +0 -1
- package/core/registry/__pycache__/__init__.cpython-313.pyc +0 -0
- package/core/registry/__pycache__/entry.cpython-313.pyc +0 -0
- package/core/registry/__pycache__/server.cpython-313.pyc +0 -0
- package/core/registry/__pycache__/store.cpython-313.pyc +0 -0
- package/core/registry/data/port.txt +0 -1
- package/core/registry/data/port_484.txt +0 -1
- package/extensions/__pycache__/__init__.cpython-313.pyc +0 -0
- package/extensions/services/__pycache__/__init__.cpython-313.pyc +0 -0
- package/extensions/services/watchdog/__pycache__/__init__.cpython-313.pyc +0 -0
- package/extensions/services/watchdog/__pycache__/entry.cpython-313.pyc +0 -0
- package/extensions/services/watchdog/__pycache__/monitor.cpython-313.pyc +0 -0
- package/extensions/services/watchdog/__pycache__/server.cpython-313.pyc +0 -0
- /package/{core/event_hub/bench_results/.gitkeep → extensions/services/web/vendor/bluetooth/__init__.py} +0 -0
|
@@ -34,9 +34,9 @@ class ModuleInfo:
|
|
|
34
34
|
module_dir: str = "" # absolute path to the module directory
|
|
35
35
|
launch: LaunchConfig = field(default_factory=LaunchConfig)
|
|
36
36
|
|
|
37
|
-
def is_core(self
|
|
38
|
-
"""Core modules live directly under {
|
|
39
|
-
core_dir = os.path.join(
|
|
37
|
+
def is_core(self) -> bool:
|
|
38
|
+
"""Core modules live directly under {KITE_PROJECT}/core/."""
|
|
39
|
+
core_dir = os.path.join(os.environ["KITE_PROJECT"], "core")
|
|
40
40
|
return os.path.normcase(self.module_dir).startswith(os.path.normcase(core_dir + os.sep))
|
|
41
41
|
|
|
42
42
|
|
|
@@ -89,18 +89,19 @@ def _parse_frontmatter(text: str) -> dict:
|
|
|
89
89
|
class ModuleScanner:
|
|
90
90
|
"""Discover modules via configurable sources."""
|
|
91
91
|
|
|
92
|
-
def __init__(self,
|
|
93
|
-
self.project_root = project_root
|
|
92
|
+
def __init__(self, discovery: dict = None, launcher_dir: str = ""):
|
|
94
93
|
self.discovery = discovery
|
|
94
|
+
project_root = os.environ["KITE_PROJECT"]
|
|
95
95
|
self.launcher_dir = launcher_dir or os.path.join(project_root, "core", "launcher")
|
|
96
96
|
|
|
97
97
|
def scan(self) -> dict[str, ModuleInfo]:
|
|
98
98
|
"""Return dict of {module_name: ModuleInfo}. Duplicate names are skipped."""
|
|
99
99
|
modules = {}
|
|
100
|
+
project_root = os.environ["KITE_PROJECT"]
|
|
100
101
|
|
|
101
102
|
# Built-in: always scan core/ (depth 1) and extensions/ (depth 2)
|
|
102
|
-
self._scan_dir(os.path.join(
|
|
103
|
-
self._scan_dir(os.path.join(
|
|
103
|
+
self._scan_dir(os.path.join(project_root, "core"), 1, modules)
|
|
104
|
+
self._scan_dir(os.path.join(project_root, "extensions"), 2, modules)
|
|
104
105
|
|
|
105
106
|
# Extra sources from discovery config
|
|
106
107
|
if self.discovery:
|
|
@@ -118,7 +119,7 @@ class ModuleScanner:
|
|
|
118
119
|
if not path:
|
|
119
120
|
continue
|
|
120
121
|
if not os.path.isabs(path):
|
|
121
|
-
path = os.path.join(
|
|
122
|
+
path = os.path.join(project_root, path)
|
|
122
123
|
|
|
123
124
|
if src_type == "scan_dir":
|
|
124
125
|
max_depth = int(src.get("max_depth", 2))
|
|
@@ -156,7 +157,7 @@ class ModuleScanner:
|
|
|
156
157
|
if not line or line.startswith("#"):
|
|
157
158
|
continue
|
|
158
159
|
if not os.path.isabs(line):
|
|
159
|
-
line = os.path.join(
|
|
160
|
+
line = os.path.join(os.environ["KITE_PROJECT"], line)
|
|
160
161
|
self._add_module(line, modules)
|
|
161
162
|
except Exception as e:
|
|
162
163
|
print(f"[launcher] WARNING: failed to read module list {list_path}: {e}")
|