dsh-input-traffic 0.2.10-beta.3 → 0.2.11-beta.2

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.
@@ -1,93 +0,0 @@
1
- /**
2
- * Auto-continue store — 中断检测与续跑配置的共享状态。
3
- *
4
- * 与 freeze-store 同构(无运行时依赖、稳定 identity per mount、可测试):
5
- * - interrupted: 检测到「会话停下但排队消息未处理完」(疑似非人为中断)时置位,
6
- * dock 据此显示续跑提示条;
7
- * - 续跑配置持久化到 localStorage(键 `dsh-input-traffic:auto-continue`),
8
- * 自动续跑默认关闭(纯 client 拿不到 turn/end reason, 无法与用户主动停止
9
- * 区分, 故默认只提示、不擅自续跑)。
10
- */
11
- import { resolveConfig } from "./auto-continue-core.js";
12
- /** localStorage 持久化键(续跑配置)。 */
13
- export const CONFIG_KEY = 'dsh-input-traffic:auto-continue';
14
- const listeners = new Set();
15
- let state = { interrupted: false, consecutive: 0, lastAttemptAt: 0 };
16
- let config = readConfig();
17
- /** 读取(可能不完整的)localStorage 配置并解析为完整配置。 */
18
- function readConfig() {
19
- let raw;
20
- try {
21
- const stored = localStorage.getItem(CONFIG_KEY);
22
- if (stored !== null)
23
- raw = JSON.parse(stored);
24
- }
25
- catch {
26
- /* storage 不可用或损坏: 回落默认 */
27
- }
28
- return resolveConfig(raw);
29
- }
30
- function emit() {
31
- for (const listener of listeners)
32
- listener();
33
- }
34
- /** 最小快照 store(与 freeze-store 同构)。 */
35
- export const autoContinueStore = {
36
- getSnapshot() {
37
- return state;
38
- },
39
- subscribe(listener) {
40
- listeners.add(listener);
41
- return () => { listeners.delete(listener); };
42
- },
43
- };
44
- /** 当前解析后的续跑配置。 */
45
- export function readAutoContinueConfig() {
46
- return config;
47
- }
48
- /** 持久化续跑配置(部分覆盖, 缺失回落默认)。 */
49
- export function setAutoContinueConfig(patch) {
50
- config = resolveConfig({ ...config, ...patch });
51
- try {
52
- localStorage.setItem(CONFIG_KEY, JSON.stringify(config));
53
- }
54
- catch {
55
- /* storage 不可用: 仅内存生效 */
56
- }
57
- // 强制快照引用变化: useSyncExternalStore 依赖引用对比决定是否重渲染。
58
- state = { ...state };
59
- emit();
60
- }
61
- /** 标记检测到疑似中断(dock 显示提示条)。 */
62
- export function markInterrupted() {
63
- state = { ...state, interrupted: true };
64
- emit();
65
- }
66
- /** 清除中断标志(用户手动续跑 / 队列清空 / 会话重新运行)。 */
67
- export function clearInterrupted() {
68
- state = { ...state, interrupted: false };
69
- emit();
70
- }
71
- /** 记录一次续跑尝试(推进连续计数与退避节流)。 */
72
- export function noteRetry(consecutive) {
73
- state = { ...state, consecutive, lastAttemptAt: Date.now() };
74
- emit();
75
- }
76
- /** 重置续跑状态(成功回合 / 用户介入后)。 */
77
- export function resetAutoContinue() {
78
- state = { interrupted: false, consecutive: 0, lastAttemptAt: 0 };
79
- emit();
80
- }
81
- /** 测试重置。 */
82
- export function resetAutoContinueStore() {
83
- state = { interrupted: false, consecutive: 0, lastAttemptAt: 0 };
84
- try {
85
- localStorage.removeItem(CONFIG_KEY);
86
- }
87
- catch {
88
- /* storage 不可用 */
89
- }
90
- config = readConfig();
91
- emit();
92
- }
93
- //# sourceMappingURL=auto-continue-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auto-continue-store.js","sourceRoot":"","sources":["../../../src/client/auto-continue-store.ts"],"names":[],"mappings":"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"}