Commit Graph

499 Commits

Author SHA1 Message Date
Codex Agent f4b6c12488 Configure runtime lane download stack 2026-06-08 15:39:17 +08:00
Codex Agent e63e2afbe4 Generalize artifact publish runtime lanes 2026-06-08 15:14:14 +08:00
Codex Agent 5e59a75ff8 Generalize CI plan runtime lanes 2026-06-08 15:07:35 +08:00
Codex Agent 8874f79b0b Fix git mirror missing ref detection 2026-06-08 14:54:59 +08:00
Codex Agent 1657c84697 Generalize runtime lane git mirror refs 2026-06-08 14:46:20 +08:00
Codex Agent 6c5166d816 Add HWLAB v0.3 lane expansion config 2026-06-08 14:08:18 +08:00
Codex Agent 1b87c3d672 fix: pass env recipe into v02 artifact publish 2026-06-08 13:26:07 +08:00
Codex Agent 23c414834f fix: install v02 prepare-source dependencies 2026-06-08 13:04:56 +08:00
Codex Agent 5a92233bd9 refactor: keep deploy yaml parsing in config layer 2026-06-08 12:42:30 +08:00
Codex Agent 8bbad10a01 fix: finish deploy yaml config cleanup 2026-06-08 12:35:31 +08:00
Codex Agent 916838bde4 feat: update caserun aggregation and v02 deploy config 2026-06-08 12:21:09 +08:00
Codex Agent 34788702dc Allow dynamic AgentRun provider profiles 2026-06-08 03:22:26 +08:00
Codex Agent a592bd9ad0 fix: keep v02 edge proxy probe local 2026-06-07 21:58:46 +08:00
Codex Agent 18bdaf313f fix: launch v02 bridge containers with env reuse 2026-06-07 21:49:54 +08:00
Codex Agent 1b76fb3760 fix: enable v02 env reuse for runtime services 2026-06-07 21:26:07 +08:00
Codex Agent c19b6ef529 feat: add ofcx-go code agent profile and Moon Bridge OpenCode route
- Add ofcx-go to backendProfiles allowlist in agentrun-dispatch.mjs
- Extend deepseek-proxy Moon Bridge config with opencode provider
- Add deepseek-v4-flash model and opencode route to Moon Bridge config
- Add OPENCODE_API_KEY env var injection from hwlab-v02-code-agent-provider Secret
- Support both deepseek and opencode providers in shared Moon Bridge instance
2026-06-07 20:15:05 +08:00
Lyon 28a291996e fix: skip v02 runtime-ready for source-only releases (#984)
Co-authored-by: Codex Agent <codex@hwlab.local>
2026-06-06 13:31:49 +08:00
Codex Agent d300428246 fix: include trace renderer in cloud web rollout plan 2026-06-06 10:46:44 +08:00
Codex Agent 42b53e5795 fix: discover preinstalled hwpod specs 2026-06-06 01:49:59 +08:00
Codex Agent 8f7bc79d1e fix: prefer terminal markdown final response 2026-06-06 01:23:18 +08:00
Codex Agent faad89fc6f fix: preserve natural final response markdown 2026-06-06 00:58:31 +08:00
Codex Agent bb36078675 fix: publish v02 code agent bundle commit 2026-06-06 00:25:34 +08:00
Codex Agent 0f406063f0 test: wait for web probe submit readiness 2026-06-05 23:35:19 +08:00
Codex Agent 38e32a4591 test: expose live DOM probe message evidence 2026-06-05 23:14:15 +08:00
Codex Agent a3ffd45e55 fix: enforce api key auth boundary 2026-06-05 21:58:16 +08:00
Codex Agent 3e7131f6ab refactor: converge hwpod node-ops channel 2026-06-05 17:23:56 +08:00
Codex Agent ab7d79c69a feat: expose v02 webui performance metrics 2026-06-05 11:14:27 +08:00
Lyon 48e3d24ad6 fix: converge v02 authorization on OpenFGA (#899)
Co-authored-by: Codex Agent <codex@hwlab.local>
2026-06-05 11:11:15 +08:00
Codex Agent cf722efd06 feat: add v02 OpenFGA access management 2026-06-05 09:39:49 +08:00
Codex Agent 550eea19d4 fix: roll v02 metrics pods on sidecar script changes 2026-06-05 08:58:49 +08:00
Codex Agent 06a2041210 fix: keep v02 metrics sidecar running 2026-06-05 08:50:30 +08:00
Codex Agent 3c9b7088df fix: keep v02 metrics sidecar on tools image 2026-06-05 08:35:42 +08:00
Codex Agent 57277da24c feat: add v02 observability metrics sidecars 2026-06-05 08:27:36 +08:00
Codex Agent fd1b8c0e5a fix(v02): remove legacy code agent control plane 2026-06-05 01:35:35 +08:00
Codex Agent d6cd14f260 fix(v02): make cd latest-only 2026-06-04 22:45:37 +08:00
Lyon 758c26a448 fix: surface playwright fallback remediation (#852)
Co-authored-by: Codex Agent <codex@hwlab.local>
2026-06-04 20:55:21 +08:00
Lyon 6b417cc620 fix: add repo-owned playwright probe guard (#850)
Co-authored-by: Codex Agent <codex@hwlab.local>
2026-06-04 20:35:58 +08:00
Lyon d23cc410be fix(v02): bound cloud web layout smoke (#846)
Co-authored-by: Codex Agent <codex@hwlab.local>
2026-06-04 18:50:35 +08:00
Codex Agent 7fc6603c30 fix(v02): remove stale endpoint contract freeze 2026-06-04 15:19:38 +08:00
Codex Agent e64ee92fb1 fix(v0.2): align Keycloak auth to HTTPS session API key 2026-06-04 15:01:30 +08:00
Codex Agent e70dab1f88 fix(v02): wire Keycloak OIDC runtime 2026-06-04 15:01:30 +08:00
Codex Agent 52af835500 fix: unify v02 browser launcher 2026-06-04 14:51:54 +08:00
Codex 6341015d3b feat(v0.2): Code Agent 默认 sessionStorage=persistent + eviction reset UX
PR D for #770:HWLAB Cloud Web Workbench 透传 session state 真正持久化

- code-agent-agentrun-adapter.ts:
  * 新 ensureAgentRunSessionPersistent:默认 sessionStorage=persistent,
    调 POST /api/v1/sessions 同步建 session + PVC
  * submitAgentRunChatTurn 改两步尝试:ensureSession 或 runner-jobs POST
    收到 session-store-evicted 时用新 sessionId(<base>-reset-<trace8>)
    + threadId=null 重试,trace 追加 agentrun:session-reset 事件
  * 新 shouldResetSessionAfterEviction / newSessionIdAfterEviction 辅助函数
- code-agent-response-contract.mjs: session-store-evicted 归
  session-blocked category
- code-agent-chat.ts: 新 userMessage
  「Code Agent session 存储已失效(PVC 被回收或 TTL 到期),
   HWLAB 已为你开新 sessionId,可继续发送下一条消息。」
- spec-v02-hwlab-cloud-web.md: 新增 'Session state 持久化与 eviction reset'
  章节,含禁止路径与实现情况表

env 控制:HWLAB_CODE_AGENT_AGENTRUN_SESSION_STORAGE=ephemeral
可退回 metadata-only 模式(PR 前默认行为)。
2026-06-03 21:47:14 +08:00
Codex 58b06fcd17 fix(web): enforce React TypeScript single path 2026-06-03 17:47:27 +08:00
Lyon 0d06a4c5fe fix(web): migrate Cloud Web from vanilla DOM to React + TypeScript + Vite (#756) (#764)
- Replace monolithic app.ts / app-conversation.ts / app-device-pod.ts /
  app-skills.ts / app-helpers.ts / app-session-tabs.ts / auth.ts and the
  364-line index.html with a Vite-built React + TypeScript SPA.
- New src/ module tree: main.tsx, App.tsx, components/{layout,auth,
  conversation,command-bar,device-pod,skills,settings,help},
  hooks/, services/api, services/auth, state, types, logic/ (pure
  helpers from the old tree), styles/.
- Pure-logic modules (composer-policy, code-agent-facts, code-agent-
  status, live-status, message-markdown, app-trace, app-session-tabs,
  runtime) move to src/logic/ with their tests preserved; tests still
  auto-discover.
- Build pipeline switches from Bun.build to Vite: vite.config.ts
  inlines everything into a single app.js + app-assets/ for the dist;
  scripts/dist-contract.ts now runs vite build and asserts the dist
  against a fresh build instead of comparing dist to source.
- scripts/check.ts now verifies the React entry, the mount-only
  index.html, Vite dist, the composer / session / device pod / skills
  / settings / help contracts, the React state shape, and the new
  test file locations. It also refuses to run if any legacy app-*.ts
  or auth.ts survives at the top level.
- New scripts/frontend-guard.ts enforces the 400-line migration target,
  refuses the legacy el map and document.getElementById markers,
  refuses to keep app-*.ts / auth.ts at the top level, and verifies
  the required module directory layout.
- Update scripts/src/dev-cloud-workbench-smoke-lib.mjs to read the new
  src/services/, src/logic/ paths and refresh cloudWebModuleSourceFiles.
- index.html is now a mount shell only (no login shell, no workbench
  shell, no device pod sidebar markup). React renders the full UI from
  src/main.tsx, satisfying the issue-756 migration goal of catching
  unclosed tags at the TypeScript/JSX compile step instead of relying
  on browser DOM healing.
- web:check (now: check + frontend-guard + tsc-check + bun test) is
  green: 51 pass / 0 fail, Vite build produces dist/app.js (379 kB)
  + dist/index.html + dist/app-assets/. Vite build is reproducible;
  dist freshness is verified against a fresh Vite build.
- Grandfathered pure-logic files (> 600 lines): src/logic/app-trace.ts
  (1367), src/logic/live-status.ts (1006), src/logic/code-agent-facts.ts
  (548), src/logic/code-agent-status.ts (572). Reason: each is a tested
  pure-logic classifier with a public contract consumed by both the
  CLI renderer and the Web renderer; splitting now would fork the
  public function shape across two PRs and the migration target is the
  React entry + module split, not a pure-logic refactor.

Refs #756. Closes #756 once merged + deployed to hwlab-v02.

Co-authored-by: Codex <codex@local>
2026-06-03 16:53:25 +08:00
Codex 4221760a29 test(issue722): add CLI integration scripts for terminal vs streaming trace rows
- dev-issue-722-trace-integration.mjs: drives hwlab-cli agent trace --render web
  with a 4151-char final response and asserts the rendered terminal row body
  equals the full text without any 内容已截断 marker
- dev-issue-722-streaming-integration.mjs: drives the same path with a long
  non-terminal streaming message and asserts the CLI preview cap still fires
  at 1200 chars + the ... marker, while the terminal row in the same trace
  keeps the full text
- package.json: expose the two scripts as dev:issue-722:* for repeatable
  CLI verification on the v0.2 runtime

Refs: pikasTech/HWLAB#722
2026-06-03 13:43:21 +08:00
Codex 5b9d614336 fix: route agentrun prompt changes to cloud api 2026-06-03 07:25:35 +08:00
Codex 60a15186e5 fix: assemble unidesk ssh for web agentrun turns 2026-06-02 19:02:58 +08:00
Codex 29e9e23fb3 fix: use native codex stdio continuation 2026-06-02 16:22:27 +08:00
Codex cd58ee7989 feat: 增加 UniDesk SSH runner 工具别名 2026-06-02 16:07:54 +08:00