@te-river/opencode-team-mode 1.7.1 → 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.
- package/README.md +1009 -849
- package/README.zh-CN.md +906 -756
- package/dist/host/v2-browser-gate.d.ts +4 -1
- package/dist/host/v2-browser-gate.d.ts.map +1 -1
- package/dist/host/v2-browser-gate.js +1 -1
- package/dist/host/v2-browser-gate.js.map +1 -1
- package/dist/host/v2-capabilities.js +1 -1
- package/dist/host/v2-capabilities.js.map +1 -1
- package/dist/host/v2-guard.d.ts +3 -1
- package/dist/host/v2-guard.d.ts.map +1 -1
- package/dist/host/v2-guard.js +2 -2
- package/dist/host/v2-guard.js.map +1 -1
- package/dist/host/v2-offload.d.ts +12 -2
- package/dist/host/v2-offload.d.ts.map +1 -1
- package/dist/host/v2-offload.js +9 -9
- package/dist/host/v2-offload.js.map +1 -1
- package/dist/host/v2-probe-chain.d.ts +5 -1
- package/dist/host/v2-probe-chain.d.ts.map +1 -1
- package/dist/host/v2-probe-chain.js +4 -6
- package/dist/host/v2-probe-chain.js.map +1 -1
- package/dist/host/v2-probe.d.ts.map +1 -1
- package/dist/host/v2-probe.js +2 -1
- package/dist/host/v2-probe.js.map +1 -1
- package/dist/host/v2-prune.d.ts +5 -1
- package/dist/host/v2-prune.d.ts.map +1 -1
- package/dist/host/v2-prune.js +8 -14
- package/dist/host/v2-prune.js.map +1 -1
- package/dist/host/v2-retry.d.ts +9 -2
- package/dist/host/v2-retry.d.ts.map +1 -1
- package/dist/host/v2-retry.js +13 -15
- package/dist/host/v2-retry.js.map +1 -1
- package/dist/host/v2-session.d.ts +6 -2
- package/dist/host/v2-session.d.ts.map +1 -1
- package/dist/host/v2-session.js +7 -13
- package/dist/host/v2-session.js.map +1 -1
- package/dist/host/v2.d.ts +7 -2
- package/dist/host/v2.d.ts.map +1 -1
- package/dist/host/v2.js +38 -35
- package/dist/host/v2.js.map +1 -1
- package/dist/prompts/lead.d.ts +1 -1
- package/dist/prompts/lead.d.ts.map +1 -1
- package/dist/prompts/lead.js +23 -7
- package/dist/prompts/lead.js.map +1 -1
- package/dist/prompts/specialists.d.ts +1 -1
- package/dist/prompts/specialists.d.ts.map +1 -1
- package/dist/prompts/specialists.js +1 -1
- package/dist/tm/args-schema.d.ts +1 -1
- package/dist/tm/args-schema.js +6 -6
- package/dist/tm/args-schema.js.map +1 -1
- package/dist/tm/board.js +2 -2
- package/dist/tm/board.js.map +1 -1
- package/dist/tm/config-files.d.ts +41 -17
- package/dist/tm/config-files.d.ts.map +1 -1
- package/dist/tm/config-files.js +68 -73
- package/dist/tm/config-files.js.map +1 -1
- package/dist/tm/config-layers.d.ts +65 -33
- package/dist/tm/config-layers.d.ts.map +1 -1
- package/dist/tm/config-layers.js +165 -81
- package/dist/tm/config-layers.js.map +1 -1
- package/dist/tm/config-template.d.ts +32 -0
- package/dist/tm/config-template.d.ts.map +1 -0
- package/dist/tm/config-template.js +74 -0
- package/dist/tm/config-template.js.map +1 -0
- package/dist/tm/config.d.ts +115 -140
- package/dist/tm/config.d.ts.map +1 -1
- package/dist/tm/config.js +100 -200
- package/dist/tm/config.js.map +1 -1
- package/dist/tm/index.d.ts +11 -3
- package/dist/tm/index.d.ts.map +1 -1
- package/dist/tm/index.js +46 -16
- package/dist/tm/index.js.map +1 -1
- package/dist/tm/ledger.d.ts +7 -3
- package/dist/tm/ledger.d.ts.map +1 -1
- package/dist/tm/ledger.js +5 -4
- package/dist/tm/ledger.js.map +1 -1
- package/dist/tm/memory.js +3 -3
- package/dist/tm/pipelines.js +1 -1
- package/dist/tm/search.js +6 -6
- package/dist/tm/search.js.map +1 -1
- package/dist/tm/stats.js +2 -2
- package/dist/tm/stats.js.map +1 -1
- package/dist/tm/tools.js +2 -2
- package/dist/tm/webfetch.d.ts +5 -2
- package/dist/tm/webfetch.d.ts.map +1 -1
- package/dist/tm/webfetch.js +24 -18
- package/dist/tm/webfetch.js.map +1 -1
- package/docs/installation-v2.md +61 -38
- package/docs/installation.md +4 -4
- package/docs/v2-port-notes.md +31 -0
- package/package.json +1 -1
- package/scripts/gen-v2-config.mjs +40 -4
- package/dist/approval-gate.d.ts +0 -205
- package/dist/approval-gate.d.ts.map +0 -1
- package/dist/approval-gate.js +0 -627
- package/dist/approval-gate.js.map +0 -1
- package/dist/host/v1.d.ts +0 -14
- package/dist/host/v1.d.ts.map +0 -1
- package/dist/host/v1.js +0 -340
- package/dist/host/v1.js.map +0 -1
- package/dist/host/v2-client.d.ts +0 -53
- package/dist/host/v2-client.d.ts.map +0 -1
- package/dist/host/v2-client.js +0 -193
- package/dist/host/v2-client.js.map +0 -1
- package/dist/host/v2-transcript.d.ts +0 -73
- package/dist/host/v2-transcript.d.ts.map +0 -1
- package/dist/host/v2-transcript.js +0 -151
- package/dist/host/v2-transcript.js.map +0 -1
- package/dist/host-hooks.d.ts +0 -126
- package/dist/host-hooks.d.ts.map +0 -1
- package/dist/host-hooks.js +0 -284
- package/dist/host-hooks.js.map +0 -1
- package/dist/tm/bash-timeout.d.ts +0 -72
- package/dist/tm/bash-timeout.d.ts.map +0 -1
- package/dist/tm/bash-timeout.js +0 -100
- package/dist/tm/bash-timeout.js.map +0 -1
- package/dist/tm/browser.d.ts +0 -642
- package/dist/tm/browser.d.ts.map +0 -1
- package/dist/tm/browser.js +0 -2836
- package/dist/tm/browser.js.map +0 -1
- package/dist/tm/ptc/budgets.d.ts +0 -59
- package/dist/tm/ptc/budgets.d.ts.map +0 -1
- package/dist/tm/ptc/budgets.js +0 -138
- package/dist/tm/ptc/budgets.js.map +0 -1
- package/dist/tm/ptc/contract.d.ts +0 -171
- package/dist/tm/ptc/contract.d.ts.map +0 -1
- package/dist/tm/ptc/contract.js +0 -85
- package/dist/tm/ptc/contract.js.map +0 -1
- package/dist/tm/ptc/driver.d.ts +0 -40
- package/dist/tm/ptc/driver.d.ts.map +0 -1
- package/dist/tm/ptc/driver.js +0 -213
- package/dist/tm/ptc/driver.js.map +0 -1
- package/dist/tm/ptc/engines.d.ts +0 -43
- package/dist/tm/ptc/engines.d.ts.map +0 -1
- package/dist/tm/ptc/engines.js +0 -454
- package/dist/tm/ptc/engines.js.map +0 -1
- package/dist/tm/ptc/gate.d.ts +0 -28
- package/dist/tm/ptc/gate.d.ts.map +0 -1
- package/dist/tm/ptc/gate.js +0 -130
- package/dist/tm/ptc/gate.js.map +0 -1
- package/dist/tm/ptc/index.d.ts +0 -19
- package/dist/tm/ptc/index.d.ts.map +0 -1
- package/dist/tm/ptc/index.js +0 -15
- package/dist/tm/ptc/index.js.map +0 -1
- package/dist/tm/ptc/pscan.d.ts +0 -30
- package/dist/tm/ptc/pscan.d.ts.map +0 -1
- package/dist/tm/ptc/pscan.js +0 -341
- package/dist/tm/ptc/pscan.js.map +0 -1
- package/dist/tm/ptc/summary.d.ts +0 -17
- package/dist/tm/ptc/summary.d.ts.map +0 -1
- package/dist/tm/ptc/summary.js +0 -134
- package/dist/tm/ptc/summary.js.map +0 -1
- package/dist/tm/ptc/tool.d.ts +0 -66
- package/dist/tm/ptc/tool.d.ts.map +0 -1
- package/dist/tm/ptc/tool.js +0 -231
- package/dist/tm/ptc/tool.js.map +0 -1
- package/dist/tm/ptc.d.ts +0 -298
- package/dist/tm/ptc.d.ts.map +0 -1
- package/dist/tm/ptc.js +0 -865
- package/dist/tm/ptc.js.map +0 -1
- package/dist/tm/pty.d.ts +0 -70
- package/dist/tm/pty.d.ts.map +0 -1
- package/dist/tm/pty.js +0 -245
- package/dist/tm/pty.js.map +0 -1
- package/dist/tool-coerce.d.ts +0 -24
- package/dist/tool-coerce.d.ts.map +0 -1
- package/dist/tool-coerce.js +0 -63
- package/dist/tool-coerce.js.map +0 -1
package/dist/host-hooks.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"host-hooks.js","sourceRoot":"","sources":["../src/host-hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Built-in bash TIMEOUT discipline (issue #6 of 2026-09-18).
|
|
3
|
-
*
|
|
4
|
-
* Where the 120 s comes from: the host's shell tool resolves
|
|
5
|
-
* `flags.bashDefaultTimeoutMs ?? 2 * 60 * 1e3` (verified in the shipped
|
|
6
|
-
* desktop bundle) — so when a model omits `timeout`, 120 s is the HOST
|
|
7
|
-
* default, and models that do pass one routinely pass 120000+ for a
|
|
8
|
-
* `Get-ChildItem`. Three serialised probes then cost the user six minutes
|
|
9
|
-
* of dead air, and every one of them was allowed to run for a reason no
|
|
10
|
-
* model ever had.
|
|
11
|
-
*
|
|
12
|
-
* The plugin owns no shell timer, so the ONE non-invasive lever is the
|
|
13
|
-
* official `tool.execute.before` hook, whose `output.args` is explicitly
|
|
14
|
-
* mutable. Two ceilings, both opt-out:
|
|
15
|
-
* - `TM_BASH_TIMEOUT_PROBE_MS` (default 60 000) — only for a command the
|
|
16
|
-
* P3 read-only allowlist already accepts (ls / grep / rg / cat /
|
|
17
|
-
* Get-ChildItem …). A pure probe has no legitimate reason to outlive
|
|
18
|
-
* a minute, and this is where the wasted 120 s actually sits.
|
|
19
|
-
* - `TM_BASH_TIMEOUT_MAX_MS` (default 0 = OFF) — a global cap for
|
|
20
|
-
* everything else. Off by default on purpose: a build/test run may
|
|
21
|
-
* legitimately need minutes, and silently killing one is worse than a
|
|
22
|
-
* slow one. A user who wants the ceiling sets it.
|
|
23
|
-
*
|
|
24
|
-
* This clamps a number the model already volunteered; it never ADDS a
|
|
25
|
-
* timeout where the model supplied none (that would turn the host's default
|
|
26
|
-
* into OUR default, which is not this plugin's call to make).
|
|
27
|
-
*/
|
|
28
|
-
export type BashTimeoutVerdict = {
|
|
29
|
-
changed: false;
|
|
30
|
-
via: "none" | "already-short";
|
|
31
|
-
} | {
|
|
32
|
-
changed: true;
|
|
33
|
-
via: "probe" | "max";
|
|
34
|
-
from: number;
|
|
35
|
-
to: number;
|
|
36
|
-
};
|
|
37
|
-
/** Parse the model-supplied timeout defensively: the host schema says a
|
|
38
|
-
* positive integer of MILLISECONDS, but an LLM hands us `"120000"`,
|
|
39
|
-
* `120000.0`, or omits it entirely. Anything unreadable means "no
|
|
40
|
-
* timeout was supplied" and is left alone. */
|
|
41
|
-
export declare function parseTimeoutArg(raw: unknown): number | null;
|
|
42
|
-
/**
|
|
43
|
-
* Decide the clamped timeout for one bash call.
|
|
44
|
-
* `probeMs`/`maxMs` of 0 disable that ceiling.
|
|
45
|
-
*/
|
|
46
|
-
export declare function resolveBashTimeout(opts: {
|
|
47
|
-
command: string;
|
|
48
|
-
timeoutMs: number | null;
|
|
49
|
-
probeMs: number;
|
|
50
|
-
maxMs: number;
|
|
51
|
-
readonlyAllowed: readonly string[];
|
|
52
|
-
}): BashTimeoutVerdict;
|
|
53
|
-
/**
|
|
54
|
-
* The hook fragment. Returns true when it mutated `args.timeout` — the
|
|
55
|
-
* caller may log that, and the trajectory keeps a count so a user asking
|
|
56
|
-
* "why did my probe get killed at 60 s?" has an answer.
|
|
57
|
-
*
|
|
58
|
-
* Everything here is defensive by contract: `output.args` is `any` on the
|
|
59
|
-
* host side, a non-bash tool must be untouched, and a malformed payload
|
|
60
|
-
* must never turn into a thrown error inside a permission-adjacent hook.
|
|
61
|
-
*/
|
|
62
|
-
export declare function createBashTimeoutHook(deps: {
|
|
63
|
-
probeMs: number;
|
|
64
|
-
maxMs: number;
|
|
65
|
-
readonlyAllowed: readonly string[];
|
|
66
|
-
onClamp?: (info: {
|
|
67
|
-
via: string;
|
|
68
|
-
from: number;
|
|
69
|
-
to: number;
|
|
70
|
-
}) => void;
|
|
71
|
-
}): (input: unknown, output: unknown) => boolean;
|
|
72
|
-
//# sourceMappingURL=bash-timeout.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bash-timeout.d.ts","sourceRoot":"","sources":["../../src/tm/bash-timeout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,MAAM,MAAM,kBAAkB,GAC1B;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;CAAE,GACjD;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,OAAO,GAAG,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAA;AAErE;;;+CAG+C;AAC/C,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAO3D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,eAAe,EAAE,SAAS,MAAM,EAAE,CAAA;CACnC,GAAG,kBAAkB,CAQrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,eAAe,EAAE,SAAS,MAAM,EAAE,CAAA;IAClC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;CACpE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAyB/C"}
|
package/dist/tm/bash-timeout.js
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Built-in bash TIMEOUT discipline (issue #6 of 2026-09-18).
|
|
3
|
-
*
|
|
4
|
-
* Where the 120 s comes from: the host's shell tool resolves
|
|
5
|
-
* `flags.bashDefaultTimeoutMs ?? 2 * 60 * 1e3` (verified in the shipped
|
|
6
|
-
* desktop bundle) — so when a model omits `timeout`, 120 s is the HOST
|
|
7
|
-
* default, and models that do pass one routinely pass 120000+ for a
|
|
8
|
-
* `Get-ChildItem`. Three serialised probes then cost the user six minutes
|
|
9
|
-
* of dead air, and every one of them was allowed to run for a reason no
|
|
10
|
-
* model ever had.
|
|
11
|
-
*
|
|
12
|
-
* The plugin owns no shell timer, so the ONE non-invasive lever is the
|
|
13
|
-
* official `tool.execute.before` hook, whose `output.args` is explicitly
|
|
14
|
-
* mutable. Two ceilings, both opt-out:
|
|
15
|
-
* - `TM_BASH_TIMEOUT_PROBE_MS` (default 60 000) — only for a command the
|
|
16
|
-
* P3 read-only allowlist already accepts (ls / grep / rg / cat /
|
|
17
|
-
* Get-ChildItem …). A pure probe has no legitimate reason to outlive
|
|
18
|
-
* a minute, and this is where the wasted 120 s actually sits.
|
|
19
|
-
* - `TM_BASH_TIMEOUT_MAX_MS` (default 0 = OFF) — a global cap for
|
|
20
|
-
* everything else. Off by default on purpose: a build/test run may
|
|
21
|
-
* legitimately need minutes, and silently killing one is worse than a
|
|
22
|
-
* slow one. A user who wants the ceiling sets it.
|
|
23
|
-
*
|
|
24
|
-
* This clamps a number the model already volunteered; it never ADDS a
|
|
25
|
-
* timeout where the model supplied none (that would turn the host's default
|
|
26
|
-
* into OUR default, which is not this plugin's call to make).
|
|
27
|
-
*/
|
|
28
|
-
import { classifyReadonlyCommand } from "./guard.js";
|
|
29
|
-
/** Parse the model-supplied timeout defensively: the host schema says a
|
|
30
|
-
* positive integer of MILLISECONDS, but an LLM hands us `"120000"`,
|
|
31
|
-
* `120000.0`, or omits it entirely. Anything unreadable means "no
|
|
32
|
-
* timeout was supplied" and is left alone. */
|
|
33
|
-
export function parseTimeoutArg(raw) {
|
|
34
|
-
if (typeof raw === "number" && Number.isFinite(raw) && raw > 0)
|
|
35
|
-
return Math.trunc(raw);
|
|
36
|
-
if (typeof raw === "string") {
|
|
37
|
-
const n = Number(raw.trim());
|
|
38
|
-
if (Number.isFinite(n) && n > 0)
|
|
39
|
-
return Math.trunc(n);
|
|
40
|
-
}
|
|
41
|
-
return null;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Decide the clamped timeout for one bash call.
|
|
45
|
-
* `probeMs`/`maxMs` of 0 disable that ceiling.
|
|
46
|
-
*/
|
|
47
|
-
export function resolveBashTimeout(opts) {
|
|
48
|
-
const t = opts.timeoutMs;
|
|
49
|
-
if (t === null)
|
|
50
|
-
return { changed: false, via: "none" };
|
|
51
|
-
const probe = opts.probeMs > 0 && classifyReadonlyCommand(opts.command, opts.readonlyAllowed).ok;
|
|
52
|
-
if (probe && t > opts.probeMs)
|
|
53
|
-
return { changed: true, via: "probe", from: t, to: opts.probeMs };
|
|
54
|
-
if (opts.maxMs > 0 && t > opts.maxMs)
|
|
55
|
-
return { changed: true, via: "max", from: t, to: opts.maxMs };
|
|
56
|
-
if (!probe && opts.maxMs === 0)
|
|
57
|
-
return { changed: false, via: "none" };
|
|
58
|
-
return { changed: false, via: "already-short" };
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* The hook fragment. Returns true when it mutated `args.timeout` — the
|
|
62
|
-
* caller may log that, and the trajectory keeps a count so a user asking
|
|
63
|
-
* "why did my probe get killed at 60 s?" has an answer.
|
|
64
|
-
*
|
|
65
|
-
* Everything here is defensive by contract: `output.args` is `any` on the
|
|
66
|
-
* host side, a non-bash tool must be untouched, and a malformed payload
|
|
67
|
-
* must never turn into a thrown error inside a permission-adjacent hook.
|
|
68
|
-
*/
|
|
69
|
-
export function createBashTimeoutHook(deps) {
|
|
70
|
-
return (input, output) => {
|
|
71
|
-
try {
|
|
72
|
-
const tool = String(input?.tool ?? "").trim().toLowerCase();
|
|
73
|
-
if (tool !== "bash")
|
|
74
|
-
return false;
|
|
75
|
-
const args = output?.args;
|
|
76
|
-
if (!args || typeof args !== "object")
|
|
77
|
-
return false;
|
|
78
|
-
const command = typeof args.command === "string" ? args.command : "";
|
|
79
|
-
if (!command)
|
|
80
|
-
return false;
|
|
81
|
-
const verdict = resolveBashTimeout({
|
|
82
|
-
command,
|
|
83
|
-
timeoutMs: parseTimeoutArg(args.timeout),
|
|
84
|
-
probeMs: deps.probeMs,
|
|
85
|
-
maxMs: deps.maxMs,
|
|
86
|
-
readonlyAllowed: deps.readonlyAllowed,
|
|
87
|
-
});
|
|
88
|
-
if (!verdict.changed)
|
|
89
|
-
return false;
|
|
90
|
-
args.timeout = verdict.to;
|
|
91
|
-
deps.onClamp?.({ via: verdict.via, from: verdict.from, to: verdict.to });
|
|
92
|
-
return true;
|
|
93
|
-
}
|
|
94
|
-
catch {
|
|
95
|
-
/* a timeout clamp must never break the call it is trying to speed up */
|
|
96
|
-
return false;
|
|
97
|
-
}
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
//# sourceMappingURL=bash-timeout.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bash-timeout.js","sourceRoot":"","sources":["../../src/tm/bash-timeout.ts"],"names":[],"mappings":"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"}
|