monoco-toolkit 0.3.3__py3-none-any.whl → 0.3.6__py3-none-any.whl

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.
@@ -0,0 +1,149 @@
1
+ """
2
+ Agent Engine Adapters for Monoco Scheduler.
3
+
4
+ This module provides a unified interface for different AI agent execution engines,
5
+ allowing the Worker to seamlessly switch between Gemini, Claude, and future engines.
6
+ """
7
+
8
+ from abc import ABC, abstractmethod
9
+ from typing import List
10
+
11
+
12
+ class EngineAdapter(ABC):
13
+ """
14
+ Abstract base class for agent engine adapters.
15
+
16
+ Each adapter is responsible for:
17
+ 1. Constructing the correct CLI command for its engine
18
+ 2. Handling engine-specific error scenarios
19
+ 3. Providing metadata about the engine's capabilities
20
+ """
21
+
22
+ @abstractmethod
23
+ def build_command(self, prompt: str) -> List[str]:
24
+ """
25
+ Build the CLI command to execute the agent with the given prompt.
26
+
27
+ Args:
28
+ prompt: The instruction/context to send to the agent
29
+
30
+ Returns:
31
+ List of command arguments (e.g., ["gemini", "-y", "prompt text"])
32
+ """
33
+ pass
34
+
35
+ @property
36
+ @abstractmethod
37
+ def name(self) -> str:
38
+ """Return the canonical name of this engine."""
39
+ pass
40
+
41
+ @property
42
+ def supports_yolo_mode(self) -> bool:
43
+ """Whether this engine supports auto-approval mode."""
44
+ return False
45
+
46
+
47
+ class GeminiAdapter(EngineAdapter):
48
+ """
49
+ Adapter for Google Gemini CLI.
50
+
51
+ Command format: gemini -y <prompt>
52
+ The -y flag enables "YOLO mode" (auto-approval of actions).
53
+ """
54
+
55
+ def build_command(self, prompt: str) -> List[str]:
56
+ return ["gemini", "-y", prompt]
57
+
58
+ @property
59
+ def name(self) -> str:
60
+ return "gemini"
61
+
62
+ @property
63
+ def supports_yolo_mode(self) -> bool:
64
+ return True
65
+
66
+
67
+ class ClaudeAdapter(EngineAdapter):
68
+ """
69
+ Adapter for Anthropic Claude CLI.
70
+
71
+ Command format: claude -p <prompt>
72
+ The -p/--print flag enables non-interactive mode (print response and exit).
73
+ """
74
+
75
+ def build_command(self, prompt: str) -> List[str]:
76
+ return ["claude", "-p", prompt]
77
+
78
+ @property
79
+ def name(self) -> str:
80
+ return "claude"
81
+
82
+ @property
83
+ def supports_yolo_mode(self) -> bool:
84
+ # Claude uses -p for non-interactive mode, similar concept
85
+ return True
86
+
87
+
88
+ class QwenAdapter(EngineAdapter):
89
+ """
90
+ Adapter for Qwen Code CLI.
91
+
92
+ Command format: qwen -y <prompt>
93
+ The -y flag enables "YOLO mode" (auto-approval of actions).
94
+ """
95
+
96
+ def build_command(self, prompt: str) -> List[str]:
97
+ return ["qwen", "-y", prompt]
98
+
99
+ @property
100
+ def name(self) -> str:
101
+ return "qwen"
102
+
103
+ @property
104
+ def supports_yolo_mode(self) -> bool:
105
+ return True
106
+
107
+
108
+ class EngineFactory:
109
+ """
110
+ Factory for creating engine adapter instances.
111
+
112
+ Usage:
113
+ adapter = EngineFactory.create("gemini")
114
+ command = adapter.build_command("Write a test")
115
+ """
116
+
117
+ _adapters = {
118
+ "gemini": GeminiAdapter,
119
+ "claude": ClaudeAdapter,
120
+ "qwen": QwenAdapter,
121
+ }
122
+
123
+ @classmethod
124
+ def create(cls, engine_name: str) -> EngineAdapter:
125
+ """
126
+ Create an adapter instance for the specified engine.
127
+
128
+ Args:
129
+ engine_name: Name of the engine (e.g., "gemini", "claude")
130
+
131
+ Returns:
132
+ An instance of the appropriate EngineAdapter
133
+
134
+ Raises:
135
+ ValueError: If the engine is not supported
136
+ """
137
+ adapter_class = cls._adapters.get(engine_name.lower())
138
+ if not adapter_class:
139
+ supported = ", ".join(cls._adapters.keys())
140
+ raise ValueError(
141
+ f"Unsupported engine: '{engine_name}'. "
142
+ f"Supported engines: {supported}"
143
+ )
144
+ return adapter_class()
145
+
146
+ @classmethod
147
+ def supported_engines(cls) -> List[str]:
148
+ """Return a list of all supported engine names."""
149
+ return list(cls._adapters.keys())
@@ -1,6 +1,8 @@
1
+ from pathlib import Path
2
+ from monoco.core.config import get_config
1
3
  from .manager import SessionManager
