@vpxa/kb 0.1.30 → 0.1.32

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 (67) hide show
  1. package/package.json +1 -1
  2. package/packages/analyzers/dist/dependency-analyzer.js +3 -3
  3. package/packages/analyzers/dist/entry-point-analyzer.js +3 -3
  4. package/packages/analyzers/dist/pattern-analyzer.js +2 -2
  5. package/packages/analyzers/dist/structure-analyzer.js +2 -2
  6. package/packages/chunker/dist/wasm/languages.js +1 -1
  7. package/packages/chunker/wasm/tree-sitter-c.wasm +0 -0
  8. package/packages/chunker/wasm/tree-sitter-c_sharp.wasm +0 -0
  9. package/packages/chunker/wasm/tree-sitter-cpp.wasm +0 -0
  10. package/packages/chunker/wasm/tree-sitter-kotlin.wasm +0 -0
  11. package/packages/chunker/wasm/tree-sitter-php.wasm +0 -0
  12. package/packages/chunker/wasm/tree-sitter-ruby.wasm +0 -0
  13. package/packages/chunker/wasm/tree-sitter-scala.wasm +0 -0
  14. package/packages/chunker/wasm/tree-sitter-swift.wasm +0 -0
  15. package/packages/cli/dist/commands/init/index.d.ts +9 -1
  16. package/packages/cli/dist/commands/init/index.js +1 -1
  17. package/packages/cli/dist/commands/upgrade.js +1 -1
  18. package/packages/server/dist/auto-gc.d.ts +30 -0
  19. package/packages/server/dist/auto-gc.js +1 -0
  20. package/packages/server/dist/index.js +1 -1
  21. package/packages/server/dist/output-schemas.d.ts +1 -0
  22. package/packages/server/dist/output-schemas.js +1 -1
  23. package/packages/server/dist/replay-interceptor.d.ts +14 -1
  24. package/packages/server/dist/replay-interceptor.js +1 -1
  25. package/packages/server/dist/server.js +2 -2
  26. package/packages/server/dist/tools/context.tools.d.ts +2 -2
  27. package/packages/server/dist/tools/context.tools.js +9 -9
  28. package/packages/server/dist/tools/forge.tools.js +1 -1
  29. package/packages/server/dist/tools/present-utils.js +1 -1
  30. package/packages/server/dist/tools/present.tool.js +3 -2
  31. package/packages/server/dist/tools/search.tool.js +5 -5
  32. package/packages/server/dist/tools/status.tool.d.ts +8 -1
  33. package/packages/server/dist/tools/status.tool.js +3 -2
  34. package/packages/server/dist/version-check.d.ts +20 -1
  35. package/packages/server/dist/version-check.js +1 -1
  36. package/packages/tools/dist/compact.d.ts +2 -0
  37. package/packages/tools/dist/compact.js +2 -2
  38. package/packages/tools/dist/guide.js +1 -1
  39. package/packages/tools/dist/index.d.ts +2 -2
  40. package/packages/tools/dist/index.js +1 -1
  41. package/packages/tools/dist/text-utils.d.ts +7 -1
  42. package/packages/tools/dist/text-utils.js +1 -1
  43. package/packages/tui/dist/{App-DXY0-tlW.js → App-DGdjV2_f.js} +1 -1
  44. package/packages/tui/dist/App.js +1 -1
  45. package/packages/tui/dist/LogPanel-akibVigF.js +3 -0
  46. package/packages/tui/dist/index.js +1 -1
  47. package/packages/tui/dist/panels/LogPanel.js +1 -1
  48. package/scaffold/adapters/copilot.mjs +4 -3
  49. package/scaffold/definitions/tools.mjs +3 -2
  50. package/scaffold/general/agents/Architect-Reviewer-Alpha.agent.md +1 -1
  51. package/scaffold/general/agents/Architect-Reviewer-Beta.agent.md +1 -1
  52. package/scaffold/general/agents/Code-Reviewer-Alpha.agent.md +1 -1
  53. package/scaffold/general/agents/Code-Reviewer-Beta.agent.md +1 -1
  54. package/scaffold/general/agents/Debugger.agent.md +1 -1
  55. package/scaffold/general/agents/Documenter.agent.md +1 -1
  56. package/scaffold/general/agents/Explorer.agent.md +1 -1
  57. package/scaffold/general/agents/Frontend.agent.md +1 -1
  58. package/scaffold/general/agents/Implementer.agent.md +1 -1
  59. package/scaffold/general/agents/Orchestrator.agent.md +1 -1
  60. package/scaffold/general/agents/Planner.agent.md +1 -1
  61. package/scaffold/general/agents/Refactor.agent.md +1 -1
  62. package/scaffold/general/agents/Researcher-Alpha.agent.md +1 -1
  63. package/scaffold/general/agents/Researcher-Beta.agent.md +1 -1
  64. package/scaffold/general/agents/Researcher-Delta.agent.md +1 -1
  65. package/scaffold/general/agents/Researcher-Gamma.agent.md +1 -1
  66. package/scaffold/general/agents/Security.agent.md +1 -1
  67. package/packages/tui/dist/LogPanel-D6u6o84n.js +0 -3
