ghagga-core 3.2.0 → 3.4.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.
Files changed (139) hide show
  1. package/dist/acp/adapter.d.ts.map +1 -1
  2. package/dist/acp/adapter.js +8 -1
  3. package/dist/acp/adapter.js.map +1 -1
  4. package/dist/agents/consensus.d.ts +2 -2
  5. package/dist/agents/consensus.d.ts.map +1 -1
  6. package/dist/agents/consensus.js +13 -5
  7. package/dist/agents/consensus.js.map +1 -1
  8. package/dist/agents/fan-out-lenses.d.ts +33 -2
  9. package/dist/agents/fan-out-lenses.d.ts.map +1 -1
  10. package/dist/agents/fan-out-lenses.js +245 -8
  11. package/dist/agents/fan-out-lenses.js.map +1 -1
  12. package/dist/agents/issue-code-discovery.d.ts +58 -0
  13. package/dist/agents/issue-code-discovery.d.ts.map +1 -0
  14. package/dist/agents/issue-code-discovery.js +144 -0
  15. package/dist/agents/issue-code-discovery.js.map +1 -0
  16. package/dist/agents/issue-triage.d.ts +153 -0
  17. package/dist/agents/issue-triage.d.ts.map +1 -0
  18. package/dist/agents/issue-triage.js +279 -0
  19. package/dist/agents/issue-triage.js.map +1 -0
  20. package/dist/agents/prompts.d.ts +50 -1
  21. package/dist/agents/prompts.d.ts.map +1 -1
  22. package/dist/agents/prompts.js +142 -2
  23. package/dist/agents/prompts.js.map +1 -1
  24. package/dist/agents/simple.d.ts.map +1 -1
  25. package/dist/agents/simple.js +1 -1
  26. package/dist/agents/simple.js.map +1 -1
  27. package/dist/agents/voice-validation.d.ts +34 -0
  28. package/dist/agents/voice-validation.d.ts.map +1 -0
  29. package/dist/agents/voice-validation.js +64 -0
  30. package/dist/agents/voice-validation.js.map +1 -0
  31. package/dist/agents/workflow.d.ts.map +1 -1
  32. package/dist/agents/workflow.js +8 -0
  33. package/dist/agents/workflow.js.map +1 -1
  34. package/dist/critique/critique.js +1 -1
  35. package/dist/critique/critique.js.map +1 -1
  36. package/dist/critique/prompts.d.ts +1 -1
  37. package/dist/critique/prompts.d.ts.map +1 -1
  38. package/dist/critique/prompts.js +1 -1
  39. package/dist/enhance/prompt.d.ts +1 -1
  40. package/dist/enhance/prompt.d.ts.map +1 -1
  41. package/dist/explanation.d.ts +69 -0
  42. package/dist/explanation.d.ts.map +1 -0
  43. package/dist/explanation.js +16 -0
  44. package/dist/explanation.js.map +1 -0
  45. package/dist/format.d.ts.map +1 -1
  46. package/dist/format.js +1 -0
  47. package/dist/format.js.map +1 -1
  48. package/dist/graph/builder.d.ts +13 -1
  49. package/dist/graph/builder.d.ts.map +1 -1
  50. package/dist/graph/builder.js +305 -6
  51. package/dist/graph/builder.js.map +1 -1
  52. package/dist/graph/call-chain.d.ts +27 -0
  53. package/dist/graph/call-chain.d.ts.map +1 -1
  54. package/dist/graph/call-chain.js +113 -18
  55. package/dist/graph/call-chain.js.map +1 -1
  56. package/dist/graph/changed-symbols.d.ts +57 -0
  57. package/dist/graph/changed-symbols.d.ts.map +1 -0
  58. package/dist/graph/changed-symbols.js +123 -0
  59. package/dist/graph/changed-symbols.js.map +1 -0
  60. package/dist/graph/extractors/index.d.ts +3 -3
  61. package/dist/graph/extractors/index.d.ts.map +1 -1
  62. package/dist/graph/extractors/index.js +2 -2
  63. package/dist/graph/extractors/index.js.map +1 -1
  64. package/dist/graph/extractors/javascript.d.ts.map +1 -1
  65. package/dist/graph/extractors/javascript.js +89 -3
  66. package/dist/graph/extractors/javascript.js.map +1 -1
  67. package/dist/graph/extractors/rust.d.ts.map +1 -1
  68. package/dist/graph/extractors/rust.js +7 -2
  69. package/dist/graph/extractors/rust.js.map +1 -1
  70. package/dist/graph/extractors/types.d.ts +7 -1
  71. package/dist/graph/extractors/types.d.ts.map +1 -1
  72. package/dist/graph/extractors/typescript.d.ts.map +1 -1
  73. package/dist/graph/extractors/typescript.js +95 -4
  74. package/dist/graph/extractors/typescript.js.map +1 -1
  75. package/dist/graph/index.d.ts +8 -3
  76. package/dist/graph/index.d.ts.map +1 -1
  77. package/dist/graph/index.js +4 -2
  78. package/dist/graph/index.js.map +1 -1
  79. package/dist/graph/loader.d.ts +29 -0
  80. package/dist/graph/loader.d.ts.map +1 -1
  81. package/dist/graph/loader.js +70 -1
  82. package/dist/graph/loader.js.map +1 -1
  83. package/dist/graph/narrow-symbols.d.ts +73 -0
  84. package/dist/graph/narrow-symbols.d.ts.map +1 -0
  85. package/dist/graph/narrow-symbols.js +195 -0
  86. package/dist/graph/narrow-symbols.js.map +1 -0
  87. package/dist/graph/schema.d.ts +117 -4
  88. package/dist/graph/schema.d.ts.map +1 -1
  89. package/dist/graph/schema.js +67 -3
  90. package/dist/graph/schema.js.map +1 -1
  91. package/dist/graph/scip/builder.d.ts +64 -0
  92. package/dist/graph/scip/builder.d.ts.map +1 -0
  93. package/dist/graph/scip/builder.js +268 -0
  94. package/dist/graph/scip/builder.js.map +1 -0
  95. package/dist/graph/scip/merge.d.ts +66 -0
  96. package/dist/graph/scip/merge.d.ts.map +1 -0
  97. package/dist/graph/scip/merge.js +98 -0
  98. package/dist/graph/scip/merge.js.map +1 -0
  99. package/dist/index.d.ts +16 -6
  100. package/dist/index.d.ts.map +1 -1
  101. package/dist/index.js +17 -4
  102. package/dist/index.js.map +1 -1
  103. package/dist/memory/decay.d.ts +40 -0
  104. package/dist/memory/decay.d.ts.map +1 -1
  105. package/dist/memory/decay.js +57 -0
  106. package/dist/memory/decay.js.map +1 -1
  107. package/dist/memory/engram.d.ts.map +1 -1
  108. package/dist/memory/engram.js +15 -3
  109. package/dist/memory/engram.js.map +1 -1
  110. package/dist/memory/search.d.ts +157 -0
  111. package/dist/memory/search.d.ts.map +1 -1
  112. package/dist/memory/search.js +420 -0
  113. package/dist/memory/search.js.map +1 -1
  114. package/dist/memory/sqlite.d.ts.map +1 -1
  115. package/dist/memory/sqlite.js +11 -3
  116. package/dist/memory/sqlite.js.map +1 -1
  117. package/dist/pipeline/execute.d.ts.map +1 -1
  118. package/dist/pipeline/execute.js +14 -0
  119. package/dist/pipeline/execute.js.map +1 -1
  120. package/dist/pipeline/prepare-graph.d.ts +23 -1
  121. package/dist/pipeline/prepare-graph.d.ts.map +1 -1
  122. package/dist/pipeline/prepare-graph.js +119 -3
  123. package/dist/pipeline/prepare-graph.js.map +1 -1
  124. package/dist/pipeline/prepare.d.ts.map +1 -1
  125. package/dist/pipeline/prepare.js +2 -0
  126. package/dist/pipeline/prepare.js.map +1 -1
  127. package/dist/providers/cli-bridge.d.ts +13 -11
  128. package/dist/providers/cli-bridge.d.ts.map +1 -1
  129. package/dist/providers/cli-bridge.js +156 -40
  130. package/dist/providers/cli-bridge.js.map +1 -1
  131. package/dist/providers/explanation-generate-fn.d.ts +28 -0
  132. package/dist/providers/explanation-generate-fn.d.ts.map +1 -0
  133. package/dist/providers/explanation-generate-fn.js +122 -0
  134. package/dist/providers/explanation-generate-fn.js.map +1 -0
  135. package/dist/types.d.ts +64 -2
  136. package/dist/types.d.ts.map +1 -1
  137. package/dist/types.js +8 -0
  138. package/dist/types.js.map +1 -1
  139. package/package.json +15 -13
