@sentry/warden 0.11.0 → 0.13.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/agents.lock +59 -0
- package/dist/cli/args.d.ts +7 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +12 -1
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/commands/add.js +1 -1
- package/dist/cli/commands/add.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +26 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/sync.d.ts.map +1 -1
- package/dist/cli/commands/sync.js +16 -4
- package/dist/cli/commands/sync.js.map +1 -1
- package/dist/cli/fix.d.ts.map +1 -1
- package/dist/cli/fix.js +7 -23
- package/dist/cli/fix.js.map +1 -1
- package/dist/cli/input.d.ts +5 -0
- package/dist/cli/input.d.ts.map +1 -0
- package/dist/cli/input.js +23 -0
- package/dist/cli/input.js.map +1 -0
- package/dist/cli/log-cleanup.d.ts +19 -0
- package/dist/cli/log-cleanup.d.ts.map +1 -0
- package/dist/cli/log-cleanup.js +69 -0
- package/dist/cli/log-cleanup.js.map +1 -0
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +164 -44
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/output/formatters.d.ts +11 -1
- package/dist/cli/output/formatters.d.ts.map +1 -1
- package/dist/cli/output/formatters.js +25 -0
- package/dist/cli/output/formatters.js.map +1 -1
- package/dist/cli/output/index.d.ts +3 -3
- package/dist/cli/output/index.d.ts.map +1 -1
- package/dist/cli/output/index.js +3 -3
- package/dist/cli/output/index.js.map +1 -1
- package/dist/cli/output/ink-runner.d.ts.map +1 -1
- package/dist/cli/output/ink-runner.js +40 -13
- package/dist/cli/output/ink-runner.js.map +1 -1
- package/dist/cli/output/jsonl.d.ts +32 -12
- package/dist/cli/output/jsonl.d.ts.map +1 -1
- package/dist/cli/output/jsonl.js +43 -31
- package/dist/cli/output/jsonl.js.map +1 -1
- package/dist/cli/output/reporter.d.ts +4 -0
- package/dist/cli/output/reporter.d.ts.map +1 -1
- package/dist/cli/output/reporter.js +14 -0
- package/dist/cli/output/reporter.js.map +1 -1
- package/dist/cli/output/tasks.d.ts +14 -1
- package/dist/cli/output/tasks.d.ts.map +1 -1
- package/dist/cli/output/tasks.js +89 -7
- package/dist/cli/output/tasks.js.map +1 -1
- package/dist/cli/terminal.d.ts +4 -7
- package/dist/cli/terminal.d.ts.map +1 -1
- package/dist/cli/terminal.js +22 -52
- package/dist/cli/terminal.js.map +1 -1
- package/dist/config/loader.d.ts +3 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +2 -0
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +88 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +31 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/evals/runner.d.ts.map +1 -1
- package/dist/evals/runner.js +1 -0
- package/dist/evals/runner.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/output/dedup.d.ts +19 -6
- package/dist/output/dedup.d.ts.map +1 -1
- package/dist/output/dedup.js +73 -28
- package/dist/output/dedup.js.map +1 -1
- package/dist/output/github-checks.d.ts +4 -2
- package/dist/output/github-checks.d.ts.map +1 -1
- package/dist/output/github-checks.js +12 -10
- package/dist/output/github-checks.js.map +1 -1
- package/dist/output/issue-renderer.d.ts.map +1 -1
- package/dist/output/issue-renderer.js +6 -18
- package/dist/output/issue-renderer.js.map +1 -1
- package/dist/output/renderer.d.ts.map +1 -1
- package/dist/output/renderer.js +48 -65
- package/dist/output/renderer.js.map +1 -1
- package/dist/output/types.d.ts +3 -1
- package/dist/output/types.d.ts.map +1 -1
- package/dist/sdk/analyze.d.ts.map +1 -1
- package/dist/sdk/analyze.js +25 -4
- package/dist/sdk/analyze.js.map +1 -1
- package/dist/sdk/extract.d.ts +2 -1
- package/dist/sdk/extract.d.ts.map +1 -1
- package/dist/sdk/extract.js +4 -3
- package/dist/sdk/extract.js.map +1 -1
- package/dist/sdk/haiku.d.ts +3 -0
- package/dist/sdk/haiku.d.ts.map +1 -1
- package/dist/sdk/haiku.js +5 -4
- package/dist/sdk/haiku.js.map +1 -1
- package/dist/sdk/prompt.d.ts.map +1 -1
- package/dist/sdk/prompt.js +5 -3
- package/dist/sdk/prompt.js.map +1 -1
- package/dist/sdk/session.d.ts +43 -0
- package/dist/sdk/session.d.ts.map +1 -0
- package/dist/sdk/session.js +105 -0
- package/dist/sdk/session.js.map +1 -0
- package/dist/sdk/types.d.ts +5 -0
- package/dist/sdk/types.d.ts.map +1 -1
- package/dist/sdk/types.js.map +1 -1
- package/dist/skills/remote.d.ts +4 -0
- package/dist/skills/remote.d.ts.map +1 -1
- package/dist/skills/remote.js +47 -27
- package/dist/skills/remote.js.map +1 -1
- package/dist/types/index.d.ts +27 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +28 -0
- package/dist/types/index.js.map +1 -1
- package/package.json +3 -3
- package/.claude-plugin/marketplace.json +0 -20
- package/.mcp.json +0 -8
- package/agents.toml +0 -7
- package/conductor.json +0 -8
- package/evals/README.md +0 -154
- package/evals/bug-detection.yaml +0 -56
- package/evals/fixtures/ignores-style-issues/utils.ts +0 -48
- package/evals/fixtures/missing-await/cache.ts +0 -45
- package/evals/fixtures/null-property-access/handler.ts +0 -36
- package/evals/fixtures/off-by-one/paginator.ts +0 -38
- package/evals/fixtures/sql-injection/api.ts +0 -59
- package/evals/fixtures/stale-closure/counter.tsx +0 -33
- package/evals/fixtures/wrong-comparison/validator.ts +0 -52
- package/evals/fixtures/xss-reflected/server.ts +0 -55
- package/evals/precision.yaml +0 -15
- package/evals/security-scanning.yaml +0 -24
- package/evals/skills/bug-detection.md +0 -33
- package/evals/skills/precision.md +0 -18
- package/evals/skills/security-scanning.md +0 -32
- package/plugins/.claude-plugin/marketplace.json +0 -14
- package/plugins/warden/.claude-plugin/plugin.json +0 -7
- package/plugins/warden/skills/warden/SKILL.md +0 -78
- package/plugins/warden/skills/warden/references/cli-reference.md +0 -144
- package/plugins/warden/skills/warden/references/config-schema.md +0 -113
- package/plugins/warden/skills/warden/references/configuration.md +0 -108
- package/plugins/warden/skills/warden/references/creating-skills.md +0 -84
- package/scripts/update-pricing.ts +0 -88
package/dist/sdk/haiku.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"haiku.d.ts","sourceRoot":"","sources":["../../src/sdk/haiku.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAKpD,eAAO,MAAM,WAAW,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"haiku.d.ts","sourceRoot":"","sources":["../../src/sdk/haiku.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAKpD,eAAO,MAAM,WAAW,qBAAqB,CAAC;AAC9C,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAI/C;;GAEG;AACH,UAAU,gBAAgB;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,2BAA2B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,gBAAgB,EACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,EAC1B,YAAY,CAAC,EAAE,MAAM,GACpB,IAAI,CAeN;AAUD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA6CvD;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IACrB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GAC7C;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAaD;;;GAGG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAkExF;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB,CAAC,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;IACxB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,yBAAyB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAqJ1G"}
|
package/dist/sdk/haiku.js
CHANGED
|
@@ -3,6 +3,7 @@ import { Sentry } from '../sentry.js';
|
|
|
3
3
|
import { apiUsageToStats } from './pricing.js';
|
|
4
4
|
import { aggregateUsage, emptyUsage } from './usage.js';
|
|
5
5
|
export const HAIKU_MODEL = 'claude-haiku-4-5';
|
|
6
|
+
export const DEFAULT_AUXILIARY_MAX_RETRIES = 5;
|
|
6
7
|
const DEFAULT_TIMEOUT_MS = 30_000;
|
|
7
8
|
const DEFAULT_MAX_TOKENS = 4096;
|
|
8
9
|
/**
|
|
@@ -100,7 +101,7 @@ function inferPrefill(schema) {
|
|
|
100
101
|
* Auto-prefills based on Zod schema type, extracts JSON, validates with Zod.
|
|
101
102
|
*/
|
|
102
103
|
export async function callHaiku(options) {
|
|
103
|
-
const { apiKey, prompt, schema, maxTokens = DEFAULT_MAX_TOKENS, timeout = DEFAULT_TIMEOUT_MS } = options;
|
|
104
|
+
const { apiKey, prompt, schema, maxTokens = DEFAULT_MAX_TOKENS, timeout = DEFAULT_TIMEOUT_MS, maxRetries = DEFAULT_AUXILIARY_MAX_RETRIES } = options;
|
|
104
105
|
return Sentry.startSpan({
|
|
105
106
|
op: 'gen_ai.chat',
|
|
106
107
|
name: `chat ${HAIKU_MODEL}`,
|
|
@@ -111,7 +112,7 @@ export async function callHaiku(options) {
|
|
|
111
112
|
'gen_ai.request.max_tokens': maxTokens,
|
|
112
113
|
},
|
|
113
114
|
}, async (span) => {
|
|
114
|
-
const client = new Anthropic({ apiKey, timeout });
|
|
115
|
+
const client = new Anthropic({ apiKey, timeout, maxRetries });
|
|
115
116
|
const prefill = inferPrefill(schema);
|
|
116
117
|
const messages = [
|
|
117
118
|
{ role: 'user', content: prompt },
|
|
@@ -160,7 +161,7 @@ export async function callHaiku(options) {
|
|
|
160
161
|
* Accumulates usage across all iterations.
|
|
161
162
|
*/
|
|
162
163
|
export async function callHaikuWithTools(options) {
|
|
163
|
-
const { apiKey, prompt, schema, tools, executeTool, maxTokens = DEFAULT_MAX_TOKENS, maxIterations = 5, timeout = DEFAULT_TIMEOUT_MS, } = options;
|
|
164
|
+
const { apiKey, prompt, schema, tools, executeTool, maxTokens = DEFAULT_MAX_TOKENS, maxIterations = 5, timeout = DEFAULT_TIMEOUT_MS, maxRetries = DEFAULT_AUXILIARY_MAX_RETRIES, } = options;
|
|
164
165
|
return Sentry.startSpan({
|
|
165
166
|
op: 'gen_ai.chat',
|
|
166
167
|
name: `chat ${HAIKU_MODEL}`,
|
|
@@ -171,7 +172,7 @@ export async function callHaikuWithTools(options) {
|
|
|
171
172
|
'gen_ai.request.max_tokens': maxTokens,
|
|
172
173
|
},
|
|
173
174
|
}, async (span) => {
|
|
174
|
-
const client = new Anthropic({ apiKey, timeout });
|
|
175
|
+
const client = new Anthropic({ apiKey, timeout, maxRetries });
|
|
175
176
|
// No prefill for tool-use loops: prefill biases the model to output JSON
|
|
176
177
|
// immediately instead of calling tools to gather information first.
|
|
177
178
|
const messages = [
|
package/dist/sdk/haiku.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"haiku.js","sourceRoot":"","sources":["../../src/sdk/haiku.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"haiku.js","sourceRoot":"","sources":["../../src/sdk/haiku.ts"],"names":[],"mappings":"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"}
|
package/dist/sdk/prompt.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/sdk/prompt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE/E;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,8FAA8F;IAC9F,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/sdk/prompt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE/E;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,8FAA8F;IAC9F,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CA+EpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,eAAe,EACxB,SAAS,CAAC,EAAE,eAAe,GAC1B,MAAM,CAyCR"}
|
package/dist/sdk/prompt.js
CHANGED
|
@@ -19,6 +19,7 @@ Before reporting a finding:
|
|
|
19
19
|
2. Trace through the code path — follow imports, base classes, and indirect references, not just the immediate file
|
|
20
20
|
3. Verify your assumptions — confirm the issue exists, don't infer from incomplete information
|
|
21
21
|
4. Ensure the finding references lines within the hunk being analyzed
|
|
22
|
+
5. Document your verification in the 'verification' field of each finding
|
|
22
23
|
</verification>`,
|
|
23
24
|
`<skill_instructions>
|
|
24
25
|
The following defines the ONLY criteria you should evaluate. Do not report findings outside this scope:
|
|
@@ -38,13 +39,14 @@ Full schema:
|
|
|
38
39
|
"id": "unique-identifier",
|
|
39
40
|
"severity": "critical|high|medium|low|info",
|
|
40
41
|
"confidence": "high|medium|low",
|
|
41
|
-
"title": "
|
|
42
|
-
"description": "
|
|
42
|
+
"title": "Assertive, impact-focused title stating what is broken or wrong (e.g. 'wasFailFastAborted never detects fail-fast abort')",
|
|
43
|
+
"description": "2-4 concise sentences. Start with the root cause, end with the user-visible consequence.",
|
|
43
44
|
"location": {
|
|
44
45
|
"path": "path/to/file.ts",
|
|
45
46
|
"startLine": 10,
|
|
46
47
|
"endLine": 15
|
|
47
48
|
},
|
|
49
|
+
"verification": "Required. What you checked before reporting: files read, code paths traced, assumptions validated. Reference specific files/functions.",
|
|
48
50
|
"suggestedFix": {
|
|
49
51
|
"description": "How to fix this issue",
|
|
50
52
|
"diff": "unified diff format"
|
|
@@ -62,7 +64,7 @@ Requirements:
|
|
|
62
64
|
- "suggestedFix" is optional - only include when you can provide a complete, correct fix **to the file being analyzed**. Omit suggestedFix if:
|
|
63
65
|
- The fix would be incomplete or you're uncertain about the correct solution
|
|
64
66
|
- The fix requires changes to a different file or a new file (describe the fix in the description field instead)
|
|
65
|
-
- Keep descriptions
|
|
67
|
+
- Keep descriptions concise (2-4 sentences). Start with the root cause, end with the user-visible consequence.
|
|
66
68
|
- Focus your analysis on the code changes in the hunk. Surrounding context and tool results are for understanding only -- all findings must reference lines within the hunk range.
|
|
67
69
|
</output_format>`,
|
|
68
70
|
];
|
package/dist/sdk/prompt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/sdk/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,qBAAqB,EAAwB,MAAM,kBAAkB,CAAC;AAoB/E;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAsB;IAC1D,MAAM,QAAQ,GAAG;QACf;;QAEI;QAEJ
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/sdk/prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/** Default directory for session storage relative to repo root */
|
|
2
|
+
export declare const DEFAULT_SESSIONS_DIR = ".warden/sessions";
|
|
3
|
+
/** Options for session storage */
|
|
4
|
+
export interface SessionStorageOptions {
|
|
5
|
+
/** Enable session storage (default: true) */
|
|
6
|
+
enabled?: boolean;
|
|
7
|
+
/** Directory to store sessions (default: .warden/sessions) */
|
|
8
|
+
directory?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Derive the directory key Claude Code uses for a given project path.
|
|
12
|
+
* Claude Code maps /abs/path/to/project → -abs-path-to-project
|
|
13
|
+
*/
|
|
14
|
+
export declare function getClaudeProjectHash(projectPath: string): string;
|
|
15
|
+
/**
|
|
16
|
+
* Return the directory where Claude Code stores session files for a given repo path.
|
|
17
|
+
* Sessions are stored as <uuid>.jsonl files inside this directory.
|
|
18
|
+
*/
|
|
19
|
+
export declare function getClaudeProjectDir(repoPath: string): string;
|
|
20
|
+
/**
|
|
21
|
+
* Ensure the sessions directory exists.
|
|
22
|
+
* Creates the directory and any parent directories if they don't exist.
|
|
23
|
+
*/
|
|
24
|
+
export declare function ensureSessionsDir(dir: string): void;
|
|
25
|
+
/**
|
|
26
|
+
* Snapshot the set of .jsonl files in Claude's project directory for a given repo.
|
|
27
|
+
* Call before analysis, then use moveNewSessions after to capture any new files.
|
|
28
|
+
*/
|
|
29
|
+
export declare function snapshotSessionFiles(repoPath: string): Set<string>;
|
|
30
|
+
/**
|
|
31
|
+
* Move any new session files that appeared since the snapshot.
|
|
32
|
+
* Files are named <prefix>-<uuid>.jsonl where prefix identifies the warden run
|
|
33
|
+
* (e.g. "notseer-a049e7f7") and uuid is the Claude session ID.
|
|
34
|
+
*
|
|
35
|
+
* Safe to call concurrently -- skips files already moved by another caller.
|
|
36
|
+
* Returns paths of moved files.
|
|
37
|
+
*/
|
|
38
|
+
export declare function moveNewSessions(repoPath: string, before: Set<string>, targetDir: string, prefix?: string): string[];
|
|
39
|
+
/**
|
|
40
|
+
* Resolve the absolute sessions directory from options and repo path.
|
|
41
|
+
*/
|
|
42
|
+
export declare function resolveSessionsDir(repoPath: string, directory?: string): string;
|
|
43
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/sdk/session.ts"],"names":[],"mappings":"AAIA,kEAAkE;AAClE,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD,kCAAkC;AAClC,MAAM,WAAW,qBAAqB;IACpC,6CAA6C;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAI5D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAInD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CASlE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,EAAE,CA6CV;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAG/E"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import os from 'node:os';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
/** Default directory for session storage relative to repo root */
|
|
5
|
+
export const DEFAULT_SESSIONS_DIR = '.warden/sessions';
|
|
6
|
+
/**
|
|
7
|
+
* Derive the directory key Claude Code uses for a given project path.
|
|
8
|
+
* Claude Code maps /abs/path/to/project → -abs-path-to-project
|
|
9
|
+
*/
|
|
10
|
+
export function getClaudeProjectHash(projectPath) {
|
|
11
|
+
return projectPath.replace(/\//g, '-');
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Return the directory where Claude Code stores session files for a given repo path.
|
|
15
|
+
* Sessions are stored as <uuid>.jsonl files inside this directory.
|
|
16
|
+
*/
|
|
17
|
+
export function getClaudeProjectDir(repoPath) {
|
|
18
|
+
const homeDir = os.homedir();
|
|
19
|
+
const hash = getClaudeProjectHash(repoPath);
|
|
20
|
+
return path.join(homeDir, '.claude', 'projects', hash);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Ensure the sessions directory exists.
|
|
24
|
+
* Creates the directory and any parent directories if they don't exist.
|
|
25
|
+
*/
|
|
26
|
+
export function ensureSessionsDir(dir) {
|
|
27
|
+
if (!fs.existsSync(dir)) {
|
|
28
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Snapshot the set of .jsonl files in Claude's project directory for a given repo.
|
|
33
|
+
* Call before analysis, then use moveNewSessions after to capture any new files.
|
|
34
|
+
*/
|
|
35
|
+
export function snapshotSessionFiles(repoPath) {
|
|
36
|
+
const projectDir = getClaudeProjectDir(repoPath);
|
|
37
|
+
try {
|
|
38
|
+
return new Set(fs.readdirSync(projectDir).filter(f => f.endsWith('.jsonl')));
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
return new Set();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Move any new session files that appeared since the snapshot.
|
|
46
|
+
* Files are named <prefix>-<uuid>.jsonl where prefix identifies the warden run
|
|
47
|
+
* (e.g. "notseer-a049e7f7") and uuid is the Claude session ID.
|
|
48
|
+
*
|
|
49
|
+
* Safe to call concurrently -- skips files already moved by another caller.
|
|
50
|
+
* Returns paths of moved files.
|
|
51
|
+
*/
|
|
52
|
+
export function moveNewSessions(repoPath, before, targetDir, prefix) {
|
|
53
|
+
const projectDir = getClaudeProjectDir(repoPath);
|
|
54
|
+
let current;
|
|
55
|
+
try {
|
|
56
|
+
current = fs.readdirSync(projectDir).filter(f => f.endsWith('.jsonl'));
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
return [];
|
|
60
|
+
}
|
|
61
|
+
const newFiles = current.filter(f => !before.has(f));
|
|
62
|
+
if (newFiles.length === 0)
|
|
63
|
+
return [];
|
|
64
|
+
ensureSessionsDir(targetDir);
|
|
65
|
+
const moved = [];
|
|
66
|
+
for (const file of newFiles) {
|
|
67
|
+
const sourceFile = path.join(projectDir, file);
|
|
68
|
+
// Guard against race: another concurrent hunk may have already moved this file
|
|
69
|
+
if (!fs.existsSync(sourceFile))
|
|
70
|
+
continue;
|
|
71
|
+
// Skip empty files (SDK may not have flushed yet)
|
|
72
|
+
try {
|
|
73
|
+
const stat = fs.statSync(sourceFile);
|
|
74
|
+
if (stat.size === 0)
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
const uuid = file.replace('.jsonl', '');
|
|
81
|
+
// Short UUID: first 8 chars of the session ID
|
|
82
|
+
const shortUuid = uuid.split('-')[0] || uuid.slice(0, 8);
|
|
83
|
+
const ts = new Date().toISOString().replace(/[:.]/g, '-');
|
|
84
|
+
const targetName = prefix ? `${prefix}-${shortUuid}-${ts}.jsonl` : `${shortUuid}-${ts}.jsonl`;
|
|
85
|
+
const targetFile = path.join(targetDir, targetName);
|
|
86
|
+
try {
|
|
87
|
+
// Use copy+delete instead of rename to handle cross-device moves (EXDEV)
|
|
88
|
+
fs.copyFileSync(sourceFile, targetFile);
|
|
89
|
+
fs.unlinkSync(sourceFile);
|
|
90
|
+
moved.push(targetFile);
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
// Non-fatal: file may have been moved by a concurrent hunk
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return moved;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Resolve the absolute sessions directory from options and repo path.
|
|
100
|
+
*/
|
|
101
|
+
export function resolveSessionsDir(repoPath, directory) {
|
|
102
|
+
const dir = directory ?? DEFAULT_SESSIONS_DIR;
|
|
103
|
+
return path.isAbsolute(dir) ? dir : path.join(repoPath, dir);
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/sdk/session.ts"],"names":[],"mappings":"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"}
|
package/dist/sdk/types.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Finding, UsageStats, SkippedFile, RetryConfig } from '../types/index.js';
|
|
2
2
|
import type { HunkWithContext } from '../diff/index.js';
|
|
3
3
|
import type { ChunkingConfig } from '../config/schema.js';
|
|
4
|
+
import type { SessionStorageOptions } from './session.js';
|
|
4
5
|
/** A single auxiliary usage entry, keyed by agent name (e.g. 'extraction', 'dedup'). */
|
|
5
6
|
export interface AuxiliaryUsageEntry {
|
|
6
7
|
agent: string;
|
|
@@ -73,6 +74,10 @@ export interface SkillRunnerOptions {
|
|
|
73
74
|
verbose?: boolean;
|
|
74
75
|
/** Max number of "other files" to list in hunk prompts for PR context (default: 50, 0 disables) */
|
|
75
76
|
maxContextFiles?: number;
|
|
77
|
+
/** Max retries for auxiliary Haiku calls (extraction repair, merging, dedup, fix evaluation). Default: 5 */
|
|
78
|
+
auxiliaryMaxRetries?: number;
|
|
79
|
+
/** Session storage options for capturing SDK conversations */
|
|
80
|
+
session?: SessionStorageOptions;
|
|
76
81
|
}
|
|
77
82
|
/**
|
|
78
83
|
* A file prepared for analysis with its hunks.
|
package/dist/sdk/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sdk/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sdk/types.ts"],"names":[],"mappings":"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"}
|
package/dist/sdk/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/sdk/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/sdk/types.ts"],"names":[],"mappings":"AAWA,yFAAyF;AACzF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAE1C,oFAAoF;AACpF,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC"}
|
package/dist/skills/remote.d.ts
CHANGED
|
@@ -4,12 +4,14 @@ import type { SkillDefinition } from '../config/schema.js';
|
|
|
4
4
|
declare const RemoteEntrySchema: z.ZodObject<{
|
|
5
5
|
sha: z.ZodString;
|
|
6
6
|
fetchedAt: z.ZodString;
|
|
7
|
+
cloneUrl: z.ZodOptional<z.ZodString>;
|
|
7
8
|
}, z.core.$strip>;
|
|
8
9
|
/** Schema for the entire state.json file */
|
|
9
10
|
declare const RemoteStateSchema: z.ZodObject<{
|
|
10
11
|
remotes: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
11
12
|
sha: z.ZodString;
|
|
12
13
|
fetchedAt: z.ZodString;
|
|
14
|
+
cloneUrl: z.ZodOptional<z.ZodString>;
|
|
13
15
|
}, z.core.$strip>>;
|
|
14
16
|
}, z.core.$strip>;
|
|
15
17
|
export type RemoteEntry = z.infer<typeof RemoteEntrySchema>;
|
|
@@ -19,6 +21,8 @@ export interface ParsedRemoteRef {
|
|
|
19
21
|
owner: string;
|
|
20
22
|
repo: string;
|
|
21
23
|
sha?: string;
|
|
24
|
+
/** Original clone URL when a full URL was provided (SSH or HTTPS). Undefined for owner/repo shorthand. */
|
|
25
|
+
cloneUrl?: string;
|
|
22
26
|
}
|
|
23
27
|
/**
|
|
24
28
|
* Parse a remote reference string into its components.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/skills/remote.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAK3D,qDAAqD;AACrD,QAAA,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/skills/remote.ts"],"names":[],"mappings":"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"}
|
package/dist/skills/remote.js
CHANGED
|
@@ -10,6 +10,7 @@ const DEFAULT_TTL_SECONDS = 86400;
|
|
|
10
10
|
const RemoteEntrySchema = z.object({
|
|
11
11
|
sha: z.string(),
|
|
12
12
|
fetchedAt: z.string().datetime(),
|
|
13
|
+
cloneUrl: z.string().optional(),
|
|
13
14
|
});
|
|
14
15
|
/** Schema for the entire state.json file */
|
|
15
16
|
const RemoteStateSchema = z.object({
|
|
@@ -90,8 +91,12 @@ export function parseRemoteRef(ref) {
|
|
|
90
91
|
}
|
|
91
92
|
}
|
|
92
93
|
}
|
|
93
|
-
// Normalize GitHub URLs to owner/repo format
|
|
94
|
-
|
|
94
|
+
// Normalize GitHub URLs to owner/repo format.
|
|
95
|
+
// When the input is a full URL, preserve it as cloneUrl for fetchRemote.
|
|
96
|
+
const normalized = normalizeGitHubUrl(inputRef);
|
|
97
|
+
// Upgrade http:// to https:// to prevent cloning over plain HTTP
|
|
98
|
+
const cloneUrl = normalized ? inputRef.replace(/^http:\/\//i, 'https://') : undefined;
|
|
99
|
+
const repoPath = normalized ?? inputRef;
|
|
95
100
|
const slashIndex = repoPath.indexOf('/');
|
|
96
101
|
if (slashIndex === -1) {
|
|
97
102
|
throw new SkillLoaderError(`Invalid remote ref: ${ref} (expected owner/repo format)`);
|
|
@@ -123,7 +128,7 @@ export function parseRemoteRef(ref) {
|
|
|
123
128
|
if (!safeNamePattern.test(repo)) {
|
|
124
129
|
throw new SkillLoaderError(`Invalid remote ref: ${ref} (repo contains invalid characters)`);
|
|
125
130
|
}
|
|
126
|
-
return { owner, repo, sha };
|
|
131
|
+
return { owner, repo, sha, cloneUrl };
|
|
127
132
|
}
|
|
128
133
|
/**
|
|
129
134
|
* Format a parsed remote ref back to string format.
|
|
@@ -225,7 +230,7 @@ export function shouldRefresh(ref, state) {
|
|
|
225
230
|
if (parsed.sha) {
|
|
226
231
|
return false;
|
|
227
232
|
}
|
|
228
|
-
const entry = state.remotes[
|
|
233
|
+
const entry = state.remotes[formatRemoteRef(parsed)];
|
|
229
234
|
if (!entry) {
|
|
230
235
|
return true; // Not cached, needs fetch
|
|
231
236
|
}
|
|
@@ -257,11 +262,13 @@ export async function fetchRemote(ref, options = {}) {
|
|
|
257
262
|
const parsed = parseRemoteRef(ref);
|
|
258
263
|
const remotePath = getRemotePath(ref);
|
|
259
264
|
const state = loadState();
|
|
265
|
+
// Normalize state key so different URL forms (SSH, HTTPS, shorthand) share one entry
|
|
266
|
+
const stateKey = formatRemoteRef(parsed);
|
|
260
267
|
const isPinned = !!parsed.sha;
|
|
261
268
|
const isCached = existsSync(remotePath);
|
|
262
269
|
const needsRefresh = shouldRefresh(ref, state);
|
|
263
270
|
// Check if we have a valid cache (directory exists AND state entry exists)
|
|
264
|
-
const stateEntry = state.remotes[
|
|
271
|
+
const stateEntry = state.remotes[stateKey];
|
|
265
272
|
const hasValidCache = isCached && !!stateEntry;
|
|
266
273
|
// Handle offline mode
|
|
267
274
|
if (offline) {
|
|
@@ -278,7 +285,8 @@ export async function fetchRemote(ref, options = {}) {
|
|
|
278
285
|
if (!isPinned && hasValidCache && !needsRefresh && !force) {
|
|
279
286
|
return stateEntry.sha;
|
|
280
287
|
}
|
|
281
|
-
|
|
288
|
+
// Use the original clone URL if provided, fall back to stored URL from state, then HTTPS
|
|
289
|
+
const repoUrl = parsed.cloneUrl ?? stateEntry?.cloneUrl ?? `https://github.com/${parsed.owner}/${parsed.repo}.git`;
|
|
282
290
|
// Clone or update
|
|
283
291
|
if (!isCached) {
|
|
284
292
|
onProgress?.(`Cloning ${ref}...`);
|
|
@@ -287,27 +295,36 @@ export async function fetchRemote(ref, options = {}) {
|
|
|
287
295
|
if (!existsSync(parentDir)) {
|
|
288
296
|
mkdirSync(parentDir, { recursive: true });
|
|
289
297
|
}
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
298
|
+
try {
|
|
299
|
+
// Note: '--' separates flags from positional args to prevent flag injection
|
|
300
|
+
const { sha } = parsed;
|
|
301
|
+
if (sha) {
|
|
302
|
+
// For pinned refs, shallow clone then checkout the specific SHA
|
|
303
|
+
execGit(['clone', '--depth=1', '--', repoUrl, remotePath]);
|
|
304
|
+
try {
|
|
305
|
+
// Try to fetch the pinned SHA directly
|
|
306
|
+
execGit(['fetch', '--depth=1', 'origin', '--', sha], { cwd: remotePath });
|
|
307
|
+
execGit(['checkout', sha], { cwd: remotePath });
|
|
308
|
+
}
|
|
309
|
+
catch {
|
|
310
|
+
// If SHA not found in shallow history, do a full fetch and retry
|
|
311
|
+
execGit(['fetch', '--unshallow'], { cwd: remotePath });
|
|
312
|
+
execGit(['checkout', sha], { cwd: remotePath });
|
|
313
|
+
}
|
|
301
314
|
}
|
|
302
|
-
|
|
303
|
-
//
|
|
304
|
-
execGit(['
|
|
305
|
-
execGit(['checkout', parsed.sha], { cwd: remotePath });
|
|
315
|
+
else {
|
|
316
|
+
// For unpinned refs, shallow clone of default branch
|
|
317
|
+
execGit(['clone', '--depth=1', '--', repoUrl, remotePath]);
|
|
306
318
|
}
|
|
307
319
|
}
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
320
|
+
catch (error) {
|
|
321
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
322
|
+
// Detect HTTPS auth failures and suggest SSH URL
|
|
323
|
+
if (!parsed.cloneUrl && (message.includes('terminal prompts disabled') || message.includes('could not read Username'))) {
|
|
324
|
+
throw new SkillLoaderError(`Failed to clone ${stateKey} via HTTPS. ` +
|
|
325
|
+
`For private repos, use the SSH URL: warden add --remote git@github.com:${parsed.owner}/${parsed.repo}.git`);
|
|
326
|
+
}
|
|
327
|
+
throw error;
|
|
311
328
|
}
|
|
312
329
|
}
|
|
313
330
|
else {
|
|
@@ -322,10 +339,12 @@ export async function fetchRemote(ref, options = {}) {
|
|
|
322
339
|
}
|
|
323
340
|
// Get the current HEAD SHA
|
|
324
341
|
const sha = execGit(['rev-parse', 'HEAD'], { cwd: remotePath });
|
|
325
|
-
// Update state
|
|
326
|
-
|
|
342
|
+
// Update state with normalized key — preserve cloneUrl for future re-clones
|
|
343
|
+
const cloneUrl = parsed.cloneUrl ?? stateEntry?.cloneUrl;
|
|
344
|
+
state.remotes[stateKey] = {
|
|
327
345
|
sha,
|
|
328
346
|
fetchedAt: new Date().toISOString(),
|
|
347
|
+
...(cloneUrl ? { cloneUrl } : {}),
|
|
329
348
|
};
|
|
330
349
|
saveState(state);
|
|
331
350
|
return sha;
|
|
@@ -507,8 +526,9 @@ export function removeRemote(ref) {
|
|
|
507
526
|
if (existsSync(remotePath)) {
|
|
508
527
|
rmSync(remotePath, { recursive: true, force: true });
|
|
509
528
|
}
|
|
529
|
+
const stateKey = formatRemoteRef(parseRemoteRef(ref));
|
|
510
530
|
const state = loadState();
|
|
511
|
-
const { [
|
|
531
|
+
const { [stateKey]: _removed, ...remainingRemotes } = state.remotes;
|
|
512
532
|
state.remotes = remainingRemotes;
|
|
513
533
|
saveState(state);
|
|
514
534
|
}
|