@@ -0,0 +1,3 @@
1
+ import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
+ import{r as e}from"./chunk-D6axbAb-.js";import{t}from"./react-D__J1GQe.js";import{a as n,i as r,t as i}from"./jsx-runtime-y6Gdq5PZ.js";import{exec as a,execFile as o}from"node:child_process";import{appendFileSync as s,existsSync as c,mkdirSync as l,readFileSync as u,readdirSync as d,unlinkSync as f}from"node:fs";import{dirname as p,join as m,resolve as h}from"node:path";import{promisify as g}from"node:util";import{fileURLToPath as _}from"node:url";import"turndown";g(a),m(p(_(import.meta.url)),`..`,`..`,`wasm`),new Set(Object.keys({".ts":`tree-sitter-typescript.wasm`,".tsx":`tree-sitter-typescript.wasm`,".mts":`tree-sitter-typescript.wasm`,".cts":`tree-sitter-typescript.wasm`,".js":`tree-sitter-javascript.wasm`,".jsx":`tree-sitter-javascript.wasm`,".mjs":`tree-sitter-javascript.wasm`,".cjs":`tree-sitter-javascript.wasm`,".py":`tree-sitter-python.wasm`,".go":`tree-sitter-go.wasm`,".rs":`tree-sitter-rust.wasm`,".java":`tree-sitter-java.wasm`,".kt":`tree-sitter-kotlin.wasm`,".kts":`tree-sitter-kotlin.wasm`,".scala":`tree-sitter-scala.wasm`,".sc":`tree-sitter-scala.wasm`,".c":`tree-sitter-c.wasm`,".h":`tree-sitter-c.wasm`,".cpp":`tree-sitter-cpp.wasm`,".cc":`tree-sitter-cpp.wasm`,".cxx":`tree-sitter-cpp.wasm`,".hpp":`tree-sitter-cpp.wasm`,".hxx":`tree-sitter-cpp.wasm`,".cs":`tree-sitter-c_sharp.wasm`,".swift":`tree-sitter-swift.wasm`,".rb":`tree-sitter-ruby.wasm`,".php":`tree-sitter-php.wasm`}));const v={ai:`.ai`,aiKb:`.ai/kb`,aiCurated:`.ai/curated`,restorePoints:`.ai/restore-points`,data:`.kb-data`,state:`.kb-state`,logs:`.kb-state/logs`,brainstorm:`.brainstorm`,handoffs:`.handoffs`};v.data;const y={debug:0,info:1,warn:2,error:3},b=[];let x=process.env.KB_LOG_LEVEL??`info`,S=process.env.KB_LOG_FILE_SINK===`true`||process.env.KB_LOG_FILE_SINK!==`false`&&!process.env.VITEST&&process.env.NODE_ENV!==`test`;function C(){return S?process.env.VITEST||process.env.NODE_ENV===`test`?process.env.KB_LOG_FILE_SINK===`true`:!0:!1}let w;function T(){return w||=h(process.cwd(),v.logs),w}function E(e){let t=e.toISOString().slice(0,10);return m(T(),`${t}.jsonl`)}let D=0;function O(){let e=Date.now();if(!(e-D<36e5)){D=e;try{let t=T(),n=new Date(e-30*864e5).toISOString().slice(0,10);for(let e of d(t))if(e.endsWith(`.jsonl`)&&e.slice(0,10)<n)try{f(m(t,e))}catch{}}catch{}}}function k(e,t){try{l(T(),{recursive:!0}),s(E(t),`${e}\n`),O()}catch{}}function A(e){function t(t,n,r){if(y[t]<y[x])return;let i=new Date,a={ts:i.toISOString(),level:t,component:e,msg:n,...r},o=JSON.stringify(a);console.error(o);for(let i of b)try{i({level:t,component:e,message:n,data:r})}catch{}C()&&(t===`warn`||t===`error`)&&k(o,i)}return{debug:(e,n)=>t(`debug`,e,n),info:(e,n)=>t(`info`,e,n),warn:(e,n)=>t(`warn`,e,n),error:(e,n)=>t(`error`,e,n)}}const j=A(`query-executor`),M=p(_(import.meta.url));function N(){let e=m(M,`..`,`queries`);if(c(e))return e;let t=m(M,`..`,`..`,`src`,`queries`);return c(t)?t:e}const P=N(),F={".ts":`typescript`,".tsx":`typescript`,".mts":`typescript`,".cts":`typescript`,".js":`javascript`,".jsx":`javascript`,".mjs":`javascript`,".cjs":`javascript`,".py":`python`,".go":`go`,".rs":`rust`,".java":`java`};var I=class{queryCache=new Map;scmCache=new Map;execute(e,t,n,r){let i=this.getOrCompile(t,n,r);return i?i.matches(e).map(e=>L(e)):[]}executeCaptures(e,t,n,r){let i=this.getOrCompile(t,n,r);return i?i.captures(e).map(e=>R(e)):[]}executeRaw(e,t,n){return t.query(n).matches(e).map(e=>L(e))}getOrCompile(e,t,n){let r=F[t];if(!r)return null;let i=`${r}:${n}`,a=this.queryCache.get(i);if(a)return a;let o=this.loadScm(r,n);if(!o)return null;try{let t=e.query(o);return this.queryCache.set(i,t),t}catch(e){throw j.warn(`Failed to compile query`,{langDir:r,queryType:n,error:String(e)}),Error(`Failed to compile ${r}/${n}.scm: ${String(e)}`)}}loadScm(e,t){let n=`${e}:${t}`,r=this.scmCache.get(n);if(r!==void 0)return r;let i=m(P,e,`${t}.scm`);try{let e=u(i,`utf-8`);return this.scmCache.set(n,e),e}catch{return j.info(`Query file not found (graceful skip)`,{langDir:e,queryType:t}),null}}dispose(){this.queryCache.clear(),this.scmCache.clear()}static resolveQueryDir(e){return m(P,e)}};function L(e){let t=new Map;for(let n of e.captures)t.set(n.name,R(n));return{pattern:e.pattern,captures:t}}function R(e){let{node:t}=e;return{name:e.name,text:t.text,nodeType:t.type,startLine:t.startPosition.row,endLine:t.endPosition.row,startColumn:t.startPosition.column,endColumn:t.endPosition.column,node:t}}new I,new I,new I,new I,new I,new Set(`.ts,.tsx,.js,.jsx,.mjs,.cjs,.java,.kt,.kts,.scala,.py,.go,.rs,.rb,.php,.swift,.cs,.c,.cpp,.h,.hpp,.sh,.bash,.ps1,.sql,.graphql,.gql,.proto,.json,.yaml,.yml,.toml,.env,.ini,.cfg,.xml,.pom,.gradle,.tf,.hcl,.lock,.mjs`.split(`,`)),`${v.state}`,v.restorePoints,new Set([`node_modules`,`.git`,`dist`,`build`,`coverage`,`.turbo`,`.cache`,`cdk.out`,v.state]),v.state,new Set([`.git`,v.data,v.state,`.turbo`,`.yarn`,`build`,`coverage`,`dist`,`node_modules`]),g(o),`${v.state}`,new Set(`if_statement.for_statement.for_in_statement.while_statement.do_statement.switch_case.catch_clause.ternary_expression.if_statement.for_statement.while_statement.except_clause.list_comprehension.if_statement.for_statement.enhanced_for_statement.while_statement.catch_clause.ternary_expression.if_statement.for_statement.select_statement.if_expression.for_expression.while_expression.match_arm`.split(`.`)),v.state;function z(){return h(process.cwd(),v.state,`replay.jsonl`)}function B(e={}){let t=z(),n;try{n=u(t,`utf-8`)}catch{return[]}let r=n.trim().split(`
3
+ `).filter(Boolean),i=[];for(let e of r)try{i.push(JSON.parse(e))}catch{}if(e.tool&&(i=i.filter(t=>t.tool===e.tool)),e.source&&(i=i.filter(t=>t.source===e.source)),e.since){let t=e.since;i=i.filter(e=>e.ts>=t)}let a=e.last??20;return i.slice(-a)}v.state,g(a),v.data,`script,style,noscript,iframe,svg,nav,footer,header,aside,form,button,input,select,textarea,[role="navigation"],[role="banner"],[role="contentinfo"],[aria-hidden="true"],.sidebar,.nav,.menu,.footer,.header,.ad,.advertisement,.cookie-banner,.popup,.modal`.split(`,`),v.state;var V=e(t()),H=i();function U(){let[e,t]=(0,V.useState)([]);return(0,V.useEffect)(()=>{let e=()=>{t(B({last:30}))};e();let n=setInterval(e,2e3);return()=>clearInterval(n)},[]),(0,H.jsxs)(n,{flexDirection:`column`,borderStyle:`round`,paddingX:1,children:[(0,H.jsx)(r,{bold:!0,color:`cyan`,children:`Activity Log`}),(0,H.jsx)(r,{children:` `}),e.length===0&&(0,H.jsx)(r,{color:`gray`,children:`No activity recorded yet`}),e.slice().reverse().map((e,t)=>{let n=e.ts.split(`T`)[1]?.split(`.`)[0]??e.ts,i=e.status===`ok`?`green`:`red`;return(0,H.jsxs)(r,{children:[(0,H.jsx)(r,{color:`gray`,children:n}),` `,(0,H.jsx)(r,{color:i,children:e.status===`ok`?`✓`:`✗`}),` `,(0,H.jsx)(r,{bold:!0,children:e.tool}),` `,(0,H.jsxs)(r,{color:`gray`,children:[`(`,e.durationMs,`ms)`]})]},`${e.ts}-${t}`)}),(0,H.jsx)(r,{children:` `}),(0,H.jsx)(r,{color:`gray`,children:`Refreshes every 2s │ Showing last 30`})]})}export{U as t};
@@ -1,2 +1,2 @@
1
1
  import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
