@te-river/opencode-team-mode 1.5.5 → 1.5.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.
Files changed (158) hide show
  1. package/README.md +732 -634
  2. package/README.zh-CN.md +655 -576
  3. package/dist/agents.d.ts +6 -1
  4. package/dist/agents.d.ts.map +1 -1
  5. package/dist/agents.js +103 -531
  6. package/dist/agents.js.map +1 -1
  7. package/dist/approval-gate.d.ts +16 -0
  8. package/dist/approval-gate.d.ts.map +1 -1
  9. package/dist/approval-gate.js +8 -1
  10. package/dist/approval-gate.js.map +1 -1
  11. package/dist/blackboard.d.ts.map +1 -1
  12. package/dist/blackboard.js +3 -2
  13. package/dist/blackboard.js.map +1 -1
  14. package/dist/commands.d.ts.map +1 -1
  15. package/dist/commands.js +7 -6
  16. package/dist/commands.js.map +1 -1
  17. package/dist/envprotect/bash-classify.d.ts +42 -0
  18. package/dist/envprotect/bash-classify.d.ts.map +1 -0
  19. package/dist/envprotect/bash-classify.js +221 -0
  20. package/dist/envprotect/bash-classify.js.map +1 -0
  21. package/dist/envprotect/gate-predicates.d.ts +57 -0
  22. package/dist/envprotect/gate-predicates.d.ts.map +1 -0
  23. package/dist/envprotect/gate-predicates.js +174 -0
  24. package/dist/envprotect/gate-predicates.js.map +1 -0
  25. package/dist/envprotect/hook.d.ts +45 -0
  26. package/dist/envprotect/hook.d.ts.map +1 -0
  27. package/dist/envprotect/hook.js +158 -0
  28. package/dist/envprotect/hook.js.map +1 -0
  29. package/dist/envprotect/path-classify.d.ts +16 -0
  30. package/dist/envprotect/path-classify.d.ts.map +1 -0
  31. package/dist/envprotect/path-classify.js +72 -0
  32. package/dist/envprotect/path-classify.js.map +1 -0
  33. package/dist/envprotect/patterns.d.ts +77 -0
  34. package/dist/envprotect/patterns.d.ts.map +1 -0
  35. package/dist/envprotect/patterns.js +182 -0
  36. package/dist/envprotect/patterns.js.map +1 -0
  37. package/dist/envprotect.d.ts +19 -217
  38. package/dist/envprotect.d.ts.map +1 -1
  39. package/dist/envprotect.js +18 -803
  40. package/dist/envprotect.js.map +1 -1
  41. package/dist/fs-safe.d.ts +16 -0
  42. package/dist/fs-safe.d.ts.map +1 -0
  43. package/dist/fs-safe.js +56 -0
  44. package/dist/fs-safe.js.map +1 -0
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +22 -6
  47. package/dist/index.js.map +1 -1
  48. package/dist/prompts/lead.d.ts +7 -0
  49. package/dist/prompts/lead.d.ts.map +1 -0
  50. package/dist/prompts/lead.js +230 -0
  51. package/dist/prompts/lead.js.map +1 -0
  52. package/dist/prompts/shared.d.ts +8 -0
  53. package/dist/prompts/shared.d.ts.map +1 -0
  54. package/dist/prompts/shared.js +118 -0
  55. package/dist/prompts/shared.js.map +1 -0
  56. package/dist/prompts/specialists.d.ts +12 -0
  57. package/dist/prompts/specialists.d.ts.map +1 -0
  58. package/dist/prompts/specialists.js +218 -0
  59. package/dist/prompts/specialists.js.map +1 -0
  60. package/dist/shell-text.d.ts +14 -0
  61. package/dist/shell-text.d.ts.map +1 -0
  62. package/dist/shell-text.js +16 -0
  63. package/dist/shell-text.js.map +1 -0
  64. package/dist/tm/args-schema.d.ts +36 -0
  65. package/dist/tm/args-schema.d.ts.map +1 -0
  66. package/dist/tm/args-schema.js +191 -0
  67. package/dist/tm/args-schema.js.map +1 -0
  68. package/dist/tm/browser.d.ts +52 -0
  69. package/dist/tm/browser.d.ts.map +1 -0
  70. package/dist/tm/browser.js +361 -0
  71. package/dist/tm/browser.js.map +1 -0
  72. package/dist/tm/client-unwrap.d.ts +38 -0
  73. package/dist/tm/client-unwrap.d.ts.map +1 -0
  74. package/dist/tm/client-unwrap.js +113 -0
  75. package/dist/tm/client-unwrap.js.map +1 -0
  76. package/dist/tm/config.d.ts +46 -18
  77. package/dist/tm/config.d.ts.map +1 -1
  78. package/dist/tm/config.js +60 -17
  79. package/dist/tm/config.js.map +1 -1
  80. package/dist/tm/guard.d.ts.map +1 -1
  81. package/dist/tm/guard.js +4 -7
  82. package/dist/tm/guard.js.map +1 -1
  83. package/dist/tm/index.d.ts +15 -5
  84. package/dist/tm/index.d.ts.map +1 -1
  85. package/dist/tm/index.js +95 -19
  86. package/dist/tm/index.js.map +1 -1
  87. package/dist/tm/memory.d.ts +82 -0
  88. package/dist/tm/memory.d.ts.map +1 -0
  89. package/dist/tm/memory.js +350 -0
  90. package/dist/tm/memory.js.map +1 -0
  91. package/dist/tm/pipelines.d.ts +58 -0
  92. package/dist/tm/pipelines.d.ts.map +1 -0
  93. package/dist/tm/pipelines.js +301 -0
  94. package/dist/tm/pipelines.js.map +1 -0
  95. package/dist/tm/preview.d.ts +6 -1
  96. package/dist/tm/preview.d.ts.map +1 -1
  97. package/dist/tm/preview.js +31 -8
  98. package/dist/tm/preview.js.map +1 -1
  99. package/dist/tm/ptc/budgets.d.ts +38 -0
  100. package/dist/tm/ptc/budgets.d.ts.map +1 -0
  101. package/dist/tm/ptc/budgets.js +59 -0
  102. package/dist/tm/ptc/budgets.js.map +1 -0
  103. package/dist/tm/ptc/contract.d.ts +131 -0
  104. package/dist/tm/ptc/contract.d.ts.map +1 -0
  105. package/dist/tm/ptc/contract.js +47 -0
  106. package/dist/tm/ptc/contract.js.map +1 -0
  107. package/dist/tm/ptc/driver.d.ts +37 -0
  108. package/dist/tm/ptc/driver.d.ts.map +1 -0
  109. package/dist/tm/ptc/driver.js +181 -0
  110. package/dist/tm/ptc/driver.js.map +1 -0
  111. package/dist/tm/ptc/engines.d.ts +32 -0
  112. package/dist/tm/ptc/engines.d.ts.map +1 -0
  113. package/dist/tm/ptc/engines.js +201 -0
  114. package/dist/tm/ptc/engines.js.map +1 -0
  115. package/dist/tm/ptc/gate.d.ts +28 -0
  116. package/dist/tm/ptc/gate.d.ts.map +1 -0
  117. package/dist/tm/ptc/gate.js +127 -0
  118. package/dist/tm/ptc/gate.js.map +1 -0
  119. package/dist/tm/ptc/index.d.ts +19 -0
  120. package/dist/tm/ptc/index.d.ts.map +1 -0
  121. package/dist/tm/ptc/index.js +15 -0
  122. package/dist/tm/ptc/index.js.map +1 -0
  123. package/dist/tm/ptc/pscan.d.ts +11 -0
  124. package/dist/tm/ptc/pscan.d.ts.map +1 -0
  125. package/dist/tm/ptc/pscan.js +27 -0
  126. package/dist/tm/ptc/pscan.js.map +1 -0
  127. package/dist/tm/ptc/summary.d.ts +17 -0
  128. package/dist/tm/ptc/summary.d.ts.map +1 -0
  129. package/dist/tm/ptc/summary.js +107 -0
  130. package/dist/tm/ptc/summary.js.map +1 -0
  131. package/dist/tm/ptc/tool.d.ts +35 -0
  132. package/dist/tm/ptc/tool.d.ts.map +1 -0
  133. package/dist/tm/ptc/tool.js +135 -0
  134. package/dist/tm/ptc/tool.js.map +1 -0
  135. package/dist/tm/ptc.d.ts +45 -26
  136. package/dist/tm/ptc.d.ts.map +1 -1
  137. package/dist/tm/ptc.js +71 -45
  138. package/dist/tm/ptc.js.map +1 -1
  139. package/dist/tm/result.d.ts +34 -0
  140. package/dist/tm/result.d.ts.map +1 -0
  141. package/dist/tm/result.js +87 -0
  142. package/dist/tm/result.js.map +1 -0
  143. package/dist/tm/shell-bridge.d.ts +22 -0
  144. package/dist/tm/shell-bridge.d.ts.map +1 -0
  145. package/dist/tm/shell-bridge.js +70 -0
  146. package/dist/tm/shell-bridge.js.map +1 -0
  147. package/dist/tm/store.d.ts.map +1 -1
  148. package/dist/tm/store.js +2 -1
  149. package/dist/tm/store.js.map +1 -1
  150. package/dist/tm/tools.d.ts +13 -71
  151. package/dist/tm/tools.d.ts.map +1 -1
  152. package/dist/tm/tools.js +21 -655
  153. package/dist/tm/tools.js.map +1 -1
  154. package/dist/tm/webfetch.d.ts +94 -0
  155. package/dist/tm/webfetch.d.ts.map +1 -0
  156. package/dist/tm/webfetch.js +225 -0
  157. package/dist/tm/webfetch.js.map +1 -0
  158. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/tm/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/tm/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAiC,MAAM,gBAAgB,CAAA;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,qCAAqC;AACrC,8EAA8E;AAC9E,8EAA8E;AAC9E,wDAAwD;AAExD,MAAM,mBAAmB,GAAG;;;;;iIAKqG,CAAA;AAEjI,MAAM,mBAAmB,GAAG;;;;;wFAK4D,CAAA;AAExF,MAAM,mBAAmB,GAAG;;;;6NAIiM,CAAA;AAE7N,MAAM,oBAAoB,GAAG;;;uJAG0H,CAAA;AAEvJ;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAAY,EACZ,SAAuB;IAEvB,MAAM,EAAE,GAAG,SAAS,IAAI,cAAc,CAAC,IAAI,CAAC,CAAA;IAC5C,MAAM,WAAW,GAAG,MAAM,gBAAgB,EAAE,CAAA;IAC5C,OAAO;QACL,OAAO,EAAE;YACP,WAAW,EAAE,mBAAmB;YAChC,IAAI,EAAE,WAAW,CAAC,OAAO;YACzB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;SAC7E;QACD,OAAO,EAAE;YACP,WAAW,EAAE,mBAAmB;YAChC,IAAI,EAAE,WAAW,CAAC,OAAO;YACzB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;SAC7E;QACD,OAAO,EAAE;YACP,WAAW,EAAE,mBAAmB;YAChC,IAAI,EAAE,WAAW,CAAC,OAAO;YACzB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;SAC7E;QACD,QAAQ,EAAE;YACR,WAAW,EAAE,oBAAoB;YACjC,IAAI,EAAE,WAAW,CAAC,QAAQ;YAC1B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;SAC9E;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * tm_webfetch — governed web fetching (the sanctioned network channel).
