@te-river/opencode-team-mode 1.7.2 → 1.7.3

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.
Files changed (165) hide show
  1. package/README.md +1009 -849
  2. package/README.zh-CN.md +906 -756
  3. package/dist/host/v2-browser-gate.d.ts +4 -1
  4. package/dist/host/v2-browser-gate.d.ts.map +1 -1
  5. package/dist/host/v2-browser-gate.js +1 -1
  6. package/dist/host/v2-browser-gate.js.map +1 -1
  7. package/dist/host/v2-capabilities.js +1 -1
  8. package/dist/host/v2-capabilities.js.map +1 -1
  9. package/dist/host/v2-guard.d.ts +3 -1
  10. package/dist/host/v2-guard.d.ts.map +1 -1
  11. package/dist/host/v2-guard.js +2 -2
  12. package/dist/host/v2-guard.js.map +1 -1
  13. package/dist/host/v2-offload.d.ts +12 -2
  14. package/dist/host/v2-offload.d.ts.map +1 -1
  15. package/dist/host/v2-offload.js +9 -9
  16. package/dist/host/v2-offload.js.map +1 -1
  17. package/dist/host/v2-probe-chain.d.ts +5 -1
  18. package/dist/host/v2-probe-chain.d.ts.map +1 -1
  19. package/dist/host/v2-probe-chain.js +4 -6
  20. package/dist/host/v2-probe-chain.js.map +1 -1
  21. package/dist/host/v2-probe.d.ts.map +1 -1
  22. package/dist/host/v2-probe.js +2 -1
  23. package/dist/host/v2-probe.js.map +1 -1
  24. package/dist/host/v2-prune.d.ts +5 -1
  25. package/dist/host/v2-prune.d.ts.map +1 -1
  26. package/dist/host/v2-prune.js +8 -14
  27. package/dist/host/v2-prune.js.map +1 -1
  28. package/dist/host/v2-retry.d.ts +9 -2
  29. package/dist/host/v2-retry.d.ts.map +1 -1
  30. package/dist/host/v2-retry.js +13 -15
  31. package/dist/host/v2-retry.js.map +1 -1
  32. package/dist/host/v2-session.d.ts +6 -2
  33. package/dist/host/v2-session.d.ts.map +1 -1
  34. package/dist/host/v2-session.js +7 -13
  35. package/dist/host/v2-session.js.map +1 -1
  36. package/dist/host/v2.d.ts +7 -2
  37. package/dist/host/v2.d.ts.map +1 -1
  38. package/dist/host/v2.js +38 -35
  39. package/dist/host/v2.js.map +1 -1
  40. package/dist/prompts/lead.d.ts +1 -1
  41. package/dist/prompts/lead.d.ts.map +1 -1
  42. package/dist/prompts/lead.js +23 -7
  43. package/dist/prompts/lead.js.map +1 -1
  44. package/dist/prompts/specialists.d.ts +1 -1
  45. package/dist/prompts/specialists.d.ts.map +1 -1
  46. package/dist/prompts/specialists.js +1 -1
  47. package/dist/tm/args-schema.d.ts +1 -1
  48. package/dist/tm/args-schema.js +6 -6
  49. package/dist/tm/args-schema.js.map +1 -1
  50. package/dist/tm/board.js +2 -2
  51. package/dist/tm/board.js.map +1 -1
  52. package/dist/tm/config-files.d.ts +41 -17
  53. package/dist/tm/config-files.d.ts.map +1 -1
  54. package/dist/tm/config-files.js +68 -73
  55. package/dist/tm/config-files.js.map +1 -1
  56. package/dist/tm/config-layers.d.ts +65 -33
  57. package/dist/tm/config-layers.d.ts.map +1 -1
  58. package/dist/tm/config-layers.js +165 -81
  59. package/dist/tm/config-layers.js.map +1 -1
  60. package/dist/tm/config-template.d.ts +32 -0
  61. package/dist/tm/config-template.d.ts.map +1 -0
  62. package/dist/tm/config-template.js +74 -0
  63. package/dist/tm/config-template.js.map +1 -0
  64. package/dist/tm/config.d.ts +115 -140
  65. package/dist/tm/config.d.ts.map +1 -1
  66. package/dist/tm/config.js +100 -200
  67. package/dist/tm/config.js.map +1 -1
  68. package/dist/tm/index.d.ts +11 -3
  69. package/dist/tm/index.d.ts.map +1 -1
  70. package/dist/tm/index.js +46 -16
  71. package/dist/tm/index.js.map +1 -1
  72. package/dist/tm/ledger.d.ts +7 -3
  73. package/dist/tm/ledger.d.ts.map +1 -1
  74. package/dist/tm/ledger.js +5 -4
  75. package/dist/tm/ledger.js.map +1 -1
  76. package/dist/tm/memory.js +3 -3
  77. package/dist/tm/pipelines.js +1 -1
  78. package/dist/tm/search.js +6 -6
  79. package/dist/tm/search.js.map +1 -1
  80. package/dist/tm/stats.js +2 -2
  81. package/dist/tm/stats.js.map +1 -1
  82. package/dist/tm/tools.js +2 -2
  83. package/dist/tm/webfetch.d.ts +5 -2
  84. package/dist/tm/webfetch.d.ts.map +1 -1
  85. package/dist/tm/webfetch.js +24 -18
  86. package/dist/tm/webfetch.js.map +1 -1
  87. package/docs/installation-v2.md +59 -38
  88. package/docs/installation.md +4 -4
  89. package/package.json +1 -1
  90. package/dist/approval-gate.d.ts +0 -205
  91. package/dist/approval-gate.d.ts.map +0 -1
  92. package/dist/approval-gate.js +0 -627
  93. package/dist/approval-gate.js.map +0 -1
  94. package/dist/host/v1.d.ts +0 -14
  95. package/dist/host/v1.d.ts.map +0 -1
  96. package/dist/host/v1.js +0 -340
  97. package/dist/host/v1.js.map +0 -1
  98. package/dist/host/v2-client.d.ts +0 -53
  99. package/dist/host/v2-client.d.ts.map +0 -1
  100. package/dist/host/v2-client.js +0 -193
  101. package/dist/host/v2-client.js.map +0 -1
  102. package/dist/host/v2-transcript.d.ts +0 -73
  103. package/dist/host/v2-transcript.d.ts.map +0 -1
  104. package/dist/host/v2-transcript.js +0 -151
  105. package/dist/host/v2-transcript.js.map +0 -1
  106. package/dist/host-hooks.d.ts +0 -126
  107. package/dist/host-hooks.d.ts.map +0 -1
  108. package/dist/host-hooks.js +0 -284
  109. package/dist/host-hooks.js.map +0 -1
  110. package/dist/tm/bash-timeout.d.ts +0 -72
  111. package/dist/tm/bash-timeout.d.ts.map +0 -1
  112. package/dist/tm/bash-timeout.js +0 -100
  113. package/dist/tm/bash-timeout.js.map +0 -1
  114. package/dist/tm/browser.d.ts +0 -642
  115. package/dist/tm/browser.d.ts.map +0 -1
  116. package/dist/tm/browser.js +0 -2836
  117. package/dist/tm/browser.js.map +0 -1
  118. package/dist/tm/ptc/budgets.d.ts +0 -59
  119. package/dist/tm/ptc/budgets.d.ts.map +0 -1
  120. package/dist/tm/ptc/budgets.js +0 -138
  121. package/dist/tm/ptc/budgets.js.map +0 -1
  122. package/dist/tm/ptc/contract.d.ts +0 -171
  123. package/dist/tm/ptc/contract.d.ts.map +0 -1
  124. package/dist/tm/ptc/contract.js +0 -85
  125. package/dist/tm/ptc/contract.js.map +0 -1
  126. package/dist/tm/ptc/driver.d.ts +0 -40
  127. package/dist/tm/ptc/driver.d.ts.map +0 -1
  128. package/dist/tm/ptc/driver.js +0 -213
  129. package/dist/tm/ptc/driver.js.map +0 -1
  130. package/dist/tm/ptc/engines.d.ts +0 -43
  131. package/dist/tm/ptc/engines.d.ts.map +0 -1
  132. package/dist/tm/ptc/engines.js +0 -454
  133. package/dist/tm/ptc/engines.js.map +0 -1
  134. package/dist/tm/ptc/gate.d.ts +0 -28
  135. package/dist/tm/ptc/gate.d.ts.map +0 -1
  136. package/dist/tm/ptc/gate.js +0 -130
  137. package/dist/tm/ptc/gate.js.map +0 -1
  138. package/dist/tm/ptc/index.d.ts +0 -19
  139. package/dist/tm/ptc/index.d.ts.map +0 -1
  140. package/dist/tm/ptc/index.js +0 -15
  141. package/dist/tm/ptc/index.js.map +0 -1
  142. package/dist/tm/ptc/pscan.d.ts +0 -30
  143. package/dist/tm/ptc/pscan.d.ts.map +0 -1
  144. package/dist/tm/ptc/pscan.js +0 -341
  145. package/dist/tm/ptc/pscan.js.map +0 -1
  146. package/dist/tm/ptc/summary.d.ts +0 -17
  147. package/dist/tm/ptc/summary.d.ts.map +0 -1
  148. package/dist/tm/ptc/summary.js +0 -134
  149. package/dist/tm/ptc/summary.js.map +0 -1
  150. package/dist/tm/ptc/tool.d.ts +0 -66
  151. package/dist/tm/ptc/tool.d.ts.map +0 -1
  152. package/dist/tm/ptc/tool.js +0 -231
  153. package/dist/tm/ptc/tool.js.map +0 -1
  154. package/dist/tm/ptc.d.ts +0 -298
  155. package/dist/tm/ptc.d.ts.map +0 -1
  156. package/dist/tm/ptc.js +0 -865
  157. package/dist/tm/ptc.js.map +0 -1
  158. package/dist/tm/pty.d.ts +0 -70
  159. package/dist/tm/pty.d.ts.map +0 -1
  160. package/dist/tm/pty.js +0 -245
  161. package/dist/tm/pty.js.map +0 -1
  162. package/dist/tool-coerce.d.ts +0 -24
  163. package/dist/tool-coerce.d.ts.map +0 -1
  164. package/dist/tool-coerce.js +0 -63
  165. package/dist/tool-coerce.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"ptc.js","sourceRoot":"","sources":["../../src/tm/ptc.ts"],"names":[],"mappings":"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"}
