@qilin-agent/client-ui-workflow-run 3.1.4 → 3.1.6

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.
package/README.i18n.yaml CHANGED
@@ -21,8 +21,8 @@
21
21
  en: fea7fb6b1f4fbdc8
22
22
  zh: 3bed9c04ed338fc4
23
23
  /qilin-agent-client-ui-workflow-run/use-this-package/state-and-completion:
24
- en: 03784e501ae8f70a
25
- zh: 90b32daccf577780
24
+ en: de2dbff7df2294ed
25
+ zh: 97a03787caf02e2b
26
26
  /qilin-agent-client-ui-workflow-run/understand-the-implementation:
27
27
  en: d41b996f3fb6727b
28
28
  zh: 6b40fdf1db894fff
@@ -42,8 +42,8 @@
42
42
  en: ca75c51c89c2c9b0
43
43
  zh: de54f3467ef3b9be
44
44
  /qilin-agent-client-ui-workflow-run/known-limitations-and-deferred-work:
45
- en: 2fa86e62ed647088
46
- zh: b3b0bcb1f6fa718f
45
+ en: abfe01fa82d8e628
46
+ zh: 80eb00cb2f1a5a5d
47
47
  /qilin-agent-client-ui-workflow-run/known-limitations-and-deferred-work/dev-note:
48
48
  en: e67f633dc6fe7773
49
49
  zh: 3bb0c20c93f16f98
package/README.md CHANGED
@@ -33,7 +33,7 @@ The run uses a 32-pixel row with persistent chevrons, an inline state dot, and s
33
33
 
34
34
  ### State and completion
35
35
 
36
- Completion updates the visible status immediately but delays its automatic close while focus remains inside the content. A closed Turn or Step with missing terminal events presents the affected run or members as interrupted without changing the tool result.
36
+ Completion updates the visible status immediately but delays its automatic close while focus remains inside the content. A run or member without terminal events stays running after its Turn or Step ends normally, because a background run outlives its Tool Step. It is presented as interrupted, without changing the tool result, once its Turn is closed after a crash or at a fork boundary.
37
37
 
38
38
  -----
39
39
 
@@ -86,6 +86,7 @@ None; this package neither assembles nor sends a provider request.
86
86
  These limits define which runs produce records and what the node exposes; they are current package constraints.
87
87
 
88
88
  - **Only top-level calls through `qilin-tool-workflow` produce these records** — nested PTC mode calls and direct `WorkflowEngine` consumers do not.
89
+ - **A run lost without terminal events in a normally ended Turn stays running** — for example a background run whose process crashed during a later Turn, or a run whose recording stopped after a failed append; the session log carries no fact that marks it stopped.
89
90
  - **Navigation is intentionally live-only** — terminal members remain visible for review but never expose a cold-session opener from this node.
90
91
  - **The node shows run, phase, member identity, and status only** — scripts, outputs, errors, logs, usage, static topology, and controls remain outside this surface.
91
92
 
package/README.zh.md CHANGED
@@ -33,7 +33,7 @@ kind: "package-reference"
33
33
 
34
34
  ### 状态与完成
35
35
 
36
- 完成状态会立即更新,但只要焦点仍位于展开内容内,自动折叠就会等待焦点离开。若所属轮次或步骤已关闭但终点事件缺失,界面把相应运行或成员显示为已中断,而不改写工具结果。
36
+ 完成状态会立即更新,但只要焦点仍位于展开内容内,自动折叠就会等待焦点离开。缺少终点事件的运行或成员在所属轮次或步骤正常结束后仍显示为运行中,因为后台运行的生命周期长于其工具 Step。只有当所属轮次在崩溃后或于分叉边界被关闭时,界面才把它们显示为已中断,且不改写工具结果。
37
37
 
38
38
  -----
39
39
 
@@ -86,6 +86,7 @@ kind: "package-reference"
86
86
  这些限制定义哪些运行会产生记录、节点暴露什么;它们是当前包约束。
87
87
 
88
88
  - **只有经 `qilin-tool-workflow` 发起的顶层调用会生成这些记录**:嵌套 PTC mode 调用和直接 `WorkflowEngine` 消费方不会生成。
89
+ - **在正常结束的轮次中未写终点事件就丢失的运行保持运行中**:例如进程在之后的轮次中崩溃的后台运行,或追加失败后停止记录的运行;会话日志中没有标记其已停止的事实。
89
90
  - **导航刻意只面向实时运行**:终态成员继续保留供复盘,但本节点永不为其提供冷会话入口。
