@elinpf/dsh-ops-tool-trace 0.1.1 → 0.1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctrine.d.ts","sourceRoot":"","sources":["../src/doctrine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,qCAAqC;AACrC,eAAO,MAAM,cAAc,8JACyB,CAAA;AAEpD;wBACwB;AACxB,eAAO,MAAM,qBAAqB,8EAAkB,CAAA;AAEpD,8EAA8E;AAC9E,eAAO,MAAM,oBAAoB,sLAC+B,CAAA;AAEhE;8BAC8B;AAC9B,eAAO,MAAM,iBAAiB,sTACyC,CAAA;AAEvE,4EAA4E;AAC5E,eAAO,MAAM,eAAe,+DAAqB,CAAA;AAEjD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,CAGzF;AAED,0CAA0C;AAC1C,eAAO,MAAM,YAAY,iFAAoC,CAAA;AAE7D;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAEnE;AAID,mDAAmD;AACnD,eAAO,MAAM,gBAAgB,+aACiD,CAAA;AAE9E;;;;;GAKG;AACH,eAAO,MAAM,aAAa,QAKd,CAAA;AAEZ;;;;GAIG;AACH,eAAO,MAAM,SAAS,QAyCV,CAAA"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * The trace doctrine — one home per sentence.
3
+ *
4
+ * The same handful of ideas (what the tree is, the trigger-node rule, the
5
+ * hypothesis form, where the full doc lives) used to be re-phrased in every
6
+ * prompt surface: the tool description, the parameter descriptions, the
7
+ * system-prompt core, the help text, and the reminder messages. They drifted
8
+ * in wording if not in content. Now each canonical sentence lives here once
9
+ * and the surfaces compose from it — same words everywhere, so the model
10
+ * gets one consistent vocabulary to anchor on.
11
+ *
12
+ * Surfaces deliberately keep their own granularity: the tool description is
13
+ * a one-liner, the system prompt carries the minimal core, and HELP_TEXT is
14
+ * the full reference. Progressive disclosure is the point; duplication is not.
15
+ *
16
+ * @module @elinpf/dsh-ops-tool-trace/doctrine
17
+ */
18
+ // ── Canonical sentences ──────────────────────────────────────────────────────
19
+ /** What the tree is, in one line. */
20
+ export const TREE_ONE_LINER = '维护事件排查的调查树: goal → milestone(待验证假设) → step(验证动作)';
21
+ /** The question behind every parent_id decision. Also quoted verbatim by the
22
+ * nesting reminder. */
23
+ export const TRIGGER_NODE_QUESTION = '我为什么现在要做这个动作?';
24
+ /** The trigger-node mapping: where a new node hangs, by what triggered it. */
25
+ export const TRIGGER_NODE_MAPPING = '跟进某 step 的发现 → 挂那个 step; 验证某假设 → 挂该 milestone; 顶层假设 → "goal"';
26
+ /** The full trigger-node rule, one line (system-prompt core + parent_id
27
+ * parameter description). */
28
+ export const TRIGGER_NODE_RULE = `parent_id 的唯一规则 — ${TRIGGER_NODE_QUESTION} ${TRIGGER_NODE_MAPPING}。`;
29
+ /** A milestone must be writable in this form, or it is not a hypothesis. */
30
+ export const HYPOTHESIS_FORM = '"我怀疑 X, 因为看到了 Y"';
31
+ /**
32
+ * Hard-gate error for resolve on the goal while nodes are still undecided
33
+ * (not done / not dead_end). Lists the undecided nodes and points at the
34
+ * two ways forward: decide them (complete/abandon), or force — the explicit
35
+ * escape hatch for abandoning an investigation mid-way.
36
+ */
37
+ export function resolveGateError(undecided) {
38
+ const list = undecided.map((n) => `${n.id} (${n.status})`).join(', ');
39
+ return `trace: 还有 ${undecided.length} 个节点未定论, 不能 resolve goal: ${list}。先给它们定论 — 证实 complete/resolve 带 summary, 证伪 abandon; 调查中途放弃的正当场景用 force: true 强制收口(带 WARN)。`;
40
+ }
41
+ /** Where the full documentation lives. */
42
+ export const HELP_POINTER = '完整用法与纪律: 调 `trace` action=help。';
43
+ /**
44
+ * Soft hint for add_step: the parent is a milestone that already has
45
+ * completed steps with findings, so the new step may belong under one of
46
+ * those steps (drill-down) instead of flat under the milestone. A hint,
47
+ * never a rejection — flat-hanging is sometimes right. Fires ONCE per tree
48
+ * (latched in the tool); the pre-step nesting reminder is the backstop.
49
+ */
50
+ export function milestoneFollowUpHint(doneStepIds) {
51
+ return `提示: 该 milestone 下已有完成的 step (${doneStepIds.join(', ')})。如果本步是跟进某个 step 的发现, 应挂到那个 step 下 (parent_id = 那个 step 的 id), 而不是平铺在 milestone 下。`;
52
+ }
53
+ // ── Composed surfaces ────────────────────────────────────────────────────────
54
+ /** One-liner for the tool registry description. */
55
+ export const TOOL_DESCRIPTION = `${TREE_ONE_LINER}。每个节点的 parent_id 是它的触发节点——让你此刻想做这个动作的那个节点。${HELP_POINTER}`;
56
+ /**
57
+ * Minimal always-on core for the system prompt (registered through
58
+ * ops-prompts as a methodology section). The full doc is progressively
59
+ * disclosed through the `help` action; reminders deliver individual rules
60
+ * just-in-time.
61
+ */
62
+ export const STATIC_PROMPT = [
63
+ '## trace — 调查树',
64
+ `用 \`trace\` 维护事件排查的调查树: goal → milestone(假设, 创建时必须能写出${HYPOTHESIS_FORM}) → step(验证动作)。`,
65
+ TRIGGER_NODE_RULE,
66
+ HELP_POINTER,
67
+ ].join('\n');
68
+ /**
69
+ * Full usage documentation, progressively disclosed: the system prompt only
70
+ * carries the minimal core plus a pointer; the model pulls this via
71
+ * `trace` action=help when it needs the details.
72
+ */
73
+ export const HELP_TEXT = [
74
+ '## trace — 调查树完整用法',
75
+ '',
76
+ '用 `trace` 维护事件排查的调查树。树形 = 推理链。',
77
+ '',
78
+ '### Actions',
79
+ '- create_tree(goal_title) — 开始新调查; 前一棵树作为历史保留。',
80
+ '- add_milestone(id, parent_id, title, detail?) — 立假设; detail 写 because 分句。',
81
+ '- add_step(id, parent_id, title, detail?) — 加验证动作; detail 写查证对象。',
82
+ '- start / complete / abandon / reopen(id 或 ids) — 状态流转; complete 可带 summary。',
83
+ '- resolve(id, summary) — 正面关闭一个节点(等同 complete 带 summary); 打在 goal 上 = 全案收口: 只调一次, 所有非根节点须先定论(complete 证实 / abandon 证伪), force: true 是中途放弃的逃生口(带 WARN)。',
84
+ '- link(id, caused_by) 或 links 数组 — 跨分支因果边。',
85
+ '- view — 完整树; status_filter 可选; format=tree 输出缩进树总览(只看形状)。',
86
+ '',
87
+ '### 触发节点 — parent_id 的唯一规则',
88
+ `add_step / add_milestone 前问: "${TRIGGER_NODE_QUESTION}"`,
89
+ '- 答案是某个 step 的发现/异常输出 → parent 是那个 step (这就是下钻)',
90
+ '- 答案是一个待验证的假设 → parent 是那个 milestone',
91
+ '- 顶层 milestone → parent 是 "goal"',
92
+ '标题只写动作本身; 推理关系全部由 parent 表达。',
93
+ '',
94
+ '### step 先行',
95
+ '调查动作(bash/kubectl/查日志)执行前先 add_step(title = 要查什么), 拿到结果立即 complete 带 summary。',
96
+ '',
97
+ '### milestone = 可被证据判伪的假设',
98
+ `创建时必须能写出 ${HYPOTHESIS_FORM}, Y 是已有证据:`,
99
+ '- 写得出 → add_milestone, because 分句写进 detail, title 只写假设本身',
100
+ '- 写不出 → 先取证, 把取证动作 add_step 到当前触发节点下',
101
+ '"Ceph 存储满了, 因为 osd.1 使用率 99%" ← 合格; "存储""网络" ← 没有 because 分句, 不是假设。',
102
+ '- 证实 → complete 带 summary; 证伪 → abandon',
103
+ '',
104
+ '### 下钻与收敛',
105
+ 'complete 一个 step 前检查它的发现: 是否还悬着一个未解释的 "为什么"?',
106
+ '- 有 → 在该 step 下 add_step 追问, 收敛发生在追问之后',
107
+ '- 没有(已到物理/基础设施层事实: 磁盘满、内存耗尽、网络分区…) → 这一步收敛',
108
+ '没有新报错指引方向时, 回到最近一个还悬着 "为什么" 的节点继续。',
109
+ '',
110
+ '### 其他',
111
+ '- 死路 abandon, 保留在树上; 迷失方向先 view; 每 5 步排查至少更新 1 次 trace。',
112
+ '- link 只表达 parent 无法表达的因果边(跨分支); 父子关系已隐含触发链, 不重复 link。',
113
+ '- 新调查 create_tree; 全案收口 = resolve 打在 goal 上, 只调一次, 标记最终目标达成。证实 = complete 或 resolve(两者等价), 证伪 = abandon。收口的硬门槛只在 goal 这一处; step complete 时不做任何"提示收口"——避免早收口压力抑制下钻。',
114
+ ].join('\n');
115
+ //# sourceMappingURL=doctrine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctrine.js","sourceRoot":"","sources":["../src/doctrine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,gFAAgF;AAEhF,qCAAqC;AACrC,MAAM,CAAC,MAAM,cAAc,GACzB,kDAAkD,CAAA;AAEpD;wBACwB;AACxB,MAAM,CAAC,MAAM,qBAAqB,GAAG,eAAe,CAAA;AAEpD,8EAA8E;AAC9E,MAAM,CAAC,MAAM,oBAAoB,GAC/B,8DAA8D,CAAA;AAEhE;8BAC8B;AAC9B,MAAM,CAAC,MAAM,iBAAiB,GAC5B,qBAAqB,qBAAqB,IAAI,oBAAoB,GAAG,CAAA;AAEvE,4EAA4E;AAC5E,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAA;AAEjD;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAgD;IAC/E,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrE,OAAO,aAAa,SAAS,CAAC,MAAM,6BAA6B,IAAI,6FAA6F,CAAA;AACpK,CAAC;AAED,0CAA0C;AAC1C,MAAM,CAAC,MAAM,YAAY,GAAG,iCAAiC,CAAA;AAE7D;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,WAAqB;IACzD,OAAO,gCAAgC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,oFAAoF,CAAA;AACnJ,CAAC;AAED,gFAAgF;AAEhF,mDAAmD;AACnD,MAAM,CAAC,MAAM,gBAAgB,GAC3B,GAAG,cAAc,6CAA6C,YAAY,EAAE,CAAA;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,gBAAgB;IAChB,wDAAwD,eAAe,iBAAiB;IACxF,iBAAiB;IACjB,YAAY;CACb,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAEZ;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,oBAAoB;IACpB,EAAE;IACF,gCAAgC;IAChC,EAAE;IACF,aAAa;IACb,gDAAgD;IAChD,4EAA4E;IAC5E,kEAAkE;IAClE,8EAA8E;IAC9E,wJAAwJ;IACxJ,4CAA4C;IAC5C,4DAA4D;IAC5D,EAAE;IACF,4BAA4B;IAC5B,iCAAiC,qBAAqB,GAAG;IACzD,iDAAiD;IACjD,sCAAsC;IACtC,kCAAkC;IAClC,8BAA8B;IAC9B,EAAE;IACF,aAAa;IACb,+EAA+E;IAC/E,EAAE;IACF,2BAA2B;IAC3B,YAAY,eAAe,YAAY;IACvC,0DAA0D;IAC1D,sCAAsC;IACtC,qEAAqE;IACrE,yCAAyC;IACzC,EAAE;IACF,WAAW;IACX,8CAA8C;IAC9C,wCAAwC;IACxC,4CAA4C;IAC5C,oCAAoC;IACpC,EAAE;IACF,QAAQ;IACR,yDAAyD;IACzD,wDAAwD;IACxD,oKAAoK;CACrK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,CAAC,MAAM,0BAA0B,CAAA;AACxC,OAAO,EAAE,CAAC,IAAI,GAAG,EAAE,MAAM,KAAK,CAAA;AAM9B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAI/D,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,OAAO;QACf,UAAU,CAAC,EAAE,gBAAgB,CAAA;QAI7B,kBAAkB,CAAC,EAAE;YACnB,QAAQ,CAAC,GAAG,EAAE;gBACZ,GAAG,EAAE,MAAM,CAAA;gBACX,MAAM,EAAE,OAAO,CAAA;gBACf,IAAI,EAAE,MAAM,WAAW,GAAG,IAAI,CAAA;gBAC9B,KAAK,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,KAAK,WAAW,GAAG,IAAI,CAAA;gBAC1E,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,KAAK,WAAW,GAAG,IAAI,CAAA;gBACvD,YAAY,EAAE,MAAM,CAAA;aACrB,GAAG,MAAM,IAAI,CAAA;YACd,QAAQ,CAAC,OAAO,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,GAAG;gBAAE,MAAM,EAAE;oBAAE,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;iBAAE,CAAA;aAAE,CAAA;SAC9E,CAAA;KACF;CACF;AAED,OAAO,KAAK,EAIV,WAAW,EAKZ,MAAM,YAAY,CAAA;AAUnB,QAAA,MAAM,IAAI,cAAc,CAAA;AACxB,QAAA,MAAM,MAAM,UAAY,CAAA;AAIxB;;GAEG;AACH,QAAA,MAAM,MAAM;IACV,qFAAqF;;IAErF,0GAA0G;;IAE1G,+GAA+G;;;IAJ/G,qFAAqF;;IAErF,0GAA0G;;IAE1G,+GAA+G;;GAE/G,CAAA;AAqCF;;;;;GAKG;AACH,qEAAqE;AACrE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE;QACJ,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;CACF;AAED,iBAAS,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,IAAI,CAgJlF;AAqDD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;mBASzB,CAAA;AAWF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAarB,CAAA;AAWV,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;kCAA6C,CAAA;AAExE;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;gBAGhB,WAAW,GAAG,IAAI;;cAElB,WAAW,GAAG,IAAI,KAAG,WAAW,GAAG,IAAI;;CAOlD,CAAA;AAsQD,iBAAS,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE;IAAE,oBAAoB,EAAE,MAAM,CAAC;IAAC,+BAA+B,EAAE,MAAM,CAAC;IAAC,wBAAwB,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAkZtJ;AAED,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invariant.d.ts","sourceRoot":"","sources":["../src/invariant.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,oCAAoC;AACpC,QAAA,MAAM,IAAI,wBAAwB,CAAA;AAElC,2EAA2E;AAC3E,QAAA,MAAM,MAAM,UAAiB,CAAA;AAU7B;;;;GAIG;AACH,QAAA,MAAM,KAAK,GAAU,KAAK,GAAG,KAAG,OAAO,CAAC,IAAI,CAE3C,CAAA;AAED,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invariant.js","sourceRoot":"","sources":["../src/invariant.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,YAAY,GAAG,4BAA4B,CAAA;AAEjD,oCAAoC;AACpC,MAAM,IAAI,GAAG,qBAAqB,CAAA;AAElC,2EAA2E;AAC3E,MAAM,MAAM,GAAG,CAAC,YAAY,CAAC,CAAA;AAE7B;;;;;GAKG;AACH,MAAM,OAAO,GAAG,GAAS,EAAE,GAAE,CAAC,CAAA;AAE9B;;;;GAIG;AACH,MAAM,KAAK,GAAG,KAAK,EAAE,GAAQ,EAAiB,EAAE;IAC9C,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;AAChD,CAAC,CAAA;AAED,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-status.d.ts","sourceRoot":"","sources":["../src/node-status.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAExD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,6EAA8E,CAAA;AAExG,MAAM,MAAM,UAAU,GAAG,OAAO,aAAa,CAAC,MAAM,CAAC,CAAA;AAErD;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAKhE"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Runtime home of the node-status vocabulary (moved out of types.ts, which is
3
+ * types-only). The zod projection schema, the tool's output JSON schema, and
4
+ * the status_filter enum all derive from NODE_STATUSES — one source of truth.
5
+ *
6
+ * @module @elinpf/dsh-ops-tool-trace
7
+ */
8
+ /**
9
+ * The six node statuses from the state machine — the single source of truth
10
+ * for the status set.
11
+ *
12
+ * - `goal` — a stable target (milestone or final goal); uses dashed connectors
13
+ * - `pending` — a step not yet started; uses thin dashed connectors
14
+ * - `in_progress` — actively being worked on
15
+ * - `done` — completed
16
+ * - `dead_end` — proven unviable; NOT a terminal state (can re-explore)
17
+ * - `resolved` — final goal achieved; terminal state
18
+ */
19
+ export const NODE_STATUSES = ['goal', 'pending', 'in_progress', 'done', 'dead_end', 'resolved'];
20
+ /**
21
+ * The active tree is the last unresolved one, or the last tree if all are resolved.
22
+ */
23
+ export function activeTree(forest) {
24
+ for (let i = forest.trees.length - 1; i >= 0; i--) {
25
+ if (!forest.trees[i].resolved)
26
+ return forest.trees[i];
27
+ }
28
+ return forest.trees.length > 0 ? forest.trees[forest.trees.length - 1] : null;
29
+ }
30
+ //# sourceMappingURL=node-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-status.js","sourceRoot":"","sources":["../src/node-status.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,CAAU,CAAA;AAIxG;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,MAAmB;IAC5C,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACvD,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAC/E,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reminders.d.ts","sourceRoot":"","sources":["../src/reminders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAI9D,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAA;IACnB,8DAA8D;IAC9D,aAAa,EAAE,MAAM,CAAA;IACrB,uDAAuD;IACvD,MAAM,EAAE,WAAW,CAAA;IACnB,2DAA2D;IAC3D,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;CACvB;AAUD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,GAAG,eAAe,GAAG,IAAI,CAwBtG;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,aAAa;IAItB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJ3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwD;gBAG1D,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,EAC5C,QAAQ,EAAE,MAAM;IAGnC,qEAAqE;IACrE,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI9C,yCAAyC;IACzC,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI9B,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;CASxD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,SAAI,GAAG,CAAC,GAAG,EAAE,eAAe,KAAK,MAAM,GAAG,IAAI,CAiB1G;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,SAAI,GAAG,CAAC,GAAG,EAAE,eAAe,KAAK,MAAM,GAAG,IAAI,CAqB9G"}
@@ -0,0 +1,155 @@
1
+ /**
2
+ * Reminder rules for the trace tool.
3
+ *
4
+ * Before this module existed, each reminder check re-parsed the full session
5
+ * event history on every pre-step — including JSON-parsing every historical
6
+ * tool call's arguments — and hand-rolled its own latch map. The latch-reset
7
+ * infinite loop came from exactly that arrangement: replaying history and
8
+ * mutating latch state in the same function.
9
+ *
10
+ * Now: {@link buildReminderContext} derives a small context once (step
11
+ * positions from the event log — no argument parsing — and the live tree
12
+ * from the SessionForestStore, which already owns it), and rules are pure
13
+ * functions of that context. {@link ReminderLatch} is the single latch
14
+ * abstraction: a monotonic per-session version with a minimum gap and a
15
+ * fire cap.
16
+ *
17
+ * @module @elinpf/dsh-ops-tool-trace/reminders
18
+ */
19
+ import { activeTree } from './node-status.js';
20
+ import { TRIGGER_NODE_QUESTION } from './doctrine.js';
21
+ import { depthOf } from './tree-layout.js';
22
+ /**
23
+ * Derive the reminder context for one pre-step. Returns null when there is no
24
+ * session event stream to judge from.
25
+ */
26
+ export function buildReminderContext(agent, store) {
27
+ const session = agent?.session;
28
+ const events = session?.events;
29
+ if (!session?.id || !events || events.length === 0)
30
+ return null;
31
+ let currentStep = 0;
32
+ let lastTraceStep = 0;
33
+ for (const ev of events) {
34
+ if (ev.type === 'step/start') {
35
+ currentStep = (ev.data?.turn ?? 0) * 1000 + (ev.data?.step ?? 0);
36
+ continue;
37
+ }
38
+ // Presence is enough — no argument parsing.
39
+ if (ev.type === 'tool/call' && ev.data?.name === 'trace')
40
+ lastTraceStep = currentStep;
41
+ }
42
+ const forest = store.current({ id: session.id }).forest;
43
+ return {
44
+ sessionId: session.id,
45
+ currentStep,
46
+ lastTraceStep,
47
+ forest,
48
+ tree: activeTree(forest),
49
+ };
50
+ }
51
+ /**
52
+ * One latch abstraction for all reminder rules: fire when `version` has
53
+ * advanced at least the required gap since the last fire, at most
54
+ * `maxFires` times per session. Because the version is an input (computed
55
+ * from the context, never reset by replaying history), re-evaluating the
56
+ * same state is always idempotent.
57
+ *
58
+ * `minGap` may be a function of the number of previous fires, so a rule can
59
+ * back off instead of going permanently silent (the 2026-08-27 live trial: a
60
+ * fixed cap of 5 went quiet after step ~2070, then 36 trace-less steps
61
+ * without a nudge). The idle rule doubles its gap after each fire with a
62
+ * 40-step ceiling, and resets the backoff when the agent answers a reminder
63
+ * (see createIdleRule). Anti-spam is about frequency, not a total budget.
64
+ */
65
+ export class ReminderLatch {
66
+ minGap;
67
+ maxFires;
68
+ last = new Map();
69
+ constructor(minGap, maxFires) {
70
+ this.minGap = minGap;
71
+ this.maxFires = maxFires;
72
+ }
73
+ /** The version of one session's last fire, for compliance checks. */
74
+ firedAt(sessionId) {
75
+ return this.last.get(sessionId)?.version;
76
+ }
77
+ /** Forget one session's fire history. */
78
+ reset(sessionId) {
79
+ this.last.delete(sessionId);
80
+ }
81
+ shouldFire(sessionId, version) {
82
+ const prev = this.last.get(sessionId);
83
+ if (prev) {
84
+ const gap = typeof this.minGap === 'function' ? this.minGap(prev.fires) : this.minGap;
85
+ if (version - prev.version < gap || prev.fires >= this.maxFires)
86
+ return false;
87
+ }
88
+ this.last.set(sessionId, { version, fires: (prev?.fires ?? 0) + 1 });
89
+ return true;
90
+ }
91
+ }
92
+ /**
93
+ * The idle rule: nudge when an active investigation hasn't updated trace in
94
+ * 5+ steps. Silent when there is no tree or the tree is resolved.
95
+ */
96
+ export function createIdleRule(latch, gapSteps = 5) {
97
+ return (ctx) => {
98
+ const tree = ctx.tree;
99
+ if (!tree || tree.resolved)
100
+ return null;
101
+ if (ctx.lastTraceStep === 0)
102
+ return null;
103
+ // Compliance reset: a trace update at/after the last fire means the agent
104
+ // answered the reminder — the next quiet stretch starts over at the
105
+ // shortest gap instead of inheriting the grown one. Good behavior must
106
+ // not be punished with longer gaps. Pure in ctx: replaying the same
107
+ // state re-derives the same reset decision.
108
+ const firedAt = latch.firedAt(ctx.sessionId);
109
+ if (firedAt !== undefined && ctx.lastTraceStep >= firedAt)
110
+ latch.reset(ctx.sessionId);
111
+ const gap = ctx.currentStep - ctx.lastTraceStep;
112
+ if (gap < gapSteps)
113
+ return null;
114
+ if (!latch.shouldFire(ctx.sessionId, ctx.currentStep))
115
+ return null;
116
+ return `[REMINDER] 过去 ${gap} 步排查没有更新 trace。后续调查动作执行前先 add_step(写下要查什么), 拿到结果立即 complete 带 summary。迷失方向先 view。`;
117
+ };
118
+ }
119
+ /**
120
+ * The nesting rule: fires when steps pile up flat under milestones — no step
121
+ * nested under another step — while completed nodes already carry findings.
122
+ *
123
+ * Kinds are not stored on nodes, so shape is judged by depth: milestone at
124
+ * depth 1, step at depth 2; a step nested under a step lives at depth ≥ 3.
125
+ * "Flat" = at least 3 nodes at depth 2 and nothing deeper.
126
+ */
127
+ export function createNestingRule(latch, flatSteps = 3) {
128
+ return (ctx) => {
129
+ const tree = ctx.tree;
130
+ if (!tree || tree.resolved)
131
+ return null;
132
+ const nonRoot = tree.nodes.filter((n) => n.parent !== null);
133
+ let flatCount = 0;
134
+ let hasDeep = false;
135
+ for (const n of nonRoot) {
136
+ const d = depthOf(tree.nodes, n.id);
137
+ if (d === 2)
138
+ flatCount++;
139
+ else if (d >= 3)
140
+ hasDeep = true;
141
+ }
142
+ if (hasDeep || flatCount < flatSteps)
143
+ return null;
144
+ if (!tree.nodes.some((n) => n.summary !== null))
145
+ return null;
146
+ // Version: tree generation (forest length) × flat-step count — grows when
147
+ // a new tree starts or the flat count grows, so history replay never
148
+ // re-arms the rule.
149
+ const version = ctx.forest.trees.length * 1000 + flatCount;
150
+ if (!latch.shouldFire(ctx.sessionId, version))
151
+ return null;
152
+ return `[REMINDER] 你的 step 全部直接挂在 milestone 下, 但已有 step 带着发现完成。后续 add_step 先问"${TRIGGER_NODE_QUESTION}"——如果答案是某个 step 的发现, parent_id 用那个 step 的 id。`;
153
+ };
154
+ }
155
+ //# sourceMappingURL=reminders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reminders.js","sourceRoot":"","sources":["../src/reminders.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-forests.d.ts","sourceRoot":"","sources":["../src/session-forests.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAExD,6CAA6C;AAC7C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC1E;AAED,wEAAwE;AACxE,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,KAAK,WAAW,GAAG,IAAI,CAAA;AAE/E,gFAAgF;AAChF,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,EAAE,KAAK,EAAE,aAAa,KAAK,WAAW,GAAG,IAAI,CAAA;AAEhG,qBAAa,kBAAkB;IAK3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IANvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;IACzD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAoB;gBAGrC,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;IAGlD;;;;OAIG;IACH,OAAO,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,WAAW,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE;IAsB1E;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW;IA4B1E,kDAAkD;IAClD,KAAK,IAAI,IAAI;CAId"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * SessionForestStore — the single owner of a session's in-process forest.
3
+ *
4
+ * Two state holders exist: this store's map (live, synchronously mutated) and
5
+ * the session projection (durable, rebuilt from the session log). Before this
6
+ * module existed, the reconciliation protocol between them — "map wins during
7
+ * a turn, the projection seeds on first access, the log append precedes
8
+ * execute" — lived in comments inside the tool's execute switch, and every
9
+ * historical state bug came from a caller misapplying that protocol. Now the
10
+ * protocol is code, behind two methods:
11
+ *
12
+ * - {@link current} — read the session's forest, seeding from the projection
13
+ * on first access. Projection failures are reported loudly once per session
14
+ * instead of silently starting an empty forest.
15
+ * - {@link apply} — mutate the forest with one trace call. Fully synchronous:
16
+ * the read → seed → fold → write critical section contains no `await`, so
17
+ * no concurrent call can interleave. The create_tree double-fold guard
18
+ * (phantom tree) lives here, not in the caller.
19
+ *
20
+ * @module @elinpf/dsh-ops-tool-trace/session-forests
21
+ */
22
+ export class SessionForestStore {
23
+ snapshot;
24
+ fold;
25
+ warn;
26
+ forests = new Map();
27
+ seedFailureReported = new Set();
28
+ constructor(snapshot, fold, warn) {
29
+ this.snapshot = snapshot;
30
+ this.fold = fold;
31
+ this.warn = warn;
32
+ }
33
+ /**
34
+ * The current forest for a session. Seeds from the projection on first
35
+ * access (session replay / process restart); afterwards the in-process map
36
+ * is authoritative so parallel calls in one turn see each other immediately.
37
+ */
38
+ current(session) {
39
+ const existing = this.forests.get(session.id);
40
+ if (existing)
41
+ return { forest: existing, seeded: false };
42
+ let seeded = null;
43
+ try {
44
+ seeded = this.snapshot(session);
45
+ }
46
+ catch (error) {
47
+ // Loud, once per session: silently starting an empty forest would
48
+ // diverge the in-process state from the durable log.
49
+ if (!this.seedFailureReported.has(session.id)) {
50
+ this.seedFailureReported.add(session.id);
51
+ this.warn(`ops-trace: projection seed failed for session ${session.id}: ${error instanceof Error ? error.message : String(error)}`);
52
+ }
53
+ }
54
+ if (seeded && seeded.trees.length > 0) {
55
+ this.forests.set(session.id, seeded);
56
+ return { forest: seeded, seeded: true };
57
+ }
58
+ return { forest: { trees: [] }, seeded: false };
59
+ }
60
+ /**
61
+ * Apply one trace call to the session's forest and return the result.
62
+ * Synchronous by design — see the module docstring.
63
+ */
64
+ apply(session, args, turn) {
65
+ const { forest, seeded } = this.current(session);
66
+ // Phantom-tree guard: the framework appends the tool/call event to the
67
+ // session log — and the projection folds it — BEFORE execute runs. When
68
+ // this very call just seeded the store, the seed already contains this
69
+ // create_tree; folding it again would append a duplicate goal-only tree
70
+ // that later surfaces as the active tree once every real tree resolves.
71
+ if (seeded && args.action === 'create_tree' && args.goal_title) {
72
+ const last = forest.trees[forest.trees.length - 1];
73
+ if (last && !last.resolved && last.nodes.length === 1
74
+ && last.nodes[0].id === 'goal'
75
+ && last.nodes[0].title === args.goal_title
76
+ && last.nodes[0].turns.includes(turn)) {
77
+ return forest;
78
+ }
79
+ }
80
+ const event = {
81
+ type: 'tool/call',
82
+ data: { name: 'trace', turn, arguments: JSON.stringify(args) },
83
+ };
84
+ const updated = this.fold(forest, event) ?? forest;
85
+ if (updated.trees.length === 0)
86
+ this.forests.delete(session.id);
87
+ else
88
+ this.forests.set(session.id, updated);
89
+ return updated;
90
+ }
91
+ /** Drop all in-process state (fiber disposal). */
92
+ clear() {
93
+ this.forests.clear();
94
+ this.seedFailureReported.clear();
95
+ }
96
+ }
97
+ //# sourceMappingURL=session-forests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-forests.js","sourceRoot":"","sources":["../src/session-forests.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAgBH,MAAM,OAAO,kBAAkB;IAKV;IACA;IACA;IANF,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAA;IACxC,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAA;IAExD,YACmB,QAA2B,EAC3B,IAAgB,EAChB,IAA+B;QAF/B,aAAQ,GAAR,QAAQ,CAAmB;QAC3B,SAAI,GAAJ,IAAI,CAAY;QAChB,SAAI,GAAJ,IAAI,CAA2B;IAC/C,CAAC;IAEJ;;;;OAIG;IACH,OAAO,CAAC,OAAuB;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAC7C,IAAI,QAAQ;YAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;QAExD,IAAI,MAAM,GAAuB,IAAI,CAAA;QACrC,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kEAAkE;YAClE,qDAAqD;YACrD,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC9C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;gBACxC,IAAI,CAAC,IAAI,CAAC,iDAAiD,OAAO,CAAC,EAAE,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACrI,CAAC;QACH,CAAC;QACD,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;YACpC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QACzC,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;IACjD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAuB,EAAE,IAAe,EAAE,IAAY;QAC1D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAEhD,uEAAuE;QACvE,wEAAwE;QACxE,uEAAuE;QACvE,wEAAwE;QACxE,wEAAwE;QACxE,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/D,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YAClD,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;mBAC9C,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM;mBAC3B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,UAAU;mBACvC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1C,OAAO,MAAM,CAAA;YACf,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAkB;YAC3B,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;SAC/D,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAA;QAClD,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;;YAC1D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;QAC1C,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,kDAAkD;IAClD,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QACpB,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAA;IAClC,CAAC;CACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree-layout.d.ts","sourceRoot":"","sources":["../src/tree-layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1C,4EAA4E;AAC5E,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAE/C,CAAA;AAED;+CAC+C;AAC/C,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAQ1D;AAED,2DAA2D;AAC3D,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE;;;EAY/C;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,MAAM,CAYjG;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAgBzD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree-layout.js","sourceRoot":"","sources":["../src/tree-layout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAIlD;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,8DAA8D;IAC9D,EAAE,EAAE,MAAM,CAAA;IACV,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAA;IACb,+CAA+C;IAC/C,MAAM,EAAE,UAAU,CAAA;IAClB,4DAA4D;IAC5D,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,wCAAwC;IACxC,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,+DAA+D;IAC/D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB;0DACsD;IACtD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,yEAAyE;IACzE,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,8BAA8B;IAC9B,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,kDAAkD;IAClD,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,wCAAwC;IACxC,KAAK,EAAE,SAAS,EAAE,CAAA;CACnB;AAMD,+CAA+C;AAC/C,MAAM,MAAM,WAAW,GACnB,aAAa,GACb,UAAU,GACV,eAAe,GACf,OAAO,GACP,UAAU,GACV,SAAS,GACT,QAAQ,GACR,SAAS,GACT,MAAM,GACN,MAAM,GACN,MAAM,CAAA;AAEV;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,4CAA4C;IAC5C,IAAI,EAAE,SAAS,CAAA;IACf,yCAAyC;IACzC,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QAClC,UAAU,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,UAAU,CAAA;SAAE,CAAC,CAAA;QACpE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KACvB,CAAA;IACD,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;yEACqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,WAAW,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,EAAE,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAA;IAClB,aAAa,CAAC,EAAE,UAAU,CAAA;IAC1B;0CACsC;IACtC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB;;+EAE2E;IAC3E,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elinpf/dsh-ops-tool-trace",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Investigation tree tool for ops mode — replaces todo_write with a diverge-converge tree of steps, milestones, dead ends, and a resolved terminal.",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -25,11 +25,7 @@
25
25
  "./package.json": "./package.json"