2
4
  from .session import RuntimeSession
3
- from .defaults import DEFAULT_ROLES
5
+ from .config import load_scheduler_config
4
6
 
5
7
 
6
8
  class ApoptosisManager:
@@ -11,10 +13,15 @@ class ApoptosisManager:
11
13
 
12
14
  def __init__(self, session_manager: SessionManager):
13
15
  self.session_manager = session_manager
16
+
17
+ # Load roles dynamically based on current project context
18
+ settings = get_config()
19
+ project_root = Path(settings.paths.root).resolve()
20
+ roles = load_scheduler_config(project_root)
21
+
14
22
  # Find coroner role
15
- self.coroner_role = next(
16
- (r for r in DEFAULT_ROLES if r.name == "coroner"), None
17
- )
23
+ self.coroner_role = roles.get("coroner")
24
+
18
25
  if not self.coroner_role:
19
26
  raise ValueError("Coroner role not defined!")
20
27
 
@@ -1,6 +1,6 @@
1
1
  from datetime import datetime
2
2
  from typing import Optional
3
- from pydantic import BaseModel, Field
3
+ from pydantic import BaseModel, Field, ConfigDict
4
4
  from .worker import Worker
5
5
 
6
6
 
@@ -10,6 +10,8 @@ class Session(BaseModel):
10
10
  Persisted state of the session.
11
11
  """
12
12
 
13
+ model_config = ConfigDict(arbitrary_types_allowed=True)
14
+
13
15
  id: str = Field(..., description="Unique session ID (likely UUID)")
14
16
  issue_id: str = Field(..., description="The Issue ID this session is working on")
15
17
  role_name: str = Field(..., description="Name of the role employed")
@@ -24,9 +26,6 @@ class Session(BaseModel):
24
26
  # History could be a list of logs or pointers to git commits
25
27
  # For now, let's keep it simple. The git log IS the history.
26
28
 
27
- class Config:
28
- arbitrary_types_allowed = True
29
-
30
29
 
31
30
  class RuntimeSession:
32
31
  """
@@ -1,5 +1,6 @@
1
1
  from typing import Optional
2
2
  from .models import RoleTemplate
3
+ from .engines import EngineFactory
3
4
 
4
5
 
5
6
  class Worker:
@@ -37,7 +38,8 @@ class Worker:
37
38
  import sys
38
39
 
39
40
  # Prepare the prompt
40
- if self.role.name == "drafter" and context:
41
+ # We treat 'crafter' as a drafter when context is provided (Draft Mode)
42
+ if (self.role.name == "drafter" or self.role.name == "crafter") and context:
41
43
  issue_type = context.get("type", "feature")
42
44
  description = context.get("description", "No description")
