gaunt-sloth 2.0.0-beta.8 → 2.0.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/.gsloth.review-discovery.md +19 -0
- package/cli.js +49 -0
- package/dist/cli.js +37 -3
- package/dist/cli.js.map +1 -1
- package/dist/commands/adkEvalRunner.d.ts +7 -6
- package/dist/commands/adkEvalRunner.js +3 -3
- package/dist/commands/adkEvalRunner.js.map +1 -1
- package/dist/commands/agUiEvalRunner.d.ts +4 -4
- package/dist/commands/agUiEvalRunner.js +8 -7
- package/dist/commands/agUiEvalRunner.js.map +1 -1
- package/dist/commands/askCommand.js +9 -1
- package/dist/commands/askCommand.js.map +1 -1
- package/dist/commands/batchCommand.d.ts +2 -2
- package/dist/commands/batchCommand.js +10 -5
- package/dist/commands/batchCommand.js.map +1 -1
- package/dist/commands/commandIntrospection.d.ts +1 -1
- package/dist/commands/commandIntrospection.js +6 -3
- package/dist/commands/commandIntrospection.js.map +1 -1
- package/dist/commands/configCommand.d.ts +1 -1
- package/dist/commands/configCommand.js +1 -1
- package/dist/commands/configSetup.d.ts +1 -1
- package/dist/commands/discoveryConfigSchemaAgreement.d.ts +45 -0
- package/dist/commands/discoveryConfigSchemaAgreement.js +2 -0
- package/dist/commands/discoveryConfigSchemaAgreement.js.map +1 -0
- package/dist/commands/evalCommand.d.ts +27 -1
- package/dist/commands/evalCommand.js +155 -13
- package/dist/commands/evalCommand.js.map +1 -1
- package/dist/commands/execCommand.d.ts +1 -1
- package/dist/commands/execCommand.js +9 -2
- package/dist/commands/execCommand.js.map +1 -1
- package/dist/commands/firstRunDialog.d.ts +3 -3
- package/dist/commands/firstRunDialog.js +2 -2
- package/dist/commands/getCommand.js +10 -1
- package/dist/commands/getCommand.js.map +1 -1
- package/dist/commands/historyCommand.d.ts +1 -1
- package/dist/commands/historyCommand.js +16 -4
- package/dist/commands/historyCommand.js.map +1 -1
- package/dist/commands/prCommand.js +45 -16
- package/dist/commands/prCommand.js.map +1 -1
- package/dist/commands/prDiscovery.d.ts +24 -25
- package/dist/commands/prDiscovery.js +55 -132
- package/dist/commands/prDiscovery.js.map +1 -1
- package/dist/commands/requirementsDiscovery.d.ts +82 -0
- package/dist/commands/requirementsDiscovery.js +127 -0
- package/dist/commands/requirementsDiscovery.js.map +1 -0
- package/dist/commands/reviewCommand.js +75 -8
- package/dist/commands/reviewCommand.js.map +1 -1
- package/dist/commands/reviewDiscovery.d.ts +96 -0
- package/dist/commands/reviewDiscovery.js +180 -0
- package/dist/commands/reviewDiscovery.js.map +1 -0
- package/dist/tui/approvalBridges.d.ts +86 -0
- package/dist/tui/approvalBridges.js +147 -0
- package/dist/tui/approvalBridges.js.map +1 -0
- package/dist/tui/components/App.js +272 -27
- package/dist/tui/components/App.js.map +1 -1
- package/dist/tui/components/DebugPanel.d.ts +6 -3
- package/dist/tui/components/DebugPanel.js +32 -10
- package/dist/tui/components/DebugPanel.js.map +1 -1
- package/dist/tui/components/FetchProgress.d.ts +1 -1
- package/dist/tui/components/LaunchBanner.d.ts +4 -3
- package/dist/tui/components/LaunchBanner.js +8 -6
- package/dist/tui/components/LaunchBanner.js.map +1 -1
- package/dist/tui/components/LiveTurn.d.ts +15 -9
- package/dist/tui/components/LiveTurn.js +15 -14
- package/dist/tui/components/LiveTurn.js.map +1 -1
- package/dist/tui/components/PromptInput.d.ts +2 -2
- package/dist/tui/components/PromptInput.js +11 -6
- package/dist/tui/components/PromptInput.js.map +1 -1
- package/dist/tui/components/ResumePicker.d.ts +69 -0
- package/dist/tui/components/ResumePicker.js +93 -0
- package/dist/tui/components/ResumePicker.js.map +1 -0
- package/dist/tui/components/SelectList.d.ts +1 -1
- package/dist/tui/components/SelectList.js +1 -1
- package/dist/tui/components/SlashCommandMenu.d.ts +1 -1
- package/dist/tui/components/SlashCommandMenu.js +1 -1
- package/dist/tui/components/StatusBar.d.ts +27 -1
- package/dist/tui/components/StatusBar.js +13 -2
- package/dist/tui/components/StatusBar.js.map +1 -1
- package/dist/tui/debugRender.d.ts +26 -3
- package/dist/tui/debugRender.js +232 -2
- package/dist/tui/debugRender.js.map +1 -1
- package/dist/tui/fixtureAgent.d.ts +2 -2
- package/dist/tui/fixtureAgent.js +2 -2
- package/dist/tui/keyBindings.js +7 -1
- package/dist/tui/keyBindings.js.map +1 -1
- package/dist/tui/keyGuards.d.ts +1 -1
- package/dist/tui/keyGuards.js +1 -1
- package/dist/tui/ruleWidth.d.ts +1 -1
- package/dist/tui/ruleWidth.js +1 -1
- package/dist/tui/selectCancelled.d.ts +1 -1
- package/dist/tui/selectCancelled.js +1 -1
- package/dist/tui/transcriptWindow.js +7 -1
- package/dist/tui/transcriptWindow.js.map +1 -1
- package/dist/tui/tuiSessionModule.js +89 -190
- package/dist/tui/tuiSessionModule.js.map +1 -1
- package/dist/tui/types.d.ts +77 -18
- package/dist/tui/useMouse.d.ts +1 -1
- package/dist/tui/useMouse.js +1 -1
- package/dist/tui/useSlothAnimation.d.ts +1 -1
- package/dist/tui/viewModel.d.ts +64 -12
- package/dist/tui/viewModel.js +43 -11
- package/dist/tui/viewModel.js.map +1 -1
- package/dist/utils/configErrorGuard.d.ts +11 -3
- package/dist/utils/configErrorGuard.js +11 -3
- package/dist/utils/configErrorGuard.js.map +1 -1
- package/package.json +18 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prDiscovery.js","sourceRoot":"","sources":["../../src/commands/prDiscovery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prDiscovery.js","sourceRoot":"","sources":["../../src/commands/prDiscovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The agent-running half of change requirements discovery, shared by `gth pr` (discovery mode) and
|
|
3
|
+
* `gth review` (with `commands.review.discovery.enabled`).
|
|
4
|
+
*
|
|
5
|
+
* Each command gathers its own evidence and runs its own deterministic fast path; when that does
|
|
6
|
+
* not settle the requirements, it hands this module a prompt, a user message carrying the evidence
|
|
7
|
+
* as data, and the helper tools it needs (`set_requirements` always, plus `set_diff` and the `gh_*`
|
|
8
|
+
* helpers for `pr`). Everything that is the SAME for both — the configured tool set and its
|
|
9
|
+
* allow-list, the checkpoint saver, the termination announcement — lives here, because each of
|
|
10
|
+
* those was a defect once (EXT-120, EXT-159) and a second copy would have to be fixed a second time.
|
|
11
|
+
*/
|
|
12
|
+
import type { BuiltInToolsSetting, CustomToolsConfig, GthConfig, ServerTool } from '@gaunt-sloth/core/config.js';
|
|
13
|
+
import type { BaseToolkit, StructuredToolInterface } from '@langchain/core/tools';
|
|
14
|
+
/**
|
|
15
|
+
* The discovery settings every command's discovery shares: whether it runs, and which tools the
|
|
16
|
+
* discovery agent gets. `commands.pr.discovery` adds `deterministicDiff` on top.
|
|
17
|
+
*/
|
|
18
|
+
export interface RequirementsDiscoveryConfig {
|
|
19
|
+
/**
|
|
20
|
+
* Enable change requirements discovery. The default differs per command: `true` for `gth pr`,
|
|
21
|
+
* `false` for `gth review`.
|
|
22
|
+
*/
|
|
23
|
+
enabled?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Optional tool overrides used only while the discovery agent runs.
|
|
26
|
+
* When omitted, the normal configured tools remain available.
|
|
27
|
+
*/
|
|
28
|
+
filesystem?: string[] | 'all' | 'read' | 'none';
|
|
29
|
+
builtInTools?: BuiltInToolsSetting;
|
|
30
|
+
customTools?: CustomToolsConfig | false;
|
|
31
|
+
tools?: StructuredToolInterface[] | BaseToolkit[] | ServerTool[];
|
|
32
|
+
/**
|
|
33
|
+
* Restrict the discovery agent to this allow-list of tool names, applied after every tool
|
|
34
|
+
* source (filesystem, built-in, custom, MCP, A2A, and `tools`) is resolved. Unlike
|
|
35
|
+
* `builtInTools`/`customTools`/`filesystem` (which gate whole tool groups), this trims the
|
|
36
|
+
* final tool set by exact name, so it can pare down MCP server tools
|
|
37
|
+
* (e.g. "mcp__jira__getJiraIssue") and the discovery helper tools to the minimum needed.
|
|
38
|
+
*
|
|
39
|
+
* `set_requirements` is always retained regardless, since it is how the discovery agent
|
|
40
|
+
* records the requirements it found. When omitted, all resolved tools remain available; an
|
|
41
|
+
* empty array keeps only `set_requirements`. The discovery agent never inherits the
|
|
42
|
+
* top-level `GthConfig.allowedTools`, nor the command's own `allowedTools`; this property is
|
|
43
|
+
* its only allow-list.
|
|
44
|
+
*/
|
|
45
|
+
allowedTools?: string[];
|
|
46
|
+
}
|
|
47
|
+
/** One discovery agent run, as a command describes it. */
|
|
48
|
+
export interface DiscoveryAgentRun {
|
|
49
|
+
/** The resolved config of the command the discovery runs inside. */
|
|
50
|
+
config: GthConfig;
|
|
51
|
+
/** That command's `discovery` block (tool overrides and the allow-list), if any. */
|
|
52
|
+
discoveryConfig: RequirementsDiscoveryConfig | undefined;
|
|
53
|
+
/** Label only: which verb a notice about this run should name. */
|
|
54
|
+
owningCommand: 'pr' | 'review';
|
|
55
|
+
/**
|
|
56
|
+
* Reads the discovery prompt (mode prompt) for this command. A reader rather than the text so
|
|
57
|
+
* the prompt is read inside the run's `try`, where it always was for `gth pr`: a prompt that
|
|
58
|
+
* fails to read still gets the runner cleaned up and the ending announced.
|
|
59
|
+
*/
|
|
60
|
+
readPrompt: () => string;
|
|
61
|
+
/**
|
|
62
|
+
* The user message. Evidence (a branch name, a PR description) must sit inside a delimited
|
|
63
|
+
* block here, as data — never in the prompt, which is instructions.
|
|
64
|
+
*/
|
|
65
|
+
userMessage: string;
|
|
66
|
+
/**
|
|
67
|
+
* Builds the command's own helper tools, which record their results in the caller's state.
|
|
68
|
+
* Called each time the agent resolves its tools.
|
|
69
|
+
*/
|
|
70
|
+
createDiscoveryTools: () => StructuredToolInterface[];
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Run the requirements discovery agent once, to completion or to whatever ended it. Results come
|
|
74
|
+
* back through the caller's own tools (`set_requirements` and friends), not through the return
|
|
75
|
+
* value. Errors from the run propagate after the termination notice has been printed.
|
|
76
|
+
*/
|
|
77
|
+
export declare function runDiscoveryAgent(run: DiscoveryAgentRun): Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* The config the discovery agent runs with: the command's config with the discovery block's tool
|
|
80
|
+
* overrides applied, and the discovery allow-list in place of every other one.
|
|
81
|
+
*/
|
|
82
|
+
export declare function getDiscoveryAgentConfig(config: GthConfig, discoveryConfig: RequirementsDiscoveryConfig | undefined): GthConfig;
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { GthAgentRunner } from '@gaunt-sloth/core/core/GthAgentRunner.js';
|
|
2
|
+
import { defaultStatusCallback, displayInfo } from '@gaunt-sloth/core/utils/consoleUtils.js';
|
|
3
|
+
import { buildSystemMessages } from '@gaunt-sloth/core/utils/llmUtils.js';
|
|
4
|
+
import { displayTermination } from '@gaunt-sloth/core/core/terminationNotice.js';
|
|
5
|
+
import { HumanMessage } from '@langchain/core/messages';
|
|
6
|
+
import { MemorySaver } from '@langchain/langgraph';
|
|
7
|
+
import { createResolvers } from '@gaunt-sloth/agent/resolvers.js';
|
|
8
|
+
/**
|
|
9
|
+
* Run the requirements discovery agent once, to completion or to whatever ended it. Results come
|
|
10
|
+
* back through the caller's own tools (`set_requirements` and friends), not through the return
|
|
11
|
+
* value. Errors from the run propagate after the termination notice has been printed.
|
|
12
|
+
*/
|
|
13
|
+
export async function runDiscoveryAgent(run) {
|
|
14
|
+
const { config, discoveryConfig, owningCommand } = run;
|
|
15
|
+
const runner = new GthAgentRunner(defaultStatusCallback, createDiscoveryResolvers(run.createDiscoveryTools));
|
|
16
|
+
try {
|
|
17
|
+
// `command` stays undefined so the discovery agent runs on the chat prompt and does NOT pick up
|
|
18
|
+
// the owning command's posture; `owningCommand` is label-only, so a notice about this run says
|
|
19
|
+
// "the pr command" (or "the review command") rather than something the user cannot connect to
|
|
20
|
+
// what they typed (GS2-81).
|
|
21
|
+
//
|
|
22
|
+
// **The checkpoint saver is not optional here, even though `init` accepts none.** An unset
|
|
23
|
+
// command answers approvals (`commandAnswersApprovals`), and every helper tool a discovery
|
|
24
|
+
// agent binds — `set_requirements`, and for `pr` also `set_diff`, `gh_pr`, `gh_diff`,
|
|
25
|
+
// `gh_issue` — has no built-in access class, so all of them are in the rung-independent
|
|
26
|
+
// interrupt set whatever the rung. The first tool call therefore suspends the graph on a
|
|
27
|
+
// LangGraph interrupt, and an interrupt with nowhere to checkpoint throws
|
|
28
|
+
// `MISSING_CHECKPOINTER` instead of suspending — which killed the whole discovery run on its
|
|
29
|
+
// first tool call (EXT-120). That is why the saver lives HERE, in the one function both
|
|
30
|
+
// commands call, rather than at each call site where a second copy could forget it.
|
|
31
|
+
//
|
|
32
|
+
// Per run, not per process: this saver's only job is to hold the graph one discovery run
|
|
33
|
+
// suspends on, and that run dies with the runner it is created beside. `MemorySaver` is what
|
|
34
|
+
// every other surface that drives a gating-capable agent hands the runner.
|
|
35
|
+
//
|
|
36
|
+
// GS2-20 — considered for the durable saver and deliberately kept in memory. This is an internal
|
|
37
|
+
// helper run inside `gth pr` / `gth review`, not a conversation the user had; there is nothing
|
|
38
|
+
// here anyone would ask to resume, and persisting it would put rows in the store with no
|
|
39
|
+
// listing entry.
|
|
40
|
+
await runner.init(undefined, getDiscoveryAgentConfig(config, discoveryConfig), new MemorySaver(), {
|
|
41
|
+
owningCommand,
|
|
42
|
+
});
|
|
43
|
+
await runner.processMessages([
|
|
44
|
+
...buildSystemMessages(config, run.readPrompt()),
|
|
45
|
+
new HumanMessage(run.userMessage),
|
|
46
|
+
]);
|
|
47
|
+
}
|
|
48
|
+
finally {
|
|
49
|
+
await runner.cleanup();
|
|
50
|
+
// [[EXT-159]] — say why the DISCOVERY run ended, because on the ending that matters nobody
|
|
51
|
+
// else will. Shared for the same reason as the saver above: both commands need it, and it was
|
|
52
|
+
// a defect in the one that had it last.
|
|
53
|
+
//
|
|
54
|
+
// Several endings return from `processMessages` normally rather than throwing — the interrupt
|
|
55
|
+
// drain giving up, the tool-error budget and the tool-loop guard ending the graph with
|
|
56
|
+
// `jumpTo: 'end'`, an Esc or abort closing the stream, a tool exception returned as the turn's
|
|
57
|
+
// answer, and a refusal or truncation classified from the provider's own metadata. Each leaves
|
|
58
|
+
// the caller's state unset; `prCommand` then prints "Change requirements discovery did not
|
|
59
|
+
// produce a diff" and RETURNS — so `review`'s own notice, the surface this run's ending used to
|
|
60
|
+
// be attributed to, is never reached. One sentence that fits a dozen unrelated causes, printed
|
|
61
|
+
// while the discriminating fact sat unread on this runner: the exact shape EXT-159 removed.
|
|
62
|
+
//
|
|
63
|
+
// In the `finally`, so the endings that DO throw are announced too. Note the ORDER that buys:
|
|
64
|
+
// the `finally` unwinds ahead of the command's catch, so the notice prints FIRST and the
|
|
65
|
+
// provider's prose (or the approvals negotiation transcript) follows it — a heading, then the
|
|
66
|
+
// detail, rather than `reviewModule`'s error-then-notice.
|
|
67
|
+
//
|
|
68
|
+
// A successful discovery costs nothing: it classifies `completed`, which
|
|
69
|
+
// `shouldAnnounceTermination` suppresses, so the review that follows is not preceded by a
|
|
70
|
+
// notice about the sub-run that fed it. The one case that does print twice is a discovery that
|
|
71
|
+
// ended abnormally AFTER the agent had already set what the review needs — the command then
|
|
72
|
+
// continues to the review, and the user sees this notice and later the review's own. That is
|
|
73
|
+
// two runs with two different endings, each stating its own, which is the intended reading
|
|
74
|
+
// rather than a duplicate.
|
|
75
|
+
//
|
|
76
|
+
// Read after `cleanup()` for the reason `reviewModule` reads it there: the agent is gone by
|
|
77
|
+
// here and the runner snapshots its innermost classification at cleanup.
|
|
78
|
+
try {
|
|
79
|
+
displayTermination(runner.getTerminationReason());
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
/* fail-soft: explaining a run must never be what ends it */
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// The discovery agent streams its final text without a trailing newline, so emit a
|
|
86
|
+
// blank line to separate it from the review agent's output that follows.
|
|
87
|
+
displayInfo('');
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* The config the discovery agent runs with: the command's config with the discovery block's tool
|
|
91
|
+
* overrides applied, and the discovery allow-list in place of every other one.
|
|
92
|
+
*/
|
|
93
|
+
export function getDiscoveryAgentConfig(config, discoveryConfig) {
|
|
94
|
+
const baseTools = discoveryConfig?.tools ?? config.tools ?? [];
|
|
95
|
+
const customTools = discoveryConfig && 'customTools' in discoveryConfig
|
|
96
|
+
? discoveryConfig.customTools
|
|
97
|
+
: config.customTools;
|
|
98
|
+
return {
|
|
99
|
+
...config,
|
|
100
|
+
filesystem: discoveryConfig?.filesystem ?? config.filesystem,
|
|
101
|
+
builtInTools: discoveryConfig?.builtInTools ?? config.builtInTools,
|
|
102
|
+
customTools: customTools === false ? undefined : customTools,
|
|
103
|
+
tools: baseTools,
|
|
104
|
+
// The discovery agent must never inherit the top-level allow-list (e.g. a global
|
|
105
|
+
// `allowedTools: []` meant to keep review agents tool-free would strip set_requirements
|
|
106
|
+
// and silently neuter discovery). Only the command's `discovery.allowedTools` applies here,
|
|
107
|
+
// always augmented with set_requirements so the agent can record what it found. The
|
|
108
|
+
// agent applies this list after every tool source is resolved, so it also gates tools
|
|
109
|
+
// supplied via `tools` in config.
|
|
110
|
+
allowedTools: discoveryConfig?.allowedTools
|
|
111
|
+
? [...new Set([...discoveryConfig.allowedTools, 'set_requirements'])]
|
|
112
|
+
: undefined,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
function createDiscoveryResolvers(createDiscoveryTools) {
|
|
116
|
+
const baseResolvers = createResolvers();
|
|
117
|
+
return {
|
|
118
|
+
...baseResolvers,
|
|
119
|
+
resolveTools: async (effectiveConfig, command) => {
|
|
120
|
+
const baseTools = baseResolvers.resolveTools
|
|
121
|
+
? await baseResolvers.resolveTools(effectiveConfig, command)
|
|
122
|
+
: [];
|
|
123
|
+
return [...baseTools, ...createDiscoveryTools()];
|
|
124
|
+
},
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=requirementsDiscovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requirementsDiscovery.js","sourceRoot":"","sources":["../../src/commands/requirementsDiscovery.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AA8DlE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAsB;IAC5D,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC;IACvD,MAAM,MAAM,GAAG,IAAI,cAAc,CAC/B,qBAAqB,EACrB,wBAAwB,CAAC,GAAG,CAAC,oBAAoB,CAAC,CACnD,CAAC;IACF,IAAI,CAAC;QACH,gGAAgG;QAChG,+FAA+F;QAC/F,8FAA8F;QAC9F,4BAA4B;QAC5B,EAAE;QACF,2FAA2F;QAC3F,2FAA2F;QAC3F,sFAAsF;QACtF,wFAAwF;QACxF,yFAAyF;QACzF,0EAA0E;QAC1E,6FAA6F;QAC7F,wFAAwF;QACxF,oFAAoF;QACpF,EAAE;QACF,yFAAyF;QACzF,6FAA6F;QAC7F,2EAA2E;QAC3E,EAAE;QACF,iGAAiG;QACjG,+FAA+F;QAC/F,yFAAyF;QACzF,iBAAiB;QACjB,MAAM,MAAM,CAAC,IAAI,CACf,SAAS,EACT,uBAAuB,CAAC,MAAM,EAAE,eAAe,CAAC,EAChD,IAAI,WAAW,EAAE,EACjB;YACE,aAAa;SACd,CACF,CAAC;QACF,MAAM,MAAM,CAAC,eAAe,CAAC;YAC3B,GAAG,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC;YAChD,IAAI,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,2FAA2F;QAC3F,8FAA8F;QAC9F,wCAAwC;QACxC,EAAE;QACF,8FAA8F;QAC9F,uFAAuF;QACvF,+FAA+F;QAC/F,+FAA+F;QAC/F,2FAA2F;QAC3F,gGAAgG;QAChG,+FAA+F;QAC/F,4FAA4F;QAC5F,EAAE;QACF,8FAA8F;QAC9F,yFAAyF;QACzF,8FAA8F;QAC9F,0DAA0D;QAC1D,EAAE;QACF,yEAAyE;QACzE,0FAA0F;QAC1F,+FAA+F;QAC/F,4FAA4F;QAC5F,6FAA6F;QAC7F,2FAA2F;QAC3F,2BAA2B;QAC3B,EAAE;QACF,4FAA4F;QAC5F,yEAAyE;QACzE,IAAI,CAAC;YACH,kBAAkB,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,4DAA4D;QAC9D,CAAC;IACH,CAAC;IAED,mFAAmF;IACnF,yEAAyE;IACzE,WAAW,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAiB,EACjB,eAAwD;IAExD,MAAM,SAAS,GAAG,eAAe,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IAC/D,MAAM,WAAW,GACf,eAAe,IAAI,aAAa,IAAI,eAAe;QACjD,CAAC,CAAC,eAAe,CAAC,WAAW;QAC7B,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;IACzB,OAAO;QACL,GAAG,MAAM;QACT,UAAU,EAAE,eAAe,EAAE,UAAU,IAAI,MAAM,CAAC,UAAU;QAC5D,YAAY,EAAE,eAAe,EAAE,YAAY,IAAI,MAAM,CAAC,YAAY;QAClE,WAAW,EAAE,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;QAC5D,KAAK,EAAE,SAAS;QAChB,iFAAiF;QACjF,wFAAwF;QACxF,4FAA4F;QAC5F,oFAAoF;QACpF,sFAAsF;QACtF,kCAAkC;QAClC,YAAY,EAAE,eAAe,EAAE,YAAY;YACzC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC,CAAC;YACrE,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,oBAAqD;IAErD,MAAM,aAAa,GAAG,eAAe,EAAE,CAAC;IACxC,OAAO;QACL,GAAG,aAAa;QAChB,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE;YAC/C,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY;gBAC1C,CAAC,CAAC,MAAM,aAAa,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC;gBAC5D,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,CAAC,GAAG,SAAS,EAAE,GAAG,oBAAoB,EAAE,CAAC,CAAC;QACnD,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Option } from 'commander';
|
|
2
|
-
import { displayError } from '@gaunt-sloth/core/utils/consoleUtils.js';
|
|
3
|
-
import { getStringFromStdin, setExitCode } from '@gaunt-sloth/core/utils/systemUtils.js';
|
|
2
|
+
import { displayError, displayInfo } from '@gaunt-sloth/core/utils/consoleUtils.js';
|
|
3
|
+
import { getStringFromStdin, setExitCode, stdout } from '@gaunt-sloth/core/utils/systemUtils.js';
|
|
4
|
+
import { ApprovalStopError, approvalStopRows } from '@gaunt-sloth/core/core/shell/approvalStop.js';
|
|
4
5
|
import { getCommandSourceInput, getEffectiveContentSource, getEffectiveRequirementSource, getReviewSystemPrompt, withReviewContentSource, } from '#src/commands/commandIntrospection.js';
|
|
5
6
|
import { REQUIREMENTS_SOURCES, CONTENT_SOURCES, } from '#src/commands/commandUtils.js';
|
|
6
7
|
import { wrapContent } from '@gaunt-sloth/core/utils/llmUtils.js';
|
|
@@ -8,6 +9,10 @@ import { readMultipleFilesFromProjectDir } from '@gaunt-sloth/review/utils/fileU
|
|
|
8
9
|
// From the REVIEW package, not this package's own same-named module: both ship a
|
|
9
10
|
// `commands/commandUtils`, and this helper lives only in review's (GS2-45).
|
|
10
11
|
import { resolvePrIdFromArg } from '@gaunt-sloth/review/commands/commandUtils.js';
|
|
12
|
+
import { extractChangedPathsFromDiff } from '@gaunt-sloth/review/utils/diffPaths.js';
|
|
13
|
+
import { writeReviewFailureReport } from '@gaunt-sloth/review/modules/reviewFailureReport.js';
|
|
14
|
+
/** The source label this command passes to `review()`, and therefore names its report file with. */
|
|
15
|
+
const REVIEW_SOURCE = 'REVIEW';
|
|
11
16
|
export function reviewCommand(program, cliConfigOverrides) {
|
|
12
17
|
program
|
|
13
18
|
.command('review')
|
|
@@ -38,9 +43,17 @@ export function reviewCommand(program, cliConfigOverrides) {
|
|
|
38
43
|
// made on config (the review module's `gth_gh_read_file` gate) can never disagree with where
|
|
39
44
|
// the diff actually came from.
|
|
40
45
|
const config = withReviewContentSource(initialConfig, contentSource);
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
46
|
+
// CFG-80 — discovery runs only when enabled and no `--requirements` was given; an explicit
|
|
47
|
+
// `--requirements` always wins.
|
|
48
|
+
const discoverRequirements = !requirementsId && config.commands?.review?.discovery?.enabled === true;
|
|
49
|
+
// With discovery on and no id, the requirement source is not asked for an id-less lookup:
|
|
50
|
+
// discovery is what finds the id, and the id-less call only warns (the Jira source prints
|
|
51
|
+
// "No issue ID provided") — the same reason `gth pr` skips it in discovery mode.
|
|
52
|
+
if (!discoverRequirements) {
|
|
53
|
+
const requirements = await getCommandSourceInput('review', 'requirements', requirementsId, config, requirementSource);
|
|
54
|
+
if (requirements) {
|
|
55
|
+
content.push(requirements);
|
|
56
|
+
}
|
|
44
57
|
}
|
|
45
58
|
// Fail loudly on a content-source error (e.g. the git source outside a repository or with
|
|
46
59
|
// an empty diff) instead of surfacing a raw unhandled rejection — same shape as `gth pr`.
|
|
@@ -49,13 +62,67 @@ export function reviewCommand(program, cliConfigOverrides) {
|
|
|
49
62
|
providedContent = await getCommandSourceInput('review', 'content', contentId, config, contentSource);
|
|
50
63
|
}
|
|
51
64
|
catch (error) {
|
|
52
|
-
|
|
65
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
66
|
+
displayError(message);
|
|
67
|
+
// REL-20 — `gth review` fails before inference the same way `gth pr` does (the git source
|
|
68
|
+
// outside a repository, the GitHub source on a diff too large to fetch), so it owes the
|
|
69
|
+
// same report. The two commands share this exit; they must not diverge on it.
|
|
70
|
+
writeReviewFailureReport(config, REVIEW_SOURCE, 'review', message);
|
|
53
71
|
setExitCode(1);
|
|
54
72
|
return;
|
|
55
73
|
}
|
|
74
|
+
// CFG-70 — the changed paths come from `providedContent` alone, never from `content`, which
|
|
75
|
+
// by the time it is passed also holds the requirements, the `--file` contents, stdin and
|
|
76
|
+
// `--message`. A requirements document that quotes a diff would otherwise inject paths this
|
|
77
|
+
// change never touched, attaching another module's guidelines to it.
|
|
78
|
+
//
|
|
79
|
+
// Inside the same truthiness guard as the push: `getCommandSourceInput` is TYPED as
|
|
80
|
+
// returning a string but resolves to nothing when a source produces no content, which is
|
|
81
|
+
// what the guard below has always been for.
|
|
82
|
+
let changedPaths = [];
|
|
56
83
|
if (providedContent) {
|
|
84
|
+
changedPaths = extractChangedPathsFromDiff(providedContent);
|
|
57
85
|
content.push(providedContent);
|
|
58
86
|
}
|
|
87
|
+
// CFG-80 — requirements discovery. After the content fetch, so a review that cannot get its
|
|
88
|
+
// diff never spends a discovery agent run; the discovered requirements still go FIRST in the
|
|
89
|
+
// content, where `--requirements` puts them. With discovery off (the default) nothing here
|
|
90
|
+
// runs: no git, no gh, no agent, so the review runs and prints exactly what it did before.
|
|
91
|
+
if (discoverRequirements) {
|
|
92
|
+
const { runReviewDiscovery } = await import('#src/commands/reviewDiscovery.js');
|
|
93
|
+
try {
|
|
94
|
+
// Bound to the same PR id the review tools are bound to below (CFG-54), so a
|
|
95
|
+
// `gth review 42 --content-source github` finds PR 42's requirements rather than the
|
|
96
|
+
// checked-out branch's.
|
|
97
|
+
const discovered = await runReviewDiscovery(config, requirementSource, {
|
|
98
|
+
prId: resolvePrIdFromArg(contentId),
|
|
99
|
+
});
|
|
100
|
+
if (discovered) {
|
|
101
|
+
content.unshift(wrapContent(discovered, 'discovered-requirements', 'requirements'));
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
displayInfo('Requirements discovery found no requirements; reviewing without them.');
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
// Same handling as `gth pr`'s discovery: the agent runs inside a try/finally with no
|
|
109
|
+
// catch of its own, so an approvals stop or a provider error from it lands here. It fails
|
|
110
|
+
// the run rather than silently reviewing without the requirements the user asked for.
|
|
111
|
+
if (error instanceof ApprovalStopError) {
|
|
112
|
+
for (const row of approvalStopRows(error.parts, { columns: stdout.columns })) {
|
|
113
|
+
displayError(row);
|
|
114
|
+
}
|
|
115
|
+
writeReviewFailureReport(config, REVIEW_SOURCE, 'review', error.message);
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
119
|
+
displayError(message);
|
|
120
|
+
writeReviewFailureReport(config, REVIEW_SOURCE, 'review', message);
|
|
121
|
+
}
|
|
122
|
+
setExitCode(1);
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
59
126
|
if (options.file) {
|
|
60
127
|
content.push(readMultipleFilesFromProjectDir(options.file));
|
|
61
128
|
}
|
|
@@ -68,14 +135,14 @@ export function reviewCommand(program, cliConfigOverrides) {
|
|
|
68
135
|
}
|
|
69
136
|
const { review } = await import('@gaunt-sloth/review/modules/reviewModule.js');
|
|
70
137
|
const { createResolvers } = await import('@gaunt-sloth/agent/resolvers.js');
|
|
71
|
-
await review(
|
|
138
|
+
await review(REVIEW_SOURCE, getReviewSystemPrompt(config), content.join('\n'), config, 'review', createResolvers(),
|
|
72
139
|
// Bind GitHub-only review tools (gth_gh_read_file) to the pull request this run's DIFF
|
|
73
140
|
// came from. Without it they resolve the PR from the checked-out branch instead, so a
|
|
74
141
|
// `gth review 42 --content-source github` reviews PR 42's diff against a different pull
|
|
75
142
|
// request's files, silently. `contentId` is a content id rather than a PR id — a ref
|
|
76
143
|
// range or a file path under the other sources — so only a bare number is taken as one;
|
|
77
144
|
// anything else, including no argument at all, keeps the branch-discovery fallback.
|
|
78
|
-
{ prId: resolvePrIdFromArg(contentId) });
|
|
145
|
+
{ prId: resolvePrIdFromArg(contentId), changedPaths });
|
|
79
146
|
});
|
|
80
147
|
}
|
|
81
148
|
//# sourceMappingURL=reviewCommand.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewCommand.js","sourceRoot":"","sources":["../../src/commands/reviewCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"reviewCommand.js","sourceRoot":"","sources":["../../src/commands/reviewCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CFG-80 — `gth review` finds its own requirements, the way `gth pr` with no arguments does.
|
|
3
|
+
*
|
|
4
|
+
* Runs only when `commands.review.discovery.enabled` is true and no `--requirements` was given.
|
|
5
|
+
* The evidence is exactly what `gth pr`'s discovery reads: the current branch name and, best
|
|
6
|
+
* effort, the current branch's pull request via `gh pr view`. A Jira key in that evidence resolves
|
|
7
|
+
* through the configured Jira requirement source with no agent run; otherwise the discovery agent
|
|
8
|
+
* runs, through the same shared function `gth pr` uses ({@link runDiscoveryAgent}).
|
|
9
|
+
*
|
|
10
|
+
* **Commit subjects are deliberately absent.** They are CFG-80's second step, and when they come
|
|
11
|
+
* they must list the commits from the merge base that `resolveMergeBase` (in
|
|
12
|
+
* `@gaunt-sloth/review/utils/git.js`) computes — the one resolver the git content source diffs
|
|
13
|
+
* against — so the reviewed diff and the evidence beside it can never disagree about the base.
|
|
14
|
+
* Recovering a range any other way (from the diff text, or from `<base>..HEAD` on a branch other
|
|
15
|
+
* people have merged into) would sweep unrelated commits, and the keys in them, into the evidence.
|
|
16
|
+
*/
|
|
17
|
+
import type { GthConfig } from '@gaunt-sloth/core/config.js';
|
|
18
|
+
import { type RequirementsDiscoveryConfig } from '#src/commands/requirementsDiscovery.js';
|
|
19
|
+
export declare const GSLOTH_REVIEW_DISCOVERY_PROMPT = ".gsloth.review-discovery.md";
|
|
20
|
+
/**
|
|
21
|
+
* `commands.review.discovery`. The same shape as `commands.pr.discovery` less `deterministicDiff`:
|
|
22
|
+
* the review's diff comes from its content source, so discovery has no diff to fetch.
|
|
23
|
+
*/
|
|
24
|
+
export interface ReviewDiscoveryConfig extends RequirementsDiscoveryConfig {
|
|
25
|
+
/**
|
|
26
|
+
* Enable requirements discovery for `gth review` when no `--requirements` is given.
|
|
27
|
+
*
|
|
28
|
+
* Off by default, unlike `commands.pr.discovery`. `gth review` has always run without
|
|
29
|
+
* requirements unless given some; turning discovery on silently would add a `git` and a `gh`
|
|
30
|
+
* call, possibly an issue-tracker call and an agent run, to every review anyone runs. `gth pr`
|
|
31
|
+
* with no arguments is itself the request for discovery, so its default stays on.
|
|
32
|
+
* @default false
|
|
33
|
+
*/
|
|
34
|
+
enabled?: boolean;
|
|
35
|
+
}
|
|
36
|
+
declare module '@gaunt-sloth/core/config.js' {
|
|
37
|
+
interface ReviewCommandConfig {
|
|
38
|
+
/** Requirements discovery for `gth review` with no `--requirements`. */
|
|
39
|
+
discovery?: ReviewDiscoveryConfig;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Read the review discovery agent prompt, honouring project / identity-profile overrides and
|
|
44
|
+
* falling back to the default prompt shipped with the assistant package.
|
|
45
|
+
*/
|
|
46
|
+
export declare function readReviewDiscoveryPrompt(config: Pick<GthConfig, 'identityProfile' | 'noDefaultPrompts'>): string;
|
|
47
|
+
/** What the review discovery found out about the change, before any agent runs. */
|
|
48
|
+
export interface ReviewDiscoveryEvidence {
|
|
49
|
+
/** The current branch name, or '' on a detached HEAD or outside a repository. */
|
|
50
|
+
branch: string;
|
|
51
|
+
/** The current branch's PR as `gh pr view` formats it, or '' when there is none. */
|
|
52
|
+
prMetadata: string;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* The current branch name, from `git rev-parse --abbrev-ref HEAD`.
|
|
56
|
+
*
|
|
57
|
+
* Returns '' — no evidence, never an error — on a detached HEAD (git prints the literal `HEAD`
|
|
58
|
+
* there, on every platform), on an unborn branch or outside a repository (git fails), and when
|
|
59
|
+
* git is not installed.
|
|
60
|
+
*/
|
|
61
|
+
export declare function readCurrentBranchName(): Promise<string>;
|
|
62
|
+
/** Which change the review is of, when the command line names one. */
|
|
63
|
+
export interface ReviewDiscoveryTarget {
|
|
64
|
+
/**
|
|
65
|
+
* The pull request the review's diff comes from (`gth review 42 --content-source github`), the
|
|
66
|
+
* same id `reviewCommand` binds the review tools to. When set, the evidence is that PR alone:
|
|
67
|
+
* the checked-out branch may be a different change entirely, and requirements taken from it
|
|
68
|
+
* would grade PR 42 against another ticket.
|
|
69
|
+
*/
|
|
70
|
+
prId?: string;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Every distinct Jira key the evidence names: each key in the branch name, and the key `gth pr`'s
|
|
74
|
+
* own rules pick from the PR metadata ({@link extractJiraIssueKey}, unchanged). The fast path
|
|
75
|
+
* takes a key only when this set has exactly one member. Branch and PR disagreeing — a branch
|
|
76
|
+
* named for one ticket whose PR description points at another — is exactly the case where
|
|
77
|
+
* picking either would grade the review against the wrong ticket, so it goes to the agent.
|
|
78
|
+
*/
|
|
79
|
+
export declare function collectJiraIssueKeys(evidence: ReviewDiscoveryEvidence): Set<string>;
|
|
80
|
+
/**
|
|
81
|
+
* The user message. The evidence enters here, inside delimited blocks and labelled as data, never
|
|
82
|
+
* in the system prompt: a branch name and a PR description are written by whoever pushed the
|
|
83
|
+
* branch, and the requirements the agent sets are what the review is then graded against.
|
|
84
|
+
*/
|
|
85
|
+
export declare function buildReviewDiscoveryUserMessage(evidence: ReviewDiscoveryEvidence): string;
|
|
86
|
+
/**
|
|
87
|
+
* Discover requirements for `gth review`. Returns the requirements text, or '' when none were
|
|
88
|
+
* found. Errors from the discovery agent propagate (the caller reports them as `gth pr` does).
|
|
89
|
+
*
|
|
90
|
+
* @param requirementSource the review's effective requirement source (`-p`, else
|
|
91
|
+
* `commands.review.requirementSource`, else the root `requirementSource`).
|
|
92
|
+
* @param target the change the command line names, if any. A git ref range is not a target: the
|
|
93
|
+
* evidence for it is still the checked-out branch, which is the branch under review in the
|
|
94
|
+
* intended use (`gth review main` on a feature branch).
|
|
95
|
+
*/
|
|
96
|
+
export declare function runReviewDiscovery(config: GthConfig, requirementSource: string | undefined, target?: ReviewDiscoveryTarget): Promise<string>;
|