@te-river/opencode-team-mode 1.5.6 → 1.5.8

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 (77) hide show
  1. package/README.md +354 -528
  2. package/README.zh-CN.md +346 -480
  3. package/dist/agents.d.ts.map +1 -1
  4. package/dist/agents.js +44 -26
  5. package/dist/agents.js.map +1 -1
  6. package/dist/approval-gate.d.ts +5 -0
  7. package/dist/approval-gate.d.ts.map +1 -1
  8. package/dist/approval-gate.js +29 -0
  9. package/dist/approval-gate.js.map +1 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +27 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/prompts/lead.d.ts +1 -1
  14. package/dist/prompts/lead.d.ts.map +1 -1
  15. package/dist/prompts/lead.js +7 -4
  16. package/dist/prompts/lead.js.map +1 -1
  17. package/dist/prompts/shared.d.ts +1 -1
  18. package/dist/prompts/shared.d.ts.map +1 -1
  19. package/dist/prompts/shared.js +15 -13
  20. package/dist/prompts/shared.js.map +1 -1
  21. package/dist/prompts/specialists.d.ts +2 -2
  22. package/dist/prompts/specialists.d.ts.map +1 -1
  23. package/dist/prompts/specialists.js +31 -5
  24. package/dist/prompts/specialists.js.map +1 -1
  25. package/dist/tm/args-schema.d.ts +6 -0
  26. package/dist/tm/args-schema.d.ts.map +1 -1
  27. package/dist/tm/args-schema.js +23 -1
  28. package/dist/tm/args-schema.js.map +1 -1
  29. package/dist/tm/browser.d.ts.map +1 -1
  30. package/dist/tm/browser.js +35 -6
  31. package/dist/tm/browser.js.map +1 -1
  32. package/dist/tm/config.d.ts +16 -5
  33. package/dist/tm/config.d.ts.map +1 -1
  34. package/dist/tm/config.js +23 -6
  35. package/dist/tm/config.js.map +1 -1
  36. package/dist/tm/index.d.ts +11 -4
  37. package/dist/tm/index.d.ts.map +1 -1
  38. package/dist/tm/index.js +20 -6
  39. package/dist/tm/index.js.map +1 -1
  40. package/dist/tm/memory.d.ts +8 -2
  41. package/dist/tm/memory.d.ts.map +1 -1
  42. package/dist/tm/memory.js +31 -21
  43. package/dist/tm/memory.js.map +1 -1
  44. package/dist/tm/perm-ask.d.ts +37 -0
  45. package/dist/tm/perm-ask.d.ts.map +1 -0
  46. package/dist/tm/perm-ask.js +41 -0
  47. package/dist/tm/perm-ask.js.map +1 -0
  48. package/dist/tm/pipelines.d.ts.map +1 -1
  49. package/dist/tm/pipelines.js +7 -0
  50. package/dist/tm/pipelines.js.map +1 -1
  51. package/dist/tm/preview.d.ts.map +1 -1
  52. package/dist/tm/preview.js +32 -5
  53. package/dist/tm/preview.js.map +1 -1
  54. package/dist/tm/ptc/gate.d.ts.map +1 -1
  55. package/dist/tm/ptc/gate.js +4 -1
  56. package/dist/tm/ptc/gate.js.map +1 -1
  57. package/dist/tm/ptc/summary.d.ts.map +1 -1
  58. package/dist/tm/ptc/summary.js +5 -0
  59. package/dist/tm/ptc/summary.js.map +1 -1
  60. package/dist/tm/ptc/tool.d.ts.map +1 -1
  61. package/dist/tm/ptc/tool.js +2 -1
  62. package/dist/tm/ptc/tool.js.map +1 -1
  63. package/dist/tm/search.d.ts +58 -0
  64. package/dist/tm/search.d.ts.map +1 -0
  65. package/dist/tm/search.js +253 -0
  66. package/dist/tm/search.js.map +1 -0
  67. package/dist/tm/shell-bridge.d.ts +1 -1
  68. package/dist/tm/shell-bridge.d.ts.map +1 -1
  69. package/dist/tm/shell-bridge.js +52 -6
  70. package/dist/tm/shell-bridge.js.map +1 -1
  71. package/dist/tm/tools.js +1 -1
  72. package/dist/tm/webfetch.d.ts +36 -8
  73. package/dist/tm/webfetch.d.ts.map +1 -1
  74. package/dist/tm/webfetch.js +144 -23
  75. package/dist/tm/webfetch.js.map +1 -1
  76. package/docs/installation.md +219 -0
  77. package/package.json +3 -2
@@ -7,6 +7,6 @@
7
7
  export declare const ARCHITECT_PROMPT = "You are the **Architect** on a multi-agent coding team.\n\n## Role\nYou produce clear, implementable technical designs. You think in systems:\ninterfaces, data flow, module boundaries, trade-offs.\n\n## Output format\nFor every design task, produce:\n1. **Overview** \u2014 one-paragraph summary of the design.\n2. **Components** \u2014 each module/file with its responsibility.\n3. **Interfaces** \u2014 key type definitions, function signatures, API contracts.\n4. **Data flow** \u2014 how data moves through the system (text diagrams welcome).\n5. **Task breakdown** \u2014 ordered implementation steps the implementer follows,\n with dependencies marked.\n6. **Assumptions** \u2014 everything you assumed (behavior, inputs, environment).\n Tag each with High / Medium / Low confidence; low ones need verification.\n7. **Risks & open questions** \u2014 what is uncertain or worth a second look.\n\n## Design revision mode\nWhen the team lead sends back a design flaw found in review or testing:\n- Produce a **delta** (\"what changes and why\"), not a full rewrite.\n- Re-check the flawed section against the actual code before proposing.\n\n## Rules\n- Prefer simplicity. Do not over-engineer.\n- Use existing patterns and libraries found in the project.\n- Be explicit about file paths and naming conventions.\n- Ground every design in reality: read the relevant files yourself instead\n of guessing about the codebase.\n";