90
91
  - **节点只显示运行、阶段、成员身份与状态**:脚本、输出、错误、日志、用量、静态拓扑与控制操作都不属于本界面。
91
92
 
package/lib/client.js CHANGED
@@ -515,13 +515,20 @@ window.__ModuleLoader__.load({
515
515
  default: return outcome;
516
516
  }
517
517
  }
518
- function locationClosed(location) {
519
- if (location.kind === "step") return location.step.status === "closed" || location.turn.status === "closed";
520
- return location.kind === "turn" && location.turn.status === "closed";
518
+ /**
519
+ * A foreground run writes its run-end before its Tool Step ends, and a
520
+ * background run outlives that Step, so an ordinary Step or Turn closure says
521
+ * nothing about liveness. Only a Turn closed after a crash or at a fork
522
+ * boundary proves that a run without run-end stopped.
523
+ */
524
+ function turnAbandoned(location) {
525
+ if (location.kind !== "step" && location.kind !== "turn") return false;
526
+ const reason = location.turn.end?.data.reason.kind;
527
+ return reason === "interrupted" || reason === "forked";
521
528
  }
522
529
  function projectWorkflow(context, location) {
523
530
  const state = context.state;
524
- const interrupted = state.stopReason === void 0 && locationClosed(location);
531
+ const interrupted = state.stopReason === void 0 && turnAbandoned(location);
525
532
  const phases = /* @__PURE__ */ new Map();
526
533
  for (const member of state.members) {
527
534
  const phase = member.phase === void 0 ? null : member.phase;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@qilin-agent/client-ui-workflow-run",
3
3
  "description": "Durable workflow-run Conversation Node and nested member disclosure for qilin web",
4
- "version": "3.1.4",
4
+ "version": "3.1.6",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -49,26 +49,26 @@
49
49
  ],
50
50
  "license": "MIT",
51
51
  "peerDependencies": {
52
- "@qilin-agent/kylin": "~4.0.3"
52
+ "@qilin-agent/kylin": "~4.0.5"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@types/react": "~18.3.1",
56
56
  "react": "^18.2.0",
57
- "@qilin-agent/api-session-controller": "3.1.4",
58
- "@qilin-agent/client-test-runtime": "3.1.4",
59
- "@qilin-agent/client-store": "3.1.4",
60
- "@qilin-agent/client-locale": "3.1.4",
61
- "@qilin-agent/client-ui-primitives": "3.1.4",
62
- "@qilin-agent/client-ui-chat": "3.1.4",
63
- "@qilin-agent/client-ui-slots": "3.1.4",
64
- "@qilin-agent/client-ui-renderer": "3.1.4",
65
- "@qilin-agent/client-ui-conversation": "3.1.4",
66
- "@qilin-agent/client-ui-session": "3.1.4",
67
- "@qilin-agent/client-ui-workspace": "3.1.4",
68
- "@qilin-agent/session": "3.1.4",
69
- "@qilin-agent/tool-workflow": "3.1.4",
70
- "@qilin-agent/kylin": "~4.0.3",
71
- "@qilin-agent/workflow": "3.1.4"
57
+ "@qilin-agent/client-locale": "3.1.6",
58
+ "@qilin-agent/client-store": "3.1.6",
59
+ "@qilin-agent/api-session-controller": "3.1.6",
60
+ "@qilin-agent/client-ui-conversation": "3.1.6",
61
+ "@qilin-agent/client-test-runtime": "3.1.6",
62
+ "@qilin-agent/client-ui-chat": "3.1.6",
63
+ "@qilin-agent/client-ui-primitives": "3.1.6",
64
+ "@qilin-agent/client-ui-slots": "3.1.6",
65
+ "@qilin-agent/client-ui-renderer": "3.1.6",
66
+ "@qilin-agent/client-ui-session": "3.1.6",
67
+ "@qilin-agent/client-ui-workspace": "3.1.6",
68
+ "@qilin-agent/tool-workflow": "3.1.6",
69
+ "@qilin-agent/workflow": "3.1.6",
70
+ "@qilin-agent/kylin": "~4.0.5",
71
+ "@qilin-agent/session": "3.1.6"
72
72
  },
73
73
  "scripts": {
74
74
  "bundle": "tsdown",