steerdev 1.1.2__tar.gz → 1.1.3__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.
- {steerdev-1.1.2 → steerdev-1.1.3}/PKG-INFO +1 -1
- {steerdev-1.1.2 → steerdev-1.1.3}/pyproject.toml +1 -1
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/prompt/builder.py +1 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/runner.py +4 -3
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/worktree.py +2 -2
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_preparation.py +3 -3
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_runner_merge_modes.py +2 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_runner_worktrees.py +4 -4
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_worktree.py +2 -2
- {steerdev-1.1.2 → steerdev-1.1.3}/.github/workflows/pre-commit.yml +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/.github/workflows/publish.yml +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/.gitignore +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/.pre-commit-config.yaml +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/AGENTS.md +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/CLAUDE.md +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/README.md +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/scripts/pre-commit-version-bump.sh +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/snapshots/steerdev-agent-v1/Dockerfile +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/snapshots/steerdev-agent-v1/start-agent.sh +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/__init__.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/agent_loop.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/api/__init__.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/api/activity.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/api/agents.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/api/canals.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/api/client.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/api/commands.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/api/configs.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/api/context.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/api/events.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/api/hooks.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/api/implementation_plan.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/api/merger.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/api/messages.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/api/prd.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/api/reports.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/api/runs.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/api/sessions.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/api/specs.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/api/tasks.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/api/workflow_runs.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/api/workflows.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/cli.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/config/__init__.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/config/models.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/config/platform.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/config/settings.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/evidence.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/evidence_assets.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/executor/__init__.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/executor/base.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/executor/claude.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/executor/stream.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/handlers/__init__.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/handlers/prd.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/integration.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/prompt/__init__.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/prompt/templates.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/prompt/workflow_template.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/py.typed +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/retry.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/setup/__init__.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/setup/claude_setup.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/setup/repo_setup.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/setup/templates/ci/canal-integration.yml +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/setup/templates/claude_md_section.md +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/setup/templates/settings.json +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/setup/templates/skills/steerdev-activity-skill/SKILL.md +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/setup/templates/skills/steerdev-canal-workflow-skill/SKILL.md +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/setup/templates/skills/steerdev-context-skill/SKILL.md +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/setup/templates/skills/steerdev-git-workflow-skill/SKILL.md +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/setup/templates/skills/steerdev-merge-into-canal-skill/SKILL.md +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/setup/templates/skills/steerdev-progress-logging-skill/SKILL.md +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/setup/templates/skills/steerdev-single-task-merge-skill/SKILL.md +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/setup/templates/skills/steerdev-specs-management-skill/SKILL.md +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/setup/templates/skills/steerdev-task-management-skill/SKILL.md +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/setup/templates/skills/steerdev-wave-tasks-merge-skill/SKILL.md +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/setup/templates/steerdev.yaml +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/setup/templates/worktrunk.config.toml +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/update_check.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/version.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/workflow/__init__.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/workflow/context.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/workflow/executor.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/workflow/memory.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/workspace/__init__.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/workspace/preparation.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/workspace/project_manager.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/workspace/tool_detection.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/__init__.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_agent_loop.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_agent_loop_extended.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_agents_api.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_api_client.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_claude_executor.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_claude_setup.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_client_methods.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_commands_api.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_config.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_config_extended.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_conflict_mitigation.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_context_search.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_executor.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_platform_config.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_prompt.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_reports_client.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_retry.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_stream_parser.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_tasks.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_version.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_workflow_context.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_workflow_memory.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_workflow_prompt_template.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_workflow_runs_api.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_workspace.py +0 -0
- {steerdev-1.1.2 → steerdev-1.1.3}/tests/test_workspace_extended.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: steerdev
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.3
|
|
4
4
|
Summary: Backend task runner for steerdev.com - orchestrates CLI coding agents with activity reporting
|
|
5
5
|
Project-URL: Homepage, https://github.com/pentoai/steerdev-agent
|
|
6
6
|
Project-URL: Repository, https://github.com/pentoai/steerdev-agent
|
|
@@ -24,6 +24,7 @@ class WaveContext(BaseModel):
|
|
|
24
24
|
|
|
25
25
|
wave_number: int = Field(description="Current wave number")
|
|
26
26
|
total_waves: int = Field(description="Total number of waves")
|
|
27
|
+
wave_name: str = Field(default="", description="Unique wave name (e.g., wave-532d5c)")
|
|
27
28
|
wave_description: str = Field(default="", description="Description of this wave")
|
|
28
29
|
wave_tasks_summary: str = Field(default="", description="Summary of tasks in this wave")
|
|
29
30
|
completed_waves_summary: str = Field(default="", description="Summary of completed waves")
|
|
@@ -111,6 +111,7 @@ def build_wave_context(wave_response: dict[str, Any]) -> WaveContext | None:
|
|
|
111
111
|
return WaveContext(
|
|
112
112
|
wave_number=wave_info.get("wave_number", 1),
|
|
113
113
|
total_waves=wave_info.get("total_waves", 1),
|
|
114
|
+
wave_name=wave_info.get("name", ""),
|
|
114
115
|
wave_description=wave_info.get("description", ""),
|
|
115
116
|
wave_tasks_summary=tasks_summary,
|
|
116
117
|
completed_waves_summary=completed_summary,
|
|
@@ -187,13 +188,13 @@ def compute_worktree_name(task_id: str, wave_context: WaveContext | None = None)
|
|
|
187
188
|
"""Compute the git worktree name for a task execution.
|
|
188
189
|
|
|
189
190
|
Naming conventions:
|
|
190
|
-
- Wave-based: "
|
|
191
|
+
- Wave-based: "{wave_name}" (e.g., "wave-532d5c")
|
|
191
192
|
- Task-based: "task-{first_8_chars}" (e.g., "task-abc12345")
|
|
192
193
|
|
|
193
194
|
The worktree lifecycle is managed by Claude CLI via the --worktree flag.
|
|
194
195
|
"""
|
|
195
196
|
if wave_context:
|
|
196
|
-
return f"wave-{wave_context.wave_number}"
|
|
197
|
+
return wave_context.wave_name or f"wave-{wave_context.wave_number}"
|
|
197
198
|
task_short = task_id[:8] if len(task_id) > 8 else task_id
|
|
198
199
|
return f"task-{task_short}"
|
|
199
200
|
|
|
@@ -643,7 +644,7 @@ class Runner:
|
|
|
643
644
|
|
|
644
645
|
wave_id: str | None = None
|
|
645
646
|
if wave_context:
|
|
646
|
-
wave_id = f"wave-{wave_context.wave_number}"
|
|
647
|
+
wave_id = wave_context.wave_name or f"wave-{wave_context.wave_number}"
|
|
647
648
|
|
|
648
649
|
try:
|
|
649
650
|
with ReportsClient(api_key=self._api_key) as client:
|
|
@@ -213,7 +213,7 @@ def compute_branch_name(
|
|
|
213
213
|
"""Compute the branch name for a task or wave.
|
|
214
214
|
|
|
215
215
|
Naming conventions aligned with merge skill branch patterns:
|
|
216
|
-
- Wave: "
|
|
216
|
+
- Wave: "{wave_name}" (e.g., "wave-532d5c")
|
|
217
217
|
- Task with external ID: "task/{TICKET-ID}-{slug}" (e.g., "task/PROJ-123-add-auth")
|
|
218
218
|
- Task without external ID: "task/{short-id}-{slug}" (e.g., "task/abc12345-add-auth")
|
|
219
219
|
|
|
@@ -225,7 +225,7 @@ def compute_branch_name(
|
|
|
225
225
|
Branch name string.
|
|
226
226
|
"""
|
|
227
227
|
if wave_context:
|
|
228
|
-
return f"wave
|
|
228
|
+
return wave_context.wave_name or f"wave-{wave_context.wave_number}"
|
|
229
229
|
|
|
230
230
|
# Try external ticket ID first (e.g., Linear "PROJ-123")
|
|
231
231
|
external_id = task.get("linear_identifier") or task.get("external_id")
|
|
@@ -211,7 +211,7 @@ class TestWorkspacePreparationInPlace:
|
|
|
211
211
|
"""Continuing a wave stays on the wave branch, only fetches."""
|
|
212
212
|
from steerdev_agent.prompt.builder import WaveContext
|
|
213
213
|
|
|
214
|
-
wave_ctx = WaveContext(wave_number=3, total_waves=5)
|
|
214
|
+
wave_ctx = WaveContext(wave_number=3, total_waves=5, wave_name="wave-a1b2c3")
|
|
215
215
|
|
|
216
216
|
prep = WorkspacePreparation(
|
|
217
217
|
working_directory=Path("/tmp/repo"),
|
|
@@ -227,7 +227,7 @@ class TestWorkspacePreparationInPlace:
|
|
|
227
227
|
if "rev-parse --is-inside-work-tree" in cmd:
|
|
228
228
|
return (0, "true", "")
|
|
229
229
|
if "branch --show-current" in cmd:
|
|
230
|
-
return (0, "wave
|
|
230
|
+
return (0, "wave-a1b2c3", "") # Already on wave branch
|
|
231
231
|
if "fetch origin" in cmd:
|
|
232
232
|
return (0, "", "")
|
|
233
233
|
return (0, "", "")
|
|
@@ -236,7 +236,7 @@ class TestWorkspacePreparationInPlace:
|
|
|
236
236
|
result = await prep.prepare(sample_task, wave_ctx)
|
|
237
237
|
|
|
238
238
|
assert result.success is True
|
|
239
|
-
assert result.branch_name == "wave
|
|
239
|
+
assert result.branch_name == "wave-a1b2c3"
|
|
240
240
|
# Should NOT have checkout commands (stayed on branch)
|
|
241
241
|
checkout_cmds = [c for c in calls if c[0] == "checkout"]
|
|
242
242
|
assert len(checkout_cmds) == 0
|
|
@@ -12,6 +12,7 @@ def _make_wave_context() -> WaveContext:
|
|
|
12
12
|
return WaveContext(
|
|
13
13
|
wave_number=3,
|
|
14
14
|
total_waves=5,
|
|
15
|
+
wave_name="wave-a1b2c3",
|
|
15
16
|
wave_description="User management improvements",
|
|
16
17
|
wave_tasks_summary=" [todo] Add user endpoint",
|
|
17
18
|
completed_waves_summary=" - Wave 2: Auth cleanup",
|
|
@@ -23,6 +24,7 @@ def _make_wave_response(task_id: str = "task-123") -> dict:
|
|
|
23
24
|
"wave": {
|
|
24
25
|
"wave_number": 3,
|
|
25
26
|
"total_waves": 5,
|
|
27
|
+
"name": "wave-a1b2c3",
|
|
26
28
|
"description": "User management improvements",
|
|
27
29
|
},
|
|
28
30
|
"context": {
|
|
@@ -25,13 +25,13 @@ class TestComputeBranchName:
|
|
|
25
25
|
|
|
26
26
|
def test_wave_based(self):
|
|
27
27
|
task = {"id": "abc123", "title": "Something"}
|
|
28
|
-
wave = WaveContext(wave_number=3, total_waves=5)
|
|
29
|
-
assert compute_branch_name(task, wave) == "wave
|
|
28
|
+
wave = WaveContext(wave_number=3, total_waves=5, wave_name="wave-a1b2c3")
|
|
29
|
+
assert compute_branch_name(task, wave) == "wave-a1b2c3"
|
|
30
30
|
|
|
31
31
|
def test_wave_takes_precedence(self):
|
|
32
32
|
task = {"id": "abc12345xyz", "title": "Add auth", "linear_identifier": "PROJ-123"}
|
|
33
|
-
wave = WaveContext(wave_number=2, total_waves=4)
|
|
34
|
-
assert compute_branch_name(task, wave) == "wave
|
|
33
|
+
wave = WaveContext(wave_number=2, total_waves=4, wave_name="wave-f1e2d3")
|
|
34
|
+
assert compute_branch_name(task, wave) == "wave-f1e2d3"
|
|
35
35
|
|
|
36
36
|
def test_title_slugified(self):
|
|
37
37
|
task = {"id": "abc12345xyz", "title": "Add User Authentication & OAuth 2.0"}
|
|
@@ -37,8 +37,8 @@ class TestComputeBranchName:
|
|
|
37
37
|
from steerdev_agent.prompt.builder import WaveContext
|
|
38
38
|
|
|
39
39
|
task = {"id": "abc", "title": "test"}
|
|
40
|
-
wave = WaveContext(wave_number=5, total_waves=10)
|
|
41
|
-
assert compute_branch_name(task, wave) == "wave
|
|
40
|
+
wave = WaveContext(wave_number=5, total_waves=10, wave_name="wave-d4e5f6")
|
|
41
|
+
assert compute_branch_name(task, wave) == "wave-d4e5f6"
|
|
42
42
|
|
|
43
43
|
def test_task_with_linear_id(self):
|
|
44
44
|
task = {"id": "abc12345xyz", "title": "Add auth", "linear_identifier": "PROJ-42"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{steerdev-1.1.2 → steerdev-1.1.3}/src/steerdev_agent/setup/templates/ci/canal-integration.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|