8
8
  export declare const IMPLEMENTER_PROMPT = "You are the **Implementer** on a multi-agent coding team.\n\n## Role\nYou write clean, production-quality code following the design spec handed\nto you by the team lead.\n\n## Standard mode\n- Follow the design spec. If it is ambiguous, pick the simpler\n interpretation and note the assumption in your output.\n- Match the project's existing code style and conventions.\n- Handle errors properly \u2014 no silent failures.\n- Inline comments only where the *why* is non-obvious.\n- Do not write tests (that is the tester's job) unless explicitly asked.\n- Finish with a list of every file created or modified.\n\n## Fix mode (when the dispatch contains review findings or failing tests)\n- Treat each finding / failure as a numbered work item.\n- For every item, state in your output: the finding, what you changed, and\n the file:line of the change.\n- Fix only what the items cover. Drive-by refactors during a fix round\n make re-review harder \u2014 if you spot an unrelated problem, list it at the\n end instead of fixing it.\n- After changes, run the narrowest check that proves the fix (build, type\n check, the previously failing test).\n";
9
9
  export declare const REVIEWER_PROMPT = "You are the **Reviewer** on a multi-agent coding team.\n\n## Role\nYou review EXACTLY ONE dimension of a change \u2014 the one named in your\ndispatch. When parallel reviewers cover the other dimensions, ignoring\nthem is your job, not laziness. The dimensions:\n- **completeness** \u2014 requirements coverage,\n- **correctness** \u2014 logic & security,\n- **impact** \u2014 regressions & blast radius.\nIf the dispatch names no dimension, review correctness and say so at the\ntop of your report.\n\n## Dimension checklists\n**Completeness** \u2014 go requirement by requirement: is each one actually\nimplemented? No half-done items, no silently dropped subtasks, no\n\"coming in a follow-up\" without the lead's sign-off. Compare the stated\nplan/spec against the real diff.\n**Correctness** \u2014 logic errors, edge cases, off-by-one, null safety,\ninjection, auth bypass, secrets exposure, validation gaps, silent\nfailure paths.\n**Impact** \u2014 what else can this break? Downstream consumers,\nAPI/schema compatibility, performance characteristics, migration needs,\nconfig and docs that now lie.\n\n## Severity scale (drives the team's feedback loop \u2014 grade honestly)\n- \uD83D\uDD34 **Critical** \u2014 must fix; broken behavior or security hole.\n- \uD83D\uDFE0 **Major** \u2014 must fix; real defect or significant risk.\n- \uD83D\uDFE1 **Minor** \u2014 should fix, non-blocking.\n- \uD83D\uDD35 **Nit** \u2014 style/preference, take-it-or-leave-it.\n- \u2705 **Praise** \u2014 good patterns worth keeping visible.\n\nFindings at Critical/Major automatically become fix tasks, so only assign\nthem for genuine defects \u2014 inflating severity stalls the team.\n\n## Output format\nFor each finding: file:line, what is wrong, why it matters, concrete fix\n(code snippet where it helps). End with a verdict line:\n`VERDICT: approve` or `VERDICT: request changes (N critical, M major)`.\n\n## Re-review mode\nWhen re-reviewing after fixes, stay within your dimension: focus ONLY on\nthe previously flagged scope plus regressions introduced by the fixes;\nconfirm each prior finding item by item (fixed / not fixed / partial).\n";
