devops-bot-sdk 1.2.0__tar.gz → 1.2.1__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 (29) hide show
  1. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/PKG-INFO +1 -1
  2. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/devops_bot_sdk.egg-info/PKG-INFO +1 -1
  3. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/pyproject.toml +1 -1
  4. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/sdk/ipc/handlers.py +23 -0
  5. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/README.md +0 -0
  6. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/devops_bot_sdk.egg-info/SOURCES.txt +0 -0
  7. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/devops_bot_sdk.egg-info/dependency_links.txt +0 -0
  8. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/devops_bot_sdk.egg-info/entry_points.txt +0 -0
  9. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/devops_bot_sdk.egg-info/requires.txt +0 -0
  10. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/devops_bot_sdk.egg-info/top_level.txt +0 -0
  11. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/sdk/__init__.py +0 -0
  12. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/sdk/client.py +0 -0
  13. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/sdk/collectors/__init__.py +0 -0
  14. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/sdk/collectors/files.py +0 -0
  15. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/sdk/collectors/process.py +0 -0
  16. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/sdk/collectors/screenshot.py +0 -0
  17. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/sdk/config.py +0 -0
  18. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/sdk/exceptions.py +0 -0
  19. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/sdk/ipc/__init__.py +0 -0
  20. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/sdk/ipc/electron_bridge.py +0 -0
  21. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/sdk/models/__init__.py +0 -0
  22. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/sdk/models/envelope.py +0 -0
  23. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/sdk/models/requests.py +0 -0
  24. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/sdk/models/responses.py +0 -0
  25. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/sdk/models/snapshots.py +0 -0
  26. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/sdk/py.typed +0 -0
  27. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/sdk/sse.py +0 -0
  28. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/sdk/test.py +0 -0
  29. {devops_bot_sdk-1.2.0 → devops_bot_sdk-1.2.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devops-bot-sdk
3
- Version: 1.2.0
3
+ Version: 1.2.1
4
4
  Summary: DevOps Bot Desktop SDK — thin client for the AgentOS Electron desktop app
5
5
  Author: noumanaziz2128
6
6
  License-Expression: LicenseRef-Proprietary
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devops-bot-sdk
3
- Version: 1.2.0
3
+ Version: 1.2.1
4
4
  Summary: DevOps Bot Desktop SDK — thin client for the AgentOS Electron desktop app
5
5
  Author: noumanaziz2128
6
6
  License-Expression: LicenseRef-Proprietary
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "devops-bot-sdk"
7
- version = "1.2.0"
7
+ version = "1.2.1"
8
8
  description = "DevOps Bot Desktop SDK — thin client for the AgentOS Electron desktop app"
9
9
  readme = "README.md"
10
10
  license = "LicenseRef-Proprietary"
@@ -11,6 +11,7 @@ Channel contract:
11
11
  pipeline:run payload: {user_input, project_path?, dev_engine?, model?,
12
12
  apply_diffs?, jira_task_id?, role_slug?, user_id?, thread_id?}
13
13
  pipeline:stream payload: same as pipeline:run
14
+ orchestrator:approve payload: {task_id, decision: approved|rejected, note?, thread_id?}
14
15
  collectors:upload payload: {type, token, paths?: [...], project}
15
16
  onboarding:step payload: {step, input}
16
17
  auth:oauth_start payload: {service}
@@ -129,6 +130,27 @@ async def handle_pipeline_run(
129
130
  await send(_error_envelope(thread_id, exc).model_dump())
130
131
 
131
132
 
133
+ async def handle_orchestrator_approve(
134
+ client: BackendClient, payload: dict, send: Callable
135
+ ) -> None:
136
+ """orchestrator:approve — record an approval/rejection on a pending gate.
137
+
138
+ POST /orchestrator/tasks/{task_id}/approve. Emits an `orchestrator.approved`
139
+ envelope with the backend result (or `error`).
140
+ """
141
+ thread_id = str(payload.get("thread_id", payload.get("task_id", "")) or "")
142
+ task_id = str(payload.get("task_id", ""))
143
+ decision = str(payload.get("decision", "approved"))
144
+ note = str(payload.get("note", ""))
145
+ try:
146
+ result = await client.approve_task(task_id, decision, note)
147
+ await send(Envelope(
148
+ type="orchestrator.approved", thread_id=thread_id, data=result,
149
+ ).model_dump())
150
+ except Exception as exc:
151
+ await send(_error_envelope(thread_id, exc).model_dump())
152
+
153
+
132
154
  async def handle_collectors_upload(
133
155
  client: BackendClient, payload: dict, send: Callable
134
156
  ) -> None:
@@ -214,6 +236,7 @@ CHANNELS: dict[str, Callable] = {
214
236
  "orchestrator:stream": handle_orchestrator_run,
215
237
  "pipeline:run": handle_pipeline_run,
216
238
  "pipeline:stream": handle_pipeline_run,
239
+ "orchestrator:approve": handle_orchestrator_approve,
217
240
  "collectors:upload": handle_collectors_upload,
218
241
  "onboarding:step": handle_onboarding_step,
219
242
  "auth:oauth_start": handle_oauth_start,
File without changes
File without changes