bazaar-compute-node 0.1.12__tar.gz → 0.1.13__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/PKG-INFO +31 -9
  2. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/README.md +30 -8
  3. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/pyproject.toml +1 -1
  4. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/pyproject.toml.orig +1 -1
  5. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/app/agent_management.py +23 -14
  6. bazaar_compute_node-0.1.13/src/bazaar_compute_node/app/system_service.py +964 -0
  7. bazaar_compute_node-0.1.13/src/bazaar_compute_node/cli.py +299 -0
  8. bazaar_compute_node-0.1.13/src/bazaar_compute_node/i18n/english.py +86 -0
  9. bazaar_compute_node-0.1.13/src/bazaar_compute_node/i18n/schinese.py +72 -0
  10. bazaar_compute_node-0.1.12/src/bazaar_compute_node/cli.py +0 -473
  11. bazaar_compute_node-0.1.12/src/bazaar_compute_node/i18n/english.py +0 -26
  12. bazaar_compute_node-0.1.12/src/bazaar_compute_node/i18n/schinese.py +0 -26
  13. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/LICENSE +0 -0
  14. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/__init__.py +0 -0
  15. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/app/__init__.py +0 -0
  16. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/app/agent.py +0 -0
  17. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/app/application.py +0 -0
  18. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/app/attachments.py +0 -0
  19. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/app/command.py +0 -0
  20. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/app/config.py +0 -0
  21. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/app/registry.py +0 -0
  22. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/app/reminder_dispatch.py +0 -0
  23. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/app/transport.py +0 -0
  24. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/app/windows_pipe.py +0 -0
  25. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/app/wrapper.py +0 -0
  26. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/bcc.py +0 -0
  27. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/__init__.py +0 -0
  28. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/codex/__init__.py +0 -0
  29. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/codex/approval.py +0 -0
  30. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/codex/client.py +0 -0
  31. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/codex/events.py +0 -0
  32. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/codex/plugin.py +0 -0
  33. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/codex/process.py +0 -0
  34. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/codex/protocol.py +0 -0
  35. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/codex/runtime.py +0 -0
  36. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/logging/__init__.py +0 -0
  37. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/logging/audit.py +0 -0
  38. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/logging/plugin.py +0 -0
  39. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/sqlite/__init__.py +0 -0
  40. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/sqlite/agent_migration.py +0 -0
  41. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/sqlite/codec.py +0 -0
  42. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/sqlite/database.py +0 -0
  43. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/sqlite/migrations.py +0 -0
  44. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/sqlite/plugin.py +0 -0
  45. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/sqlite/reminder_codec.py +0 -0
  46. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/sqlite/reminder_database.py +0 -0
  47. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/sqlite/reminder_migration.py +0 -0
  48. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/sqlite/reminder_repository.py +0 -0
  49. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/sqlite/repository.py +0 -0
  50. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/sqlite/scoped_repository.py +0 -0
  51. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/telegram/__init__.py +0 -0
  52. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/telegram/api.py +0 -0
  53. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/telegram/approval.py +0 -0
  54. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/telegram/attachments.py +0 -0
  55. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/telegram/channel.py +0 -0
  56. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/telegram/identity.py +0 -0
  57. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/telegram/markdown.py +0 -0
  58. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/telegram/outbound.py +0 -0
  59. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/telegram/plugin.py +0 -0
  60. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/wecom/__init__.py +0 -0
  61. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/wecom/channel.py +0 -0
  62. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/wecom/markdown.py +0 -0
  63. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/wecom/outbound.py +0 -0
  64. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/contrib/wecom/plugin.py +0 -0
  65. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/__init__.py +0 -0
  66. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/approval.py +0 -0
  67. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/audit.py +0 -0
  68. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/channel.py +0 -0
  69. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/client.py +0 -0
  70. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/command.py +0 -0
  71. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/concurrency.py +0 -0
  72. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/correlation.py +0 -0
  73. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/instruction.py +0 -0
  74. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/lifecycle.py +0 -0
  75. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/models/__init__.py +0 -0
  76. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/models/entities.py +0 -0
  77. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/models/reminder.py +0 -0
  78. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/models/reminder_owner.py +0 -0
  79. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/models/states.py +0 -0
  80. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/observability.py +0 -0
  81. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/orchestration/__init__.py +0 -0
  82. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/orchestration/command.py +0 -0
  83. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/orchestration/delivery.py +0 -0
  84. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/orchestration/error_feedback.py +0 -0
  85. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/orchestration/reminder.py +0 -0
  86. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/orchestration/reminder_command.py +0 -0
  87. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/orchestration/services.py +0 -0
  88. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/orchestration/session.py +0 -0
  89. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/orchestration/turn.py +0 -0
  90. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/outcomes.py +0 -0
  91. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/paths.py +0 -0
  92. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/reminder.py +0 -0
  93. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/reminder_schedule.py +0 -0
  94. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/runtime.py +0 -0
  95. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/storage.py +0 -0
  96. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/core/timerwheel.py +0 -0
  97. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/i18n/__init__.py +0 -0
  98. {bazaar_compute_node-0.1.12 → bazaar_compute_node-0.1.13}/src/bazaar_compute_node/i18n/catalog.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bazaar-compute-node