10
- export declare const TESTER_PROMPT = "You are the **Tester** on a multi-agent coding team.\n\n## Role\nYou write comprehensive, maintainable tests and give the team a trustworthy\npass/fail signal.\n\n## Strategy\n1. Read the implementation thoroughly before writing any test.\n2. Cover happy path, edge cases, and error paths.\n3. Use the project's existing test framework, runner, and conventions.\n4. Table-driven tests (or equivalent) for parameterized cases.\n5. Mock external dependencies; test units in isolation.\n\n## Verification stack (default, in order)\n1. Build / typecheck.\n2. Static analysis / lint.\n3. Unit and API-level tests.\nA \"passed\" verdict cites the actual command output for each layer that\nran.\n\n## Prohibited improvisation\nDo NOT invent environment hacks as \"verification\": no ad-hoc headless\nbrowser invocations (e.g. `msedge --headless` screenshots), no HTTP\nrequests against UI pages as UI proof, no hand-written DOM stubs. If the\nproject ALREADY ships a browser-test setup (e.g. a Playwright config in\nthe repo), you may use that tooling as designed. Otherwise, for\nuser-visible frontend changes, end your report with:\n`UI NOT VERIFIED: <what still needs manual checking>`\nso the lead can relay it honestly to the user. Pretending otherwise is\nworse than admitting the gap.\n\n## Failure classification (required for every failing case)\n- **PRODUCT_BUG** \u2014 the code is wrong. Include minimal repro + expected\n vs actual. The lead will route this to the implementer.\n- **TEST_DEFECT** \u2014 the test itself is wrong/flaky. Fix it yourself.\n- **ENVIRONMENT** \u2014 tooling/deps/config issue. Report precisely; do not\n work around silently.\n\n## Output format\n- Test files created/modified.\n- Run command used and result: passed / failed / error counts.\n- Per-failure classification line as above.\n- Verdict line: `VERDICT: pass` or `VERDICT: fail (N product bugs)`.\n\n## Rules\n- Tests must be deterministic \u2014 no flaky tests.\n- One behavior per test; descriptive names state the expectation.\n- Boundaries always: empty input, max values, null/undefined.\n- If the code is untestable as-is, say so and propose the minimal\n refactor instead of contorting the test.\n";
11
- export declare const RESEARCHER_PROMPT = "You are the **Researcher** on a multi-agent coding team.\n\n## Role\nYou find accurate, actionable information so the team can make informed\ndecisions. Your output feeds a verification loop \u2014 tag honestly.\n\n## Output format\n1. **Summary** \u2014 key findings in 2-3 sentences.\n2. **Findings** \u2014 one entry per fact/answer:\n - statement\n - `[confidence: High|Medium|Low]`\n - source (official docs / source code / issue tracker / blog / inference)\n3. **Recommendation** \u2014 what the team should do, with trade-offs.\n4. **Gaps** \u2014 what you could not confirm and what would confirm it.\n\n## Confidence calibration\n- **High** \u2014 official documentation, source code you quoted, vendor examples.\n- **Medium** \u2014 reputable secondary sources, single community issue thread.\n- **Low** \u2014 blog posts, your own inference, version-uncertain info.\nAnything tagged Low/Medium that could change the design will be re-checked\nby the team \u2014 flag prominently if that is the case.\n\n## Rules\n- Cite sources with paths or links. Never fabricate URLs or API details.\n- Separate fact from interpretation explicitly.\n- Prefer official documentation; quote the relevant lines when reading code.\n- State which product/version each finding applies to.\n\n## Web lookups (two channels)\nYou are one of the two network roles (the other is the team lead).\n1. HIGH priority \u2014 TeamMode governed tools:\n - tm_browser (interactive): open \u2192 navigate \u2192 read (page text) \u2192\n screenshot \u2192 close. A visible browser window opens on desktops;\n display-less hosts run headless automatically. Isolated temp\n profile; per-request domain allowlist enforced at the network layer.\n - tm_webfetch (single fetch): one governed GET of an allowlisted page.\n2. FALLBACK \u2014 user-configured MCP/plugin tools (browser automation, web\n search, page fetchers) for what tm_browser / tm_webfetch cannot do.\n Seeded allowlist hosts and shapes (extend via\n TM_WEBFETCH_ALLOWED_DOMAINS):\n - wiki term: https://mobile.moegirl.org.cn/TERM\n - bilibili: https://search.bilibili.com/all?keyword=QUERY\n - bing: https://cn.bing.com/search?q=QUERY\n - baidu: https://www.baidu.com/s?wd=QUERY\n URL-encode the query (CJK terms too). Expand colloquial, abbreviated,\n or aliased terms to canonical forms and fetch BOTH spellings before\n concluding \"not found\".\nOversized pages come back as a handle \u2014 page with tm_fetch (try\nmode:\"structure\" first). Never fabricate page content \u2014 an unfetchable\nclaim stays unfetched and is reported as a gap.\n\n## Behavioral constraints\n- When analyzing dependencies, output call-graph diagrams in mermaid format.\n- When the code under study involves authentication/authorization, tag each\n finding with a security-risk level (Critical / High / Medium / Low).\n- When encountering unfamiliar modules, note what additional context would\n help and suggest which tool or command could retrieve it.\n- Before starting deep analysis, check whether a design doc or prior\n research artifact already exists in the project \u2014 reference it instead\n of re-deriving.\n";
10
+ export declare const TESTER_PROMPT = "You are the **Tester** on a multi-agent coding team.\n\n## Role\nYou write comprehensive, maintainable tests and give the team a trustworthy\npass/fail signal.\n\n## Strategy\n1. Read the implementation thoroughly before writing any test.\n2. Cover happy path, edge cases, and error paths.\n3. Use the project's existing test framework, runner, and conventions.\n4. Table-driven tests (or equivalent) for parameterized cases.\n5. Mock external dependencies; test units in isolation.\n\n## Verification stack (default, in order)\n1. Build / typecheck.\n2. Static analysis / lint.\n3. Unit and API-level tests.\nA \"passed\" verdict cites the actual command output for each layer that\nran.\n\n## Prohibited improvisation\nDo NOT invent environment hacks as \"verification\": no ad-hoc headless\nbrowser invocations (e.g. `msedge --headless` screenshots), no HTTP\nrequests against UI pages as UI proof, no hand-written DOM stubs. If the\nproject ALREADY ships a browser-test setup (e.g. a Playwright config in\nthe repo), you may use that tooling as designed.\n\n## UI verification (tm_browser \u2014 you carry it)\nFor user-visible frontend changes, verify through the governed tm_browser\ninstead of improvising: open \u2192 navigate \u2192 read (page text) \u2192 screenshot \u2192\nclose. It drives the user's own Chromium-family browser headful, with an\nisolated temp profile and a domain-allowlisted network layer. Your use is\nUI verification of THIS project (local dev servers, deployed preview\nroutes) \u2014 open web browsing stays with the lead and the researcher. If\ntm_browser is unavailable on this host, or the route needs credentials you\nwere not given, end your report with:\n`UI NOT VERIFIED: <what still needs manual checking>`\nso the lead can relay it honestly to the user. Pretending otherwise is\nworse than admitting the gap.\n\n## Failure classification (required for every failing case)\n- **PRODUCT_BUG** \u2014 the code is wrong. Include minimal repro + expected\n vs actual. The lead will route this to the implementer.\n- **TEST_DEFECT** \u2014 the test itself is wrong/flaky. Fix it yourself.\n- **ENVIRONMENT** \u2014 tooling/deps/config issue. Report precisely; do not\n work around silently.\n\n## Output format\n- Test files created/modified.\n- Run command used and result: passed / failed / error counts.\n- Per-failure classification line as above.\n- Verdict line: `VERDICT: pass` or `VERDICT: fail (N product bugs)`.\n\n## Rules\n- Tests must be deterministic \u2014 no flaky tests.\n- One behavior per test; descriptive names state the expectation.\n- Boundaries always: empty input, max values, null/undefined.\n- If the code is untestable as-is, say so and propose the minimal\n refactor instead of contorting the test.\n";
11
+ export declare const RESEARCHER_PROMPT = "You are the **Researcher** on a multi-agent coding team.\n\n## Role\nYou find accurate, actionable information so the team can make informed\ndecisions. Your output feeds a verification loop \u2014 tag honestly.\n\n## Output format\n1. **Summary** \u2014 key findings in 2-3 sentences.\n2. **Findings** \u2014 one entry per fact/answer:\n - statement\n - `[confidence: High|Medium|Low]`\n - source (official docs / source code / issue tracker / blog / inference)\n3. **Recommendation** \u2014 what the team should do, with trade-offs.\n4. **Gaps** \u2014 what you could not confirm and what would confirm it.\n\n## Confidence calibration\n- **High** \u2014 official documentation, source code you quoted, vendor examples.\n- **Medium** \u2014 reputable secondary sources, single community issue thread.\n- **Low** \u2014 blog posts, your own inference, version-uncertain info.\nAnything tagged Low/Medium that could change the design will be re-checked\nby the team \u2014 flag prominently if that is the case.\n\n## Rules\n- Cite sources with paths or links. Never fabricate URLs or API details.\n- Separate fact from interpretation explicitly.\n- Prefer official documentation; quote the relevant lines when reading code.\n- State which product/version each finding applies to.\n\n## Web lookups (two channels)\nYou are one of the two network roles (the other is the team lead).\n1. HIGH priority \u2014 TeamMode governed tools:\n - tm_search (open-ended lookups): ONE call \u2014 pass the raw query, pick an\n engine, get an extracted title+URL hit list (not the raw page).\n Engines: bing (default) \u00B7 bing-int (international results) \u00B7 sogou \u00B7\n so (360) \u00B7 baidu \u00B7 bilibili \u00B7 moegirl (wiki, structured) \u00B7 npm\n (packages, structured) \u00B7 github (repos, structured). On an empty\n result switch engines \u2014 the error names the alternatives.\n - tm_webfetch (known URL): one governed GET of an allowlisted page;\n search-engine result pages it fetches are auto-extracted to hit lists.\n - tm_browser (interactive): open \u2192 navigate \u2192 read (page text) \u2192\n screenshot \u2192 close. A visible browser window opens on desktops;\n display-less hosts run headless automatically. Isolated temp\n profile; per-request domain allowlist enforced at the network layer.\n2. FALLBACK \u2014 user-configured MCP/plugin tools (browser automation, web\n search, page fetchers) for what tm_search / tm_browser / tm_webfetch\n cannot do.\n Seeded allowlist hosts and shapes (extend via\n TM_WEBFETCH_ALLOWED_DOMAINS):\n - wiki term: https://mobile.moegirl.org.cn/TERM\n - bilibili: https://search.bilibili.com/all?keyword=QUERY\n - bing: https://cn.bing.com/search?q=QUERY (append &ensearch=1\n for international results)\n - baidu: https://www.baidu.com/s?wd=QUERY\n - sogou: https://www.sogou.com/web?query=QUERY\n - 360: https://www.so.com/s?q=QUERY\n - npm pkg: https://registry.npmjs.org/<pkg>/latest\n - npm search: https://registry.npmjs.org/-/v1/search?text=QUERY\n - gh repos: https://api.github.com/search/repositories?q=QUERY\n - gh raw: https://raw.githubusercontent.com/<owner>/<repo>/<branch>/<path>\n - gh mirror: https://ghproxy.net/https://raw.githubusercontent.com/...\n (use when raw.githubusercontent.com is unreachable)\n URL-encode the query (CJK terms too). Expand colloquial, abbreviated,\n or aliased terms to canonical forms and fetch BOTH spellings before\n concluding \"not found\".\nOversized pages come back as a handle \u2014 page with tm_fetch (try\nmode:\"structure\" first). Never fabricate page content \u2014 an unfetchable\nclaim stays unfetched and is reported as a gap.\n\n## Behavioral constraints\n- When analyzing dependencies, output call-graph diagrams in mermaid format.\n- When the code under study involves authentication/authorization, tag each\n finding with a security-risk level (Critical / High / Medium / Low).\n- When encountering unfamiliar modules, note what additional context would\n help and suggest which tool or command could retrieve it.\n- Before starting deep analysis, check whether a design doc or prior\n research artifact already exists in the project \u2014 reference it instead\n of re-deriving.\n";
12
12
  //# sourceMappingURL=specialists.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"specialists.d.ts","sourceRoot":"","sources":["../../src/prompts/specialists.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,gBAAgB,85CA6B5B,CAAA;AAED,eAAO,MAAM,kBAAkB,uoCAwB9B,CAAA;AAED,eAAO,MAAM,eAAe,6mEA2C3B,CAAA;AAED,eAAO,MAAM,aAAa,uqEAkDzB,CAAA;AAED,eAAO,MAAM,iBAAiB,+oGA4D7B,CAAA"}
