Commit Graph

39 Commits

Author SHA1 Message Date
lyon f1fe46e84f fix: 将 runner 错误事件写入 OTel trace 2026-06-20 09:02:20 +08:00
lyon cd60544416 fix: emit otel spans for session send 2026-06-19 23:21:34 +08:00
lyon 18c3667ee0 feat: add manager otel spans 2026-06-19 23:05:55 +08:00
lyon 1be0e8e02f fix: enforce runner retention before job create 2026-06-19 22:35:55 +08:00
lyon c8deb818da fix: route runner job defaults through shared config 2026-06-16 13:15:52 +08:00
lyon 7aece8b902 fix: 持久化 runner 空闲保活策略 2026-06-16 13:00:42 +08:00
lyon 3e84e331b8 fix: 传递 runner boot repo URL 2026-06-15 12:00:06 +08:00
lyon 6568d13deb fix: use configured boot repo for runner jobs 2026-06-14 12:07:33 +08:00
AgentRun Codex 21ff548b86 fix: 暴露 session follow-up 可见性 2026-06-12 04:26:14 +08:00
Lyon 216209ca95 fix: return recovery action descriptors (#174)
Co-authored-by: AgentRun Codex <agentrun-codex@users.noreply.github.com>
2026-06-12 01:20:02 +08:00
AgentRun Codex 64b824911f fix: 统一 session send 续跑入口 2026-06-11 21:57:29 +08:00
AgentRun Codex 4a5b298a30 fix: show active retry interruptions in liveness 2026-06-11 21:00:29 +08:00
Lyon 8cf6534bec fix: 支持 AgentRun render-only REST 入口 (#170)
Co-authored-by: AgentRun Codex <agentrun-codex@users.noreply.github.com>
2026-06-11 15:39:52 +08:00
AgentRun Codex f49695a821 fix: use idle timeout for codex turns 2026-06-11 12:52:46 +08:00
AgentRun Codex ec62cc70dd fix: expose stale runner diagnostics 2026-06-11 09:19:43 +08:00
AgentRun Codex ae8c89e099 fix: 增强终态失败分类可见性 2026-06-11 02:50:42 +08:00
AgentRun Codex 5a6e5a4bbd fix: add aipod imageRef work-ready runner reuse 2026-06-11 01:21:56 +08:00
Codex 6989dc18ef feat: add aipod spec Artificer assembly 2026-06-10 17:46:45 +08:00
Codex 43c47d3fa9 fix: 增强长 turn liveness 可见性 2026-06-10 12:05:21 +08:00
Codex 461c775f05 fix: refresh queue read views from terminal commands 2026-06-10 08:02:01 +08:00
Codex 0247e42d70 fix: 暴露 turn 活性与 steer 投递语义 2026-06-09 23:56:39 +08:00
Codex c1018efb65 fix: assemble UniDesk SSH endpoint env 2026-06-09 21:33:02 +08:00
Codex 88ed2c1791 fix: 修复 Queue 已读投影和取消传播 2026-06-09 01:55:42 +08:00
Codex c685b749e4 fix: expose dynamic provider profiles in backends list 2026-06-09 00:28:32 +08:00
Codex 601d8190d0 feat: add provider profile removal 2026-06-08 05:30:48 +08:00
Codex eef59c74ee fix: replace hardcoded backend profile validation with isBackendProfile()
The session creation route had a hardcoded check for only codex/deepseek/minimax-m3
profiles. Since ofcx-go was added to BackendProfile type and backend-profiles.ts
spec list, the validation must use isBackendProfile() from the shared module so
that adding new profiles only requires one data change, not scattered string checks.

Refs pikasTech/HWLAB#1034
2026-06-07 21:03:47 +08:00
Codex dd58cf9a8e feat: 支持 provider profile config.toml 管理 2026-06-05 22:35:40 +08:00
Codex 05809058a5 feat: add provider profile management api 2026-06-05 16:07:26 +08:00
Codex 4793ca154a fix(v0.1): recover session PVC when prior create left session without storage
之前的失败用例会让 session 留在 storageKind=none 状态但 pvcName 缺失,
现在 POST /api/v1/sessions 在 storageKind=none || !storagePvcName 时
重新调 createSessionPvc 补建,action=session-storage-recovered。

selftest 覆盖:显式 reset storageKind=none 后第二次 POST 走 recovery。
2026-06-03 19:59:49 +08:00
Codex e8cfa4c692 feat(v0.1): add mgr session PVC lifecycle for true session state persistence
PR B for #770: mgr/session-pvc.ts + server endpoints + selftest.

- 新模块 src/mgr/session-pvc.ts: createSessionPvc / getSessionPvcSummary / deleteSessionPvc / refreshSessionPvcSummary / runSessionStorageGc / startSessionStorageGcLoop
- Server 增量 4 个 endpoint:
  * POST /api/v1/sessions: 创建 session 同步创建 PVC
  * GET /api/v1/sessions/:id/storage: 查询 PVC 摘要
  * DELETE /api/v1/sessions/:id/storage: 删 PVC + storage_kind=evicted
  * POST /api/v1/sessions/:id/storage/refresh: runner 上报 PVC 摘要
  * POST /api/v1/sessions/storage/gc: 手动触发 GC
- mgr SA RBAC 已在 PR A 增加;manager server 不直连 Kubernetes API(kubectl 由 mgr 容器内执行)
- SessionRecord 增量 storageKind / storagePvcName / storageNamespace / storageSizeBytes / storageFilesCount / storageSha256 / storageUpdatedAt / storagePvcPhase / storageEvictedAt / codexRolloutSubdir
- kubernetes-runner-job 短路:run 引用 evicted session 时直接返回 session-store-evicted,不创建 runner Job
- KubectlHandler 可注入,selftest 覆盖 create / summary / refresh / eviction / gc / REST 路径
- GC loop 默认 5min(AGENTRUN_SESSION_GC_INTERVAL_MS 可调)

runner / backend / HWLAB adapter 在 PR C / PR D 落地。
2026-06-03 19:19:09 +08:00
Codex b761ef6713 feat: add session subagent cli control 2026-06-03 11:27:55 +08:00
Codex b19143ad85 feat: 实现 Queue Q2 受控 dispatch 2026-06-01 22:45:51 +08:00
Codex 6fb8f7483a feat: 支持同 run runner 多轮 command 2026-06-01 22:34:58 +08:00
Codex 237b10c4da feat: 实现 Queue Q1 API 和 CLI 骨架 2026-06-01 22:20:09 +08:00
Codex f4ee644233 feat: 补齐 HWLAB 基线 AgentRun 执行元语 2026-06-01 13:44:57 +08:00
Codex 62846f6369 feat: 补齐 HWLAB 手动调度能力 2026-06-01 11:40:08 +08:00
Codex 2b8a5dfc99 feat: 打通 v0.1 runner job 正式路径 2026-05-29 12:44:37 +08:00
Codex 2288cb1558 实现 v0.1 Postgres durable store 骨架 2026-05-29 11:48:26 +08:00
Codex 5deb9fa7fd feat: add v0.1 runtime skeleton 2026-05-29 10:52:41 +08:00