3
+ *
4
+ * Two-channel design: user-configured MCP/plugin tools (browser automation,
5
+ * search, page fetchers riding the host tool surface) are the HIGH-priority
6
+ * channel — the whitelist never touches them. tm_webfetch is the governed
7
+ * FALLBACK: a domain-allowlisted fetch whose output rides the SAME
8
+ * governance as the other tm_* tools (threshold offload, content-aware
9
+ * preview, tm_fetch handle) so a web page can never flood the context.
10
+ *
11
+ * Red lines carried over from the P5 network-zero era:
12
+ * - only http(s) URLs — file:// and every other scheme rejected outright;
13
+ * - the HOST must be on the allowlist (seeded with the four lookup hosts:
14
+ * mobile.moegirl.org.cn / search.bilibili.com / cn.bing.com /
15
+ * www.baidu.com; TM_WEBFETCH_ALLOWED_DOMAINS overrides, "*" opens every
16
+ * host);
17
+ * - redirects are followed MANUALLY and every hop re-checked against the
18
+ * allowlist (an allowlisted shortener cannot bounce off-site);
19
+ * - a URL naming an env file (isEnvFilePath) is refused — the R6 red
20
+ * line applies to remote spellings too;
21
+ * - response body capped at 2 MB, whole fetch under a hard 20 s timeout,
22
+ * HTML stripped to text before governance.
23
+ */
24
+ import type { ToolResult } from "../types.js";
25
+ import { type TmConfig } from "./config.js";
26
+ import type { TmPipelines } from "./pipelines.js";
27
+ /** Seeded allowlist — the four lookup hosts the design names. */
28
+ export declare const DEFAULT_WEBFETCH_DOMAINS: readonly string[];
29
+ /** True when `hostname` is the domain itself or a subdomain of it. */
30
+ export declare function hostAllowed(hostname: string, allowlist: readonly string[]): boolean;
31
+ export type UrlVerdict = {
32
+ ok: true;
33
+ url: URL;
34
+ } | {
35
+ ok: false;
36
+ message: string;
37
+ };
38
+ /**
39
+ * Validate a fetch target: absolute http(s) URL, host on the allowlist
40
+ * ("*" opens every host), and never an env-file spelling (R6 red line on
41
+ * remote `.env` / shell-rc names).
42
+ */
43
+ export declare function checkWebUrl(raw: unknown, allowlist: readonly string[]): UrlVerdict;
44
+ /** Crude but dependency-free HTML → text (script/style/comments stripped,
45
+ * block tags become newlines, common entities decoded). */
46
+ export declare function htmlToText(html: string): string;
47
+ export interface WebFetchResult {
48
+ text: string;
49
+ contentType: string;
50
+ finalUrl: string;
51
+ }
52
+ type FetchImpl = (input: string, init?: Record<string, unknown>) => Promise<{
53
+ ok?: boolean;
54
+ status: number;
55
+ headers: {
56
+ get(name: string): string | null;
57
+ };
58
+ body?: {
59
+ getReader(): ReadableStreamDefaultReader<Uint8Array>;
60
+ } | null;
61
+ arrayBuffer?: () => Promise<ArrayBuffer>;
62
+ text?: () => Promise<string>;
63
+ }>;
64
+ /**
65
+ * Fetch a URL with hard timeout, byte cap, and MANUAL redirects — every
66
+ * hop is re-checked against the allowlist before it is requested.
67
+ * `fetchImpl` is injectable for tests (default: globalThis.fetch).
68
+ */
69
+ export declare function fetchWebText(url: URL, allowlist: readonly string[], opts?: {
70
+ timeoutMs?: number;
71
+ maxBytes?: number;
72
+ fetchImpl?: FetchImpl;
73
+ }): Promise<WebFetchResult>;
74
+ /** Content extraction: HTML stripped to text; JSON kept for the json
75
+ * preview branch; anything else passes through untouched. */
76
+ export declare function extractWebResponse(raw: string, contentType: string): {
77
+ text: string;
78
+ isHtml: boolean;
79
+ };
80
+ /** Build the tm_webfetch ToolDefinition over the SHARED main pipelines
81
+ * instance (same step counter as tm_read/tm_grep/tm_bash — refs stay
82
+ * unambiguous). `fetchImpl` is injectable for tests. */
83
+ export declare function buildTmWebfetchTool(deps: {
84
+ pipelines: TmPipelines;
85
+ cfg: TmConfig;
86
+ args?: Record<string, unknown>;
87
+ fetchImpl?: FetchImpl;
88
+ }): {
89
+ description: string;
90
+ args: Record<string, unknown>;
91
+ execute: (rawArgs: Record<string, unknown>, ctx: unknown) => Promise<ToolResult>;
92
+ };
93
+ export {};
94
+ //# sourceMappingURL=webfetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webfetch.d.ts","sourceRoot":"","sources":["../../src/tm/webfetch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAW,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAA;AAGpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEjD,iEAAiE;AACjE,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAKrD,CAAA;AASD,sEAAsE;AACtE,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAOnF;AAED,MAAM,MAAM,UAAU,GAClB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,GAAG,CAAA;CAAE,GACtB;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAElC;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,CAwBlF;AAID;4DAC4D;AAC5D,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAmB/C;AAID,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,KAAK,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;IAC1E,EAAE,CAAC,EAAE,OAAO,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE;QAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;IAC7C,IAAI,CAAC,EAAE;QAAE,SAAS,IAAI,2BAA2B,CAAC,UAAU,CAAC,CAAA;KAAE,GAAG,IAAI,CAAA;IACtE,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAA;IACxC,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;CAC7B,CAAC,CAAA;AA2BF;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,CAAA;CAAO,GAC1E,OAAO,CAAC,cAAc,CAAC,CAqCzB;AAED;8DAC8D;AAC9D,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAKtG;AAUD;;0DAE0D;AAC1D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,SAAS,EAAE,WAAW,CAAA;IACtB,GAAG,EAAE,QAAQ,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB,GAAG;IACF,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;CACjF,CAmCA"}
@@ -0,0 +1,225 @@
1
+ /**
2
+ * tm_webfetch — governed web fetching (the sanctioned network channel).
3
+ *
4
+ * Two-channel design: user-configured MCP/plugin tools (browser automation,
5
+ * search, page fetchers riding the host tool surface) are the HIGH-priority
6
+ * channel — the whitelist never touches them. tm_webfetch is the governed
7
+ * FALLBACK: a domain-allowlisted fetch whose output rides the SAME
8
+ * governance as the other tm_* tools (threshold offload, content-aware
9
+ * preview, tm_fetch handle) so a web page can never flood the context.
10
+ *
11
+ * Red lines carried over from the P5 network-zero era:
12
+ * - only http(s) URLs — file:// and every other scheme rejected outright;
13
+ * - the HOST must be on the allowlist (seeded with the four lookup hosts:
14
+ * mobile.moegirl.org.cn / search.bilibili.com / cn.bing.com /
15
+ * www.baidu.com; TM_WEBFETCH_ALLOWED_DOMAINS overrides, "*" opens every
16
+ * host);
17
+ * - redirects are followed MANUALLY and every hop re-checked against the
18
+ * allowlist (an allowlisted shortener cannot bounce off-site);
19
+ * - a URL naming an env file (isEnvFilePath) is refused — the R6 red
20
+ * line applies to remote spellings too;
21
+ * - response body capped at 2 MB, whole fetch under a hard 20 s timeout,
22
+ * HTML stripped to text before governance.
23
+ */
24
+ import { isEnvFilePath } from "../envprotect.js";
25
+ import { shorten } from "./config.js";
26
+ import { detectContentType } from "./preview.js";
27
+ import { tmError, toToolResult } from "./result.js";
28
+ /** Seeded allowlist — the four lookup hosts the design names. */
29
+ export const DEFAULT_WEBFETCH_DOMAINS = [
30
+ "mobile.moegirl.org.cn",
31
+ "search.bilibili.com",
32
+ "cn.bing.com",
33
+ "www.baidu.com",
34
+ ];
35
+ const WEBFETCH_UA = "Mozilla/5.0 (compatible; TeamMode-tm_webfetch/1.0)";
36
+ const WEBFETCH_TIMEOUT_MS = 20_000;
37
+ const WEBFETCH_MAX_BYTES = 2_000_000;
38
+ const WEBFETCH_MAX_REDIRECTS = 5;
39
+ // ---------- allowlist matching ----------
40
+ /** True when `hostname` is the domain itself or a subdomain of it. */
41
+ export function hostAllowed(hostname, allowlist) {
42
+ const host = hostname.toLowerCase().replace(/\.$/, "");
43
+ return allowlist.some((raw) => {
44
+ const dom = String(raw ?? "").trim().toLowerCase();
45
+ if (!dom || dom === "*")
46
+ return false;
47
+ return host === dom || host.endsWith("." + dom);
48
+ });
49
+ }
50
+ /**
51
+ * Validate a fetch target: absolute http(s) URL, host on the allowlist
52
+ * ("*" opens every host), and never an env-file spelling (R6 red line on
53
+ * remote `.env` / shell-rc names).
54
+ */
55
+ export function checkWebUrl(raw, allowlist) {
56
+ const text = String(raw ?? "").trim();
57
+ if (!text)
58
+ return { ok: false, message: "缺少 url 参数" };
59
+ if (isEnvFilePath(text)) {
60
+ return { ok: false, message: "URL 指向环境文件(.env / shell rc 家族)——R6 红线,拒绝抓取" };
61
+ }
62
+ let url;
63
+ try {
64
+ url = new URL(text);
65
+ }
66
+ catch {
67
+ return { ok: false, message: `url 不是合法的绝对 URL: ${shorten(text, 120)}` };
68
+ }
69
+ if (url.protocol !== "https:" && url.protocol !== "http:") {
70
+ return { ok: false, message: `仅允许 http(s) 抓取(收到 ${url.protocol})——file:// 等本地协议一律拒绝` };
71
+ }
72
+ if (!allowlist.includes("*") && !hostAllowed(url.hostname, allowlist)) {
73
+ return {
74
+ ok: false,
75
+ message: `主机 "${url.hostname}" 不在 tm_webfetch 域名白名单内(预置: ${DEFAULT_WEBFETCH_DOMAINS.join(", ")})。` +
76
+ `用 TM_WEBFETCH_ALLOWED_DOMAINS 扩展(逗号/分号分隔,"*" 放开全部主机)`,
77
+ };
78
+ }
79
+ return { ok: true, url };
80
+ }
81
+ // ---------- HTML → text ----------
82
+ /** Crude but dependency-free HTML → text (script/style/comments stripped,
83
+ * block tags become newlines, common entities decoded). */
84
+ export function htmlToText(html) {
85
+ return html
86
+ .replace(/<script[\s\S]*?<\/script\s*>/gi, " ")
87
+ .replace(/<style[\s\S]*?<\/style\s*>/gi, " ")
88
+ .replace(/<noscript[\s\S]*?<\/noscript\s*>/gi, " ")
89
+ .replace(/<!--[\s\S]*?-->/g, " ")
90
+ .replace(/<(?:br|hr)\s*\/?>/gi, "\n")
91
+ .replace(/<\/(?:p|div|li|h[1-6]|tr|section|article|header|footer)>/gi, "\n")
92
+ .replace(/<[^>]+>/g, " ")
93
+ .replace(/&nbsp;/gi, " ")
94
+ .replace(/&amp;/gi, "&")
95
+ .replace(/&lt;/gi, "<")
96
+ .replace(/&gt;/gi, ">")
97
+ .replace(/&quot;/gi, '"')
98
+ .replace(/&#0?39;|&apos;/gi, "'")
99
+ .replace(/[ \t]+/g, " ")
100
+ .replace(/\s*\n\s*/g, "\n")
101
+ .replace(/\n{2,}/g, "\n")
102
+ .trim();
103
+ }
104
+ const REDIRECT_STATUSES = new Set([301, 302, 303, 307, 308]);
105
+ async function readBodyCapped(res, maxBytes) {
106
+ const reader = res.body?.getReader?.();
107
+ if (!reader)
108
+ return String(await res.text?.() ?? "");
109
+ const decoder = new TextDecoder("utf-8");
110
+ let out = "";
111
+ let bytes = 0;
112
+ for (;;) {
113
+ const { done, value } = await reader.read();
114
+ if (done)
115
+ break;
116
+ bytes += value.byteLength;
117
+ out += decoder.decode(value, { stream: true });
118
+ if (bytes >= maxBytes) {
119
+ void reader.cancel().catch(() => { });
120
+ out += "\n…(响应体超出字节上限,已截断)";
121
+ break;
122
+ }
123
+ }
124
+ return out + decoder.decode();
125
+ }
126
+ /**
127
+ * Fetch a URL with hard timeout, byte cap, and MANUAL redirects — every
128
+ * hop is re-checked against the allowlist before it is requested.
129
+ * `fetchImpl` is injectable for tests (default: globalThis.fetch).
130
+ */
131
+ export async function fetchWebText(url, allowlist, opts = {}) {
132
+ const doFetch = opts.fetchImpl ?? globalThis.fetch;
133
+ if (typeof doFetch !== "function") {
134
+ throw new Error("宿主无可用 fetch 实现(globalThis.fetch 缺失)");
135
+ }
136
+ const timeoutMs = opts.timeoutMs ?? WEBFETCH_TIMEOUT_MS;
137
+ const maxBytes = opts.maxBytes ?? WEBFETCH_MAX_BYTES;
138
+ let current = url;
139
+ for (let hop = 0; hop <= WEBFETCH_MAX_REDIRECTS; hop++) {
140
+ // every hop re-checked — an allowlisted shortener cannot bounce off-site
141
+ const verdict = checkWebUrl(current.toString(), allowlist);
142
+ if (!verdict.ok)
143
+ throw new Error(verdict.message);
144
+ const ctrl = new AbortController();
145
+ const timer = setTimeout(() => ctrl.abort(), timeoutMs);
146
+ try {
147
+ const res = (await doFetch(current.toString(), {
148
+ redirect: "manual",
149
+ signal: ctrl.signal,
150
+ headers: { "user-agent": WEBFETCH_UA },
151
+ }));
152
+ if (REDIRECT_STATUSES.has(res.status)) {
153
+ const loc = res.headers.get("location");
154
+ if (!loc)
155
+ throw new Error(`重定向 ${res.status} 缺少 Location 头`);
156
+ current = new URL(loc, current);
157
+ continue;
158
+ }
159
+ if (res.status < 200 || res.status >= 300) {
160
+ throw new Error(`HTTP ${res.status}(最终 URL: ${shorten(current.toString(), 120)})`);
161
+ }
162
+ const contentType = (res.headers.get("content-type") ?? "text/plain").toLowerCase();
163
+ const raw = await readBodyCapped(res, maxBytes);
164
+ return { text: raw, contentType, finalUrl: current.toString() };
165
+ }
166
+ finally {
167
+ clearTimeout(timer);
168
+ }
169
+ }
170
+ throw new Error(`重定向超过 ${WEBFETCH_MAX_REDIRECTS} 跳,放弃抓取`);
171
+ }
172
+ /** Content extraction: HTML stripped to text; JSON kept for the json
173
+ * preview branch; anything else passes through untouched. */
174
+ export function extractWebResponse(raw, contentType) {
175
+ if (contentType.includes("text/html") || contentType.includes("application/xhtml")) {
176
+ return { text: htmlToText(raw), isHtml: true };
177
+ }
178
+ return { text: raw, isHtml: false };
179
+ }
180
+ // ---------- tool definition ----------
181
+ const WEBFETCH_DESCRIPTION = `Fetch a web page through the governed pipeline (domain allowlist + threshold offload) — the FALLBACK web channel; PREFER user-configured MCP/browser/search tools when they are on your surface.
182
+
183
+ - Seeded hosts: mobile.moegirl.org.cn (wiki term: https://mobile.moegirl.org.cn/TERM) · search.bilibili.com (https://search.bilibili.com/all?keyword=QUERY) · cn.bing.com (https://cn.bing.com/search?q=QUERY) · www.baidu.com (https://www.baidu.com/s?wd=QUERY). URL-encode the query (CJK terms too). Expand colloquial/abbreviated terms to canonical forms and fetch BOTH spellings.
184
+ - Governance: only http(s), hosts must be allowlisted (extend via TM_WEBFETCH_ALLOWED_DOMAINS, "*" opens all), redirects re-checked per hop, HTML stripped to text; output above TM_OFFLOAD_THRESHOLD tokens is offloaded to a handle — page with tm_fetch (try mode:"structure" first).
185
+ - This is a governed tool: out-of-allowlist hosts are rejected, not dialog-governed.`;
186
+ /** Build the tm_webfetch ToolDefinition over the SHARED main pipelines
187
+ * instance (same step counter as tm_read/tm_grep/tm_bash — refs stay
188
+ * unambiguous). `fetchImpl` is injectable for tests. */
189
+ export function buildTmWebfetchTool(deps) {
190
+ const { pipelines, cfg } = deps;
191
+ const allowlist = cfg.webfetchAllowedDomains;
192
+ return {
193
+ description: WEBFETCH_DESCRIPTION,
194
+ args: deps.args ?? {
195
+ url: { descriptor: "url: string (required, absolute https URL on an allowlisted host, query URL-encoded)" },
196
+ },
197
+ execute: async (rawArgs, ctx) => {
198
+ const tool = "tm_webfetch";
199
+ try {
200
+ const args = rawArgs ?? {};
201
+ const requested = typeof args.url === "string" ? args.url.trim() : "";
202
+ const verdict = checkWebUrl(requested, allowlist);
203
+ if (!verdict.ok)
204
+ return toToolResult(tmError(tool, "permission", verdict.message));
205
+ const stepId = pipelines.nextStepId();
206
+ pipelines.store.appendTrajectory({ tool, step_id: stepId, event: "call" });
207
+ const res = await fetchWebText(verdict.url, allowlist, { fetchImpl: deps.fetchImpl });
208
+ const { text } = extractWebResponse(res.text, res.contentType);
209
+ const contentType = detectContentType(text);
210
+ return toToolResult(pipelines.govern(stepId, tool, text, {
211
+ contentType,
212
+ clue: `url=${shorten(res.finalUrl, 120)}`,
213
+ }));
214
+ }
215
+ catch (err) {
216
+ const e = err;
217
+ if (e?.name === "AbortError") {
218
+ return toToolResult(tmError(tool, "execute", "抓取超时(20s)——换更具体的搜索词或稍后重试"));
219
+ }
220
+ return toToolResult(tmError(tool, "execute", String(e?.message ?? err ?? "webfetch 失败")));
221
+ }
222
+ },
223
+ };
224
+ }
225
+ //# sourceMappingURL=webfetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webfetch.js","sourceRoot":"","sources":["../../src/tm/webfetch.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@te-river/opencode-team-mode",
3
- "version": "1.5.5",
3
+ "version": "1.5.6",
4
4
  "description": "Team collaboration mode plugin for OpenCode Desktop — injects specialized agents (architect, reviewer, implementer, tester, researcher) and team workflow commands into your OpenCode workspace.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -19,7 +19,7 @@
19
19
  ],
20
20
  "scripts": {
21
21
  "build": "tsc",
22
- "test": "tsc && node test-blackboard.mjs && node test-envprotect.mjs && node test-tm-tools.mjs",
22
+ "test": "tsc && node test-blackboard.mjs && node test-envprotect.mjs && node test-tm-tools.mjs && node test-default-agent.mjs",
23
23
  "prepublishOnly": "tsc",
24
24
  "dev": "tsc --watch"
25
25
  },