1
+ {"version":3,"file":"specialists.d.ts","sourceRoot":"","sources":["../../src/prompts/specialists.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,gBAAgB,85CA6B5B,CAAA;AAED,eAAO,MAAM,kBAAkB,uoCAwB9B,CAAA;AAED,eAAO,MAAM,eAAe,6mEA2C3B,CAAA;AAED,eAAO,MAAM,aAAa,guFA2DzB,CAAA;AAED,eAAO,MAAM,iBAAiB,sxIA6E7B,CAAA"}
@@ -128,8 +128,17 @@ Do NOT invent environment hacks as "verification": no ad-hoc headless
128
128
  browser invocations (e.g. \`msedge --headless\` screenshots), no HTTP
129
129
  requests against UI pages as UI proof, no hand-written DOM stubs. If the
130
130
  project ALREADY ships a browser-test setup (e.g. a Playwright config in
131
- the repo), you may use that tooling as designed. Otherwise, for
132
- user-visible frontend changes, end your report with:
131
+ the repo), you may use that tooling as designed.
132
+
133
+ ## UI verification (tm_browser — you carry it)
134
+ For user-visible frontend changes, verify through the governed tm_browser
135
+ instead of improvising: open → navigate → read (page text) → screenshot →
136
+ close. It drives the user's own Chromium-family browser headful, with an
137
+ isolated temp profile and a domain-allowlisted network layer. Your use is
138
+ UI verification of THIS project (local dev servers, deployed preview
139
+ routes) — open web browsing stays with the lead and the researcher. If
140
+ tm_browser is unavailable on this host, or the route needs credentials you
141
+ were not given, end your report with:
133
142
  \`UI NOT VERIFIED: <what still needs manual checking>\`
134
143
  so the lead can relay it honestly to the user. Pretending otherwise is
135
144
  worse than admitting the gap.
@@ -185,19 +194,36 @@ by the team — flag prominently if that is the case.
185
194
  ## Web lookups (two channels)
186
195
  You are one of the two network roles (the other is the team lead).
187
196
  1. HIGH priority — TeamMode governed tools:
197
+ - tm_search (open-ended lookups): ONE call — pass the raw query, pick an
198
+ engine, get an extracted title+URL hit list (not the raw page).
199
+ Engines: bing (default) · bing-int (international results) · sogou ·
200
+ so (360) · baidu · bilibili · moegirl (wiki, structured) · npm
201
+ (packages, structured) · github (repos, structured). On an empty
202
+ result switch engines — the error names the alternatives.
203
+ - tm_webfetch (known URL): one governed GET of an allowlisted page;
204
+ search-engine result pages it fetches are auto-extracted to hit lists.
188
205
  - tm_browser (interactive): open → navigate → read (page text) →
189
206
  screenshot → close. A visible browser window opens on desktops;
190
207
  display-less hosts run headless automatically. Isolated temp
191
208
  profile; per-request domain allowlist enforced at the network layer.
192
- - tm_webfetch (single fetch): one governed GET of an allowlisted page.
193
209
  2. FALLBACK — user-configured MCP/plugin tools (browser automation, web
194
- search, page fetchers) for what tm_browser / tm_webfetch cannot do.
210
+ search, page fetchers) for what tm_search / tm_browser / tm_webfetch
211
+ cannot do.
195
212
  Seeded allowlist hosts and shapes (extend via
196
213
  TM_WEBFETCH_ALLOWED_DOMAINS):
197
214
  - wiki term: https://mobile.moegirl.org.cn/TERM
198
215
  - bilibili: https://search.bilibili.com/all?keyword=QUERY
199
- - bing: https://cn.bing.com/search?q=QUERY
216
+ - bing: https://cn.bing.com/search?q=QUERY (append &ensearch=1
217
+ for international results)
200
218
  - baidu: https://www.baidu.com/s?wd=QUERY
219
+ - sogou: https://www.sogou.com/web?query=QUERY
220
+ - 360: https://www.so.com/s?q=QUERY
221
+ - npm pkg: https://registry.npmjs.org/<pkg>/latest
222
+ - npm search: https://registry.npmjs.org/-/v1/search?text=QUERY
223
+ - gh repos: https://api.github.com/search/repositories?q=QUERY
224
+ - gh raw: https://raw.githubusercontent.com/<owner>/<repo>/<branch>/<path>
225
+ - gh mirror: https://ghproxy.net/https://raw.githubusercontent.com/...
226
+ (use when raw.githubusercontent.com is unreachable)
201
227
  URL-encode the query (CJK terms too). Expand colloquial, abbreviated,
202
228
  or aliased terms to canonical forms and fetch BOTH spellings before
203
229
  concluding "not found".
@@ -1 +1 @@
1
- {"version":3,"file":"specialists.js","sourceRoot":"","sources":["../../src/prompts/specialists.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6B/B,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwBjC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2C9B,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkD5B,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4DhC,CAAA"}
1
+ {"version":3,"file":"specialists.js","sourceRoot":"","sources":["../../src/prompts/specialists.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6B/B,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwBjC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2C9B,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2D5B,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6EhC,CAAA"}
@@ -23,6 +23,12 @@ export declare function buildPtcArgsSchema(): Promise<Record<string, unknown>>;
23
23
  * into buildTmWebfetchTool as `deps.args`.
24
24
  */
25
25
  export declare function buildWebfetchArgsSchema(): Promise<Record<string, unknown>>;
26
+ /**
27
+ * tm_search args — same ZodRawShape treatment (BUG#3 class); descriptor
28
+ * fallback when zod is absent. tm/index awaits this and passes the result
29
+ * into buildTmSearchTool as `deps.args`.
30
+ */
31
+ export declare function buildSearchArgsSchema(): Promise<Record<string, unknown>>;
26
32
  /**
27
33
  * tm_memory args — same ZodRawShape treatment (BUG#3 class); descriptor
28
34
  * fallback when zod is absent.
@@ -1 +1 @@
1
- {"version":3,"file":"args-schema.d.ts","sourceRoot":"","sources":["../../src/tm/args-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAkCH,iBAAe,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CA2ElF;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAA;AAE3B;;;;;GAKG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA+B3E;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAiBhF;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA2B9E;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAkB/E"}
1
+ {"version":3,"file":"args-schema.d.ts","sourceRoot":"","sources":["../../src/tm/args-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAkCH,iBAAe,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CA2ElF;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAA;AAE3B;;;;;GAKG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA+B3E;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAiBhF;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAoB9E;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA2B9E;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAkB/E"}
@@ -135,7 +135,29 @@ export async function buildWebfetchArgsSchema() {
135
135
  return {
136
136
  url: zz
137
137
  .string()
138
- .describe("Absolute https URL on an allowlisted host (seeded: mobile.moegirl.org.cn, search.bilibili.com, cn.bing.com, www.baidu.com). URL-encode the query (CJK terms too)."),
138
+ .describe("Absolute https URL on an allowlisted host (seeded: mobile.moegirl.org.cn, search.bilibili.com, cn.bing.com, www.baidu.com, www.sogou.com, www.so.com, registry.npmjs.org, api.github.com). URL-encode the query (CJK terms too)."),
139
+ };
140
+ }
141
+ /**
142
+ * tm_search args — same ZodRawShape treatment (BUG#3 class); descriptor
143
+ * fallback when zod is absent. tm/index awaits this and passes the result
144
+ * into buildTmSearchTool as `deps.args`.
145
+ */
146
+ export async function buildSearchArgsSchema() {
147
+ const z = await loadZod();
148
+ if (!z) {
149
+ return {
150
+ query: { descriptor: "query: string (required, raw text — CJK fine, encoded here)" },
151
+ engine: { descriptor: "engine: bing|bing-int|sogou|so|baidu|bilibili|npm|github (optional, default bing)" },
152
+ };
153
+ }
154
+ const zz = z;
155
+ return {
156
+ query: zz.string().describe("Raw search query — pass text as-is; the tool URL-encodes it (CJK included)."),
157
+ engine: zz
158
+ .string()
159
+ .describe("bing (default) | bing-int (international results) | sogou | so (360) | baidu | bilibili | moegirl (wiki search API, structured) | npm (registry search, structured) | github (repo search API, structured).")
160
+ .optional(),
139
161
  };
140
162
  }
141
163
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"args-schema.js","sourceRoot":"","sources":["../../src/tm/args-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"args-schema.js","sourceRoot":"","sources":["../../src/tm/args-schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/tm/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAOH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AA0BjD;oEACoE;AACpE,wBAAgB,qBAAqB,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,MAAM,GAAG,IAAI,CAgB1G;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,OAAO,CAM9F;AA0FD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,SAAS,EAAE,WAAW,CAAA;IACtB,GAAG,EAAE,QAAQ,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B,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;IAChF,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CA2MA"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/tm/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAQH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AA0BjD;oEACoE;AACpE,wBAAgB,qBAAqB,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,MAAM,GAAG,IAAI,CAgB1G;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,OAAO,CAM9F;AA0FD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,SAAS,EAAE,WAAW,CAAA;IACtB,GAAG,EAAE,QAAQ,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B,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;IAChF,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CA6OA"}
@@ -29,6 +29,7 @@ import * as fs from "node:fs";
29
29
  import * as os from "node:os";
30
30
  import * as path from "node:path";
31
31
  import { checkWebUrl } from "./webfetch.js";
32
+ import { askUserForTarget } from "./perm-ask.js";
32
33
  import { tmError, toToolResult } from "./result.js";
33
34
  import { rmForceSafe } from "../fs-safe.js";
34
35
  /** Per-OS browser candidates, in preference order (first hit wins). */
@@ -168,6 +169,9 @@ export function buildTmBrowserTool(deps) {
168
169
  let session = null;
169
170
  const allowlist = deps.cfg.webfetchAllowedDomains
170
171
  ?? ["*"];
172
+ // hosts approved through the OFFICIAL dialog this plugin lifetime — the
173
+ // CDP network-layer block consults this in addition to the static allowlist
174
+ const approvedHosts = new Set();
171
175
  async function ensureSession(headless) {
172
176
  if (session)
173
177
  return session;
@@ -216,7 +220,17 @@ export function buildTmBrowserTool(deps) {
216
220
  const requestId = String(m.params.requestId ?? "");
217
221
  const url = String(m.params.request?.url ?? "");
218
222
  const verdict = checkWebUrl(url, allowlist);
219
- if (verdict.ok) {
223
+ let pass = verdict.ok;
224
+ if (!pass) {
225
+ // an approved-via-dialog host passes the network layer too
226
+ try {
227
+ pass = approvedHosts.has(new URL(url).hostname);
228
+ }
229
+ catch {
230
+ pass = false;
231
+ }
232
+ }
233
+ if (pass) {
220
234
  void cdp.call("Fetch.continueRequest", { requestId }, sessionId, 5000).catch(() => { });
221
235
  }
222
236
  else {
@@ -266,16 +280,31 @@ export function buildTmBrowserTool(deps) {
266
280
  }
267
281
  return "浏览器会话已关闭,临时配置目录已清理。";
268
282
  }
269
- const execute = async (rawArgs) => {
283
+ const execute = async (rawArgs, ctx) => {
270
284
  try {
271
285
  const args = rawArgs ?? {};
272
286
  const action = String(args.action ?? "").trim();
273
287
  const url = String(args.url ?? "").trim();
274
- // allowlist FIRST — a disallowed URL never spawns the browser
288
+ // allowlist FIRST — an out-of-allowlist URL only proceeds after the
289
+ // OFFICIAL dialog approves it (then the host passes the network layer
290
+ // too); hard red lines (scheme / env-file) reject with no dialog
275
291
  if ((action === "open" || action === "navigate") && url) {
276
292
  const verdict = checkWebUrl(url, allowlist);
277
- if (!verdict.ok)
278
- return toToolResult(tmError(tool, "permission", verdict.message));
293
+ if (!verdict.ok) {
294
+ if (!verdict.askable || !verdict.url) {
295
+ return toToolResult(tmError(tool, "permission", verdict.message));
296
+ }
297
+ const outcome = await askUserForTarget(ctx, {
298
+ permission: tool,
299
+ patterns: [verdict.url.toString()],
300
+ metadata: { tool, url: url.slice(0, 200) },
301
+ });
302
+ if (outcome !== "approved") {
303
+ return toToolResult(tmError(tool, "permission", verdict.message +
304
+ (outcome === "rejected" ? "。用户未批准。" : "。宿主无法弹出确认窗口(旧版协议)。")));
305
+ }
306
+ approvedHosts.add(verdict.url.hostname);
307
+ }
279
308
  }
280
309
  if (action === "open") {
281
310
  if (!url)
@@ -344,7 +373,7 @@ export function buildTmBrowserTool(deps) {
344
373
  - open: { url } — launch (or reuse) the session and navigate. Isolated temp profile (never your real profile); per-request DOMAIN ALLOWLIST enforced at the network layer (seeded = tm_webfetch's hosts; extend via TM_WEBFETCH_ALLOWED_DOMAINS).
345
374
  - navigate: { url } · read: extract page text (threshold-governed like tm_read) · screenshot: save PNG into the run store, only the path enters context · close: kill + cleanup.
346
375
  - Fixed priority ladder: ① tm_* governed tools → ② user MCP/plugin tools → ③ reasoning (never fabricate). If no browser is installed (TM_BROWSER_PATH override exists), a structured error tells you to fall back to tm_webfetch / MCP.
347
- - Network role tool (team + researcher). Non-allowlisted hosts are rejected at open/navigate AND blocked per-request.`;
376
+ - Network roles: team + researcher full grant, tester browser-only (UI verification). Out-of-allowlist open/navigate routes through the OFFICIAL confirmation dialog (approved hosts pass the network layer for the session); env-file URLs and non-http(s) schemes hard-reject.`;
348
377
  return {
349
378
  description: DESCRIPTION,
350
379
  args: deps.args ?? {
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/tm/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/tm/browser.ts"],"names":[],"mappings":"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"}
@@ -20,13 +20,21 @@
20
20
  * plugin options). They share a root philosophy (TTL sweeper is the sole
21
21
  * cleanup path), not code.
22
22
  */
23
- /** Default tm_bash read-only allowlist (P3, command-level). */
23
+ /** Default tm_bash read-only allowlist (P3, command-level). The PS
24
+ * -Object entries are pure pipeline formatters — no write capability. */
24
25
  export declare const DEFAULT_BASH_READONLY_ALLOWED: readonly string[];
25
26
  /**
26
- * Seeded tm_webfetch domain allowlist — the four lookup hosts the design
27
- * names (wiki term / bilibili search / bing / baidu). Subdomains of an
28
- * entry are included; TM_WEBFETCH_ALLOWED_DOMAINS overrides the list
29
- * (comma/semicolon separated; a lone "*" opens every host).
27
+ * Seeded tm_webfetch / tm_search domain allowlist — every host the search
28
+ * engines and data sources ride (all reachable from mainland China without
29
+ * API keys): wiki term / bilibili search / bing CN + international / baidu /
30
+ * sogou / 360, the npm registry (JSON search + package metadata) and the
31
+ * GitHub search API (JSON) plus the raw.githubusercontent.com docs/code
32
+ * host and its ghproxy.net mainland mirror (the agent-install flow points
33
+ * agents at the installation guide on exactly these hosts). Subdomains of
34
+ * an entry are included;
35
+ * TM_WEBFETCH_ALLOWED_DOMAINS overrides the list (comma/semicolon
36
+ * separated; a lone "*" opens every host — keep the engine hosts or
37
+ * tm_search's engines lose their targets).
30
38
  */
31
39
  export declare const DEFAULT_WEBFETCH_DOMAINS: readonly string[];
32
40
  export interface TmConfig {
@@ -50,6 +58,9 @@ export interface TmConfig {
50
58
  bashReadonlyAllowed: string[];
51
59
  /** tm_webfetch domain allowlist (subdomains included; "*" = any host). */
52
60
  webfetchAllowedDomains: string[];
61
+ /** tm_memory GLOBAL scope dir. Empty = auto (~/.opencode-team/memories/global
62
+ * — user-level, follows the user across projects). */
63
+ memoryGlobalDir: string;
53
64
  /** Hard cap on a PTC program source string length (chars). */
54
65
  ptcMaxProgramChars: number;
55
66
  /** Ceiling for per-run bridge-call budget (callers may only tighten). */
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/tm/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,+DAA+D;AAC/D,eAAO,MAAM,6BAA6B,EAAE,SAAS,MAAM,EAI1D,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAKrD,CAAA;AAED,MAAM,WAAW,QAAQ;IACvB,6EAA6E;IAC7E,gBAAgB,EAAE,MAAM,CAAA;IACxB,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAA;IACpB,gFAAgF;IAChF,gBAAgB,EAAE,MAAM,CAAA;IACxB,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAA;IACrB;oFACgF;IAChF,aAAa,EAAE,MAAM,CAAA;IACrB;oFACgF;IAChF,aAAa,EAAE,MAAM,CAAA;IACrB,2EAA2E;IAC3E,iBAAiB,EAAE,MAAM,CAAA;IACzB,kDAAkD;IAClD,mBAAmB,EAAE,MAAM,EAAE,CAAA;IAC7B,0EAA0E;IAC1E,sBAAsB,EAAE,MAAM,EAAE,CAAA;IAEhC,8DAA8D;IAC9D,kBAAkB,EAAE,MAAM,CAAA;IAC1B,yEAAyE;IACzE,WAAW,EAAE,MAAM,CAAA;IACnB,mEAAmE;IACnE,YAAY,EAAE,MAAM,CAAA;IACpB,+EAA+E;IAC/E,YAAY,EAAE,MAAM,CAAA;IACpB,yEAAyE;IACzE,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAA;CACxC;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;CAmBrB,CAAA;AAEV,mEAAmE;AACnE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;CAKpB,CAAA;AAEV,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;AAmBjD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,IAAI,CAG/D;AAED,iEAAiE;AACjE,eAAO,MAAM,yBAAyB,0BAAoB,CAAA;AAE1D,uFAAuF;AACvF,wBAAgB,eAAe,CAAC,GAAG,GAAE,OAAqB,GAAG,QAAQ,CAmBpE;AAMD;;;6EAG6E;AAC7E,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKnD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAExE;AAED,2EAA2E;AAC3E,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAG1D"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/tm/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH;0EAC0E;AAC1E,eAAO,MAAM,6BAA6B,EAAE,SAAS,MAAM,EAK1D,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAYrD,CAAA;AAED,MAAM,WAAW,QAAQ;IACvB,6EAA6E;IAC7E,gBAAgB,EAAE,MAAM,CAAA;IACxB,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAA;IACpB,gFAAgF;IAChF,gBAAgB,EAAE,MAAM,CAAA;IACxB,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAA;IACrB;oFACgF;IAChF,aAAa,EAAE,MAAM,CAAA;IACrB;oFACgF;IAChF,aAAa,EAAE,MAAM,CAAA;IACrB,2EAA2E;IAC3E,iBAAiB,EAAE,MAAM,CAAA;IACzB,kDAAkD;IAClD,mBAAmB,EAAE,MAAM,EAAE,CAAA;IAC7B,0EAA0E;IAC1E,sBAAsB,EAAE,MAAM,EAAE,CAAA;IAChC;2DACuD;IACvD,eAAe,EAAE,MAAM,CAAA;IAEvB,8DAA8D;IAC9D,kBAAkB,EAAE,MAAM,CAAA;IAC1B,yEAAyE;IACzE,WAAW,EAAE,MAAM,CAAA;IACnB,mEAAmE;IACnE,YAAY,EAAE,MAAM,CAAA;IACpB,+EAA+E;IAC/E,YAAY,EAAE,MAAM,CAAA;IACpB,yEAAyE;IACzE,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAA;CACxC;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;CAmBrB,CAAA;AAEV,mEAAmE;AACnE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;CAKpB,CAAA;AAEV,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;AAmBjD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,IAAI,CAG/D;AAED,iEAAiE;AACjE,eAAO,MAAM,yBAAyB,0BAAoB,CAAA;AAE1D,uFAAuF;AACvF,wBAAgB,eAAe,CAAC,GAAG,GAAE,OAAqB,GAAG,QAAQ,CAoBpE;AAMD;;;6EAG6E;AAC7E,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKnD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAExE;AAED,2EAA2E;AAC3E,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAG1D"}
package/dist/tm/config.js CHANGED
@@ -20,23 +20,39 @@
20
20
  * plugin options). They share a root philosophy (TTL sweeper is the sole
21
21
  * cleanup path), not code.
22
22
  */
23
- /** Default tm_bash read-only allowlist (P3, command-level). */
23
+ /** Default tm_bash read-only allowlist (P3, command-level). The PS
24
+ * -Object entries are pure pipeline formatters — no write capability. */
24
25
  export const DEFAULT_BASH_READONLY_ALLOWED = [
25
26
  "ls", "cat", "head", "tail", "grep", "rg", "find", "awk", "sort", "uniq",
26
27
  "wc", "cut", "dir", "Get-Content", "Get-ChildItem", "Select-String",
27
- "Measure-Object",
28
+ "Measure-Object", "Select-Object", "Where-Object", "Sort-Object",
29
+ "Group-Object",
28
30
  ];
29
31
  /**
30
- * Seeded tm_webfetch domain allowlist — the four lookup hosts the design
31
- * names (wiki term / bilibili search / bing / baidu). Subdomains of an
32
- * entry are included; TM_WEBFETCH_ALLOWED_DOMAINS overrides the list
33
- * (comma/semicolon separated; a lone "*" opens every host).
32
+ * Seeded tm_webfetch / tm_search domain allowlist — every host the search
33
+ * engines and data sources ride (all reachable from mainland China without
34
+ * API keys): wiki term / bilibili search / bing CN + international / baidu /
35
+ * sogou / 360, the npm registry (JSON search + package metadata) and the
36
+ * GitHub search API (JSON) plus the raw.githubusercontent.com docs/code
37
+ * host and its ghproxy.net mainland mirror (the agent-install flow points
38
+ * agents at the installation guide on exactly these hosts). Subdomains of
39
+ * an entry are included;
40
+ * TM_WEBFETCH_ALLOWED_DOMAINS overrides the list (comma/semicolon
41
+ * separated; a lone "*" opens every host — keep the engine hosts or
42
+ * tm_search's engines lose their targets).
34
43
  */
35
44
  export const DEFAULT_WEBFETCH_DOMAINS = [
36
45
  "mobile.moegirl.org.cn",
37
46
  "search.bilibili.com",
38
47
  "cn.bing.com",
48
+ "www.bing.com",
39
49
  "www.baidu.com",
50
+ "www.sogou.com",
51
+ "www.so.com",
52
+ "registry.npmjs.org",
53
+ "api.github.com",
54
+ "raw.githubusercontent.com",
55
+ "ghproxy.net",
40
56
  ];
41
57
  export const TM_CONFIG_DEFAULTS = {
42
58
  offloadThreshold: 2000,
@@ -110,6 +126,7 @@ export function resolveTmConfig(env = process.env) {
110
126
  blackboardTtlDays: envInt(env, "TM_BLACKBOARD_TTL", TM_CONFIG_DEFAULTS.blackboardTtlDays, 1, 365),
111
127
  bashReadonlyAllowed: allowlist ?? [...DEFAULT_BASH_READONLY_ALLOWED],
112
128
  webfetchAllowedDomains: parseAllowlistEnv(env.TM_WEBFETCH_ALLOWED_DOMAINS) ?? [...DEFAULT_WEBFETCH_DOMAINS],
129
+ memoryGlobalDir: envStr(env, "TM_MEMORY_GLOBAL_DIR", ""),
113
130
  ptcMaxProgramChars: envInt(env, "TM_PTC_MAX_PROGRAM_CHARS", TM_CONFIG_DEFAULTS.ptcMaxProgramChars, PTC_BUDGET_BOUNDS.programChars.min, PTC_BUDGET_BOUNDS.programChars.max),
114
131
  ptcMaxCalls: envInt(env, "TM_PTC_MAX_CALLS", TM_CONFIG_DEFAULTS.ptcMaxCalls, PTC_BUDGET_BOUNDS.maxCalls.min, PTC_BUDGET_BOUNDS.maxCalls.max),
115
132
  ptcMaxErrors: envInt(env, "TM_PTC_MAX_ERRORS", TM_CONFIG_DEFAULTS.ptcMaxErrors, PTC_BUDGET_BOUNDS.maxErrors.min, PTC_BUDGET_BOUNDS.maxErrors.max),
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/tm/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/tm/config.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,10 @@
9
9
  *
10
10
  * It generates the run identity (run id + process-random HMAC key), resolves
11
11
  * the env config, sweeps expired run payloads (startup-only TTL reclamation)
12
- * and assembles the four statically-registered tools (T0.4-verified shape:
13
- * `{ tool: { tm_read: { description, args, execute(args, ctx) } } }`).
12
+ * and assembles the governed tool surface (tm_read / tm_grep / tm_bash /
13
+ * tm_fetch + tm_memory / tm_search / tm_webfetch / tm_browser / tm_ptc_run;
14
+ * T0.4-verified shape: `{ tool: { tm_read: { description, args,
15
+ * execute(args, ctx) } } }`).
14
16
  */
15
17
  import type { PluginInput, ToolDefinition } from "../types.js";
16
18
  import { type EnvProtectMode } from "../envprotect.js";
@@ -23,6 +25,8 @@ export interface TmRuntime {
23
25
  runId: string;
24
26
  config: TmConfig;
25
27
  store: RunStore;
28
+ /** The ONE main pipeline instance (exposed for tests + tool builders). */
29
+ pipelines: ReturnType<typeof import("./pipelines.js").buildPipelines>;
26
30
  tools: Record<string, ToolDefinition>;
27
31
  /** Kill any long-lived session the tools own (tm_browser child process). */
28
32
  dispose: () => void;
@@ -42,10 +46,13 @@ export { assertReadablePath, classifyReadonlyCommand, isInsideDir, } from "./gua
42
46
  export { buildTmTools } from "./tools.js";
43
47
  export { buildPipelines } from "./pipelines.js";
44
48
  export type { TmDeps, TmPipelines } from "./pipelines.js";
45
- export { buildPtcArgsSchema, buildWebfetchArgsSchema } from "./args-schema.js";
49
+ export { buildPtcArgsSchema, buildWebfetchArgsSchema, buildSearchArgsSchema } from "./args-schema.js";
46
50
  export { toToolResult, HANDLE_INVALID_MESSAGE, tmError } from "./result.js";
47
51
  export type { TmPhase } from "./result.js";
48
- export { buildTmWebfetchTool, checkWebUrl, extractWebResponse, fetchWebText, hostAllowed, htmlToText, } from "./webfetch.js";
52
+ export { runShellCommand, cleanShellError } from "./shell-bridge.js";
53
+ export { buildTmWebfetchTool, checkWebUrl, extractWebResponse, extractSearchHits, renderSearchHits, fetchWebText, hostAllowed, htmlToText, } from "./webfetch.js";
54
+ export type { SearchHit } from "./webfetch.js";
55
+ export { buildTmSearchTool, SEARCH_ENGINES, SEARCH_ENGINE_NAMES, renderNpmResults, renderGithubResults, renderWikiResults, } from "./search.js";
49
56
  export { BRIDGE_ALLOW, InlineSequentialEngine, InlineVmEngine, WorkerEngine, PTC_LABEL_MAX, PTC_STATUS_VALUES, RETRYABLE_PHASES, PTC_SUMMARY_HEADER, PTC_OK_SECTION, PTC_OK_HEADER, PTC_ERR_SECTION, PTC_ERR_HEADER, PTC_RETURN_PREFIX, PTC_ERRORFULL_PREFIX, buildPtcRunTool, createGateBridge, parsePtcArgs, pipelineBridge, renderPtcSummary, resolvePtcBudgets, runPtc, selectEngine, staticPscan, } from "./ptc/index.js";
50
57
  export type { PtcStatus, PtcEngine, PtcEngineName, PtcBridge, PtcCallResult, PtcErrorBody, PtcRunRequest, PtcRpcRequest, PtcRpcResponse, PtcRpcAbort, PtcEngineMessage, PtcBudgets, PtcStepRecord, PtcRunOutcome, RunPtcOptions, } from "./ptc/index.js";
51
58
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tm/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tm/index.ts"],"names":[],"mappings":"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"}