26
26
  },
27
27
  "files": [
28
- "lib/index.js",
29
- "lib/invariant.js",
30
- "lib/types.js",
31
- "lib/tree-layout.js",
32
- "lib/**/*.d.ts",
28
+ "lib",
33
29
  "cordis.patch.yml"
34
30
  ],
35
31
  "dsh": {
@@ -45,7 +41,7 @@
45
41
  "@deepseek-ai/cordis": "^4.0.1",
46
42
  "@deepseek-ai/dsh-invariants": "^0.0.1-rc.1",
47
43
  "@deepseek-ai/dsh-llm": "^0.0.1-rc.1",
48
- "@elinpf/dsh-ops-prompts": "^0.1.1",
44
+ "@elinpf/dsh-ops-prompts": "^0.1.2",
49
45
  "@deepseek-ai/dsh-session": "^0.0.1-rc.1",
50
46
  "@deepseek-ai/dsh-session-projection": "^0.0.1-rc.1",
51
47
  "@deepseek-ai/dsh-system-prompt": "^0.0.1-rc.1",
@@ -64,7 +60,7 @@
64
60
  "@deepseek-ai/dsh-tools": "0.0.1-rc.1",
65
61
  "typescript": "^5.4.0",
66
62
  "vitest": "^4.1.11",
67
- "@elinpf/dsh-ops-prompts": "0.1.1"
63
+ "@elinpf/dsh-ops-prompts": "0.1.2"
68
64
  },
69
65
  "license": "MIT",
70
66
  "publishConfig": {