3
- Version: 0.1.12
3
+ Version: 0.1.13
4
4
  Summary: Runtime-agnostic computer node daemon for agents and channels.
5
5
  License-Expression: AGPL-3.0-only
6
6
  License-File: LICENSE
@@ -15,6 +15,7 @@ Description-Content-Type: text/markdown
15
15
  # Bazaar Compute Node
16
16
 
17
17
  Collaborate with your Agents in the bazaar across compute nodes, through any interface, with any harness runtime.
18
+
18
19
  在集市里与你的 Agent 们合作,透过任意界面与任意 Harness。
19
20
 
20
21
  <p align="left">
@@ -32,28 +33,49 @@ Collaborate with your Agents in the bazaar across compute nodes, through any int
32
33
 
33
34
  ## Quick Start / 快速开始
34
35
 
35
- Python 3.14+ is required:
36
+ Python 3.14+ is required.
37
+
38
+ 需要 Python 3.14 或更高版本:
36
39
 
37
40
  ```sh
38
- # Install
41
+ # Install / 安装
39
42
  uv tool install bazaar-compute-node
40
43
  bcn --version
41
44
 
42
- # Upgrade
45
+ # Upgrade / 升级
43
46
  uv tool upgrade bazaar-compute-node
44
47
 
45
- # Add an Agent
48
+ # Add an Agent / 添加 Agent
46
49
  bcn agent add \
47
50
  --name Tifa \
48
51
  --channel telegram \
49
52
  --runtime codex \
50
53
  --set channel.token_env=BCN_TELEGRAM_TIFA_TOKEN
51
54
 
52
- # Start daemon
53
- bcn start
55
+ # Configure the runtime environment / 配置运行时环境
56
+ # Example file content / 示例文件内容:
57
+ # BCN_TELEGRAM_TIFA_TOKEN=replace-with-your-token
58
+
59
+ # Register the user-level system service / 注册用户级宿主机服务
60
+ bcn system-service install --env-file ~/.config/bcn/runtime.env
61
+
62
+ # Start the registered service / 启动已注册的服务
63
+ bcn system-service start
64
+
65
+ # Inspect registration and bcn health / 查看注册状态和 bcn 运行状态
66
+ bcn system-service status
67
+
68
+ # Restart or stop the registered service / 重启或停止已注册的服务
69
+ bcn system-service restart
70
+ bcn system-service stop
71
+ ```
72
+
73
+ ## Service logs / 服务日志
54
74
 
55
- # Stop daemon
56
- bcn stop
75
+ ```text
76
+ Linux: journalctl --user -u bcn.service -f
77
+ macOS: tail -f ~/.bcn/system-service.log
78
+ Windows: Get-Content "$env:USERPROFILE\.bcn\system-service.log" -Wait
57
79
  ```
58
80
 
59
81
  ## Features / 功能
@@ -1,6 +1,7 @@
1
1
  # Bazaar Compute Node
2
2
 
3
3
  Collaborate with your Agents in the bazaar across compute nodes, through any interface, with any harness runtime.
4
+
4
5
  在集市里与你的 Agent 们合作,透过任意界面与任意 Harness。
5
6
 
6
7
  <p align="left">
@@ -18,28 +19,49 @@ Collaborate with your Agents in the bazaar across compute nodes, through any int
18
19
 
19
20
  ## Quick Start / 快速开始
20
21
 
21
- Python 3.14+ is required:
22
+ Python 3.14+ is required.
23
+
24
+ 需要 Python 3.14 或更高版本:
22
25
 
23
26
  ```sh
24
- # Install
27
+ # Install / 安装
25
28
  uv tool install bazaar-compute-node
26
29
  bcn --version
27
30
 
28
- # Upgrade
31
+ # Upgrade / 升级
29
32
  uv tool upgrade bazaar-compute-node
30
33
 
31
- # Add an Agent
34
+ # Add an Agent / 添加 Agent
32
35
  bcn agent add \
33
36
  --name Tifa \
34
37
  --channel telegram \
35
38
  --runtime codex \
36
39
  --set channel.token_env=BCN_TELEGRAM_TIFA_TOKEN
37
40
 
38
- # Start daemon
39
- bcn start
41
+ # Configure the runtime environment / 配置运行时环境
42
+ # Example file content / 示例文件内容:
43
+ # BCN_TELEGRAM_TIFA_TOKEN=replace-with-your-token
44
+
45
+ # Register the user-level system service / 注册用户级宿主机服务
46
+ bcn system-service install --env-file ~/.config/bcn/runtime.env
47
+
48
+ # Start the registered service / 启动已注册的服务
49
+ bcn system-service start
50
+
51
+ # Inspect registration and bcn health / 查看注册状态和 bcn 运行状态
52
+ bcn system-service status
53
+
54
+ # Restart or stop the registered service / 重启或停止已注册的服务
55
+ bcn system-service restart
56
+ bcn system-service stop
57
+ ```
58
+
59
+ ## Service logs / 服务日志
40
60
 