43
45
  prompt = (
@@ -64,10 +66,9 @@ class Worker:
64
66
  print(f"[{self.role.name}] Goal: {self.role.goal}")
65
67
 
66
68
  try:
67
- # Execute CLI agent with YOLO mode
68
- engine_args = (
69
- [engine, "-y", prompt] if engine == "gemini" else [engine, prompt]
70
- )
69
+ # Use factory to get the appropriate engine adapter
70
+ adapter = EngineFactory.create(engine)
71
+ engine_args = adapter.build_command(prompt)
71
72
 
72
73
  self._process = subprocess.Popen(
73
74
  engine_args, stdout=sys.stdout, stderr=sys.stderr, text=True
@@ -77,6 +78,9 @@ class Worker:
77
78
  # DO NOT WAIT HERE.
78
79
  # The scheduler/monitoring loop is responsible for checking status.
79
80
 
81
+ except ValueError as e:
82
+ # Engine not supported by factory
83
+ raise RuntimeError(f"Unsupported engine '{engine}'. {str(e)}")
80
84
  except FileNotFoundError:
81
85
  raise RuntimeError(
82
86
  f"Agent engine '{engine}' not found. Please ensure it is installed and in PATH."
monoco/main.py CHANGED
@@ -169,6 +169,11 @@ app.add_typer(workspace_cmd.app, name="workspace", help="Manage workspace")
169
169
  from monoco.features.scheduler import cli as scheduler_cmd
170
170
 
171
171
  app.add_typer(scheduler_cmd.app, name="agent", help="Manage agent sessions")
172
+ app.add_typer(scheduler_cmd.role_app, name="role", help="Manage agent roles")
173
+
174
+ from monoco.features.memo import app as memo_app
175
+
176
+ app.add_typer(memo_app, name="memo", help="Manage fleeting notes (memos)")
172
177
 
173
178
 
174
179
  from monoco.daemon.commands import serve
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: monoco-toolkit
3
- Version: 0.3.3
3
+ Version: 0.3.6
4
4
  Summary: Agent Native Toolkit for Monoco - Task Management & Kanban for AI Agents
5
5
  Project-URL: Homepage, https://monoco.io
6
6
  Project-URL: Repository, https://github.com/IndenScale/Monoco
@@ -40,45 +40,37 @@ Description-Content-Type: text/markdown
40
40
 
41
41
  > **The Operating System for Agentic Engineering.**
42
42
  >
43
- > Ground your AI Agents into deterministic workflows. Turn vague "chats" into structured, validatable, and shippable engineering units.
43
+ > Stop chatting. Start building.
44
+ > Monoco grounds your AI Agents into deterministic, validatable, and shippable engineering workflows.
44
45
 
45
46
  ---
46
47
 
47
- ## ⚡️ Why Monoco?
48
+ ## ⚡️ The Gap: "Chat" is not Engineering.
48
49
 
49
- In the era of LLMs, the bottleneck isn't **intelligence**—it's **control**.
50
+ Generating code is easy. **Engineering**—managing dependencies, maintaining state, validation, and version control—is hard.
50
51
 
51
- Generating code is easy. Managing the lifecycle of thousands of agent-generated tasks, validating their outputs, and maintaining a coherent project state is hard. **Monoco** is the missing control plane that bridges the gap between raw AI velocity and strict engineering rigor.
52
+ Most Agent workflows today are fragile "chats". Monoco turns them into **Software Engineering Processes**. It acts as the "BizOps" layer for your Agents, ensuring that every line of code generated is tracked, reviewed, and aligned with the project roadmap.
52
53
 
53
- Monoco handles the **"BizOps Logic"** of your development process, allowing you to orchestrate human and AI labor within a unified, version-controlled environment.
54
+ ## 🌟 Core Philosophy
54
55
 
55
- ## 🌟 Core Features
56
+ ### 1. Co-pilot by Design
56
57
 
57
- ### 1. Issue as Code (IaaC)
58
+ **Just-enough Automation.**
59
+ Monoco abstracts away the tedious details (Git ops, state tracking) while keeping you securely in the driver's seat. Agents can suggest and build, but **you** always have the final say on what gets merged.
58
60
 
59
- Treat your project management like your code.
61
+ ### 2. Battle-Tested Best Practices
60
62
 
61
- - **Markdown Native**: All tasks (Epics, Features, Chores) are stored as structured Markdown files in your repository.
62
- - **Git Backed**: Version control your roadmap. Review changes to requirements via Pull Requests.
63
- - **Universal Context**: Provides a standardized, hallucination-free state representation for AI Agents.
63
+ **Senior Engineer Intuition.**
64
+ Monoco enforces **Issue Driven Development (IDD)** and standard **Git Workflows**. We bake the rigorous habits of effective software teams into the Agent's core loop, ensuring every line of code is traceable and reviewed.
64
65
 
65
- ### 2. The Agent Cockpit (VS Code Extension)
66
+ ### 3. Radical Transparency (Dogfooding)
66
67
 
67
- Stop context switching. Manage your entire agentic workflow directly inside your editor.
68
-
69
- - **Native Kanban Board**: Visualize and drag-and-drop tasks without leaving VS Code.
70
- - **Hierarchical Tree View**: Drill down from high-level Epics to atomic Implementation Tasks.
71
- - **Agent Integration**: Bind specific Agent Providers (Gemini, Claude, etc.) to specific tasks.
72
-
73
- ### 3. Traceable Execution
74
-
75
- - **Deterministic State Machine**: Every task follows a strict lifecycle (Proposed -> Approved -> Doing -> Review -> Done).
76
- - **Audit Trails**: Agents log their actions and decisions directly into the task file.
77
- - **Sanity Checks**: Built-in linters ensure your task definitions are complete and valid before execution.
68
+ **Process as Product.**
69
+ Monoco is built by Monoco. We believe in open-sourcing not just the code, but the engineering process itself. Every design decision, interaction log, and failure is public—providing a live blueprint for Agentic Engineering.
78
70
 
79
71
  ## 🚀 Quick Start
80
72
 
81
- ### Installation
73
+ ### 1. Installation
82
74
 
83
75
  Monoco is available as a Python CLI tool.
84
76
 
@@ -86,33 +78,32 @@ Monoco is available as a Python CLI tool.
86
78
  pip install monoco-toolkit
87
79
  ```
88
80
 
89
- ### Initialization
81
+ ### 2. Workspace Initialization
90
82
 
91
- Turn any directory into a Monoco workspace.
83
+ Turn any directory into a Monoco Workspace. This creates the `.monoco` config and the `Issues/` directory.
92
84
 
93
85
  ```bash
94
86
  monoco init
95
87
  ```
96
88
 
97
- ### Workflow
98
-
99
- 1. **Plan**: Create a new feature request.
100
- ```bash
101
- monoco issue create feature -t "Implement Dark Mode"
102
- ```
103
- 2. **Start**: Create a feature branch automatically.
104
- ```bash
105
- monoco issue start FEAT-001 --branch
106
- ```
107
- 3. **Code & Sync**: Track modified files automatically.
108
- ```bash
109
- monoco issue sync-files
110
- ```
111
- 4. **Visualize**: Open the board in VS Code or via CLI.
112
- ```bash
113
- # Starts the local server
114
- monoco serve
115
- ```
89
+ ### 3. Agent Synchronization
90
+
91
+ **Crucial Step**: This injects the "Monoco System Neural Network" (System Prompts & Skills) into your agent configuration files (e.g., `GEMINI.md`, `CLAUDE.md`).
92
+
93
+ ```bash
94
+ monoco sync
95
+ ```
96
+
97
+ ### 4. The Engineering Loop (Agent-First)
98
+
99
+ In Monoco, you don't need to memorize CLI commands. **The Agent is your DevOps Engineer.**
100
+
101
+ 1. **Chat**: Tell your Agent in the chatbox (e.g., _"Implement Dark Mode"_).
102
+ 2. **Plan**: The Agent investigates and proposes an **Issue Ticket** for your review.
103
+ 3. **Build**: Once approved, the Agent creates a branch, writes code, and submits changes.
104
+ 4. **Ship**: You accept the results. The Agent handles the merge and closure.
105
+
106
+ ---
116
107
 
117
108
  ## 📦 Extension for VS Code
118
109
 
@@ -1,4 +1,4 @@
1
- monoco/main.py,sha256=YGQ-A3UlD12cyvJscFfV_BFpeHxlm_LJn_WVIaLrINc,5484
1
+ monoco/main.py,sha256=IF8pN71fFL0AwxtnRxXQaoi9NgBf0YAhppWlc8SuiTM,5688
2
2
  monoco/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  monoco/cli/project.py,sha256=FqLaDD3hiWxa0_TKzxEF7PYH9RPsvmLyjO3NYVckgGs,2737
4
4
  monoco/cli/workspace.py,sha256=1TVVS835XyirLDvBGQXSblIaYVhe2Pk9EpORDvcktyk,1538
@@ -41,15 +41,18 @@ monoco/features/i18n/resources/en/SKILL.md,sha256=Z8fAAqeMvpLDw1D_9AzZIykS5-HLVM
41
41
  monoco/features/i18n/resources/zh/AGENTS.md,sha256=lKkwLLCADRH7UDq9no4eQY2sRfJrb64JoZ_HNved8vA,175
42
42
  monoco/features/i18n/resources/zh/SKILL.md,sha256=Wynk7zVBW7CO0_6AEQNUvlD_3eMW_7EPnzEn9QUaiDs,1884
43
43
  monoco/features/issue/adapter.py,sha256=4dzKg4-0XH63uORoh8qcolvKxJR6McBDIYxYEcZJJkA,1204
44
- monoco/features/issue/commands.py,sha256=V5EVdmin-JPoqdV9-vrbKcZ7HXWHZt-zq_mM1kqFVu0,38163
45
- monoco/features/issue/core.py,sha256=kRyUbYqEBno0Zoogq7dMIcQv5M0QIRSlptvzp0pfImE,51302
44
+ monoco/features/issue/commands.py,sha256=vaScb2J4qjUvO8DSlKhTrGDSfIyJ4zIUr14jhBlG6tE,37581
45
+ monoco/features/issue/core.py,sha256=9b5BVJJz5Ek3QNKqOhn6GSgvkmpAN45zmb8CQJVsPjc,51452
46
46
  monoco/features/issue/domain_commands.py,sha256=eatSF_uZp4nGpVr2PIgb00MWfEBm0OnyAd4JvUJEAAA,1535
47
47
  monoco/features/issue/domain_service.py,sha256=bEs_WXOWmotgIR-lGwyWekF4nonvjsgrK1YG3pyVfwk,2564
48
- monoco/features/issue/linter.py,sha256=lBXWj3T9OK4ysU33Mr-gzO7wcxXxl4Mu_IMgv4ePwjQ,26502
48
+ monoco/features/issue/linter.py,sha256=LLtJEVIzoGTNm1liZARJHM3-V-EODkGRuw3ExCZtEjY,26115
49
49
  monoco/features/issue/migration.py,sha256=i0xlxZjrpmuHGHOAIN4iu31EwwVIvZn7yjveS-kU22c,4896
50
- monoco/features/issue/models.py,sha256=7oIMxvUEfe00n7wni9bZgKU2e9404flvArixbLQ95Dg,5902
50
+ monoco/features/issue/models.py,sha256=pIgun9dDTelDJa6RqhLJb2OR201cimOoNEB78qUsvG0,7286
51
51
  monoco/features/issue/monitor.py,sha256=vZN0TbR3V5fHKHRGkIhimO6UwWcwYjDHQs2qzjEG174,3549
52
- monoco/features/issue/validator.py,sha256=8N921_3B2Cd3hFjRRMFPwCZh9Pbc6CsGXFRt28X9KLQ,26798
52
+ monoco/features/issue/resolver.py,sha256=mAU9s7TNNHY9A2278JTwJvxU-jalGKTDJfJdjONev3E,5655
53
+ monoco/features/issue/test_priority_integration.py,sha256=pTBg3Wjv6lLYxWL6vjbo2NGVE-X0MRB3Ha8bqObZrU4,2791
54
+ monoco/features/issue/test_resolver.py,sha256=luFhK37DUvh4a3TTcFYVO-oOIJljQVCSYicwSWyDleQ,2530
55
+ monoco/features/issue/validator.py,sha256=GYqbx2-ZxXfk1HicgBXkpL__v83KK-jcOyo7eW-VRUs,27793
53
56
  monoco/features/issue/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
57
  monoco/features/issue/domain/lifecycle.py,sha256=oIuLYTVy1RRHGngAzbNU4kTWOHMBhjuw_TuYCwNqMJw,4991
55
58
  monoco/features/issue/domain/models.py,sha256=2vuSAGaFrbAEkQapwkGG_T8cHlsmARN71fTA44PIVSM,5850
@@ -57,23 +60,27 @@ monoco/features/issue/domain/parser.py,sha256=axfB9BjY-m4DQqYwTQBm_38plOidZaDqFt
57
60
  monoco/features/issue/domain/workspace.py,sha256=nyTEFNmpLPuX7nssMCBiFI1XBhY9zbqG877Ppp_s0Fg,3658
58
61
  monoco/features/issue/engine/__init__.py,sha256=-SBvzjlZJz0O-IB1c95d9pbhr3lydJNLq2vhnfkZ8PQ,747
59
62
  monoco/features/issue/engine/config.py,sha256=7enjPW4J_fpuK08ov6LpfQ-9h2T1D4Hc5yIXOPuQvLs,5761
60
- monoco/features/issue/engine/machine.py,sha256=Bun_5jHlFRA7Duy7zG8f1GZIbZlPKt6C7RZ4vP7qJWc,7503
63
+ monoco/features/issue/engine/machine.py,sha256=BTYjp8NQAzu8JVP95bQdkOLrJjFsRNR7uC8tjsUTqCk,6393
61
64
  monoco/features/issue/engine/models.py,sha256=595Sx3ncrpg_PhnbBLthohAvuhnjA-_9oXcrsT6Lv0k,574
62
65
  monoco/features/issue/lsp/__init__.py,sha256=8bl8-WzSj3C4SkPKgVGnCeyemmvHVWBsuMZsJuJggG8,77
63
66
  monoco/features/issue/lsp/definition.py,sha256=cF6Quw1OztuKMJ1zLvgA_ek7lTAdzHF0m4LVznpbAPw,3203
64
- monoco/features/issue/resources/en/AGENTS.md,sha256=7lMJdLhokispHVTrViIyMaz5TOJ88GkPKfWZp4FlgRQ,1015
67
+ monoco/features/issue/resources/en/AGENTS.md,sha256=eHHXjLRDAV7IKrYPQSilxu0X5D0SBCAFBXmlSoc9r48,1278
65
68
  monoco/features/issue/resources/en/SKILL.md,sha256=M5khTJdraQenX0tf7RHOVcqyKHC285qwDzWdsCJ7XPI,4032
66
- monoco/features/issue/resources/zh/AGENTS.md,sha256=veb22lU0qindYcsNsuGLqzpBEjExCPDOkX5Q39OjZz0,1113
69
+ monoco/features/issue/resources/zh/AGENTS.md,sha256=oRHHqeDYx6aEc5FfdL7a-zqT7uh4SYIYt8QBRKEKrYM,1351
67
70
  monoco/features/issue/resources/zh/SKILL.md,sha256=XFE33cCCos0U1IVNkMhU7fGuqVqfxo_FNKdp1aScaoM,5055
71
+ monoco/features/memo/__init__.py,sha256=ledMrs-h5k_4wssXWv4MBYTDi-HHo3Fv8QAMpqlQI_M,40
72
+ monoco/features/memo/cli.py,sha256=nw5Kg7Qu33ucwrBaJS5CIkPRA_6TlJQQz2TvDWL2Nqc,2685
73
+ monoco/features/memo/core.py,sha256=HUQLohVZ6KCU2chi18tEQYtohzl1-bOR5F12W40QkIc,2226
68
74
  monoco/features/scheduler/__init__.py,sha256=hvE9A14qFTeTYbWlK9iMRdXIFLMBuG8724GEZzFTHB8,483
69
- monoco/features/scheduler/cli.py,sha256=peRfALi_4etXpyn9SKl98lNJhUdNWlgX1GVo0xXSlLI,5859
70
- monoco/features/scheduler/config.py,sha256=4kC9ll-bFd8jldzxF29D94inn4HR2DkDEO-4u0LqjXA,1175
75
+ monoco/features/scheduler/cli.py,sha256=NgsGwCf615YA4VGd-mqMpGp5VCjdMUqoZqiHZFnDdLU,8325
76
+ monoco/features/scheduler/config.py,sha256=69PTvKGHJ33fA2yhFJAq0WVq70Zbmdd5X8Wl0vIYAak,2336
71
77
  monoco/features/scheduler/defaults.py,sha256=4Ne3RpF7gZ46BmHtF0hC8wYkuCIkDSuKB7hGnHhGXms,2208
78
+ monoco/features/scheduler/engines.py,sha256=ICKw4Kfme6UNl_JLJvT7hADKHo76Yr8wpFFEvtEV6z4,3799
72
79
  monoco/features/scheduler/manager.py,sha256=PmNKqfktgrdpUwE-jPE_WX3IvzZat0JKdEcmzse08-0,1680
73
80
  monoco/features/scheduler/models.py,sha256=rb8rx8t_TD5ilUC6xU3jvK0sud7YUZE_iEdes9Np8R0,877
74
- monoco/features/scheduler/reliability.py,sha256=AGs87DPkAa0IMYtQ5x7dpAOeTB4NTRh37FJsiqZY9Y4,3624
75
- monoco/features/scheduler/session.py,sha256=V1xFXA65BaERhBwRYIecaye2TjDtFvAzuIy2gZ68ag8,2954
76
- monoco/features/scheduler/worker.py,sha256=4eFyC3118ZuUnmiFVe3nSTUsIOn-N2uPXpCP_1FSTRg,4238
81
+ monoco/features/scheduler/reliability.py,sha256=zVwtnksug5wr0_tigC2Qjl_C8VNyrheN_34ItUceGoo,3846
82
+ monoco/features/scheduler/session.py,sha256=5xga191nWXqJOLgl3MTTJ3zDrVZcj8SxZcxYM6-CtLU,2969
83
+ monoco/features/scheduler/worker.py,sha256=4OU2Y7nG5EKadNIKDF5GWl5V7vgVl3OPlYHShfiEeBI,4538
77
84
  monoco/features/skills/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
85
  monoco/features/skills/core.py,sha256=BXVvMot8E457-pj9U19lPHypBVhdLQRsx0zEAXJxpGY,3436
79
86
  monoco/features/spike/adapter.py,sha256=ZIpw-xNVoA2IIP18dbR-dmQGbQmK5ua_P-uGXuDjCeI,1021
@@ -83,8 +90,8 @@ monoco/features/spike/resources/en/AGENTS.md,sha256=NG3CMnlDk_0J8hnRUcueAM9lgIQr
83
90
  monoco/features/spike/resources/en/SKILL.md,sha256=qKDcVh0D3pDRvfNLh1Bzo4oQU3obpl4tqdlzxeiWYMk,1911
84
91
  monoco/features/spike/resources/zh/AGENTS.md,sha256=5RHNl7fc3RdYYTFH483ojJl_arGPKkyYziOuGgFbqqg,290
85
92
  monoco/features/spike/resources/zh/SKILL.md,sha256=Q82e9lCQOAYIwBs5rGnvlVUDq7bp0pz8yvO10KTWFYQ,1710
86
- monoco_toolkit-0.3.3.dist-info/METADATA,sha256=GXPy1vr5MxL9afZc7r-vvUUOofmjiShBZe3qA9X9MHc,4866
87
- monoco_toolkit-0.3.3.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
88
- monoco_toolkit-0.3.3.dist-info/entry_points.txt,sha256=iYj7FWYBdtClU15-Du1skqD0s6SFSIhJvxJ29VWp8ng,43
89
- monoco_toolkit-0.3.3.dist-info/licenses/LICENSE,sha256=ACAGGjV6aod4eIlVUTx1q9PZbnZGN5bBwkSs9RHj83s,1071
90
- monoco_toolkit-0.3.3.dist-info/RECORD,,
93
+ monoco_toolkit-0.3.6.dist-info/METADATA,sha256=UZH_Na2LgWBEQ8KWU084wgO8l9AK_HlTRc2YD58DT8o,4732
94
+ monoco_toolkit-0.3.6.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
95
+ monoco_toolkit-0.3.6.dist-info/entry_points.txt,sha256=iYj7FWYBdtClU15-Du1skqD0s6SFSIhJvxJ29VWp8ng,43
96
+ monoco_toolkit-0.3.6.dist-info/licenses/LICENSE,sha256=ACAGGjV6aod4eIlVUTx1q9PZbnZGN5bBwkSs9RHj83s,1071
97
+ monoco_toolkit-0.3.6.dist-info/RECORD,,