- import{r as e}from"./chunk-D6axbAb-.js";import{t}from"./react-D__J1GQe.js";import{r as n}from"./jsx-runtime-y6Gdq5PZ.js";import{t as r}from"./App-DXY0-tlW.js";var i=e(t());function a(e){n(i.createElement(r,{client:e}))}export{a as launch};
2
+ import{r as e}from"./chunk-D6axbAb-.js";import{t}from"./react-D__J1GQe.js";import{r as n}from"./jsx-runtime-y6Gdq5PZ.js";import{t as r}from"./App-DGdjV2_f.js";var i=e(t());function a(e){n(i.createElement(r,{client:e}))}export{a as launch};
@@ -1,2 +1,2 @@
1
1
  import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
- import{t as e}from"../LogPanel-D6u6o84n.js";export{e as LogPanel};
2
+ import{t as e}from"../LogPanel-akibVigF.js";export{e as LogPanel};
@@ -35,7 +35,7 @@ const COPILOT_TOOL_MAP = {
35
35
  createFile: 'edit/createFile',
36
36
  editFiles: 'edit/editFiles',
37
37
  search: 'search/changes, search/codebase, search/usages',
38
- web: 'web/fetch, web/githubRepo, ms-vscode.vscode-websearchforcopilot/websearch',
38
+ web: 'web/fetch, web/githubRepo',
39
39
  todo: 'todo',
40
40
  memory: 'vscode/memory',
41
41
  runCommand: 'vscode/runCommand',
@@ -46,8 +46,9 @@ const COPILOT_TOOL_MAP = {
46
46
  fileSearch: 'search/fileSearch',
47
47
  listDir: 'search/listDirectory',
48
48
  textSearch: 'search/textSearch',
49
- searchResults: 'search/searchResults',
50
- browser: 'browser/*',
49
+ searchSubagent: 'search/searchSubagent',
50
+ browser:
51
+ 'browser/openBrowserPage, browser/readPage, browser/screenshotPage, browser/navigatePage, browser/clickElement, browser/dragElement, browser/hoverElement, browser/typeInPage, browser/runPlaywrightCode, browser/handleDialog',
51
52
  };
52
53
 
53
54
  function buildToolsYaml(toolRole) {
@@ -106,7 +106,7 @@ export const KB_TOOLS = [
106
106
  * fileSearch — search by filename
107
107
  * listDir — list directory
108
108
  * textSearch — text search
109
- * searchResultsget search results
109
+ * searchSubagent — search via subagent
110
110
  */
111
111
  export const IDE_CAPABILITIES = {
112
112
  orchestrator: [
@@ -126,7 +126,7 @@ export const IDE_CAPABILITIES = {
126
126
  'search',
127
127
  'web',
128
128
  'todo',
129
- 'searchResults',
129
+ 'searchSubagent',
130
130
  'textSearch',
131
131
  'browser',
132
132
  ],
@@ -197,6 +197,7 @@ export const IDE_CAPABILITIES = {
197
197
  'search',
198
198
  'web',
199
199
  'todo',
200
+ 'searchSubagent',
200
201
  'browser',
201
202
  ],
202
203
  security: ['terminal', 'problems', 'readFile', 'subagent', 'search', 'web', 'browser'],
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: 'Primary architecture reviewer'
3
3
  argument-hint: Files, PR, or subsystem to architecture-review
4
- tools: [execute/runInTerminal, read/problems, read/readFile, read/terminalLastCommand, agent/runSubagent, search/changes, search/codebase, search/usages, web/fetch, web/githubRepo, ms-vscode.vscode-websearchforcopilot/websearch, browser/*, knowledge-base/*]
4
+ tools: [execute/runInTerminal, read/problems, read/readFile, read/terminalLastCommand, agent/runSubagent, search/changes, search/codebase, search/usages, web/fetch, web/githubRepo, browser/openBrowserPage, browser/readPage, browser/screenshotPage, browser/navigatePage, browser/clickElement, browser/dragElement, browser/hoverElement, browser/typeInPage, browser/runPlaywrightCode, browser/handleDialog, knowledge-base/*]
5
5
  model: GPT-5.4 (copilot)
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: 'Architecture reviewer variant — different LLM perspective for dual review'
3
3
  argument-hint: Files, PR, or subsystem to architecture-review
4
- tools: [execute/runInTerminal, read/problems, read/readFile, read/terminalLastCommand, agent/runSubagent, search/changes, search/codebase, search/usages, web/fetch, web/githubRepo, ms-vscode.vscode-websearchforcopilot/websearch, browser/*, knowledge-base/*]
4
+ tools: [execute/runInTerminal, read/problems, read/readFile, read/terminalLastCommand, agent/runSubagent, search/changes, search/codebase, search/usages, web/fetch, web/githubRepo, browser/openBrowserPage, browser/readPage, browser/screenshotPage, browser/navigatePage, browser/clickElement, browser/dragElement, browser/hoverElement, browser/typeInPage, browser/runPlaywrightCode, browser/handleDialog, knowledge-base/*]
5
5
  model: Claude Opus 4.6 (copilot)
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: 'Primary code reviewer'
3
3
  argument-hint: File path, PR, or code to review
4
- tools: [execute/runInTerminal, read/problems, read/readFile, read/terminalLastCommand, agent/runSubagent, search/changes, search/codebase, search/usages, web/fetch, web/githubRepo, ms-vscode.vscode-websearchforcopilot/websearch, browser/*, knowledge-base/*]
4
+ tools: [execute/runInTerminal, read/problems, read/readFile, read/terminalLastCommand, agent/runSubagent, search/changes, search/codebase, search/usages, web/fetch, web/githubRepo, browser/openBrowserPage, browser/readPage, browser/screenshotPage, browser/navigatePage, browser/clickElement, browser/dragElement, browser/hoverElement, browser/typeInPage, browser/runPlaywrightCode, browser/handleDialog, knowledge-base/*]
5
5
  model: GPT-5.4 (copilot)
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: 'Code reviewer variant — different LLM perspective for dual review'
3
3
  argument-hint: File path, PR, or code to review
4
- tools: [execute/runInTerminal, read/problems, read/readFile, read/terminalLastCommand, agent/runSubagent, search/changes, search/codebase, search/usages, web/fetch, web/githubRepo, ms-vscode.vscode-websearchforcopilot/websearch, browser/*, knowledge-base/*]
4
+ tools: [execute/runInTerminal, read/problems, read/readFile, read/terminalLastCommand, agent/runSubagent, search/changes, search/codebase, search/usages, web/fetch, web/githubRepo, browser/openBrowserPage, browser/readPage, browser/screenshotPage, browser/navigatePage, browser/clickElement, browser/dragElement, browser/hoverElement, browser/typeInPage, browser/runPlaywrightCode, browser/handleDialog, knowledge-base/*]
5
5
  model: Claude Opus 4.6 (copilot)
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: 'Expert debugger that diagnoses issues, traces errors, and provides solutions'
3
3
  argument-hint: Error message, stack trace, or description of issue
4
- tools: [execute/runInTerminal, read/problems, read/readFile, read/terminalSelection, read/terminalLastCommand, agent/runSubagent, edit/createFile, edit/editFiles, search/changes, search/codebase, search/usages, browser/*, knowledge-base/*]
4
+ tools: [execute/runInTerminal, read/problems, read/readFile, read/terminalSelection, read/terminalLastCommand, agent/runSubagent, edit/createFile, edit/editFiles, search/changes, search/codebase, search/usages, browser/openBrowserPage, browser/readPage, browser/screenshotPage, browser/navigatePage, browser/clickElement, browser/dragElement, browser/hoverElement, browser/typeInPage, browser/runPlaywrightCode, browser/handleDialog, knowledge-base/*]
5
5
  model: Claude Opus 4.6 (copilot)
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: 'Documentation specialist that creates and maintains comprehensive project documentation'
3
3
  argument-hint: Component, API, feature, or area to document
4
- tools: [execute/runInTerminal, read/problems, read/readFile, read/terminalLastCommand, agent/runSubagent, edit/createFile, edit/editFiles, search/changes, search/codebase, search/usages, web/fetch, web/githubRepo, ms-vscode.vscode-websearchforcopilot/websearch, browser/*, knowledge-base/*]
4
+ tools: [execute/runInTerminal, read/problems, read/readFile, read/terminalLastCommand, agent/runSubagent, edit/createFile, edit/editFiles, search/changes, search/codebase, search/usages, web/fetch, web/githubRepo, browser/openBrowserPage, browser/readPage, browser/screenshotPage, browser/navigatePage, browser/clickElement, browser/dragElement, browser/hoverElement, browser/typeInPage, browser/runPlaywrightCode, browser/handleDialog, knowledge-base/*]
5
5
  model: GPT-5.4 (copilot)
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: 'Rapid codebase exploration to find files, usages, dependencies, and structural context'
3
3
  argument-hint: Find files, usages, and context related to: {topic or goal}
4
- tools: [read/problems, read/readFile, search/changes, search/codebase, search/usages, search/fileSearch, search/listDirectory, search/textSearch, browser/*, knowledge-base/*]
4
+ tools: [read/problems, read/readFile, search/changes, search/codebase, search/usages, search/fileSearch, search/listDirectory, search/textSearch, browser/openBrowserPage, browser/readPage, browser/screenshotPage, browser/navigatePage, browser/clickElement, browser/dragElement, browser/hoverElement, browser/typeInPage, browser/runPlaywrightCode, browser/handleDialog, knowledge-base/*]
5
5
  model: Gemini 3 Flash (Preview) (copilot)
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: 'UI/UX specialist for React, styling, responsive design, and frontend implementation'
3
3
  argument-hint: UI component, styling task, or frontend feature
4
- tools: [execute/createAndRunTask, execute/runInTerminal, read/problems, read/readFile, read/terminalLastCommand, agent/runSubagent, edit/createFile, edit/editFiles, search/changes, search/codebase, search/usages, todo, browser/*, knowledge-base/*]
4
+ tools: [execute/createAndRunTask, execute/runInTerminal, read/problems, read/readFile, read/terminalLastCommand, agent/runSubagent, edit/createFile, edit/editFiles, search/changes, search/codebase, search/usages, todo, browser/openBrowserPage, browser/readPage, browser/screenshotPage, browser/navigatePage, browser/clickElement, browser/dragElement, browser/hoverElement, browser/typeInPage, browser/runPlaywrightCode, browser/handleDialog, knowledge-base/*]
5
5
  model: Gemini 3.1 Pro (Preview) (copilot)
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: 'Persistent implementation agent that writes code following TDD practices until all tasks are complete'
3
3
  argument-hint: Implementation task, feature, or phase from plan
4
- tools: [execute/createAndRunTask, execute/runInTerminal, read/problems, read/readFile, read/terminalLastCommand, agent/runSubagent, edit/createFile, edit/editFiles, search/changes, search/codebase, search/usages, todo, browser/*, knowledge-base/*]
4
+ tools: [execute/createAndRunTask, execute/runInTerminal, read/problems, read/readFile, read/terminalLastCommand, agent/runSubagent, edit/createFile, edit/editFiles, search/changes, search/codebase, search/usages, todo, browser/openBrowserPage, browser/readPage, browser/screenshotPage, browser/navigatePage, browser/clickElement, browser/dragElement, browser/hoverElement, browser/typeInPage, browser/runPlaywrightCode, browser/handleDialog, knowledge-base/*]
5
5
  model: GPT-5.4 (copilot)
6
6
  ---
7
7
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: 'Master conductor that orchestrates the full development lifecycle: Planning → Implementation → Review → Recovery → Commit'
3
- tools: [vscode/memory, vscode/runCommand, vscode/switchAgent, execute/killTerminal, execute/createAndRunTask, execute/runInTerminal, read/terminalSelection, read/terminalLastCommand, read/problems, read/readFile, agent/runSubagent, edit/createFile, edit/editFiles, search/changes, search/codebase, search/usages, web/fetch, web/githubRepo, ms-vscode.vscode-websearchforcopilot/websearch, todo, search/searchResults, search/textSearch, browser/*, knowledge-base/*]
3
+ tools: [vscode/memory, vscode/runCommand, vscode/switchAgent, execute/killTerminal, execute/createAndRunTask, execute/runInTerminal, read/terminalSelection, read/terminalLastCommand, read/problems, read/readFile, agent/runSubagent, edit/createFile, edit/editFiles, search/changes, search/codebase, search/usages, web/fetch, web/githubRepo, todo, search/searchSubagent, search/textSearch, browser/openBrowserPage, browser/readPage, browser/screenshotPage, browser/navigatePage, browser/clickElement, browser/dragElement, browser/hoverElement, browser/typeInPage, browser/runPlaywrightCode, browser/handleDialog, knowledge-base/*]
4
4
  model: Claude Opus 4.6 (copilot)
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: 'Autonomous planner that researches codebases and writes comprehensive TDD implementation plans'
3
- tools: [execute/runInTerminal, read/problems, read/readFile, read/terminalLastCommand, agent/runSubagent, edit/createFile, edit/editFiles, search/changes, search/codebase, search/usages, web/fetch, web/githubRepo, ms-vscode.vscode-websearchforcopilot/websearch, todo, browser/*, knowledge-base/*]
3
+ tools: [execute/runInTerminal, read/problems, read/readFile, read/terminalLastCommand, agent/runSubagent, edit/createFile, edit/editFiles, search/changes, search/codebase, search/usages, web/fetch, web/githubRepo, todo, search/searchSubagent, browser/openBrowserPage, browser/readPage, browser/screenshotPage, browser/navigatePage, browser/clickElement, browser/dragElement, browser/hoverElement, browser/typeInPage, browser/runPlaywrightCode, browser/handleDialog, knowledge-base/*]
4
4
  model: Claude Opus 4.6 (copilot)
5
5
  ---
6
6
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: 'Code refactoring specialist that improves structure, readability, and maintainability'
3
3
  argument-hint: Code, component, or pattern to refactor
4
- tools: [execute/runInTerminal, read/problems, read/readFile, read/terminalLastCommand, agent/runSubagent, edit/editFiles, search/changes, search/codebase, search/usages, browser/*, knowledge-base/*]
4
+ tools: [execute/runInTerminal, read/problems, read/readFile, read/terminalLastCommand, agent/runSubagent, edit/editFiles, search/changes, search/codebase, search/usages, browser/openBrowserPage, browser/readPage, browser/screenshotPage, browser/navigatePage, browser/clickElement, browser/dragElement, browser/hoverElement, browser/typeInPage, browser/runPlaywrightCode, browser/handleDialog, knowledge-base/*]
5
5
  model: GPT-5.4 (copilot)
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: 'Primary deep research agent — also serves as default Researcher'
3
3
  argument-hint: Research question, problem statement, or subsystem to investigate
4
- tools: [execute/runInTerminal, read/problems, read/readFile, read/terminalLastCommand, agent/runSubagent, search/changes, search/codebase, search/usages, web/fetch, web/githubRepo, ms-vscode.vscode-websearchforcopilot/websearch, browser/*, knowledge-base/*]
4
+ tools: [execute/runInTerminal, read/problems, read/readFile, read/terminalLastCommand, agent/runSubagent, search/changes, search/codebase, search/usages, web/fetch, web/githubRepo, browser/openBrowserPage, browser/readPage, browser/screenshotPage, browser/navigatePage, browser/clickElement, browser/dragElement, browser/hoverElement, browser/typeInPage, browser/runPlaywrightCode, browser/handleDialog, knowledge-base/*]
5
5
  model: Claude Opus 4.6 (copilot)
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: 'Research variant for multi-model decision protocol — different LLM perspective'
3
3
  argument-hint: Research question, problem statement, or subsystem to investigate
4
- tools: [execute/runInTerminal, read/problems, read/readFile, read/terminalLastCommand, agent/runSubagent, search/changes, search/codebase, search/usages, web/fetch, web/githubRepo, ms-vscode.vscode-websearchforcopilot/websearch, browser/*, knowledge-base/*]
4
+ tools: [execute/runInTerminal, read/problems, read/readFile, read/terminalLastCommand, agent/runSubagent, search/changes, search/codebase, search/usages, web/fetch, web/githubRepo, browser/openBrowserPage, browser/readPage, browser/screenshotPage, browser/navigatePage, browser/clickElement, browser/dragElement, browser/hoverElement, browser/typeInPage, browser/runPlaywrightCode, browser/handleDialog, knowledge-base/*]
5
5
  model: Claude Sonnet 4.6 (copilot)
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: 'Research variant for multi-model decision protocol — different LLM perspective'
3
3
  argument-hint: Research question, problem statement, or subsystem to investigate
4
- tools: [execute/runInTerminal, read/problems, read/readFile, read/terminalLastCommand, agent/runSubagent, search/changes, search/codebase, search/usages, web/fetch, web/githubRepo, ms-vscode.vscode-websearchforcopilot/websearch, browser/*, knowledge-base/*]
4
+ tools: [execute/runInTerminal, read/problems, read/readFile, read/terminalLastCommand, agent/runSubagent, search/changes, search/codebase, search/usages, web/fetch, web/githubRepo, browser/openBrowserPage, browser/readPage, browser/screenshotPage, browser/navigatePage, browser/clickElement, browser/dragElement, browser/hoverElement, browser/typeInPage, browser/runPlaywrightCode, browser/handleDialog, knowledge-base/*]
5
5
  model: Gemini 3.1 Pro (Preview) (copilot)
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: 'Research variant for multi-model decision protocol — different LLM perspective'
3
3
  argument-hint: Research question, problem statement, or subsystem to investigate
4
- tools: [execute/runInTerminal, read/problems, read/readFile, read/terminalLastCommand, agent/runSubagent, search/changes, search/codebase, search/usages, web/fetch, web/githubRepo, ms-vscode.vscode-websearchforcopilot/websearch, browser/*, knowledge-base/*]
4
+ tools: [execute/runInTerminal, read/problems, read/readFile, read/terminalLastCommand, agent/runSubagent, search/changes, search/codebase, search/usages, web/fetch, web/githubRepo, browser/openBrowserPage, browser/readPage, browser/screenshotPage, browser/navigatePage, browser/clickElement, browser/dragElement, browser/hoverElement, browser/typeInPage, browser/runPlaywrightCode, browser/handleDialog, knowledge-base/*]
5
5
  model: GPT-5.4 (copilot)
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: 'Security specialist that analyzes code for vulnerabilities and compliance'
3
3
  argument-hint: Code, feature, or component to security review
4
- tools: [execute/runInTerminal, read/problems, read/readFile, agent/runSubagent, search/changes, search/codebase, search/usages, web/fetch, web/githubRepo, ms-vscode.vscode-websearchforcopilot/websearch, browser/*, knowledge-base/*]
4
+ tools: [execute/runInTerminal, read/problems, read/readFile, agent/runSubagent, search/changes, search/codebase, search/usages, web/fetch, web/githubRepo, browser/openBrowserPage, browser/readPage, browser/screenshotPage, browser/navigatePage, browser/clickElement, browser/dragElement, browser/hoverElement, browser/typeInPage, browser/runPlaywrightCode, browser/handleDialog, knowledge-base/*]
5
5
  model: Claude Opus 4.6 (copilot)
6
6
  ---
7
7
 
@@ -1,3 +0,0 @@
1
- import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
- import{r as e}from"./chunk-D6axbAb-.js";import{t}from"./react-D__J1GQe.js";import{a as n,i as r,t as i}from"./jsx-runtime-y6Gdq5PZ.js";import{exec as a,execFile as o}from"node:child_process";import{appendFileSync as s,existsSync as c,mkdirSync as l,readFileSync as u,readdirSync as d,unlinkSync as f}from"node:fs";import{dirname as p,join as m,resolve as h}from"node:path";import{promisify as g}from"node:util";import{fileURLToPath as _}from"node:url";import"turndown";g(a),m(p(_(import.meta.url)),`..`,`..`,`wasm`),new Set(Object.keys({".ts":`tree-sitter-typescript.wasm`,".tsx":`tree-sitter-typescript.wasm`,".mts":`tree-sitter-typescript.wasm`,".cts":`tree-sitter-typescript.wasm`,".js":`tree-sitter-javascript.wasm`,".jsx":`tree-sitter-javascript.wasm`,".mjs":`tree-sitter-javascript.wasm`,".cjs":`tree-sitter-javascript.wasm`,".py":`tree-sitter-python.wasm`,".go":`tree-sitter-go.wasm`,".rs":`tree-sitter-rust.wasm`,".java":`tree-sitter-java.wasm`}));const v={ai:`.ai`,aiKb:`.ai/kb`,aiCurated:`.ai/curated`,restorePoints:`.ai/restore-points`,data:`.kb-data`,state:`.kb-state`,logs:`.kb-state/logs`,brainstorm:`.brainstorm`,handoffs:`.handoffs`};v.data;const y={debug:0,info:1,warn:2,error:3},b=[];let x=process.env.KB_LOG_LEVEL??`info`,S=process.env.KB_LOG_FILE_SINK===`true`||process.env.KB_LOG_FILE_SINK!==`false`&&!process.env.VITEST&&process.env.NODE_ENV!==`test`;function C(){return S?process.env.VITEST||process.env.NODE_ENV===`test`?process.env.KB_LOG_FILE_SINK===`true`:!0:!1}let w;function T(){return w||=h(process.cwd(),v.logs),w}function E(e){let t=e.toISOString().slice(0,10);return m(T(),`${t}.jsonl`)}let D=0;function O(){let e=Date.now();if(!(e-D<36e5)){D=e;try{let t=T(),n=new Date(e-30*864e5).toISOString().slice(0,10);for(let e of d(t))if(e.endsWith(`.jsonl`)&&e.slice(0,10)<n)try{f(m(t,e))}catch{}}catch{}}}function k(e,t){try{l(T(),{recursive:!0}),s(E(t),`${e}\n`),O()}catch{}}function A(e){function t(t,n,r){if(y[t]<y[x])return;let i=new Date,a={ts:i.toISOString(),level:t,component:e,msg:n,...r},o=JSON.stringify(a);console.error(o);for(let i of b)try{i({level:t,component:e,message:n,data:r})}catch{}C()&&(t===`warn`||t===`error`)&&k(o,i)}return{debug:(e,n)=>t(`debug`,e,n),info:(e,n)=>t(`info`,e,n),warn:(e,n)=>t(`warn`,e,n),error:(e,n)=>t(`error`,e,n)}}const j=A(`query-executor`),M=p(_(import.meta.url));function N(){let e=m(M,`..`,`queries`);if(c(e))return e;let t=m(M,`..`,`..`,`src`,`queries`);return c(t)?t:e}const P=N(),F={".ts":`typescript`,".tsx":`typescript`,".mts":`typescript`,".cts":`typescript`,".js":`javascript`,".jsx":`javascript`,".mjs":`javascript`,".cjs":`javascript`,".py":`python`,".go":`go`,".rs":`rust`,".java":`java`};var I=class{queryCache=new Map;scmCache=new Map;execute(e,t,n,r){let i=this.getOrCompile(t,n,r);return i?i.matches(e).map(e=>L(e)):[]}executeCaptures(e,t,n,r){let i=this.getOrCompile(t,n,r);return i?i.captures(e).map(e=>R(e)):[]}executeRaw(e,t,n){return t.query(n).matches(e).map(e=>L(e))}getOrCompile(e,t,n){let r=F[t];if(!r)return null;let i=`${r}:${n}`,a=this.queryCache.get(i);if(a)return a;let o=this.loadScm(r,n);if(!o)return null;try{let t=e.query(o);return this.queryCache.set(i,t),t}catch(e){throw j.warn(`Failed to compile query`,{langDir:r,queryType:n,error:String(e)}),Error(`Failed to compile ${r}/${n}.scm: ${String(e)}`)}}loadScm(e,t){let n=`${e}:${t}`,r=this.scmCache.get(n);if(r!==void 0)return r;let i=m(P,e,`${t}.scm`);try{let e=u(i,`utf-8`);return this.scmCache.set(n,e),e}catch{return j.info(`Query file not found (graceful skip)`,{langDir:e,queryType:t}),null}}dispose(){this.queryCache.clear(),this.scmCache.clear()}static resolveQueryDir(e){return m(P,e)}};function L(e){let t=new Map;for(let n of e.captures)t.set(n.name,R(n));return{pattern:e.pattern,captures:t}}function R(e){let{node:t}=e;return{name:e.name,text:t.text,nodeType:t.type,startLine:t.startPosition.row,endLine:t.endPosition.row,startColumn:t.startPosition.column,endColumn:t.endPosition.column,node:t}}new I,new I,new I,new I,new I,new Set(`.ts,.tsx,.js,.jsx,.mjs,.cjs,.java,.kt,.kts,.scala,.py,.go,.rs,.rb,.php,.swift,.cs,.c,.cpp,.h,.hpp,.sh,.bash,.ps1,.sql,.graphql,.gql,.proto,.json,.yaml,.yml,.toml,.env,.ini,.cfg,.xml,.pom,.gradle,.tf,.hcl,.lock,.mjs`.split(`,`)),`${v.state}`,v.restorePoints,new Set([`node_modules`,`.git`,`dist`,`build`,`coverage`,`.turbo`,`.cache`,`cdk.out`,v.state]),v.state,new Set([`.git`,v.data,v.state,`.turbo`,`.yarn`,`build`,`coverage`,`dist`,`node_modules`]),g(o),`${v.state}`,new Set(`if_statement.for_statement.for_in_statement.while_statement.do_statement.switch_case.catch_clause.ternary_expression.if_statement.for_statement.while_statement.except_clause.list_comprehension.if_statement.for_statement.enhanced_for_statement.while_statement.catch_clause.ternary_expression.if_statement.for_statement.select_statement.if_expression.for_expression.while_expression.match_arm`.split(`.`)),v.state;function z(){return h(process.cwd(),v.state,`replay.jsonl`)}function B(e={}){let t=z(),n;try{n=u(t,`utf-8`)}catch{return[]}let r=n.trim().split(`
3
- `).filter(Boolean),i=[];for(let e of r)try{i.push(JSON.parse(e))}catch{}if(e.tool&&(i=i.filter(t=>t.tool===e.tool)),e.source&&(i=i.filter(t=>t.source===e.source)),e.since){let t=e.since;i=i.filter(e=>e.ts>=t)}let a=e.last??20;return i.slice(-a)}v.state,g(a),v.data,`script,style,noscript,iframe,svg,nav,footer,header,aside,form,button,input,select,textarea,[role="navigation"],[role="banner"],[role="contentinfo"],[aria-hidden="true"],.sidebar,.nav,.menu,.footer,.header,.ad,.advertisement,.cookie-banner,.popup,.modal`.split(`,`),v.state;var V=e(t()),H=i();function U(){let[e,t]=(0,V.useState)([]);return(0,V.useEffect)(()=>{let e=()=>{t(B({last:30}))};e();let n=setInterval(e,2e3);return()=>clearInterval(n)},[]),(0,H.jsxs)(n,{flexDirection:`column`,borderStyle:`round`,paddingX:1,children:[(0,H.jsx)(r,{bold:!0,color:`cyan`,children:`Activity Log`}),(0,H.jsx)(r,{children:` `}),e.length===0&&(0,H.jsx)(r,{color:`gray`,children:`No activity recorded yet`}),e.slice().reverse().map((e,t)=>{let n=e.ts.split(`T`)[1]?.split(`.`)[0]??e.ts,i=e.status===`ok`?`green`:`red`;return(0,H.jsxs)(r,{children:[(0,H.jsx)(r,{color:`gray`,children:n}),` `,(0,H.jsx)(r,{color:i,children:e.status===`ok`?`✓`:`✗`}),` `,(0,H.jsx)(r,{bold:!0,children:e.tool}),` `,(0,H.jsxs)(r,{color:`gray`,children:[`(`,e.durationMs,`ms)`]})]},`${e.ts}-${t}`)}),(0,H.jsx)(r,{children:` `}),(0,H.jsx)(r,{color:`gray`,children:`Refreshes every 2s │ Showing last 30`})]})}export{U as t};