feat: surface codex hook lifecycle progress
This commit is contained in:
@@ -1623,6 +1623,8 @@ public final class BossUi {
|
||||
label = "图片 " + name;
|
||||
} else if ("image_generation".equals(kind)) {
|
||||
label = "图像生成 " + name;
|
||||
} else if ("hook".equals(kind)) {
|
||||
label = "钩子 " + name;
|
||||
} else if ("review".equals(kind)) {
|
||||
label = "Review " + name;
|
||||
} else if ("command".equals(kind)) {
|
||||
|
||||
@@ -1266,6 +1266,14 @@ public class ProjectDetailActivityUiTest {
|
||||
.put("status", "completed")
|
||||
.put("detail", "generated-secret-image.png")
|
||||
.put("result", "data:image/png;base64,sk-secret-should-not-render"))
|
||||
.put(new JSONObject()
|
||||
.put("kind", "hook")
|
||||
.put("name", "postToolUse/command")
|
||||
.put("status", "completed")
|
||||
.put("detail", "project · async · 42ms")
|
||||
.put("sourcePath", "/Users/kris/code/boss/.codex/hooks/private-hook.toml")
|
||||
.put("entries", new JSONArray()
|
||||
.put(new JSONObject().put("text", "sk-secret-should-not-render"))))
|
||||
.put(new JSONObject()
|
||||
.put("kind", "command")
|
||||
.put("name", "commandExecution")
|
||||
@@ -1285,6 +1293,8 @@ public class ProjectDetailActivityUiTest {
|
||||
assertTrue(viewTreeContainsText(messageView, "Codex App Server ThreadItem"));
|
||||
assertTrue(viewTreeContainsText(messageView, "图像生成 imageGeneration · completed"));
|
||||
assertTrue(viewTreeContainsText(messageView, "generated-secret-image.png"));
|
||||
assertTrue(viewTreeContainsText(messageView, "钩子 postToolUse/command · completed"));
|
||||
assertTrue(viewTreeContainsText(messageView, "project · async · 42ms"));
|
||||
assertTrue(viewTreeContainsText(messageView, "命令 commandExecution · completed"));
|
||||
assertTrue(viewTreeContainsText(messageView, "exit 0 · 2345ms"));
|
||||
assertFalse(viewTreeContainsText(messageView, "sk-secret-should-not-render"));
|
||||
|
||||
Reference in New Issue
Block a user