@kenkaiiii/ggcoder 5.36.0 → 5.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app-sidecar-auth-broadcast.test.js +66 -0
- package/dist/app-sidecar-auth-broadcast.test.js.map +1 -1
- package/dist/app-sidecar.js +108 -38
- package/dist/app-sidecar.js.map +1 -1
- package/dist/cli/auth.d.ts.map +1 -1
- package/dist/cli/auth.js +28 -34
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +12 -1
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +15 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +34 -75
- package/dist/config.js.map +1 -1
- package/dist/config.test.js +19 -11
- package/dist/config.test.js.map +1 -1
- package/dist/core/agent-session-process-gate.test.js +7 -1
- package/dist/core/agent-session-process-gate.test.js.map +1 -1
- package/dist/core/agent-session.d.ts +24 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +68 -26
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/agents.d.ts +29 -1
- package/dist/core/agents.d.ts.map +1 -1
- package/dist/core/agents.js +47 -97
- package/dist/core/agents.js.map +1 -1
- package/dist/core/agents.test.js +85 -5
- package/dist/core/agents.test.js.map +1 -1
- package/dist/core/auth-providers.d.ts +36 -0
- package/dist/core/auth-providers.d.ts.map +1 -1
- package/dist/core/auth-providers.js +83 -3
- package/dist/core/auth-providers.js.map +1 -1
- package/dist/core/bundled-agents.d.ts +3 -0
- package/dist/core/bundled-agents.d.ts.map +1 -0
- package/dist/core/bundled-agents.js +252 -0
- package/dist/core/bundled-agents.js.map +1 -0
- package/dist/core/oauth/xai.d.ts +2 -0
- package/dist/core/oauth/xai.d.ts.map +1 -0
- package/dist/core/oauth/xai.js +4 -0
- package/dist/core/oauth/xai.js.map +1 -0
- package/dist/core/process-manager-dev-server-repro.test.js +42 -3
- package/dist/core/process-manager-dev-server-repro.test.js.map +1 -1
- package/dist/core/process-manager-notifications.test.js +23 -13
- package/dist/core/process-manager-notifications.test.js.map +1 -1
- package/dist/core/process-manager.d.ts +22 -0
- package/dist/core/process-manager.d.ts.map +1 -1
- package/dist/core/process-manager.js +58 -2
- package/dist/core/process-manager.js.map +1 -1
- package/dist/core/project-discovery.d.ts.map +1 -1
- package/dist/core/project-discovery.js +54 -40
- package/dist/core/project-discovery.js.map +1 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +83 -67
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/session-storage-fd-leak.test.d.ts +2 -0
- package/dist/core/session-storage-fd-leak.test.d.ts.map +1 -0
- package/dist/core/session-storage-fd-leak.test.js +116 -0
- package/dist/core/session-storage-fd-leak.test.js.map +1 -0
- package/dist/core/session-storage.d.ts +20 -0
- package/dist/core/session-storage.d.ts.map +1 -1
- package/dist/core/session-storage.js +29 -2
- package/dist/core/session-storage.js.map +1 -1
- package/dist/core/shutdown.d.ts +71 -0
- package/dist/core/shutdown.d.ts.map +1 -0
- package/dist/core/shutdown.js +144 -0
- package/dist/core/shutdown.js.map +1 -0
- package/dist/core/shutdown.test.d.ts +2 -0
- package/dist/core/shutdown.test.d.ts.map +1 -0
- package/dist/core/shutdown.test.js +160 -0
- package/dist/core/shutdown.test.js.map +1 -0
- package/dist/core/subagent-manager.d.ts +9 -0
- package/dist/core/subagent-manager.d.ts.map +1 -1
- package/dist/core/subagent-manager.js +45 -12
- package/dist/core/subagent-manager.js.map +1 -1
- package/dist/core/subagent-manager.test.js +13 -7
- package/dist/core/subagent-manager.test.js.map +1 -1
- package/dist/modes/agent-home-mode.d.ts.map +1 -1
- package/dist/modes/agent-home-mode.js +15 -11
- package/dist/modes/agent-home-mode.js.map +1 -1
- package/dist/modes/json-mode.d.ts +8 -0
- package/dist/modes/json-mode.d.ts.map +1 -1
- package/dist/modes/json-mode.js +2 -0
- package/dist/modes/json-mode.js.map +1 -1
- package/dist/modes/serve-mode.d.ts +2 -1
- package/dist/modes/serve-mode.d.ts.map +1 -1
- package/dist/modes/serve-mode.js +15 -9
- package/dist/modes/serve-mode.js.map +1 -1
- package/dist/modes/subagent-worker-mode.d.ts +5 -0
- package/dist/modes/subagent-worker-mode.d.ts.map +1 -1
- package/dist/modes/subagent-worker-mode.js.map +1 -1
- package/dist/system-prompt.d.ts +31 -0
- package/dist/system-prompt.d.ts.map +1 -1
- package/dist/system-prompt.js +81 -0
- package/dist/system-prompt.js.map +1 -1
- package/dist/system-prompt.test.js +48 -1
- package/dist/system-prompt.test.js.map +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +4 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/prompt-hints.d.ts +9 -0
- package/dist/tools/prompt-hints.d.ts.map +1 -1
- package/dist/tools/prompt-hints.js +38 -0
- package/dist/tools/prompt-hints.js.map +1 -1
- package/dist/tools/subagent-control.d.ts.map +1 -1
- package/dist/tools/subagent-control.js +20 -5
- package/dist/tools/subagent-control.js.map +1 -1
- package/dist/tools/subagent-control.test.js +34 -1
- package/dist/tools/subagent-control.test.js.map +1 -1
- package/dist/tools/subagent-shared.d.ts +19 -0
- package/dist/tools/subagent-shared.d.ts.map +1 -1
- package/dist/tools/subagent-shared.js +32 -5
- package/dist/tools/subagent-shared.js.map +1 -1
- package/dist/tools/subagent-shared.test.js +42 -8
- package/dist/tools/subagent-shared.test.js.map +1 -1
- package/dist/tools/subagent.d.ts.map +1 -1
- package/dist/tools/subagent.js +11 -8
- package/dist/tools/subagent.js.map +1 -1
- package/dist/tools/subagent.test.js +3 -0
- package/dist/tools/subagent.test.js.map +1 -1
- package/dist/tools/task-send.test.js +15 -6
- package/dist/tools/task-send.test.js.map +1 -1
- package/dist/ui/login.js +1 -1
- package/dist/ui/login.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent definitions that ship with every ggcoder install.
|
|
3
|
+
*
|
|
4
|
+
* These are TypeScript constants rather than `assets/*.md` on purpose: the
|
|
5
|
+
* desktop sidecar bundler (`bundle-sidecar.mjs`) externalizes asset trees, so a
|
|
6
|
+
* new one is a packaging risk, while constants compile straight into `dist`.
|
|
7
|
+
*
|
|
8
|
+
* They are also NOT seeded into `~/.gg/agents`. A seeded file shadows every
|
|
9
|
+
* future improvement forever (user-dir agents win by design), which is exactly
|
|
10
|
+
* the bug `removeShadowingSeededAgents` exists to undo. Users who want to
|
|
11
|
+
* customize one still can — writing `~/.gg/agents/<name>.md` overrides the
|
|
12
|
+
* bundled definition of the same name.
|
|
13
|
+
*
|
|
14
|
+
* `description` is the routing signal the dispatcher reads, so each one names
|
|
15
|
+
* concrete task shapes ("Use when…") instead of describing the agent's vibe.
|
|
16
|
+
*/
|
|
17
|
+
const OWL_PROMPT = `You are Owl, a sharp-eyed codebase explorer.
|
|
18
|
+
You map how THIS repository fits together — structure, symbols, call chains, patterns. You work only from local code and never research the web (that's \`researcher\`).
|
|
19
|
+
|
|
20
|
+
When given a task:
|
|
21
|
+
1. Fix the scope — the exact symbol, pattern, or question to resolve
|
|
22
|
+
2. \`find\`/\`ls\` to map the relevant directories
|
|
23
|
+
3. \`code_search\` for "where is X implemented" in TS/JS; \`grep\` for exact strings and other languages
|
|
24
|
+
4. \`read\` the key files to confirm details — never report a call chain you haven't read
|
|
25
|
+
5. Trace connections — exports, imports, callers, data flow
|
|
26
|
+
|
|
27
|
+
Structure the answer as:
|
|
28
|
+
- **Answer**: the direct answer, first
|
|
29
|
+
- **Files**: each relevant path + one line on what it holds
|
|
30
|
+
- **Connections**: who calls/imports what
|
|
31
|
+
- **Flags**: anything surprising, risky, or ambiguous
|
|
32
|
+
|
|
33
|
+
Explore widely, report tightly. Miss nothing, waste no words.`;
|
|
34
|
+
const BEE_PROMPT = `You are Bee, an industrious task worker.
|
|
35
|
+
You complete an assigned task end-to-end — writing code, running commands, fixing bugs, refactoring — and deliver a working result, not a description of one.
|
|
36
|
+
|
|
37
|
+
When given a task:
|
|
38
|
+
1. Understand what's asked and explore the relevant code for context
|
|
39
|
+
2. Implement directly, in minimal focused changes that match the surrounding code
|
|
40
|
+
3. Verify: run the narrowest check that proves the change (typecheck or the nearest test), and fix what breaks
|
|
41
|
+
4. Report concisely
|
|
42
|
+
|
|
43
|
+
## Stop when
|
|
44
|
+
- The task is done and your verification passes — OR
|
|
45
|
+
- You're blocked (ambiguous requirement, missing dependency, a failure you can't resolve without guessing). Stop and report the blocker; don't thrash or expand scope to force it.
|
|
46
|
+
|
|
47
|
+
Do the work, don't just describe it. Don't over-engineer, and don't refactor what you weren't asked to touch.`;
|
|
48
|
+
const RESEARCHER_PROMPT = `You are Researcher, a deep-dive analyst.
|
|
49
|
+
You answer questions the code alone can't settle — dependency behavior, API contracts, framework internals, version differences, best practices — by cross-referencing THIS codebase against authoritative external sources. For pure in-repo tracing with no web, defer to \`owl\`.
|
|
50
|
+
|
|
51
|
+
When given a research task:
|
|
52
|
+
1. Pin down the question — what must be resolved, and what counts as proof
|
|
53
|
+
2. Ground it in the code — read the call sites and conventions that matter here
|
|
54
|
+
3. Verify against authoritative sources — \`source_path\` for the installed dependency's real source, \`web_fetch\` for official docs and changelogs, the kencode-search tools for real public usage. Never assert an API, flag, or default from memory
|
|
55
|
+
4. Reconcile — where does this repo agree with or diverge from the source?
|
|
56
|
+
|
|
57
|
+
Structure the answer as:
|
|
58
|
+
- **Summary**: the direct answer (2-3 sentences)
|
|
59
|
+
- **Evidence**: the specific files, doc URLs, package versions, or source paths that back it
|
|
60
|
+
- **Risks**: mismatches, stale assumptions, or gotchas
|
|
61
|
+
|
|
62
|
+
Be exhaustive in research, compressed in reporting. Cite sources; don't guess.`;
|
|
63
|
+
const WORKER_PROMPT = `You are Worker, a branch-isolated implementer.
|
|
64
|
+
|
|
65
|
+
Your job is to implement a scoped change on its own git branch, verify it works, and open a PR. You always work on a fresh branch — never commit to the current branch directly.
|
|
66
|
+
|
|
67
|
+
## Workflow
|
|
68
|
+
|
|
69
|
+
1. **Branch**: Create and switch to a new branch from the current HEAD.
|
|
70
|
+
- Branch name format: \`batch/<short-kebab-description>\`
|
|
71
|
+
- Run: \`git checkout -b batch/<name>\`
|
|
72
|
+
|
|
73
|
+
2. **Implement**: Make the assigned change. Follow any conventions and patterns described in your task.
|
|
74
|
+
|
|
75
|
+
3. **Self-review**: Before committing, review your own diff (\`git diff\`) for:
|
|
76
|
+
- Code that duplicates existing utilities (search the codebase first)
|
|
77
|
+
- Redundant state, copy-paste, leaky abstractions
|
|
78
|
+
- Unnecessary work, missed concurrency, hot-path bloat
|
|
79
|
+
- Fix any issues found.
|
|
80
|
+
|
|
81
|
+
4. **Test**: Run the project's test suite. Fix failures **your change caused**. If a failure is pre-existing or outside your assigned unit, do NOT expand scope to chase it — leave it and note it in the report. Scope wins over green.
|
|
82
|
+
|
|
83
|
+
5. **Commit & Push**:
|
|
84
|
+
- Stage specific files (not \`git add -A\`)
|
|
85
|
+
- Write a clear, descriptive commit message
|
|
86
|
+
- \`git push -u origin <branch-name>\`
|
|
87
|
+
|
|
88
|
+
6. **Open PR**: \`gh pr create --title "<title>" --body "<description>"\`. If \`gh\` is unavailable or the push fails, note it.
|
|
89
|
+
|
|
90
|
+
7. **Switch back**: \`git checkout -\` to the original branch.
|
|
91
|
+
|
|
92
|
+
## Stop when
|
|
93
|
+
- The change is implemented, self-reviewed, and pushed with a PR open — OR
|
|
94
|
+
- You cannot proceed without exceeding scope, touching unrelated code, or fixing a pre-existing failure. Stop and report rather than sprawl.
|
|
95
|
+
|
|
96
|
+
## What to report — lead with exactly these lines
|
|
97
|
+
- **PR**: \`<url>\` — or \`PR: none — <reason>\`
|
|
98
|
+
- **Changed**: files touched + one line each
|
|
99
|
+
- **Tests**: pass / fail, and which failures were left as out-of-scope
|
|
100
|
+
- **Notes**: assumptions made, anything left for follow-up
|
|
101
|
+
|
|
102
|
+
## Rules
|
|
103
|
+
|
|
104
|
+
- Never commit to main/master or the branch you started on
|
|
105
|
+
- Always switch back to the original branch when done
|
|
106
|
+
- Keep changes minimal and scoped to your assigned unit
|
|
107
|
+
- If something is unclear, make your best judgment and note the assumption`;
|
|
108
|
+
const AUDITOR_PROMPT = `You are Auditor, a defensive security analyst tasked with finding exploitable weaknesses in this codebase so the team can patch them before the project ships.
|
|
109
|
+
|
|
110
|
+
You review code rigorously: you look for bypasses that would matter in practice, not pattern violations. You trace data flow from untrusted sources to dangerous sinks. Assume a sophisticated adversary with SDK-level access, an intercepting proxy, the public source, and time — and identify what would expose the project to them.
|
|
111
|
+
|
|
112
|
+
## Core discipline
|
|
113
|
+
|
|
114
|
+
1. **Trace, don't pattern-match.** Every finding must have a concrete Source → Sink path traced through the actual code.
|
|
115
|
+
2. **Untrusted vs trusted inputs.** Before flagging, decide whether the input is *actually* reachable by an untrusted source, or a settings constant / build-time string / hardcoded value. If the latter, drop it.
|
|
116
|
+
3. **Vulnerability scenarios are mandatory.** Describe how the weakness is triggered: input, system response, resulting exposure. If you cannot describe the steps, you cannot flag the finding.
|
|
117
|
+
4. **Confidence ≥0.8 only.** Better to miss theoretical issues than flood the report with noise.
|
|
118
|
+
5. **Framework awareness.** ORM parameterization, auto-escape, memory-safe languages, JSX/template escaping all eliminate entire vuln classes. Don't flag what the framework already handles.
|
|
119
|
+
|
|
120
|
+
## Output for each finding
|
|
121
|
+
|
|
122
|
+
- **Location**: file:line
|
|
123
|
+
- **Category**: <slug> (sql_injection, ssrf, prototype_pollution, supply_chain, ...)
|
|
124
|
+
- **CWE**: CWE-XXX
|
|
125
|
+
- **Confidence**: 0.0–1.0
|
|
126
|
+
- **Source → Sink**: the actual data path
|
|
127
|
+
- **Vulnerability scenario**: numbered steps showing trigger → response → exposure
|
|
128
|
+
- **Impact**: what is exposed, blast radius
|
|
129
|
+
- **Fix**: concrete code-level remediation
|
|
130
|
+
|
|
131
|
+
## Hard exclusions — do NOT report:
|
|
132
|
+
|
|
133
|
+
- DOS / rate-limiting / memory exhaustion without an amplification primitive
|
|
134
|
+
- Theoretical race conditions without a demonstrable window
|
|
135
|
+
- Regex-DOS without untrusted-supplied regex
|
|
136
|
+
- Log spoofing / log injection (cosmetic)
|
|
137
|
+
- SSRF where the URL is a settings constant or build-time string
|
|
138
|
+
- Env-var trust (env is server-controlled by definition)
|
|
139
|
+
- Client-side authentication theatre on a server-validated endpoint
|
|
140
|
+
- React/Vue/Angular XSS without unsafe sinks (\`dangerouslySetInnerHTML\`, \`v-html\`, \`bypassSecurityTrust*\` are the only real ones)
|
|
141
|
+
- Shell-script command injection without an untrusted input path
|
|
142
|
+
- Findings in documentation, example code, or test fixtures
|
|
143
|
+
- Insecure-by-design dev tooling that doesn't ship to users
|
|
144
|
+
- "Could be improved" preferences with no demonstrable path
|
|
145
|
+
|
|
146
|
+
Return findings ranked Critical → High → Medium. If nothing meets the bar, return "No high-confidence findings."`;
|
|
147
|
+
const SKEPTIC_PROMPT = `You are Skeptic, a rigorous reviewer whose job is to DISPROVE security findings handed to you. You start from "this is a false positive" and only conclude otherwise if the evidence is overwhelming.
|
|
148
|
+
|
|
149
|
+
## Your mission
|
|
150
|
+
|
|
151
|
+
Given a security finding, attempt to break it. Try every angle:
|
|
152
|
+
|
|
153
|
+
1. **Reachability**: Is the claimed source actually untrusted-controlled, or a settings constant, build-time value, or env var (server-controlled by definition)?
|
|
154
|
+
2. **Control flow**: Even if the source is real, does control flow actually reach the sink? Is there a guard, validator, or sanitizer in between that the original audit missed?
|
|
155
|
+
3. **Framework handling**: Would the framework (ORM, template engine, auto-escape, memory-safe language) eliminate this entire vuln class?
|
|
156
|
+
4. **Trigger feasibility**: Can you actually construct the input that triggers the path? What would the response look like? If you can't construct it, the finding stands on theory.
|
|
157
|
+
5. **Severity inflation**: Is the impact overstated? "RCE" claims often turn out to be "writes to a sandboxed file path."
|
|
158
|
+
|
|
159
|
+
Read the code yourself. Do not trust the audit's claim — verify each step.
|
|
160
|
+
|
|
161
|
+
## Verdict format
|
|
162
|
+
|
|
163
|
+
For each finding, return:
|
|
164
|
+
- **Verdict**: CONFIRMED / DROP / DOWNGRADE
|
|
165
|
+
- **Reason**: 1-3 sentence explanation
|
|
166
|
+
- **If CONFIRMED**: re-state the vulnerability scenario in your own words to prove you verified it end-to-end
|
|
167
|
+
- **If DROP**: cite which exclusion rule applies, or which step in the chain fails
|
|
168
|
+
- **If DOWNGRADE**: new severity + reason
|
|
169
|
+
|
|
170
|
+
## Hard exclusions — automatic DROP regardless of source:
|
|
171
|
+
|
|
172
|
+
- DOS / rate-limiting / memory exhaustion without an amplification primitive
|
|
173
|
+
- Theoretical race conditions without a demonstrable window
|
|
174
|
+
- Regex-DOS without untrusted-supplied regex
|
|
175
|
+
- Log spoofing / log injection (cosmetic only)
|
|
176
|
+
- SSRF where the URL is a settings constant or build-time string
|
|
177
|
+
- Env-var trust ("untrusted source controls \\$HOME" — env is server-controlled)
|
|
178
|
+
- Client-side authn checks on endpoints that re-validate server-side
|
|
179
|
+
- React/Vue/Angular XSS unless \`dangerouslySetInnerHTML\` / \`v-html\` / \`bypassSecurityTrust*\` is the sink
|
|
180
|
+
- Shell-script command injection without an untrusted input path
|
|
181
|
+
- Findings in documentation, example code, or test fixtures
|
|
182
|
+
- Insecure-by-design dev tooling that doesn't ship to users
|
|
183
|
+
- "Could be improved" preferences with no demonstrable path
|
|
184
|
+
|
|
185
|
+
Be rigorous. The cost of a false positive is the user's trust in the entire report.`;
|
|
186
|
+
export const BUNDLED_AGENTS = [
|
|
187
|
+
{
|
|
188
|
+
name: "bee",
|
|
189
|
+
description: "Use for a self-contained implementation task on the current branch: write a module, fix a bug, run a migration, make a failing test pass. Edits files and runs commands. Use `worker` instead when the change needs its own git branch and a PR; use `owl` when nothing should be modified.",
|
|
190
|
+
tools: ["read", "write", "edit", "bash", "find", "grep", "code_search", "ls", "source_path"],
|
|
191
|
+
model: "inherit",
|
|
192
|
+
systemPrompt: BEE_PROMPT,
|
|
193
|
+
source: "bundled",
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
name: "owl",
|
|
197
|
+
description: 'Use for read-only questions about THIS repository: "where is X implemented", "what calls Y", "how does module Z fit together", tracing a data flow or mapping a directory. Never edits and never uses the web.',
|
|
198
|
+
tools: ["read", "grep", "find", "ls", "code_search", "source_path"],
|
|
199
|
+
// Structural recon is mechanical pattern work; the cheap tier handles it
|
|
200
|
+
// well and keeps wide fan-out affordable.
|
|
201
|
+
model: "fast",
|
|
202
|
+
// Conventions and style rules don't change where a symbol is defined, and
|
|
203
|
+
// skipping them keeps recon fast (matching Claude Code's Explore agent).
|
|
204
|
+
context: "none",
|
|
205
|
+
systemPrompt: OWL_PROMPT,
|
|
206
|
+
source: "bundled",
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
name: "researcher",
|
|
210
|
+
description: "Use when an answer needs sources outside this repo: a dependency's real behavior, an API contract, framework internals, version/changelog differences, or current best practice. Reads installed package source, official docs, and public code. Use `owl` when the repo alone can settle it.",
|
|
211
|
+
tools: [
|
|
212
|
+
"read",
|
|
213
|
+
"grep",
|
|
214
|
+
"find",
|
|
215
|
+
"ls",
|
|
216
|
+
"code_search",
|
|
217
|
+
"source_path",
|
|
218
|
+
"web_fetch",
|
|
219
|
+
"web_search",
|
|
220
|
+
"mcp__kencode-search__searchCode",
|
|
221
|
+
"mcp__kencode-search__referenceSources",
|
|
222
|
+
],
|
|
223
|
+
model: "inherit",
|
|
224
|
+
systemPrompt: RESEARCHER_PROMPT,
|
|
225
|
+
source: "bundled",
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
name: "worker",
|
|
229
|
+
description: "Use to land one scoped change in isolation: it creates a `batch/*` git branch, implements, self-reviews, tests, commits, pushes, and opens a PR, then returns to the original branch. Use for parallel fan-out of independent units of work. Use `bee` for in-place edits with no branch or PR.",
|
|
230
|
+
tools: ["read", "write", "edit", "bash", "find", "grep", "code_search", "ls"],
|
|
231
|
+
model: "inherit",
|
|
232
|
+
systemPrompt: WORKER_PROMPT,
|
|
233
|
+
source: "bundled",
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
name: "auditor",
|
|
237
|
+
description: "Use for a defensive security review of code or a diff: traces untrusted input to dangerous sinks and reports exploitable findings with concrete vulnerability scenarios, CWE, and fixes. Read-only.",
|
|
238
|
+
tools: ["read", "grep", "find", "ls", "code_search", "bash", "web_fetch", "web_search"],
|
|
239
|
+
model: "inherit",
|
|
240
|
+
systemPrompt: AUDITOR_PROMPT,
|
|
241
|
+
source: "bundled",
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
name: "skeptic",
|
|
245
|
+
description: "Use to triage security findings before reporting them: re-verifies each claimed source→sink path in the code and returns CONFIRMED / DROP / DOWNGRADE with the reason. Pair it with `auditor` output. Read-only.",
|
|
246
|
+
tools: ["read", "grep", "find", "ls", "code_search", "bash", "web_fetch", "web_search"],
|
|
247
|
+
model: "inherit",
|
|
248
|
+
systemPrompt: SKEPTIC_PROMPT,
|
|
249
|
+
source: "bundled",
|
|
250
|
+
},
|
|
251
|
+
];
|
|
252
|
+
//# sourceMappingURL=bundled-agents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundled-agents.js","sourceRoot":"","sources":["../../src/core/bundled-agents.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;8DAgB2C,CAAC;AAE/D,MAAM,UAAU,GAAG;;;;;;;;;;;;;8GAa2F,CAAC;AAE/G,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;+EAcqD,CAAC;AAEhF,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2EA4CqD,CAAC;AAE5E,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iHAsC0F,CAAC;AAElH,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oFAsC6D,CAAC;AAErF,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC/C;QACE,IAAI,EAAE,KAAK;QACX,WAAW,EACT,6RAA6R;QAC/R,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,CAAC;QAC5F,KAAK,EAAE,SAAS;QAChB,YAAY,EAAE,UAAU;QACxB,MAAM,EAAE,SAAS;KAClB;IACD;QACE,IAAI,EAAE,KAAK;QACX,WAAW,EACT,gNAAgN;QAClN,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC;QACnE,yEAAyE;QACzE,0CAA0C;QAC1C,KAAK,EAAE,MAAM;QACb,0EAA0E;QAC1E,yEAAyE;QACzE,OAAO,EAAE,MAAM;QACf,YAAY,EAAE,UAAU;QACxB,MAAM,EAAE,SAAS;KAClB;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,+RAA+R;QACjS,KAAK,EAAE;YACL,MAAM;YACN,MAAM;YACN,MAAM;YACN,IAAI;YACJ,aAAa;YACb,aAAa;YACb,WAAW;YACX,YAAY;YACZ,iCAAiC;YACjC,uCAAuC;SACxC;QACD,KAAK,EAAE,SAAS;QAChB,YAAY,EAAE,iBAAiB;QAC/B,MAAM,EAAE,SAAS;KAClB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EACT,iSAAiS;QACnS,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC;QAC7E,KAAK,EAAE,SAAS;QAChB,YAAY,EAAE,aAAa;QAC3B,MAAM,EAAE,SAAS;KAClB;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EACT,qMAAqM;QACvM,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC;QACvF,KAAK,EAAE,SAAS;QAChB,YAAY,EAAE,cAAc;QAC5B,MAAM,EAAE,SAAS;KAClB;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EACT,kNAAkN;QACpN,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC;QACvF,KAAK,EAAE,SAAS;QAChB,YAAY,EAAE,cAAc;QAC5B,MAAM,EAAE,SAAS;KAClB;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xai.d.ts","sourceRoot":"","sources":["../../../src/core/oauth/xai.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,QAAQ,EACR,eAAe,EACf,cAAc,EACd,cAAc,EACd,iBAAiB,GAClB,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
// Lives in @kenkaiiii/gg-core — re-exported here so ggcoder call sites import
|
|
2
|
+
// Grok OAuth the same way they import the other providers.
|
|
3
|
+
export { loginXai, refreshXaiToken, grokCliBaseUrl, grokCliHeaders, isGrokCliEndpoint, } from "@kenkaiiii/gg-core";
|
|
4
|
+
//# sourceMappingURL=xai.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xai.js","sourceRoot":"","sources":["../../../src/core/oauth/xai.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,2DAA2D;AAC3D,OAAO,EACL,QAAQ,EACR,eAAe,EACf,cAAc,EACd,cAAc,EACd,iBAAiB,GAClB,MAAM,oBAAoB,CAAC"}
|
|
@@ -3,6 +3,15 @@ import fs from "node:fs/promises";
|
|
|
3
3
|
import os from "node:os";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { ProcessManager } from "./process-manager.js";
|
|
6
|
+
/**
|
|
7
|
+
* A throwaway background-log directory per manager.
|
|
8
|
+
*
|
|
9
|
+
* `start()` writes AND prunes inside `bgDir`, so a manager constructed without
|
|
10
|
+
* one sweeps the developer's real `~/.gg/bg` when the suite runs.
|
|
11
|
+
*/
|
|
12
|
+
async function bgTempDir() {
|
|
13
|
+
return fs.mkdtemp(path.join(os.tmpdir(), "gg-bg-logs-"));
|
|
14
|
+
}
|
|
6
15
|
async function waitForOutput(manager, id, predicate) {
|
|
7
16
|
let combined = "";
|
|
8
17
|
// 200 x 100ms = 20s. The old 5s budget was enough on a developer machine but
|
|
@@ -67,7 +76,7 @@ describe("ProcessManager dev-server lifecycle repro", () => {
|
|
|
67
76
|
it("scrubs unsafe inherited environment for background commands", async () => {
|
|
68
77
|
const oldSecret = process.env.GG_TEST_SHOULD_NOT_LEAK;
|
|
69
78
|
process.env.GG_TEST_SHOULD_NOT_LEAK = "super-secret";
|
|
70
|
-
manager = new ProcessManager();
|
|
79
|
+
manager = new ProcessManager({ bgDir: await bgTempDir() });
|
|
71
80
|
const tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), "gg-bg-env-"));
|
|
72
81
|
try {
|
|
73
82
|
const started = await manager.start(`${JSON.stringify(process.execPath)} -e "console.log(process.env.GG_TEST_SHOULD_NOT_LEAK || 'scrubbed')"`, tmpDir);
|
|
@@ -89,6 +98,7 @@ describe("ProcessManager dev-server lifecycle repro", () => {
|
|
|
89
98
|
it("force-kills the PID tree with taskkill on Windows", async () => {
|
|
90
99
|
const taskkill = vi.fn().mockReturnValue({ status: 1 });
|
|
91
100
|
manager = new ProcessManager({
|
|
101
|
+
bgDir: await bgTempDir(),
|
|
92
102
|
platform: "win32",
|
|
93
103
|
kill: vi.fn(() => {
|
|
94
104
|
throw new Error("force fallback");
|
|
@@ -114,7 +124,7 @@ describe("ProcessManager dev-server lifecycle repro", () => {
|
|
|
114
124
|
// stop() waits out its full 5s grace window before reporting failure.
|
|
115
125
|
}, 45_000);
|
|
116
126
|
it("starts, reads, and stops a long-running Node HTTP server through the worker background path", async () => {
|
|
117
|
-
manager = new ProcessManager();
|
|
127
|
+
manager = new ProcessManager({ bgDir: await bgTempDir() });
|
|
118
128
|
const tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), "gg-dev-server-repro-"));
|
|
119
129
|
const fixture = path.join(tmpDir, "dev-server.mjs");
|
|
120
130
|
await fs.writeFile(fixture, `import http from 'node:http';\n` +
|
|
@@ -162,7 +172,7 @@ describe("ProcessManager dev-server lifecycle repro", () => {
|
|
|
162
172
|
}, 45_000);
|
|
163
173
|
const posixIt = process.platform === "win32" ? it.skip : it;
|
|
164
174
|
posixIt("kills the whole detached process group on POSIX/WSL shutdown", async () => {
|
|
165
|
-
manager = new ProcessManager();
|
|
175
|
+
manager = new ProcessManager({ bgDir: await bgTempDir() });
|
|
166
176
|
const tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), "gg-posix-process-group-"));
|
|
167
177
|
const childFixture = path.join(tmpDir, "grandchild.mjs");
|
|
168
178
|
const parentFixture = path.join(tmpDir, "parent.mjs");
|
|
@@ -183,4 +193,33 @@ describe("ProcessManager dev-server lifecycle repro", () => {
|
|
|
183
193
|
expect(final.output).toContain("GRANDCHILD_READY");
|
|
184
194
|
}, 15_000);
|
|
185
195
|
});
|
|
196
|
+
/**
|
|
197
|
+
* `start()` both writes and prunes inside its log directory, and the default is
|
|
198
|
+
* the user's real `~/.gg/bg`. A suite run once deleted ~12.7k genuine logs off a
|
|
199
|
+
* developer machine that way, silently, because the tests only sandboxed cwd.
|
|
200
|
+
*
|
|
201
|
+
* This asserts the isolation seam itself: a manager given a `bgDir` must confine
|
|
202
|
+
* every write to it and leave the real directory untouched.
|
|
203
|
+
*/
|
|
204
|
+
describe("background log isolation", () => {
|
|
205
|
+
it("writes logs only inside the injected bgDir", async () => {
|
|
206
|
+
const logs = await fs.mkdtemp(path.join(os.tmpdir(), "gg-bg-isolation-"));
|
|
207
|
+
const cwd = await fs.mkdtemp(path.join(os.tmpdir(), "gg-bg-isolation-cwd-"));
|
|
208
|
+
const realBgDir = path.join(os.homedir(), ".gg", "bg");
|
|
209
|
+
const before = await fs.readdir(realBgDir).catch(() => []);
|
|
210
|
+
const isolated = new ProcessManager({ bgDir: logs });
|
|
211
|
+
try {
|
|
212
|
+
const started = await isolated.start("echo isolated", cwd);
|
|
213
|
+
await waitForOutput(isolated, started.id, (text) => text.includes("isolated"));
|
|
214
|
+
expect(started.logFile.startsWith(logs)).toBe(true);
|
|
215
|
+
expect(await fs.readdir(logs)).toContain(`${started.id}.log`);
|
|
216
|
+
// The real directory gained nothing — no stray log, no prune sweep.
|
|
217
|
+
const after = await fs.readdir(realBgDir).catch(() => []);
|
|
218
|
+
expect(after.sort()).toEqual(before.sort());
|
|
219
|
+
}
|
|
220
|
+
finally {
|
|
221
|
+
isolated.shutdownAll();
|
|
222
|
+
}
|
|
223
|
+
}, 30_000);
|
|
224
|
+
});
|
|
186
225
|
//# sourceMappingURL=process-manager-dev-server-repro.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-manager-dev-server-repro.test.js","sourceRoot":"","sources":["../../src/core/process-manager-dev-server-repro.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"process-manager-dev-server-repro.test.js","sourceRoot":"","sources":["../../src/core/process-manager-dev-server-repro.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,8 +14,18 @@ const managers = [];
|
|
|
14
14
|
const tempDirs = [];
|
|
15
15
|
/** Mirrors WATCH_MAX_REPORTS in process-manager.ts (module-private). */
|
|
16
16
|
const WATCH_MAX_REPORTS_EXPECTED = 3;
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Every manager here gets its own log directory. `start()` writes AND prunes
|
|
19
|
+
* inside `bgDir`, so an un-overridden instance would sweep the developer's real
|
|
20
|
+
* `~/.gg/bg` history when the suite runs.
|
|
21
|
+
*/
|
|
22
|
+
async function bgDir() {
|
|
23
|
+
const directory = await fs.mkdtemp(path.join(os.tmpdir(), "gg-process-bg-"));
|
|
24
|
+
tempDirs.push(directory);
|
|
25
|
+
return directory;
|
|
26
|
+
}
|
|
27
|
+
async function manager(notifications) {
|
|
28
|
+
const instance = new ProcessManager({ notifications, bgDir: await bgDir() });
|
|
19
29
|
managers.push(instance);
|
|
20
30
|
return instance;
|
|
21
31
|
}
|
|
@@ -48,7 +58,7 @@ afterEach(async () => {
|
|
|
48
58
|
describe("ProcessManager progress notifications", () => {
|
|
49
59
|
it("pushes a terminal exit checkpoint without any task_output call", async () => {
|
|
50
60
|
const queue = new AgentNotificationQueue();
|
|
51
|
-
const instance = manager(queue);
|
|
61
|
+
const instance = await manager(queue);
|
|
52
62
|
const cwd = await tempDir();
|
|
53
63
|
const started = await instance.start("echo hello-from-build; exit 3", cwd);
|
|
54
64
|
const exit = await waitForNotification(queue, (entry) => entry.terminal);
|
|
@@ -61,7 +71,7 @@ describe("ProcessManager progress notifications", () => {
|
|
|
61
71
|
}, 30_000);
|
|
62
72
|
it("surfaces progress on a long-running process before it exits", async () => {
|
|
63
73
|
const queue = new AgentNotificationQueue();
|
|
64
|
-
const instance = manager(queue);
|
|
74
|
+
const instance = await manager(queue);
|
|
65
75
|
const cwd = await tempDir();
|
|
66
76
|
// Logs steadily for ~12s: long enough for at least one 5s checkpoint tick.
|
|
67
77
|
const started = await instance.start(`for i in $(seq 1 12); do echo "step-$i"; sleep 1; done`, cwd);
|
|
@@ -75,7 +85,7 @@ describe("ProcessManager progress notifications", () => {
|
|
|
75
85
|
}, 40_000);
|
|
76
86
|
it("bounds the digest of a process that floods its log", async () => {
|
|
77
87
|
const queue = new AgentNotificationQueue();
|
|
78
|
-
const instance = manager(queue);
|
|
88
|
+
const instance = await manager(queue);
|
|
79
89
|
const cwd = await tempDir();
|
|
80
90
|
await instance.start(`for i in $(seq 1 2000); do echo "line-$i padding padding"; done`, cwd);
|
|
81
91
|
const exit = await waitForNotification(queue, (entry) => entry.terminal);
|
|
@@ -85,7 +95,7 @@ describe("ProcessManager progress notifications", () => {
|
|
|
85
95
|
}, 30_000);
|
|
86
96
|
it("leaves no watcher timer alive after a process exits", async () => {
|
|
87
97
|
const queue = new AgentNotificationQueue();
|
|
88
|
-
const instance = manager(queue);
|
|
98
|
+
const instance = await manager(queue);
|
|
89
99
|
const cwd = await tempDir();
|
|
90
100
|
const started = await instance.start("true", cwd);
|
|
91
101
|
expect(instance.activeWatchers()).toContain(started.id);
|
|
@@ -94,7 +104,7 @@ describe("ProcessManager progress notifications", () => {
|
|
|
94
104
|
}, 30_000);
|
|
95
105
|
it("disposes the watcher when a running process is stopped", async () => {
|
|
96
106
|
const queue = new AgentNotificationQueue();
|
|
97
|
-
const instance = manager(queue);
|
|
107
|
+
const instance = await manager(queue);
|
|
98
108
|
const cwd = await tempDir();
|
|
99
109
|
const started = await instance.start("sleep 30", cwd);
|
|
100
110
|
expect(instance.activeWatchers()).toContain(started.id);
|
|
@@ -104,7 +114,7 @@ describe("ProcessManager progress notifications", () => {
|
|
|
104
114
|
}, 30_000);
|
|
105
115
|
it("backs off repeated progress checkpoints on a long-lived chatty process", async () => {
|
|
106
116
|
const queue = new AgentNotificationQueue();
|
|
107
|
-
const instance = manager(queue);
|
|
117
|
+
const instance = await manager(queue);
|
|
108
118
|
const cwd = await tempDir();
|
|
109
119
|
// A dev server: logs continuously and never exits on its own. At a flat 5s
|
|
110
120
|
// this produced a fresh checkpoint for essentially every loop step — the
|
|
@@ -125,7 +135,7 @@ describe("ProcessManager progress notifications", () => {
|
|
|
125
135
|
}, 60_000);
|
|
126
136
|
it("still reports a short build promptly, before any backoff matters", async () => {
|
|
127
137
|
const queue = new AgentNotificationQueue();
|
|
128
|
-
const instance = manager(queue);
|
|
138
|
+
const instance = await manager(queue);
|
|
129
139
|
const cwd = await tempDir();
|
|
130
140
|
const started = await instance.start(`for i in $(seq 1 12); do echo "step-$i"; sleep 1; done`, cwd);
|
|
131
141
|
// The FIRST checkpoint must still arrive on the original 5s tick — backoff
|
|
@@ -136,7 +146,7 @@ describe("ProcessManager progress notifications", () => {
|
|
|
136
146
|
}, 40_000);
|
|
137
147
|
it("stays responsive after an idle stretch instead of drifting to the cap", async () => {
|
|
138
148
|
const queue = new AgentNotificationQueue();
|
|
139
|
-
const instance = manager(queue);
|
|
149
|
+
const instance = await manager(queue);
|
|
140
150
|
const cwd = await tempDir();
|
|
141
151
|
// A dev server that boots, idles, then fails a recompile and KEEPS RUNNING
|
|
142
152
|
// (so the progress watcher, not the exit checkpoint, has to carry the news).
|
|
@@ -165,7 +175,7 @@ describe("ProcessManager progress notifications", () => {
|
|
|
165
175
|
}, 120_000);
|
|
166
176
|
it("stops pushing progress entirely once the report budget is spent", async () => {
|
|
167
177
|
const queue = new AgentNotificationQueue();
|
|
168
|
-
const instance = manager(queue);
|
|
178
|
+
const instance = await manager(queue);
|
|
169
179
|
const cwd = await tempDir();
|
|
170
180
|
// A dev server: logs continuously, never exits. Without a budget this kept
|
|
171
181
|
// producing checkpoints for the life of the process — the unbounded tail
|
|
@@ -191,7 +201,7 @@ describe("ProcessManager progress notifications", () => {
|
|
|
191
201
|
}, 120_000);
|
|
192
202
|
it("still reports the exit after the progress budget is spent", async () => {
|
|
193
203
|
const queue = new AgentNotificationQueue();
|
|
194
|
-
const instance = manager(queue);
|
|
204
|
+
const instance = await manager(queue);
|
|
195
205
|
const cwd = await tempDir();
|
|
196
206
|
// Chatty enough to burn the budget, then exits non-zero. "It finished, and
|
|
197
207
|
// how" is the one fact the agent cannot get without polling — retiring the
|
|
@@ -203,7 +213,7 @@ describe("ProcessManager progress notifications", () => {
|
|
|
203
213
|
expect(exit.text).toContain("BUILD_FAILED");
|
|
204
214
|
}, 120_000);
|
|
205
215
|
it("stays silent when no notification queue is wired", async () => {
|
|
206
|
-
const instance = new ProcessManager();
|
|
216
|
+
const instance = new ProcessManager({ bgDir: await bgDir() });
|
|
207
217
|
managers.push(instance);
|
|
208
218
|
const cwd = await tempDir();
|
|
209
219
|
const started = await instance.start("echo quiet", cwd);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-manager-notifications.test.js","sourceRoot":"","sources":["../../src/core/process-manager-notifications.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"process-manager-notifications.test.js","sourceRoot":"","sources":["../../src/core/process-manager-notifications.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,15 @@ export interface ProcessManagerOps {
|
|
|
39
39
|
* instead of waiting to be polled with `task_output`.
|
|
40
40
|
*/
|
|
41
41
|
notifications?: AgentNotificationQueue;
|
|
42
|
+
/**
|
|
43
|
+
* Directory for background process logs. Defaults to the real `~/.gg/bg`.
|
|
44
|
+
*
|
|
45
|
+
* Injectable because this manager both writes AND prunes here: a test that
|
|
46
|
+
* calls `start()` without an override operates on the developer's own log
|
|
47
|
+
* history. That is not hypothetical — running the suite once deleted ~12.7k
|
|
48
|
+
* real logs off a machine before this parameter existed.
|
|
49
|
+
*/
|
|
50
|
+
bgDir?: string;
|
|
42
51
|
}
|
|
43
52
|
export declare class ProcessManager {
|
|
44
53
|
private readonly ops;
|
|
@@ -48,7 +57,20 @@ export declare class ProcessManager {
|
|
|
48
57
|
private watchers;
|
|
49
58
|
/** Log size at the last emitted checkpoint, so a quiet process stays quiet. */
|
|
50
59
|
private watchedSizes;
|
|
60
|
+
/** Timestamp of the last retention sweep; 0 means "never swept". */
|
|
61
|
+
private lastPruneAt;
|
|
51
62
|
constructor(ops?: ProcessManagerOps);
|
|
63
|
+
private get bgDir();
|
|
64
|
+
/**
|
|
65
|
+
* Delete background logs whose last write is older than the retention window.
|
|
66
|
+
*
|
|
67
|
+
* Deliberately best-effort and never awaited by `start()`: losing an old log
|
|
68
|
+
* is harmless, but failing to launch the user's process because a stale log
|
|
69
|
+
* couldn't be unlinked is not. Logs belonging to processes this manager still
|
|
70
|
+
* tracks are skipped regardless of age — a quiet long-running dev server can
|
|
71
|
+
* easily go a week without writing a line, and its log must stay readable.
|
|
72
|
+
*/
|
|
73
|
+
private pruneOldLogs;
|
|
52
74
|
start(command: string, cwd: string, launch?: ShellResolution): Promise<StartResult>;
|
|
53
75
|
/**
|
|
54
76
|
* Arm a backing-off, budgeted progress watcher for one background process.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-manager.d.ts","sourceRoot":"","sources":["../../src/core/process-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AASpD,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEvE,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"process-manager.d.ts","sourceRoot":"","sources":["../../src/core/process-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AASpD,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEvE,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AA+DD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,OAAO,CAAC,IAAI,CAAC;IAC3B,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,SAAS,CAAC;IAC7B;;;;OAIG;IACH,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAWD,qBAAa,cAAc;IAUb,OAAO,CAAC,QAAQ,CAAC,GAAG;IAThC,OAAO,CAAC,SAAS,CAAwC;IACzD,OAAO,CAAC,QAAQ,CAAmC;IACnD,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAoD;IACpE,+EAA+E;IAC/E,OAAO,CAAC,YAAY,CAA6B;IACjD,oEAAoE;IACpE,OAAO,CAAC,WAAW,CAAK;gBAEK,GAAG,GAAE,iBAAsB;IAExD,OAAO,KAAK,KAAK,GAEhB;IAED;;;;;;;;OAQG;YACW,YAAY;IA2BpB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAyDzF;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,UAAU;IAwClB,mFAAmF;YACrE,cAAc;IAS5B,4EAA4E;YAC9D,YAAY;IAoB1B,OAAO,CAAC,UAAU;IAkBlB,uEAAuE;YACzD,QAAQ;IAgBtB,8EAA8E;IAC9E,OAAO,CAAC,cAAc;IAOtB,8DAA8D;IAC9D,cAAc,IAAI,MAAM,EAAE;IAIpB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiC5E;;;;;OAKG;IACG,SAAS,CACb,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAO,GAC5C,OAAO,CAAC,MAAM,CAAC;IAoCZ,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA8CvC,IAAI,IAAI,iBAAiB,EAAE;IAY3B,WAAW,IAAI,IAAI;CAUpB"}
|