package/dist/tm/pty.d.ts DELETED
@@ -1,70 +0,0 @@
1
- /**
2
- * tm_pty — ASYNC command execution on a host PTY (issue #6's second half).
3
- *
4
- * The problem it removes: a three-suite serial `npm test` chain where every
5
- * step carries a 120 s timeout is minutes of dead air in ONE blocked tool
6
- * call. A PTY session is the host's own long-lived process — created and
7
- * polled in milliseconds — so the agent can start the work, keep doing
8
- * something else, and check back.
9
- *
10
- * What the surface actually offers (verified against the shipped SDK):
11
- * `pty.create/list/get/update/remove/connect` with
12
- * `Pty = {id,title,command,args,cwd,status:"running"|"exited",pid}` — i.e.
13
- * NO stdin and NO output endpoint on the REST surface (terminal I/O rides the
14
- * `connect` websocket, which this plugin deliberately does not speak). So
15
- * tm_pty starts, watches and stops sessions; it never pretends to capture
16
- * output, and the command writes its own log which the governed readers pick
17
- * up. An agent that needs the transcript reads the file, not this tool.
18
- *
19
- * Governance — this is the important part. A tool that could spawn an
20
- * arbitrary process would be a bypass around the R2 danger face (delete /
21
- * git push / npm publish / package install are dialog-gated built-in bash).
22
- * So every start is gated TWICE before anything is created:
23
- * 1. the R6 classifier runs on the command (a blocked shape is refused with
24
- * the standard privacy-preserving error, same source as tm_bash);
25
- * 2. the OFFICIAL confirmation dialog decides (`permission:"tm_pty"` is
26
- * mapped to {"*":"ask"} in agents.ts so the explicit rule beats the
27
- * `tm_*` allow — without that map the ask would resolve silently and the
28
- * user would never see it). No ask bridge on the host => refuse; a
29
- * rejection => refuse. The plugin never self-allows.
30
- * Concurrent sessions are capped (`TM_PTY_MAX`), and an id we did not start
31
- * is not ours to kill.
32
- */
33
- import type { EnvProtectMode } from "../envprotect.js";
34
- import type { ToolDefinition } from "../types.js";
35
- import type { TmPipelines } from "./pipelines.js";
36
- export interface PtyRecord {
37
- id: string;
38
- command: string;
39
- cwd: string;
40
- title: string;
41
- startedAt: number;
42
- status: "running" | "exited";
43
- pid?: number;
44
- }
45
- export interface PtyDeps {
46
- client: unknown;
47
- pipelines: TmPipelines;
48
- mode?: EnvProtectMode;
49
- max?: number;
50
- now?: () => number;
51
- /** Called when the tool wants a fresh look at live state. */
52
- onTracked?: (records: PtyRecord[]) => void;
53
- }
54
- /** The command line a human (and the dialog) reads: command + args, no env. */
55
- export declare function ptyCommandLine(command: string, args: readonly string[]): string;
56
- /** Does `line` hit one of the host's escalate-to-dialog bash globs (the R2
57
- * danger face: rm/del/Remove-Item, git push|commit, npm publish|install,
58
- * kill/systemctl, …)? Same pattern table the built-in bash config uses, so
59
- * tm_pty refuses exactly the shapes that would otherwise need a human. */
60
- export declare function matchesAskGlob(line: string, patterns: readonly string[]): string | null;
61
- /** Red line / deny check — the SAME classifiers as tm_bash and built-in
62
- * bash (R6 env face via classifyBashCommand, R2 danger face via the ask
63
- * globs), so tm_pty cannot become a channel for what the other two refuse. */
64
- export declare function ptyCommandBlocked(line: string, mode: EnvProtectMode): string | null;
65
- /** Verdict table for a bounded poll: what the agent may act on. */
66
- export declare function ptyVerdictLine(r: PtyRecord, now: number): string;
67
- export declare function buildTmPtyTool(deps: PtyDeps): ToolDefinition & {
68
- tracked: () => PtyRecord[];
69
- };
70
- //# sourceMappingURL=pty.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pty.d.ts","sourceRoot":"","sources":["../../src/tm/pty.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEtD,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,aAAa,CAAA;AAI7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEjD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAA;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,WAAW,CAAA;IACtB,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAClB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,IAAI,CAAA;CAC3C;AAED,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAG/E;AAED;;;2EAG2E;AAC3E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAcvF;AAED;;+EAE+E;AAC/E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAQnF;AAED,mEAAmE;AACnE,wBAAgB,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGhE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,GAAG;IAAE,OAAO,EAAE,MAAM,SAAS,EAAE,CAAA;CAAE,CA8K7F"}
package/dist/tm/pty.js DELETED
@@ -1,245 +0,0 @@
1
- /**
2
- * tm_pty — ASYNC command execution on a host PTY (issue #6's second half).
3
- *
4
- * The problem it removes: a three-suite serial `npm test` chain where every
5
- * step carries a 120 s timeout is minutes of dead air in ONE blocked tool
6
- * call. A PTY session is the host's own long-lived process — created and
7
- * polled in milliseconds — so the agent can start the work, keep doing
8
- * something else, and check back.
9
- *
10
- * What the surface actually offers (verified against the shipped SDK):
11
- * `pty.create/list/get/update/remove/connect` with
12
- * `Pty = {id,title,command,args,cwd,status:"running"|"exited",pid}` — i.e.
13
- * NO stdin and NO output endpoint on the REST surface (terminal I/O rides the
14
- * `connect` websocket, which this plugin deliberately does not speak). So
15
- * tm_pty starts, watches and stops sessions; it never pretends to capture
16
- * output, and the command writes its own log which the governed readers pick
17
- * up. An agent that needs the transcript reads the file, not this tool.
18
- *
19
- * Governance — this is the important part. A tool that could spawn an
20
- * arbitrary process would be a bypass around the R2 danger face (delete /
21
- * git push / npm publish / package install are dialog-gated built-in bash).
22
- * So every start is gated TWICE before anything is created:
23
- * 1. the R6 classifier runs on the command (a blocked shape is refused with
24
- * the standard privacy-preserving error, same source as tm_bash);
25
- * 2. the OFFICIAL confirmation dialog decides (`permission:"tm_pty"` is
26
- * mapped to {"*":"ask"} in agents.ts so the explicit rule beats the
27
- * `tm_*` allow — without that map the ask would resolve silently and the
28
- * user would never see it). No ask bridge on the host => refuse; a
29
- * rejection => refuse. The plugin never self-allows.
30
- * Concurrent sessions are capped (`TM_PTY_MAX`), and an id we did not start
31
- * is not ours to kill.
32
- */
33
- import { classifyBashCommand, R2_DANGER_BASH_ASK_PATTERNS } from "../envprotect.js";
34
- import { askRefusalNote, askUserForTarget } from "./perm-ask.js";
35
- import { tmError, toToolResult } from "./result.js";
36
- import { unwrapClientResult } from "./client-unwrap.js";
37
- import { shorten } from "./config.js";
38
- /** The command line a human (and the dialog) reads: command + args, no env. */
39
- export function ptyCommandLine(command, args) {
40
- const parts = [String(command ?? "").trim(), ...args.map((a) => String(a ?? "").trim()).filter(Boolean)].filter(Boolean);
41
- return parts.join(" ");
42
- }
43
- /** Does `line` hit one of the host's escalate-to-dialog bash globs (the R2
44
- * danger face: rm/del/Remove-Item, git push|commit, npm publish|install,
45
- * kill/systemctl, …)? Same pattern table the built-in bash config uses, so
46
- * tm_pty refuses exactly the shapes that would otherwise need a human. */
47
- export function matchesAskGlob(line, patterns) {
48
- const norm = String(line ?? "").trim().replace(/\s+/g, " ");
49
- if (!norm)
50
- return null;
51
- for (const raw of patterns) {
52
- const pat = String(raw ?? "").trim().replace(/\s+/g, " ");
53
- if (!pat || pat === "*")
54
- continue;
55
- if (pat.endsWith(" *")) {
56
- const head = pat.slice(0, -2);
57
- if (norm.startsWith(head + " "))
58
- return pat;
59
- }
60
- else if (norm === pat) {
61
- return pat;
62
- }
63
- }
64
- return null;
65
- }
66
- /** Red line / deny check — the SAME classifiers as tm_bash and built-in
67
- * bash (R6 env face via classifyBashCommand, R2 danger face via the ask
68
- * globs), so tm_pty cannot become a channel for what the other two refuse. */
69
- export function ptyCommandBlocked(line, mode) {
70
- const text = line.trim();
71
- if (!text)
72
- return "empty-command";
73
- if (/[$(`]/.test(text))
74
- return "substitution";
75
- if (/>\s*(?:\/dev\/sd|C:\\)/i.test(text) || /\brm\s+-rf\s+\/(\s|$)/.test(text))
76
- return "device-write";
77
- const danger = matchesAskGlob(text, R2_DANGER_BASH_ASK_PATTERNS);
78
- if (danger)
79
- return "danger-face";
80
- return classifyBashCommand(text, mode, []);
81
- }
82
- /** Verdict table for a bounded poll: what the agent may act on. */
83
- export function ptyVerdictLine(r, now) {
84
- const secs = Math.max(0, Math.round(((r.startedAt ? now - r.startedAt : 0) / 1000)));
85
- return `${r.id} · ${r.status === "running" ? `运行中 ${secs}s` : "已退出"} · pid ${r.pid ?? "?"} · ${shorten(r.command, 90)} · 日志:${r.title}`;
86
- }
87
- export function buildTmPtyTool(deps) {
88
- const mode = deps.mode ?? "standard";
89
- const max = Math.max(1, Number(deps.max) || 4);
90
- const now = deps.now ?? (() => Date.now());
91
- const store = deps.pipelines.store;
92
- const log = (e) => store.appendTrajectory({ tool: "tm_pty", ...e });
93
- const tracked = new Map();
94
- const api = () => {
95
- const pty = deps.client?.pty;
96
- if (!pty || typeof pty.create !== "function" || typeof pty.get !== "function")
97
- return null;
98
- return pty;
99
- };
100
- const tool = {
101
- description: `Start and watch a long-running command in the host's OWN terminal sessions, without blocking the round (the built-in bash waits; this one returns at once).
102
- - { action:"start", command, args?:string[], cwd?, log? } → R6-classified, then the OFFICIAL confirmation dialog decides, then a PTY session is created and its id returned in milliseconds. Independent slow steps (test suites, builds, watchers) each get their own session so they overlap instead of serialising.
103
- - NO OUTPUT CAPTURE: this tool starts/watches/stops processes and never reads their transcript (terminal I/O is a websocket this plugin does not speak). Write a log yourself — append \`2>&1 | tee <log>\` to the command, pass the path as \`log\`, then read that file with tm_read / tm_fetch once the session exits.
104
- - { action:"status", id } → running / exited (+ pid + elapsed), { action:"list" } → every session this session started, { action:"kill", id } → stop one of ours.
105
- - A still-running session is not a failure: report it as an open item, or kill it — never leave a process the user did not approve running after you are done.
106
- - Capped at ${Math.max(1, Number(deps.max) || 4)} concurrent sessions; every start re-asks the user. No dialog bridge → refused (this is not a bypass channel).`,
107
- args: {
108
- action: { descriptor: 'action: start|status|list|kill (default "start")' },
109
- command: { descriptor: "command: program to run, e.g. npm (start)" },
110
- args: { descriptor: "args: string[] argv for the program, e.g. [\"test\"] (start)" },
111
- cwd: { descriptor: "cwd: working directory, defaults to the session directory (start)" },
112
- log: { descriptor: "log: path where the command tees its output, so tm_read can read it later (start)" },
113
- id: { descriptor: "id: PTY session id (status|kill)" },
114
- },
115
- execute: async (rawArgs, ctx) => {
116
- const name = "tm_pty";
117
- try {
118
- const args = (rawArgs ?? {});
119
- const action = String(args.action ?? "start").trim().toLowerCase();
120
- const pty = api();
121
- if (!pty) {
122
- return toToolResult(tmError(name, "client", "此宿主未暴露 client.pty(终端会话接口),tm_pty 不可用——用内置 bash 分段执行,或 tm_ptc_run 批量。"));
123
- }
124
- const directory = typeof ctx?.directory === "string"
125
- ? String(ctx.directory)
126
- : process.cwd();
127
- const c = (ctx ?? {});
128
- log({ step_id: "pty", event: "call", action, session: String(c.sessionID ?? "") });
129
- if (action === "list") {
130
- const rows = [...tracked.values()];
131
- if (!rows.length)
132
- return toToolResult("本会话未启动任何 tm_pty 进程。");
133
- return toToolResult(rows.map((r) => ptyVerdictLine(r, now())).join("\n"));
134
- }
135
- if (action === "status" || action === "kill") {
136
- const id = String(args.id ?? "").trim();
137
- if (!id)
138
- return toToolResult(tmError(name, "args", `缺少 id(${action} 需要 tm_pty start 返回的会话 id)`));
139
- if (action === "kill") {
140
- // an id we did not start is the user's terminal, not ours to stop
141
- if (!tracked.has(id)) {
142
- return toToolResult(tmError(name, "governance", `会话 ${id} 不是本插件启动的——不代用户关闭终端。`));
143
- }
144
- if (typeof pty.remove !== "function")
145
- return toToolResult(tmError(name, "client", "宿主无 pty.remove,无法停止会话。"));
146
- const un = unwrapClientResult(await pty.remove({ path: { id } }));
147
- if (!un.ok)
148
- return toToolResult(tmError(name, "client", `停止失败:${shorten(un.message ?? "", 120)}`));
149
- const rec = tracked.get(id);
150
- if (rec)
151
- rec.status = "exited";
152
- log({ step_id: "pty", event: "kill", id });
153
- return toToolResult(`已停止会话 ${id}${rec ? `(命令:${shorten(rec.command, 70)})` : ""}。`);
154
- }
155
- const un = unwrapClientResult(await pty.get({ path: { id } }));
156
- if (!un.ok)
157
- return toToolResult(tmError(name, "client", `查询失败:${shorten(un.message ?? "", 120)}`));
158
- const info = un.data;
159
- const rec = tracked.get(id);
160
- if (rec && String(info.status ?? "") === "exited")
161
- rec.status = "exited";
162
- const status = String(info.status ?? "unknown");
163
- return toToolResult([
164
- `会话 ${id}:${status}${info.pid != null ? ` · pid ${info.pid}` : ""}`,
165
- rec ? `已运行 ${Math.max(0, Math.round((now() - rec.startedAt) / 1000))}s · 命令 ${shorten(rec.command, 90)}` : "",
166
- status === "running"
167
- ? "仍在运行:继续别的工作,稍后再 status;需要输出就读它的日志文件(tm_read)。"
168
- : "已退出:用 tm_read 读日志文件确认结果,再报 EVIDENCE。",
169
- ]
170
- .filter(Boolean)
171
- .join("\n"));
172
- }
173
- if (action !== "start")
174
- return toToolResult(tmError(name, "args", `未知 action "${shorten(action, 20)}"——可用: start|status|list|kill`));
175
- const command = String(args.command ?? "").trim();
176
- if (!command)
177
- return toToolResult(tmError(name, "args", "缺少 command(要启动的程序,argv 用 args 传)"));
178
- if (/[\n\r]/.test(command))
179
- return toToolResult(tmError(name, "args", "command 必须是单条程序名,不要内嵌换行/多命令"));
180
- const argv = Array.isArray(args.args) ? args.args.map((a) => String(a ?? "")) : [];
181
- const line = ptyCommandLine(command, argv);
182
- if (line.length > 4000)
183
- return toToolResult(tmError(name, "args", "命令行过长"));
184
- const blocked = ptyCommandBlocked(line, mode);
185
- if (blocked) {
186
- log({ step_id: "pty", event: "refused", category: blocked });
187
- return toToolResult(tmError(name, "permission", `命令被 R6/R2 治理面拒绝(category=${blocked})——tm_pty 不是绕过确认窗的后门。改走内置 bash(会开官方弹窗)或缩小命令。`));
188
- }
189
- const running = [...tracked.values()].filter((r) => r.status === "running").length;
190
- if (running >= max) {
191
- return toToolResult(tmError(name, "governance", `并发上限 ${max} 已占满(${running} 个在跑)——先 tm_pty kill 或 status 收干净。`));
192
- }
193
- const cwd = typeof args.cwd === "string" && args.cwd.trim() ? args.cwd.trim() : directory;
194
- const outcome = await askUserForTarget(ctx, {
195
- permission: name,
196
- patterns: [line],
197
- metadata: { tool: name, command: shorten(line, 200), cwd: shorten(cwd, 120) },
198
- });
199
- if (outcome !== "approved") {
200
- log({
201
- step_id: "pty",
202
- event: outcome === "timed-out" ? "dialog-timeout" : outcome === "rejected" ? "dialog-rejected" : "no-dialog",
203
- });
204
- return toToolResult(tmError(name, "permission", `后台执行需要用户批准:${askRefusalNote(outcome)}`));
205
- }
206
- const created = unwrapClientResult(await pty.create({
207
- body: { command, ...(argv.length ? { args: argv } : {}), cwd, title: `tm_pty: ${shorten(line, 60)}` },
208
- }));
209
- if (!created.ok)
210
- return toToolResult(tmError(name, "client", `创建终端会话失败:${shorten(created.message ?? "", 120)}`));
211
- const info = created.data;
212
- const id = String(info.id ?? "").trim();
213
- if (!id)
214
- return toToolResult(tmError(name, "client", "宿主未返回会话 id"));
215
- const logPath = typeof args.log === "string" && args.log.trim() ? args.log.trim() : "";
216
- const rec = {
217
- id,
218
- command: line,
219
- cwd,
220
- title: logPath || "(未指定日志文件)",
221
- startedAt: now(),
222
- status: "running",
223
- pid: typeof info.pid === "number" ? info.pid : undefined,
224
- };
225
- tracked.set(id, rec);
226
- deps.onTracked?.([...tracked.values()]);
227
- log({ step_id: "pty", event: "start", id, cwd: shorten(cwd, 120), command: shorten(line, 200) });
228
- return toToolResult([
229
- `已启动(非阻塞):${id} · pid ${rec.pid ?? "?"} · ${shorten(line, 120)}`,
230
- `它不会把输出送回给你——现在去做别的(派发、规划、读代码),稍后 tm_pty { action:"status", id:"${id}" }。`,
231
- logPath
232
- ? `退出后用 tm_read 读 ${logPath} 取结果。`
233
- : "下次启动同类任务时带 log 参数(例:cmd 2>&1 | tee 该路径),否则你无法取证它的输出。",
234
- "用完请 tm_pty kill(或让用户确认留下)。",
235
- ].join("\n"));
236
- }
237
- catch (err) {
238
- const e = err;
239
- return toToolResult(tmError("tm_pty", "execute", `tm_pty 失败:${shorten(e?.message ?? err, 160)}`));
240
- }
241
- },
242
- };
243
- return Object.assign(tool, { tracked: () => [...tracked.values()] });
244
- }
245
- //# sourceMappingURL=pty.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pty.js","sourceRoot":"","sources":["../../src/tm/pty.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- /**
2
- * Coerce the handful of built-in tool arguments the host validates strictly
3
- * and the model sends as strings.
4
- *
5
- * WHY (live evidence, 2026-09-20): a lead following our own "use the host's
6
- * visible background sub-agent" advice burned two failed `task` calls before
7
- * it got through — first `"background": "True"`, then `"background": "true"`.
8
- * The host's schema is `Schema.Boolean` and rejects a string outright, while
9
- * models routinely serialize booleans as text (every tm_* tool here already
10
- * tolerates `cancel: "true"` for exactly that reason). So the trap is real,
11
- * reproducible, and on the path we recommend.
12
- *
13
- * This is the same mutable-args surface the bash timeout clamp uses
14
- * (`tool.execute.before`), and the same discipline applies:
15
- * - narrow scope — one known boolean per known tool, listed below;
16
- * - lossless — only the strings true/false (any case) are converted, and
17
- * anything else is left exactly as the model wrote it;
18
- * - never invents an argument the model omitted, never widens what may run;
19
- * - cannot throw into the hook: a bad coercion would fail the user's call.
20
- */
21
- /** Mutates `output.args` in place. Returns the keys it converted (empty when
22
- * it did nothing, which is the overwhelmingly common case). */
23
- export declare function coerceToolArgs(input: unknown, output: unknown): string[];
24
- //# sourceMappingURL=tool-coerce.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-coerce.d.ts","sourceRoot":"","sources":["../src/tool-coerce.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAUH;gEACgE;AAChE,wBAAgB,cAAc,CAC5B,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,OAAO,GACd,MAAM,EAAE,CA6BV"}
@@ -1,63 +0,0 @@
1
- /**
2
- * Coerce the handful of built-in tool arguments the host validates strictly
3
- * and the model sends as strings.
4
- *
5
- * WHY (live evidence, 2026-09-20): a lead following our own "use the host's
6
- * visible background sub-agent" advice burned two failed `task` calls before
7
- * it got through — first `"background": "True"`, then `"background": "true"`.
8
- * The host's schema is `Schema.Boolean` and rejects a string outright, while
9
- * models routinely serialize booleans as text (every tm_* tool here already
10
- * tolerates `cancel: "true"` for exactly that reason). So the trap is real,
11
- * reproducible, and on the path we recommend.
12
- *
13
- * This is the same mutable-args surface the bash timeout clamp uses
14
- * (`tool.execute.before`), and the same discipline applies:
15
- * - narrow scope — one known boolean per known tool, listed below;
16
- * - lossless — only the strings true/false (any case) are converted, and
17
- * anything else is left exactly as the model wrote it;
18
- * - never invents an argument the model omitted, never widens what may run;
19
- * - cannot throw into the hook: a bad coercion would fail the user's call.
20
- */
21
- /** tool id (lower-cased, suffix-matched) → the boolean args it validates. */
22
- const BOOLEAN_ARGS = {
23
- task: ["background"],
24
- };
25
- const TRUE_RE = /^(true|1|yes|on)$/i;
26
- const FALSE_RE = /^(false|0|no|off)$/i;
27
- /** Mutates `output.args` in place. Returns the keys it converted (empty when
28
- * it did nothing, which is the overwhelmingly common case). */
29
- export function coerceToolArgs(input, output) {
30
- try {
31
- const rawID = String(input?.tool ??
32
- input?.toolID ?? "").trim().toLowerCase();
33
- if (!rawID)
34
- return [];
35
- const key = Object.keys(BOOLEAN_ARGS).find((k) => rawID === k || rawID.endsWith(`:${k}`) || rawID.endsWith(`/${k}`));
36
- if (!key)
37
- return [];
38
- const args = output?.args;
39
- if (!args || typeof args !== "object" || Array.isArray(args))
40
- return [];
41
- const changed = [];
42
- for (const name of BOOLEAN_ARGS[key]) {
43
- const value = args[name];
44
- if (typeof value !== "string")
45
- continue;
46
- const t = value.trim();
47
- if (TRUE_RE.test(t)) {
48
- args[name] = true;
49
- changed.push(name);
50
- }
51
- else if (FALSE_RE.test(t)) {
52
- args[name] = false;
53
- changed.push(name);
54
- }
55
- // any other string is the model meaning something we do not interpret
56
- }
57
- return changed;
58
- }
59
- catch {
60
- return [];
61
- }
62
- }
63
- //# sourceMappingURL=tool-coerce.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-coerce.js","sourceRoot":"","sources":["../src/tool-coerce.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,6EAA6E;AAC7E,MAAM,YAAY,GAA6B;IAC7C,IAAI,EAAE,CAAC,YAAY,CAAC;CACrB,CAAA;AAED,MAAM,OAAO,GAAG,oBAAoB,CAAA;AACpC,MAAM,QAAQ,GAAG,qBAAqB,CAAA;AAEtC;gEACgE;AAChE,MAAM,UAAU,cAAc,CAC5B,KAAc,EACd,MAAe;IAEf,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,CAAE,KAAqD,EAAE,IAAI;YAC9E,KAAqC,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAC5E,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAA;QACrB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CACzE,CAAA;QACD,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAA;QACnB,MAAM,IAAI,GAAI,MAAoD,EAAE,IAAI,CAAA;QACxE,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,CAAA;QACvE,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;YACxB,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,SAAQ;YACvC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;YACtB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;gBACjB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACpB,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;gBAClB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACpB,CAAC;YACD,sEAAsE;QACxE,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC"}