41
- # Stop daemon
42
- bcn stop
61
+ ```text
62
+ Linux: journalctl --user -u bcn.service -f
63
+ macOS: tail -f ~/.bcn/system-service.log
64
+ Windows: Get-Content "$env:USERPROFILE\.bcn\system-service.log" -Wait
43
65
  ```
44
66
 
45
67
  ## Features / 功能
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "bazaar-compute-node"
3
- version = "0.1.12"
3
+ version = "0.1.13"
4
4
  description = "Runtime-agnostic computer node daemon for agents and channels."
5
5
  readme = "README.md"
6
6
  license = "AGPL-3.0-only"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "bazaar-compute-node"
3
- version = "0.1.12"
3
+ version = "0.1.13"
4
4
  description = "Runtime-agnostic computer node daemon for agents and channels."
5
5
  readme = "README.md"
6
6
  license = "AGPL-3.0-only"
@@ -7,6 +7,7 @@ from types import MappingProxyType
7
7
  from uuid import uuid7
8
8
 
9
9
  from ..core.runtime import RuntimeSandboxMode
10
+ from ..i18n import Translator, create_translator
10
11
  from .config import (
11
12
  AgentConfiguration,
12
13
  ChannelConfiguration,
@@ -18,18 +19,29 @@ from .config import (
18
19
  )
19
20
 
20
21
 
21
- def build_agent_parser() -> argparse.ArgumentParser:
22
+ def build_agent_parser(
23
+ translator: Translator | None = None,
24
+ ) -> argparse.ArgumentParser:
25
+ translator = translator or create_translator(None)
22
26
  parser = argparse.ArgumentParser(
23
27
  prog="bcn agent",
24
- description="Manage Agent definitions in the authoritative BCN config.",
28
+ description=translator.text("cli.agent.description"),
25
29
  )
26
30
  commands = parser.add_subparsers(dest="agent_command", required=True)
27
- commands.add_parser("list", help="List configured Agents.")
31
+ commands.add_parser("list", help=translator.text("cli.agent.list"))
28
32
 
29
- add = commands.add_parser("add", help="Add an Agent to config.toml.")
30
- add.add_argument("--name", required=True, help="Human-readable Agent name.")
31
- add.add_argument("--channel", required=True, help="Channel provider kind.")
32
- add.add_argument("--runtime", required=True, help="Runtime provider kind.")
33
+ add = commands.add_parser("add", help=translator.text("cli.agent.add"))
34
+ add.add_argument("--name", required=True, help=translator.text("cli.agent.name"))
35
+ add.add_argument(
36
+ "--channel",
37
+ required=True,
38
+ help=translator.text("cli.agent.channel"),
39
+ )
40
+ add.add_argument(
41
+ "--runtime",
42
+ required=True,
43
+ help=translator.text("cli.agent.runtime"),
44
+ )
33
45
  add.add_argument(
34
46
  "--set",
35
47
  action="append",
@@ -37,14 +49,11 @@ def build_agent_parser() -> argparse.ArgumentParser:
37
49
  dest="agent_options",
38
50
  metavar="<scope.key=value>",
39
51
  type=_agent_option,
40
- help=(
41
- "Set channel/runtime configuration. Repeat as needed, for example "
42
- "--set channel.token_env=BCN_TELEGRAM_TIFA_TOKEN."
43
- ),
52
+ help=translator.text("cli.agent.set"),
44
53
  )
45
54
 
46
- remove = commands.add_parser("remove", help="Remove an Agent definition.")
47
- remove.add_argument("selector", help="Exact Agent ID or Agent name.")
55
+ remove = commands.add_parser("remove", help=translator.text("cli.agent.remove"))
56
+ remove.add_argument("selector", help=translator.text("cli.agent.selector"))
48
57
  return parser
49
58
 
50
59
 
@@ -70,7 +79,7 @@ def run_agent_command(
70
79
  command = args.agent_command
71
80
  if command == "list":
72
81
  if not configuration.agents:
73
- print("No agents configured.", flush=True)
82
+ print(create_translator(None).text("cli.agent.empty"), flush=True)
74
83
  return 0
75
84
  for agent in configuration.agents:
76
85
  print(