@@ -1 +1 @@
1
- {"version":3,"file":"fan-out-lenses.js","sourceRoot":"","sources":["../../src/agents/fan-out-lenses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fan-out-lenses.js","sourceRoot":"","sources":["../../src/agents/fan-out-lenses.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Deterministic discovery of the repository paths an issue references.
3
+ *
4
+ * The complement to code-in-evidence: instead of a human naming files, extract
5
+ * candidate repo-relative paths from the issue's own text so that (server-side,
6
+ * checkout-less) triage can fetch the code the issue actually talks about.
7
+ *
8
+ * DETERMINISTIC — no model. It finds path-shaped tokens (a slash + a file
9
+ * extension), strips surrounding markdown/punctuation, and dedupes them in
10
+ * first-appearance order. It never fetches: the caller fetches each best-effort
11
+ * (a mentioned path may be missing or renamed) and skips the misses. Ported from
12
+ * the evidence-review-engine (ERE) `collectors/issue-code-discovery.ts`.
13
+ *
14
+ * ReDoS-hardened for attacker-authored input (an issue is openable by ANYONE):
15
+ * `PATH_TOKEN` is ANCHORED to a whole whitespace-delimited token and matched PER
16
+ * token (never a global scan over the full text), and over-long no-whitespace
17
+ * blobs are skipped — so no pathological run of `.`/`-`/`/` can drive quadratic
18
+ * backtracking, and a URL like `https://host/a/b.ts` fails the `://` reject.
19
+ */
20
+ /**
21
+ * Extract candidate repo-relative code paths from free issue text (title + body
22
+ * + comments, joined by the caller). Rejects absolute paths, `.`/`..` traversal,
23
+ * and URL fragments. Returns at most `limit` distinct paths in first-appearance
24
+ * order. Never throws.
25
+ *
26
+ * @param text the issue's combined title/body/comments text
27
+ * @param opts.limit max paths to return (default 10)
28
+ */
29
+ export declare function discoverCodePaths(text: string, opts?: {
30
+ readonly limit?: number;
31
+ }): string[];
32
+ /**
33
+ * Extract candidate CODE-SEARCH terms from free issue text — the complement to
34
+ * {@link discoverCodePaths}: instead of a path (`dir/file.ext`), this looks for
35
+ * an IDENTIFIER a reporter named inline, e.g. `` the bug is in `fetchGraph` ``.
36
+ * Used when path discovery finds too few candidates, so the caller can fall back
37
+ * to a GitHub code-search API call keyed on the term.
38
+ *
39
+ * BACKTICK-GATED ONLY: a bare-prose token (no surrounding backticks) is never
40
+ * extracted — markdown backticks are the reporter's own signal that "this is
41
+ * code", which keeps the false-positive rate low without an LLM. Terms are
42
+ * matched ANY-CASE (`fetchGraph`, `SEARCH_TERM`, `snake_case`, `foo.bar` all
43
+ * pass), deduped case-insensitively (first-appearance casing wins), length-
44
+ * bounded to `[3, 64]`, trailing `[._-]+` is trimmed, and `TERM_STOP` noise is
45
+ * dropped. Never throws.
46
+ *
47
+ * ReDoS-hardened for attacker-authored input the same way as
48
+ * {@link discoverCodePaths}: the text is capped at `MAX_TEXT`, and any backtick
49
+ * span longer than `MAX_TOKEN` is skipped WHOLESALE (never regex-scanned) so a
50
+ * pathological long span cannot drive quadratic backtracking.
51
+ *
52
+ * @param text the issue's combined title/body/comments text
53
+ * @param opts.limit max terms to return (default 5)
54
+ */
55
+ export declare function discoverSearchTerms(text: string, opts?: {
56
+ readonly limit?: number;
57
+ }): string[];
58
+ //# sourceMappingURL=issue-code-discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issue-code-discovery.d.ts","sourceRoot":"","sources":["../../src/agents/issue-code-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAUH;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,EAAE,CAyB5F;AAmBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,EAAE,CA6B9F"}
@@ -0,0 +1,144 @@
1
+ /**
2
+ * Deterministic discovery of the repository paths an issue references.
3
+ *
4
+ * The complement to code-in-evidence: instead of a human naming files, extract
5
+ * candidate repo-relative paths from the issue's own text so that (server-side,
6
+ * checkout-less) triage can fetch the code the issue actually talks about.
7
+ *
8
+ * DETERMINISTIC — no model. It finds path-shaped tokens (a slash + a file
9
+ * extension), strips surrounding markdown/punctuation, and dedupes them in
10
+ * first-appearance order. It never fetches: the caller fetches each best-effort
11
+ * (a mentioned path may be missing or renamed) and skips the misses. Ported from
12
+ * the evidence-review-engine (ERE) `collectors/issue-code-discovery.ts`.
13
+ *
14
+ * ReDoS-hardened for attacker-authored input (an issue is openable by ANYONE):
15
+ * `PATH_TOKEN` is ANCHORED to a whole whitespace-delimited token and matched PER
16
+ * token (never a global scan over the full text), and over-long no-whitespace
17
+ * blobs are skipped — so no pathological run of `.`/`-`/`/` can drive quadratic
18
+ * backtracking, and a URL like `https://host/a/b.ts` fails the `://` reject.
19
+ */
20
+ /** A path-shaped token: `dir/.../file.ext` — segments of `[\w.-]`, ending in `.ext`. */
21
+ const PATH_TOKEN = /^[\w.-]+(?:\/[\w.-]+)+\.[A-Za-z0-9]+$/;
22
+ const DEFAULT_LIMIT = 10;
23
+ /** Cap the scanned text (defensive belt) — the attacker controls issue/comment bodies. */
24
+ const MAX_TEXT = 262_144;
25
+ /** A real repo path is short; a longer no-whitespace token is skipped (kills ReDoS). */
26
+ const MAX_TOKEN = 400;
27
+ /**
28
+ * Extract candidate repo-relative code paths from free issue text (title + body
29
+ * + comments, joined by the caller). Rejects absolute paths, `.`/`..` traversal,
30
+ * and URL fragments. Returns at most `limit` distinct paths in first-appearance
31
+ * order. Never throws.
32
+ *
33
+ * @param text the issue's combined title/body/comments text
34
+ * @param opts.limit max paths to return (default 10)
35
+ */
36
+ export function discoverCodePaths(text, opts) {
37
+ const limit = opts?.limit ?? DEFAULT_LIMIT;
38
+ if (typeof text !== 'string' || text.length === 0 || limit <= 0)
39
+ return [];
40
+ const scanned = text.slice(0, MAX_TEXT);
41
+ const seen = new Set();
42
+ const out = [];
43
+ for (const rawToken of scanned.split(/\s+/)) {
44
+ // Skip empties and over-long no-whitespace blobs (the ReDoS belt).
45
+ if (rawToken.length === 0 || rawToken.length > MAX_TOKEN)
46
+ continue;
47
+ // A URL is not a repo-relative path — reject the whole token.
48
+ if (rawToken.includes('://'))
49
+ continue;
50
+ // Strip surrounding markdown/quote/punctuation the token may carry, e.g.
51
+ // `src/x.ts`, (src/x.ts), "src/x.ts", src/x.ts. — WITHOUT touching the interior.
52
+ const path = rawToken.replace(/^[([`'"]+/, '').replace(/[)\].,:;'"`]+$/, '');
53
+ // Absolute paths are not repo-relative; re-check the length after stripping.
54
+ if (path.length === 0 || path.length > MAX_TOKEN || path.startsWith('/'))
55
+ continue;
56
+ if (!PATH_TOKEN.test(path))
57
+ continue;
58
+ // Reject `.`/`..` segments (traversal) even though the fetch layer guards too.
59
+ if (path.split('/').some((seg) => seg === '.' || seg === '..'))
60
+ continue;
61
+ if (seen.has(path))
62
+ continue;
63
+ seen.add(path);
64
+ out.push(path);
65
+ if (out.length >= limit)
66
+ break;
67
+ }
68
+ return out;
69
+ }
70
+ // ─── discoverSearchTerms ──────────────────────────────────────────
71
+ /** A backtick-quoted span: `` `...` ``. Matched globally over the (capped) text. */
72
+ const BACKTICK = /`([^`]+)`/g;
73
+ /**
74
+ * An identifier-shaped token inside a backtick span: starts with a letter, then
75
+ * letters/digits/`_`/`.`/`-`. This is the SAME charset the emitted terms are
76
+ * validated against downstream (the server `GH_SEARCH_TERM` regex) — kept in
77
+ * sync BY CONSTRUCTION since both are `[A-Za-z0-9_.-]`.
78
+ */
79
+ const TERM_TOKEN = /[A-Za-z][A-Za-z0-9_.-]*/g;
80
+ const DEFAULT_TERM_LIMIT = 5;
81
+ const TERM_MIN = 3;
82
+ const TERM_MAX = 64;
83
+ /** Common template noise that is never a useful search term. */
84
+ const TERM_STOP = new Set(['const_cast', 'static_cast']);
85
+ /**
86
+ * Extract candidate CODE-SEARCH terms from free issue text — the complement to
87
+ * {@link discoverCodePaths}: instead of a path (`dir/file.ext`), this looks for
88
+ * an IDENTIFIER a reporter named inline, e.g. `` the bug is in `fetchGraph` ``.
89
+ * Used when path discovery finds too few candidates, so the caller can fall back
90
+ * to a GitHub code-search API call keyed on the term.
91
+ *
92
+ * BACKTICK-GATED ONLY: a bare-prose token (no surrounding backticks) is never
93
+ * extracted — markdown backticks are the reporter's own signal that "this is
94
+ * code", which keeps the false-positive rate low without an LLM. Terms are
95
+ * matched ANY-CASE (`fetchGraph`, `SEARCH_TERM`, `snake_case`, `foo.bar` all
96
+ * pass), deduped case-insensitively (first-appearance casing wins), length-
97
+ * bounded to `[3, 64]`, trailing `[._-]+` is trimmed, and `TERM_STOP` noise is
98
+ * dropped. Never throws.
99
+ *
100
+ * ReDoS-hardened for attacker-authored input the same way as
101
+ * {@link discoverCodePaths}: the text is capped at `MAX_TEXT`, and any backtick
102
+ * span longer than `MAX_TOKEN` is skipped WHOLESALE (never regex-scanned) so a
103
+ * pathological long span cannot drive quadratic backtracking.
104
+ *
105
+ * @param text the issue's combined title/body/comments text
106
+ * @param opts.limit max terms to return (default 5)
107
+ */
108
+ export function discoverSearchTerms(text, opts) {
109
+ const limit = opts?.limit ?? DEFAULT_TERM_LIMIT;
110
+ if (typeof text !== 'string' || text.length === 0 || limit <= 0)
111
+ return [];
112
+ const scanned = text.slice(0, MAX_TEXT);
113
+ const seenKeys = new Set();
114
+ const out = [];
115
+ const add = (raw) => {
116
+ if (out.length >= limit)
117
+ return;
118
+ const trimmed = raw.replace(/[._-]+$/, '');
119
+ if (trimmed.length < TERM_MIN || trimmed.length > TERM_MAX)
120
+ return;
121
+ const key = trimmed.toLowerCase();
122
+ if (TERM_STOP.has(key))
123
+ return;
124
+ if (seenKeys.has(key))
125
+ return;
126
+ seenKeys.add(key);
127
+ out.push(trimmed);
128
+ };
129
+ for (const spanMatch of scanned.matchAll(BACKTICK)) {
130
+ if (out.length >= limit)
131
+ break;
132
+ const span = spanMatch[1] ?? '';
133
+ // Skip an over-long span WHOLESALE (the ReDoS belt) — never regex-scan it.
134
+ if (span.length > MAX_TOKEN)
135
+ continue;
136
+ for (const tokenMatch of span.matchAll(TERM_TOKEN)) {
137
+ if (out.length >= limit)
138
+ break;
139
+ add(tokenMatch[0]);
140
+ }
141
+ }
142
+ return out;
143
+ }
144
+ //# sourceMappingURL=issue-code-discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issue-code-discovery.js","sourceRoot":"","sources":["../../src/agents/issue-code-discovery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,153 @@
1
+ /**
2
+ * Issue-triage agent.
3
+ *
4
+ * A SIBLING of the diagnostic agent (diagnostic.ts). It reuses the diagnostic
5
+ * hypothesis OUTPUT parser (`parseHypotheses`) but its INPUT is a GitHub issue
6
+ * (title + body + comments), NOT a diff. It deliberately does NOT reuse
7
+ * `runDiagnosticReview` — that path wraps a diff via `wrapUntrustedDiff` and
8
+ * labels the prose as "code changes", which would mislabel an issue and risk
9
+ * the load-bearing PR review path.
10
+ *
11
+ * Prompt-injection posture (issues are openable by ANYONE — the highest-risk
12
+ * untrusted channel):
13
+ * 1. Issue title/body/comments are fenced via `wrapUntrustedDescription`
14
+ * (<USER_DESCRIPTION>, no inner code fence) — NEVER raw, NEVER as a diff.
15
+ * 2. The trusted scaffold (instructions + labels) stays OUTSIDE the fence.
16
+ * 3. `memoryContext` is fenced via `buildMemoryContext` (untrusted DATA +
17
+ * anti-priming framing) since it derives from prior user-authored issues.
18
+ * 4. `UNTRUSTED_CONTENT_POLICY` is in the system prompt (`ISSUE_TRIAGE_SYSTEM`).
19
+ * 5. Oversized issue bodies are capped by `wrapUntrustedDescription`'s internal
20
+ * `capUntrusted` so a giant payload cannot blow context / cost.
21
+ * 6. Optional reproduction evidence (captured by driving the LIVE target app —
22
+ * console errors, network failures, on-screen error text) is fenced
23
+ * SEPARATELY via `wrapUntrustedReproEvidence` (<REPRO_EVIDENCE>, no inner
24
+ * code fence) — it is just as attacker-influenceable as the issue text
25
+ * itself (a crafted error message/response body can carry the same
26
+ * injection payloads) and gets identical defang + length-cap treatment.
27
+ *
28
+ * The agent only PRODUCES a draft (classification + hypotheses + plan + cited
29
+ * report + numeric confidence). It NEVER posts. The confidence THRESHOLD gating
30
+ * lives in the Phase 4 worker, not here.
31
+ */
32
+ import type { GenerateTextFn } from '../providers/generate-fn.js';
33
+ import type { Hypothesis, LLMProvider, ProgressCallback } from '../types.js';
34
+ /**
35
+ * Cited source backing a triage claim (memory observation or issue excerpt).
36
+ *
37
+ * NOTE: this is STRUCTURALLY IDENTICAL to `IssueDraftSource` in the db package
38
+ * (`ghagga-db` schema.ts:182). We do NOT import that type because `packages/core`
39
+ * has no dependency on the db package and adding one solely for a 3-field shape
40
+ * would introduce a new core→db coupling edge. TypeScript's structural typing
41
+ * makes `IssueTriageSource[]` assignable to `IssueDraftSource[]` at the Phase 4
42
+ * worker boundary, so the persistence layer reuses the value without a cast.
43
+ */
44
+ export interface IssueTriageSource {
45
+ title: string;
46
+ type: string;
47
+ ref: string;
48
+ }
49
+ /** Issue classification taxonomy (locked scope — bug | feature | question). */
50
+ export declare const ISSUE_CLASSIFICATIONS: readonly ["bug", "feature", "question"];
51
+ export type IssueClassification = (typeof ISSUE_CLASSIFICATIONS)[number];
52
+ /** A single issue comment (author + body) — untrusted, fenced as DATA. */
53
+ export interface IssueComment {
54
+ author: string;
55
+ body: string;
56
+ }
57
+ export interface IssueTriageInput {
58
+ /** Issue title — untrusted, fenced. */
59
+ issueTitle: string;
60
+ /** Issue body — untrusted, fenced. */
61
+ issueBody: string;
62
+ /** Repo labels on the issue — TRUSTED metadata, kept OUTSIDE the fence. */
63
+ labels: string[];
64
+ /** Issue comments — untrusted, fenced alongside the body. */
65
+ comments?: IssueComment[];
66
+ /**
67
+ * Pre-built memory dedup/context (semi-trusted: derived from prior issues that
68
+ * were themselves user-authored). The actual memory search is Phase 3 — here
69
+ * it is accepted as input. Fenced via `buildMemoryContext`.
70
+ */
71
+ memoryContext: string | null;
72
+ /**
73
+ * Pre-formatted reproduction evidence from the REPRODUCE stage (console
74
+ * errors, network failures, on-screen error text captured by driving the
75
+ * LIVE target app) — semantically distinct from `memoryContext` ("we drove
76
+ * the live app" vs. dedup context from prior issues). Attacker-influenceable
77
+ * (target-app output) — fenced via `wrapUntrustedReproEvidence` inside a
78
+ * dedicated `<REPRO_EVIDENCE>` tag, separate from `<USER_DESCRIPTION>`.
79
+ * OPTIONAL — absent/null preserves existing behavior exactly (no fence
80
+ * emitted). A non-reproduction is still meaningful signal and SHOULD be
81
+ * passed as a formatted string (e.g. "reproduced: false — action
82
+ * succeeded, no error"), not omitted.
83
+ */
84
+ reproductionEvidence?: string | null;
85
+ /**
86
+ * Repository source the issue references, fetched for the model to VERIFY the
87
+ * claim against (the CLI locates it from a checkout; the server fetches it
88
+ * remotely). Its own OPTIONAL fenced input via `wrapUntrustedSourceCode`
89
+ * (<SOURCE_CODE>) — semantically distinct from `memoryContext` (dedup context,
90
+ * framed "do not flag from this") and `reproductionEvidence` (live-app output).
91
+ * Attacker-influenceable (a reporter may control the branch it was read from) —
92
+ * absent/null preserves existing behavior exactly (no fence emitted).
93
+ */
94
+ sourceCode?: string | null;
95
+ /** Provider id — carried for progress/metadata (caller resolves the backend). */
96
+ provider: LLMProvider;
97
+ /** Model id — carried for progress/metadata. */
98
+ model: string;
99
+ /** API key — carried for parity with sibling agents (unused directly here). */
100
+ apiKey: string;
101
+ /**
102
+ * Resolved generation function. REQUIRED — the caller resolves the backend and
103
+ * injects it (mirrors the required `apiKey`/`model` fields). The runtime guard
104
+ * in `runIssueTriage` is retained as defense-in-depth for untyped JS callers
105
+ * that could still pass `undefined` past the type system.
106
+ */
107
+ generateFn: GenerateTextFn;
108
+ onProgress?: ProgressCallback;
109
+ }
110
+ export interface IssueTriageResult {
111
+ /** Exactly one taxonomy category. */
112
+ classification: IssueClassification;
113
+ /** Root-cause hypotheses (parsed by the reused diagnostic parser). */
114
+ rootCauseHypotheses: Hypothesis[];
115
+ /** Checkboxed plan of action (markdown). */
116
+ plan: string;
117
+ /** Files likely to need changes (best effort). */
118
+ filesToTouch: string[];
119
+ /** Cited sources backing the draft (memory observations / issue excerpts). */
120
+ sources: IssueTriageSource[];
121
+ /** Assembled cited markdown report body (what a human edits + approves). */
122
+ report: string;
123
+ /**
124
+ * Numeric triage confidence in [0,1]. PRODUCED here; the THRESHOLD gate that
125
+ * decides hold-for-human lives in the Phase 4 worker.
126
+ */
127
+ confidence: number;
128
+ /** Tokens used by the LLM call. */
129
+ tokensUsed: number;
130
+ }
131
+ /**
132
+ * Default classification when the model omits or garbles the CLASSIFICATION line.
133
+ * `question` is the SAFE fallback: it carries the weakest action semantics (asks
134
+ * a human for info) rather than asserting a `bug`/`feature` the model didn't
135
+ * actually commit to.
136
+ */
137
+ export declare const DEFAULT_CLASSIFICATION: IssueClassification;
138
+ /**
139
+ * Default numeric confidence when the model omits or garbles the CONFIDENCE line.
140
+ * NOTE: `0` here means "no parseable confidence" — the Phase 4 worker owns the
141
+ * unparseable-vs-genuinely-low interpretation; this layer only guarantees a real
142
+ * number is captured when the model DID emit one.
143
+ */
144
+ export declare const DEFAULT_CONFIDENCE = 0;
145
+ /**
146
+ * Run issue triage over a single GitHub issue.
147
+ *
148
+ * Assembles a trusted system prompt + untrusted-fenced issue text, calls the
149
+ * injected `generateFn`, and parses the structured output into an
150
+ * `IssueTriageResult`. Never posts; produces a draft for human approval.
151
+ */
152
+ export declare function runIssueTriage(input: IssueTriageInput): Promise<IssueTriageResult>;
153
+ //# sourceMappingURL=issue-triage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issue-triage.d.ts","sourceRoot":"","sources":["../../src/agents/issue-triage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAa7E;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,+EAA+E;AAC/E,eAAO,MAAM,qBAAqB,yCAA0C,CAAC;AAC7E,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzE,0EAA0E;AAC1E,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B;;;;OAIG;IACH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;;;;;;;;;;;OAWG;IACH,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iFAAiF;IACjF,QAAQ,EAAE,WAAW,CAAC;IACtB,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,UAAU,EAAE,cAAc,CAAC;IAC3B,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,qCAAqC;IACrC,cAAc,EAAE,mBAAmB,CAAC;IACpC,sEAAsE;IACtE,mBAAmB,EAAE,UAAU,EAAE,CAAC;IAClC,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,8EAA8E;IAC9E,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAC;CACpB;AAID;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,EAAE,mBAAgC,CAAC;AA6BtE;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAuJpC;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAoExF"}