gaunt-sloth 2.0.0-beta.1 → 2.0.0-beta.3
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/LICENSE +6 -6
- package/dist/cli.js +6 -4
- package/dist/cli.js.map +1 -1
- package/dist/commands/askCommand.js +1 -1
- package/dist/commands/askCommand.js.map +1 -1
- package/dist/commands/batchCommand.js +2 -2
- package/dist/commands/batchCommand.js.map +1 -1
- package/dist/commands/commandIntrospection.d.ts +1 -1
- package/dist/commands/commandIntrospection.js +1 -1
- package/dist/commands/configSetup.d.ts +13 -1
- package/dist/commands/configSetup.js +27 -6
- package/dist/commands/configSetup.js.map +1 -1
- package/dist/commands/execCommand.js +1 -1
- package/dist/commands/execCommand.js.map +1 -1
- package/dist/commands/firstRunDialog.d.ts +8 -3
- package/dist/commands/firstRunDialog.js +41 -13
- package/dist/commands/firstRunDialog.js.map +1 -1
- package/dist/commands/initCommand.d.ts +11 -1
- package/dist/commands/initCommand.js +21 -4
- package/dist/commands/initCommand.js.map +1 -1
- package/dist/commands/prDiscovery.js +14 -1
- package/dist/commands/prDiscovery.js.map +1 -1
- package/dist/modules/startSession.js +6 -2
- package/dist/modules/startSession.js.map +1 -1
- package/dist/tui/components/App.js +301 -61
- package/dist/tui/components/App.js.map +1 -1
- package/dist/tui/components/ApprovalPrompt.d.ts +57 -33
- package/dist/tui/components/ApprovalPrompt.js +61 -140
- package/dist/tui/components/ApprovalPrompt.js.map +1 -1
- package/dist/tui/components/ApprovalRequestPanel.d.ts +40 -0
- package/dist/tui/components/ApprovalRequestPanel.js +63 -0
- package/dist/tui/components/ApprovalRequestPanel.js.map +1 -0
- package/dist/tui/components/DebugPanel.js +4 -1
- package/dist/tui/components/DebugPanel.js.map +1 -1
- package/dist/tui/components/LiveTurn.d.ts +14 -1
- package/dist/tui/components/LiveTurn.js +63 -23
- package/dist/tui/components/LiveTurn.js.map +1 -1
- package/dist/tui/components/NegotiationPanel.d.ts +32 -0
- package/dist/tui/components/NegotiationPanel.js +52 -0
- package/dist/tui/components/NegotiationPanel.js.map +1 -0
- package/dist/tui/components/TranscriptViewport.js +8 -1
- package/dist/tui/components/TranscriptViewport.js.map +1 -1
- package/dist/tui/debugRender.d.ts +1 -1
- package/dist/tui/debugRender.js +1 -1
- package/dist/tui/transcriptWindow.js +47 -8
- package/dist/tui/transcriptWindow.js.map +1 -1
- package/dist/tui/tuiSessionModule.d.ts +1 -1
- package/dist/tui/tuiSessionModule.js +101 -16
- package/dist/tui/tuiSessionModule.js.map +1 -1
- package/dist/tui/types.d.ts +52 -6
- package/dist/tui/viewModel.d.ts +107 -2
- package/dist/tui/viewModel.js +69 -5
- package/dist/tui/viewModel.js.map +1 -1
- package/package.json +14 -14
package/LICENSE
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
Copyright 2025-present Andrew Kondratev
|
|
2
|
-
|
|
3
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
4
|
-
|
|
5
|
-
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
6
|
-
|
|
1
|
+
Copyright 2025-present Andrew Kondratev
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
4
|
+
|
|
5
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
6
|
+
|
|
7
7
|
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
package/dist/cli.js
CHANGED
|
@@ -18,6 +18,7 @@ import { modelsCommand } from '#src/commands/modelsCommand.js';
|
|
|
18
18
|
import { argv, exit, getSlothVersion, readStdin } from '@gaunt-sloth/core/utils/systemUtils.js';
|
|
19
19
|
import { commandSkipsStdin, resolveInvokedCommandName } from '#src/utils/stdinPolicy.js';
|
|
20
20
|
import { guardProgramConfigErrors } from '#src/utils/configErrorGuard.js';
|
|
21
|
+
import { CONFLICTING_CONFIG_SOURCES_MESSAGE } from '@gaunt-sloth/core/config.js';
|
|
21
22
|
import { coerceBooleanOrString, displayError } from '@gaunt-sloth/core/utils/consoleUtils.js';
|
|
22
23
|
import { installCrashHandler } from '@gaunt-sloth/core/utils/crashHandler.js';
|
|
23
24
|
// GS2-48 — install the process-level crash handler as early as possible, so an uncaughtException /
|
|
@@ -60,11 +61,12 @@ if (program.getOptionValue('config')) {
|
|
|
60
61
|
}
|
|
61
62
|
// CFG-56 — `-g/--global` and `-c/--config` both choose WHERE configuration comes from, and
|
|
62
63
|
// honouring either one makes the other a silent no-op. Refuse the pair here, before anything is
|
|
63
|
-
// read, rather than quietly loading one source while the user watches for the other.
|
|
64
|
+
// read, rather than quietly loading one source while the user watches for the other. The loader
|
|
65
|
+
// refuses the same pair wherever config is built (CFG-57), so an embedder is covered too; both
|
|
66
|
+
// speak the one shared sentence.
|
|
64
67
|
if (program.getOptionValue('global')) {
|
|
65
68
|
if (cliConfigOverrides.customConfigPath) {
|
|
66
|
-
displayError(
|
|
67
|
-
'(the global config in ~/.gsloth versus the named file). Pass only one.');
|
|
69
|
+
displayError(CONFLICTING_CONFIG_SOURCES_MESSAGE);
|
|
68
70
|
exit(1);
|
|
69
71
|
}
|
|
70
72
|
cliConfigOverrides.global = true;
|
|
@@ -97,7 +99,7 @@ if (coerced !== undefined) {
|
|
|
97
99
|
cliConfigOverrides.writeOutputToFile = coerced;
|
|
98
100
|
}
|
|
99
101
|
// Initialize all commands - they will handle their own config loading
|
|
100
|
-
initCommand(program);
|
|
102
|
+
initCommand(program, cliConfigOverrides);
|
|
101
103
|
reviewCommand(program, cliConfigOverrides);
|
|
102
104
|
prCommand(program, cliConfigOverrides);
|
|
103
105
|
askCommand(program, cliConfigOverrides);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAChG,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -77,7 +77,7 @@ export function askCommand(program, commandLineConfigOverrides) {
|
|
|
77
77
|
let ok = false;
|
|
78
78
|
try {
|
|
79
79
|
({ ok } = await runSingleShot('ASK', getAskSystemPrompt(config), content.join('\n'), config, createResolvers(), 'ask',
|
|
80
|
-
// ask
|
|
80
|
+
// ask asks for the lean backend, the only one shipped; config.agent.backend names no other.
|
|
81
81
|
resolveAgentFactory(config, 'lean')));
|
|
82
82
|
}
|
|
83
83
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"askCommand.js","sourceRoot":"","sources":["../../src/commands/askCommand.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"askCommand.js","sourceRoot":"","sources":["../../src/commands/askCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -79,8 +79,8 @@ export async function buildProductionRunCell(baseConfig, preamble, commandLineCo
|
|
|
79
79
|
const resolvers = createResolvers();
|
|
80
80
|
try {
|
|
81
81
|
const { ok, answer, tokensInput, tokensOutput, tools, toolResults } = await runSingleShot(`${options.sourcePrefix}-${cell.id}`, preamble, content, cellConfig, resolvers, options.command,
|
|
82
|
-
// batch/eval
|
|
83
|
-
// config.agent.backend
|
|
82
|
+
// batch/eval ask for the lean backend, same as exec/ask — the only one shipped;
|
|
83
|
+
// config.agent.backend names no other.
|
|
84
84
|
resolveAgentFactory(cellConfig, 'lean'), { displayCommand: options.displayCommand });
|
|
85
85
|
return { ok, answer, tokensInput, tokensOutput, tools, toolResults };
|
|
86
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batchCommand.js","sourceRoot":"","sources":["../../src/commands/batchCommand.ts"],"names":[],"mappings":"AACA,OAAO,EAA8B,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAGrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EACL,WAAW,EACX,cAAc,EACd,cAAc,GACf,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,+BAA+B,GAChC,MAAM,sCAAsC,CAAC;AAgB9C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAS,wBAAwB,CAC/B,UAAqB,EACrB,0BAAsD;IAEtD,MAAM,cAAc,GAAG,IAAI,GAAG,EAA8B,CAAC;IAE7D,OAAO,CAAC,KAAyB,EAAsB,EAAE;QACvD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,UAAU,CAAC,EAAE,GAAG,0BAA0B,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9D,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAyBD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,UAAqB,EACrB,QAAgB,EAChB,0BAAsD,EACtD,OAAiC;IAEjC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,yCAAyC,CAAC,CAAC;IAClF,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;IAC5E,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,gDAAgD,CAAC,CAAC;IAE/F,MAAM,sBAAsB,GAAG,wBAAwB,CAAC,UAAU,EAAE,0BAA0B,CAAC,CAAC;IAEhG,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;QACpB,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAc;YAC5B,GAAG,WAAW;YACd,4BAA4B,EAAE,KAAK;YACnC,iBAAiB,EAAE,KAAK;SACzB,CAAC;QACF,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAE7F,0FAA0F;QAC1F,6FAA6F;QAC7F,0FAA0F;QAC1F,8FAA8F;QAC9F,0CAA0C;QAC1C,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,aAAa,CACvF,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,EAAE,EAAE,EACpC,QAAQ,EACR,OAAO,EACP,UAAU,EACV,SAAS,EACT,OAAO,CAAC,OAAO;YACf,
|
|
1
|
+
{"version":3,"file":"batchCommand.js","sourceRoot":"","sources":["../../src/commands/batchCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export declare function getExecSystemPrompt(config: GthConfig): string;
|
|
|
8
8
|
/**
|
|
9
9
|
* The system prompt a `review` / `pr` run sends.
|
|
10
10
|
*
|
|
11
|
-
* Composed from the same segments, in the same order, that the agent
|
|
11
|
+
* Composed from the same segments, in the same order, that the agent composes for these
|
|
12
12
|
* commands — backstory + guidelines + the review instructions (the `review`/`pr` mode prompt) +
|
|
13
13
|
* system prompt. `commandIntrospectionReviewPrompt.spec.ts` pins the two against each other, so a
|
|
14
14
|
* change to what a review run is given cannot leave `gth get system-prompt review` reporting the
|
|
@@ -15,7 +15,7 @@ export function getExecSystemPrompt(config) {
|
|
|
15
15
|
/**
|
|
16
16
|
* The system prompt a `review` / `pr` run sends.
|
|
17
17
|
*
|
|
18
|
-
* Composed from the same segments, in the same order, that the agent
|
|
18
|
+
* Composed from the same segments, in the same order, that the agent composes for these
|
|
19
19
|
* commands — backstory + guidelines + the review instructions (the `review`/`pr` mode prompt) +
|
|
20
20
|
* system prompt. `commandIntrospectionReviewPrompt.spec.ts` pins the two against each other, so a
|
|
21
21
|
* change to what a review run is given cannot leave `gth get system-prompt review` reporting the
|
|
@@ -1,4 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Where {@link createProjectConfig} writes the scaffolded config. Mirrors {@link ConfigScope}
|
|
3
|
+
* (firstRunDialog.ts) but as a destination the scriptable `gth init <provider>` path is told
|
|
4
|
+
* rather than a choice it asks for: `global: true` selects `~/.gsloth/` (or its named profile
|
|
5
|
+
* dir); `global: false`/omitted keeps the existing project default.
|
|
6
|
+
*/
|
|
7
|
+
export interface CreateProjectConfigDest {
|
|
8
|
+
/** Write into the global `~/.gsloth` tree instead of the project's `.gsloth/`. */
|
|
9
|
+
global?: boolean;
|
|
10
|
+
/** Named profile subdirectory within `.gsloth-settings/` (project or global, per `global`). */
|
|
11
|
+
identityProfile?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function createProjectConfig(configType: string, force?: boolean, dest?: CreateProjectConfigDest): Promise<void>;
|
|
2
14
|
/**
|
|
3
15
|
* Ensures that the .gsloth directory exists in the project root.
|
|
4
16
|
* Creates it if it does not exist.
|
|
@@ -1,29 +1,50 @@
|
|
|
1
1
|
import { GSLOTH_DIR, USER_PROJECT_CONFIG_JSON } from '@gaunt-sloth/core/constants.js';
|
|
2
|
-
import { availableDefaultConfigs } from '@gaunt-sloth/core/config.js';
|
|
2
|
+
import { availableDefaultConfigs, validateProfileName, } from '@gaunt-sloth/core/config.js';
|
|
3
3
|
import { resolveInitModel } from '@gaunt-sloth/core/providers/modelDiscovery.js';
|
|
4
4
|
import { displayError, displayInfo, displayWarning } from '@gaunt-sloth/core/utils/consoleUtils.js';
|
|
5
5
|
import { getGslothConfigWritePath } from '@gaunt-sloth/review/utils/fileUtils.js';
|
|
6
|
+
import { getGlobalGslothConfigWritePath } from '@gaunt-sloth/core/utils/globalConfigUtils.js';
|
|
6
7
|
import { exit, getCurrentWorkDir } from '@gaunt-sloth/core/utils/systemUtils.js';
|
|
7
8
|
import { existsSync, mkdirSync } from 'node:fs';
|
|
8
9
|
import { resolve } from 'node:path';
|
|
9
|
-
export async function createProjectConfig(configType, force = false) {
|
|
10
|
+
export async function createProjectConfig(configType, force = false, dest = {}) {
|
|
10
11
|
if (!availableDefaultConfigs.includes(configType)) {
|
|
11
12
|
displayError(`Unknown config type: ${configType}. Available options: ${availableDefaultConfigs.join(', ')}`);
|
|
12
13
|
exit(1);
|
|
13
14
|
}
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
// GS2-33 — a bad profile name must never reach a mkdir or a write.
|
|
16
|
+
let identityProfile = dest.identityProfile;
|
|
17
|
+
if (identityProfile !== undefined) {
|
|
18
|
+
try {
|
|
19
|
+
identityProfile = validateProfileName(identityProfile);
|
|
20
|
+
}
|
|
21
|
+
catch (err) {
|
|
22
|
+
displayError(err instanceof Error ? err.message : String(err));
|
|
23
|
+
exit(1);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const global = !!dest.global;
|
|
28
|
+
if (global) {
|
|
29
|
+
displayInfo(`Setting up your global configuration\n`);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
ensureGslothDir();
|
|
33
|
+
displayInfo(`Setting up your project\n`);
|
|
34
|
+
}
|
|
16
35
|
// GS2-43: `gth init` scaffolds the config file ONLY. The planted `.gsloth.guidelines.md` /
|
|
17
36
|
// `.gsloth.review.md` templates are gone — the bundled defaults (empty guidelines, a complete
|
|
18
37
|
// review prompt) apply until the user creates their own files or points `prompts.*` elsewhere.
|
|
19
38
|
// Without --force, keep an existing config (and say so honestly) rather than running
|
|
20
39
|
// the provider init, whose no-clobber write would silently skip and leave a misleading trail.
|
|
21
|
-
const configPath =
|
|
40
|
+
const configPath = global
|
|
41
|
+
? getGlobalGslothConfigWritePath(USER_PROJECT_CONFIG_JSON, identityProfile)
|
|
42
|
+
: getGslothConfigWritePath(USER_PROJECT_CONFIG_JSON, identityProfile);
|
|
22
43
|
if (!force && existsSync(configPath)) {
|
|
23
44
|
displayWarning(`${configPath} already exists and was kept (not overwritten). Re-run with --force to overwrite it.`);
|
|
24
45
|
return;
|
|
25
46
|
}
|
|
26
|
-
displayInfo(`Creating project config for ${configType}`);
|
|
47
|
+
displayInfo(`Creating ${global ? 'global ' : 'project '}config for ${configType}`);
|
|
27
48
|
// CFG-14: resolve the model to write from live `/v1/models` discovery when a key/daemon is
|
|
28
49
|
// present (a verified-present id, never a speculative literal). When live discovery is
|
|
29
50
|
// impossible this returns undefined and `init` omits `model`, deferring to the provider's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configSetup.js","sourceRoot":"","sources":["../../src/commands/configSetup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AACtF,OAAO,
|
|
1
|
+
{"version":3,"file":"configSetup.js","sourceRoot":"","sources":["../../src/commands/configSetup.ts"],"names":[],"mappings":"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"}
|
|
@@ -114,7 +114,7 @@ export function execCommand(program, commandLineConfigOverrides) {
|
|
|
114
114
|
let ok = false;
|
|
115
115
|
try {
|
|
116
116
|
({ ok } = await runSingleShot('EXEC', getExecSystemPrompt(execConfig), content.join('\n'), execConfig, createResolvers(), 'exec',
|
|
117
|
-
// exec
|
|
117
|
+
// exec asks for the lean backend, the only one shipped; config.agent.backend names no other.
|
|
118
118
|
resolveAgentFactory(execConfig, 'lean')));
|
|
119
119
|
}
|
|
120
120
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execCommand.js","sourceRoot":"","sources":["../../src/commands/execCommand.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"execCommand.js","sourceRoot":"","sources":["../../src/commands/execCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,8 +71,13 @@ export declare function defaultModelIndex(models: ModelInfo[]): number;
|
|
|
71
71
|
* `init <provider>` template, which omits the model to track the curated fallback, CFG-14).
|
|
72
72
|
*/
|
|
73
73
|
export declare function buildConfigContent(providerId: ProviderId, model: string): string;
|
|
74
|
-
/**
|
|
75
|
-
|
|
74
|
+
/**
|
|
75
|
+
* Resolves the config write path for the chosen scope (CFG-3 layering). When `identityProfile` is
|
|
76
|
+
* set, the path is the named profile's config within that scope's settings tree
|
|
77
|
+
* (`.gsloth/.gsloth-settings/<profile>/` or `~/.gsloth/.gsloth-settings/<profile>/`) rather than
|
|
78
|
+
* the unscoped project/global config file.
|
|
79
|
+
*/
|
|
80
|
+
export declare function resolveConfigWritePath(scope: ConfigScope, identityProfile?: string): string;
|
|
76
81
|
/**
|
|
77
82
|
* CFG-9 — an explicit, readable readiness label for a provider in the menu. The old bare
|
|
78
83
|
* `✓`/blank mark read like a selection checkbox; this spells the state out instead.
|
|
@@ -96,5 +101,5 @@ export declare function makeDefaultProgress(): <T>(label: string, run: () => Pro
|
|
|
96
101
|
* the project scope, ensures the `.gsloth` dir exists). Nothing else is planted —
|
|
97
102
|
* the bundled prompt defaults apply until the user adds files or `prompts.*` config.
|
|
98
103
|
*/
|
|
99
|
-
export declare function runFirstRunDialog(overrides?: Partial<FirstRunDialogDeps>, force?: boolean, forcedScope?: ConfigScope): Promise<void>;
|
|
104
|
+
export declare function runFirstRunDialog(overrides?: Partial<FirstRunDialogDeps>, force?: boolean, forcedScope?: ConfigScope, identityProfile?: string): Promise<void>;
|
|
100
105
|
export {};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { USER_PROJECT_CONFIG_JSON } from '@gaunt-sloth/core/constants.js';
|
|
2
2
|
import { buildInitConfigContent, detectProviders, discoverModelsWithProvenance, INTERACTIVE_MODEL_FETCH_TIMEOUT_MS, } from '@gaunt-sloth/core/providers/modelDiscovery.js';
|
|
3
3
|
import { getGlobalGslothConfigWritePath } from '@gaunt-sloth/core/utils/globalConfigUtils.js';
|
|
4
|
-
import {
|
|
4
|
+
import { validateProfileName } from '@gaunt-sloth/core/config.js';
|
|
5
|
+
import { displayError, displayInfo, displaySuccess, displayWarning, } from '@gaunt-sloth/core/utils/consoleUtils.js';
|
|
5
6
|
import { createInterface, env, stdin, stdout, } from '@gaunt-sloth/core/utils/systemUtils.js';
|
|
6
7
|
import { getGslothConfigWritePath, writeFileWithMessages, } from '@gaunt-sloth/review/utils/fileUtils.js';
|
|
7
8
|
import { ensureGslothDir } from '#src/commands/configSetup.js';
|
|
@@ -42,11 +43,16 @@ export function defaultModelIndex(models) {
|
|
|
42
43
|
export function buildConfigContent(providerId, model) {
|
|
43
44
|
return `${buildInitConfigContent(providerId, model)}\n`;
|
|
44
45
|
}
|
|
45
|
-
/**
|
|
46
|
-
|
|
46
|
+
/**
|
|
47
|
+
* Resolves the config write path for the chosen scope (CFG-3 layering). When `identityProfile` is
|
|
48
|
+
* set, the path is the named profile's config within that scope's settings tree
|
|
49
|
+
* (`.gsloth/.gsloth-settings/<profile>/` or `~/.gsloth/.gsloth-settings/<profile>/`) rather than
|
|
50
|
+
* the unscoped project/global config file.
|
|
51
|
+
*/
|
|
52
|
+
export function resolveConfigWritePath(scope, identityProfile) {
|
|
47
53
|
return scope === 'global'
|
|
48
|
-
? getGlobalGslothConfigWritePath(USER_PROJECT_CONFIG_JSON)
|
|
49
|
-
: getGslothConfigWritePath(USER_PROJECT_CONFIG_JSON);
|
|
54
|
+
? getGlobalGslothConfigWritePath(USER_PROJECT_CONFIG_JSON, identityProfile)
|
|
55
|
+
: getGslothConfigWritePath(USER_PROJECT_CONFIG_JSON, identityProfile);
|
|
50
56
|
}
|
|
51
57
|
/**
|
|
52
58
|
* CFG-9 — an explicit, readable readiness label for a provider in the menu. The old bare
|
|
@@ -84,10 +90,12 @@ async function promptMenu(ask, question, count, defaultIdx) {
|
|
|
84
90
|
displayWarning(`Please enter a number between 1 and ${count}.`);
|
|
85
91
|
}
|
|
86
92
|
}
|
|
87
|
-
function
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
93
|
+
function makeDefaultWriteConfig(identityProfile) {
|
|
94
|
+
return (scope, content) => {
|
|
95
|
+
const path = resolveConfigWritePath(scope, identityProfile);
|
|
96
|
+
writeFileWithMessages(path, content);
|
|
97
|
+
return path;
|
|
98
|
+
};
|
|
91
99
|
}
|
|
92
100
|
/**
|
|
93
101
|
* CFG-11 — true when the current environment can drive the Ink arrow-key selector. Reuses the
|
|
@@ -156,7 +164,18 @@ export function makeDefaultProgress() {
|
|
|
156
164
|
* the project scope, ensures the `.gsloth` dir exists). Nothing else is planted —
|
|
157
165
|
* the bundled prompt defaults apply until the user adds files or `prompts.*` config.
|
|
158
166
|
*/
|
|
159
|
-
export async function runFirstRunDialog(overrides = {}, force = false, forcedScope) {
|
|
167
|
+
export async function runFirstRunDialog(overrides = {}, force = false, forcedScope, identityProfile) {
|
|
168
|
+
// GS2-33 — a bad profile name must never reach a prompt, a mkdir or a write. Validate before
|
|
169
|
+
// anything else runs (before the readline interface is even created).
|
|
170
|
+
if (identityProfile !== undefined) {
|
|
171
|
+
try {
|
|
172
|
+
identityProfile = validateProfileName(identityProfile);
|
|
173
|
+
}
|
|
174
|
+
catch (err) {
|
|
175
|
+
displayError(err instanceof Error ? err.message : String(err));
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
160
179
|
// The readline interface is created LAZILY, only when a readline prompt is actually needed
|
|
161
180
|
// (the non-TTY number-menu fallback, or free-text model entry). On the Ink-select path it is
|
|
162
181
|
// never created, so readline never binds stdin/raw-mode alongside Ink — two owners on the same
|
|
@@ -172,9 +191,9 @@ export async function runFirstRunDialog(overrides = {}, force = false, forcedSco
|
|
|
172
191
|
fetchModels: (providerId) => discoverModelsWithProvenance(providerId, { timeoutMs: INTERACTIVE_MODEL_FETCH_TIMEOUT_MS }),
|
|
173
192
|
withProgress: makeDefaultProgress(),
|
|
174
193
|
ensureGslothDir,
|
|
175
|
-
resolveConfigPath: resolveConfigWritePath,
|
|
194
|
+
resolveConfigPath: (scope) => resolveConfigWritePath(scope, identityProfile),
|
|
176
195
|
configExists: existsSync,
|
|
177
|
-
writeConfig:
|
|
196
|
+
writeConfig: makeDefaultWriteConfig(identityProfile),
|
|
178
197
|
ask,
|
|
179
198
|
select: makeDefaultSelect(ask),
|
|
180
199
|
...overrides,
|
|
@@ -224,8 +243,17 @@ export async function runFirstRunDialog(overrides = {}, force = false, forcedSco
|
|
|
224
243
|
// 3. Scope. CFG-56 — a caller that has already committed to a scope (`gth -g`, which reads
|
|
225
244
|
// global config only) does not ask: the project default would write a file the run then
|
|
226
245
|
// refuses to look at, and the user would be told setup did not complete.
|
|
246
|
+
// GS2-33 — when a named profile is set (`-i test2`), the folder labels spell out the profile
|
|
247
|
+
// subdirectory the config will actually land in, so the choice matches where `-i test2`
|
|
248
|
+
// later reads it from.
|
|
249
|
+
const projectLabel = identityProfile
|
|
250
|
+
? `This project only (.gsloth/.gsloth-settings/${identityProfile})`
|
|
251
|
+
: 'This project only (.gsloth/.gsloth-settings/)';
|
|
252
|
+
const globalLabel = identityProfile
|
|
253
|
+
? `Globally for all projects (~/.gsloth/.gsloth-settings/${identityProfile})`
|
|
254
|
+
: 'Globally for all projects (~/.gsloth/)';
|
|
227
255
|
const scope = forcedScope ??
|
|
228
|
-
((await deps.select('Where should this configuration be stored?', [
|
|
256
|
+
((await deps.select('Where should this configuration be stored?', [projectLabel, globalLabel], 0)) === 1
|
|
229
257
|
? 'global'
|
|
230
258
|
: 'project');
|
|
231
259
|
// 4. Overwrite guard. If a config already exists at the chosen scope's path and the user did
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firstRunDialog.js","sourceRoot":"","sources":["../../src/commands/firstRunDialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,4BAA4B,EAC5B,kCAAkC,GAKnC,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,8BAA8B,EAAE,MAAM,8CAA8C,CAAC;AAC9F,OAAO,EACL,WAAW,EACX,cAAc,EACd,cAAc,GACf,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,eAAe,EACf,GAAG,EACH,KAAK,EACL,MAAM,GAEP,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAwDnE;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,SAA6B;IAC1D,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAClF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,KAAa;IAC9D,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK;QAAE,OAAO,IAAI,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,iBAAiB,CAAC,MAAmB;IACnD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACvD,OAAO,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAsB,EAAE,KAAa;IACtE,OAAO,GAAG,sBAAsB,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC;AAC1D,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"firstRunDialog.js","sourceRoot":"","sources":["../../src/commands/firstRunDialog.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { CommandLineConfigOverrides } from '@gaunt-sloth/core/config.js';
|
|
1
2
|
import { Command } from 'commander';
|
|
2
3
|
/**
|
|
3
4
|
* Adds the init command to the program.
|
|
@@ -10,6 +11,15 @@ import { Command } from 'commander';
|
|
|
10
11
|
* `--force` overwrites an existing config: on the scriptable path it skips the
|
|
11
12
|
* warn-and-keep guard, and in the interactive dialog it skips the overwrite prompt.
|
|
12
13
|
*
|
|
14
|
+
* GS2-33 — `commandLineConfigOverrides` carries the root `-g/--global` and
|
|
15
|
+
* `-i/--identity-profile`/`--profile` flags (parsed by `cli.ts` before any subcommand
|
|
16
|
+
* binds). `init` does not re-declare either flag itself: `-g` skips the project-vs-global
|
|
17
|
+
* question (writing straight into the chosen scope, or `~/.gsloth/` on the scriptable path),
|
|
18
|
+
* and `-i <name>` targets a named profile under `.gsloth-settings/<name>/` in whichever scope
|
|
19
|
+
* is chosen — the interactive dialog's folder labels spell out that subdirectory.
|
|
20
|
+
*
|
|
13
21
|
* @param program - The commander program
|
|
22
|
+
* @param commandLineConfigOverrides - Global CLI overrides (`--global`, `--identity-profile`/
|
|
23
|
+
* `--profile`), parsed once in `cli.ts` before any subcommand is bound.
|
|
14
24
|
*/
|
|
15
|
-
export declare function initCommand(program: Command): void;
|
|
25
|
+
export declare function initCommand(program: Command, commandLineConfigOverrides?: CommandLineConfigOverrides): void;
|
|
@@ -13,9 +13,18 @@ import { Argument } from 'commander';
|
|
|
13
13
|
* `--force` overwrites an existing config: on the scriptable path it skips the
|
|
14
14
|
* warn-and-keep guard, and in the interactive dialog it skips the overwrite prompt.
|
|
15
15
|
*
|
|
16
|
+
* GS2-33 — `commandLineConfigOverrides` carries the root `-g/--global` and
|
|
17
|
+
* `-i/--identity-profile`/`--profile` flags (parsed by `cli.ts` before any subcommand
|
|
18
|
+
* binds). `init` does not re-declare either flag itself: `-g` skips the project-vs-global
|
|
19
|
+
* question (writing straight into the chosen scope, or `~/.gsloth/` on the scriptable path),
|
|
20
|
+
* and `-i <name>` targets a named profile under `.gsloth-settings/<name>/` in whichever scope
|
|
21
|
+
* is chosen — the interactive dialog's folder labels spell out that subdirectory.
|
|
22
|
+
*
|
|
16
23
|
* @param program - The commander program
|
|
24
|
+
* @param commandLineConfigOverrides - Global CLI overrides (`--global`, `--identity-profile`/
|
|
25
|
+
* `--profile`), parsed once in `cli.ts` before any subcommand is bound.
|
|
17
26
|
*/
|
|
18
|
-
export function initCommand(program) {
|
|
27
|
+
export function initCommand(program, commandLineConfigOverrides = {}) {
|
|
19
28
|
program
|
|
20
29
|
.command('init')
|
|
21
30
|
.description('Initialize Gaunt Sloth in your project. This will write necessary config files.')
|
|
@@ -24,14 +33,22 @@ export function initCommand(program) {
|
|
|
24
33
|
.addHelpText('after', '\n' +
|
|
25
34
|
'Examples:\n' +
|
|
26
35
|
' $ gth init # Auto-detect API keys and prompt for provider\n' +
|
|
27
|
-
' $ gth init vertexai\n'
|
|
36
|
+
' $ gth init vertexai\n' +
|
|
37
|
+
' $ gth init -g # Create/overwrite the global config (~/.gsloth), skipping the scope question\n' +
|
|
38
|
+
' $ gth init -i test2 # Create a named profile through the dialog (.gsloth/.gsloth-settings/test2)\n' +
|
|
39
|
+
' $ gth init -g -i test2 # Create a named profile under ~/.gsloth/.gsloth-settings/test2\n')
|
|
28
40
|
.action(async (config, options) => {
|
|
29
41
|
const force = !!options.force;
|
|
42
|
+
const identityProfile = commandLineConfigOverrides.identityProfile;
|
|
30
43
|
if (config) {
|
|
31
|
-
await createProjectConfig(config, force
|
|
44
|
+
await createProjectConfig(config, force, {
|
|
45
|
+
global: commandLineConfigOverrides.global,
|
|
46
|
+
identityProfile,
|
|
47
|
+
});
|
|
32
48
|
}
|
|
33
49
|
else {
|
|
34
|
-
|
|
50
|
+
const forcedScope = commandLineConfigOverrides.global ? 'global' : undefined;
|
|
51
|
+
await runFirstRunDialog({}, force, forcedScope, identityProfile);
|
|
35
52
|
}
|
|
36
53
|
});
|
|
37
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initCommand.js","sourceRoot":"","sources":["../../src/commands/initCommand.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAW,MAAM,WAAW,CAAC;AAE9C
|
|
1
|
+
{"version":3,"file":"initCommand.js","sourceRoot":"","sources":["../../src/commands/initCommand.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAW,MAAM,WAAW,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,WAAW,CACzB,OAAgB,EAChB,0BAA0B,GAA+B,EAAE;IAE3D,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,iFAAiF,CAAC;SAC9F,WAAW,CACV,IAAI,QAAQ,CACV,QAAQ,EACR,gEAAgE,CACjE,CAAC,OAAO,CAAC,uBAAuB,CAAC,CACnC;SACA,MAAM,CAAC,aAAa,EAAE,mCAAmC,CAAC;SAC1D,WAAW,CACV,OAAO,EACP,IAAI;QACF,aAAa;QACb,4EAA4E;QAC5E,yBAAyB;QACzB,4GAA4G;QAC5G,2GAA2G;QAC3G,8FAA8F,CACjG;SACA,MAAM,CAAC,KAAK,EAAE,MAA8B,EAAE,OAA4B,EAAE,EAAE;QAC7E,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QAC9B,MAAM,eAAe,GAAG,0BAA0B,CAAC,eAAe,CAAC;QACnE,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE;gBACvC,MAAM,EAAE,0BAA0B,CAAC,MAAM;gBACzC,eAAe;aAChB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7E,MAAM,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;QACnE,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -3,6 +3,7 @@ import { defaultStatusCallback, displayInfo, displayWarning, } from '@gaunt-slot
|
|
|
3
3
|
import { buildSystemMessages, readPromptFile } from '@gaunt-sloth/core/utils/llmUtils.js';
|
|
4
4
|
import { debugLog } from '@gaunt-sloth/core/utils/debugUtils.js';
|
|
5
5
|
import { HumanMessage } from '@langchain/core/messages';
|
|
6
|
+
import { MemorySaver } from '@langchain/langgraph';
|
|
6
7
|
import { tool } from '@langchain/core/tools';
|
|
7
8
|
import { z } from 'zod';
|
|
8
9
|
import { dirname, resolve } from 'node:path';
|
|
@@ -121,7 +122,19 @@ export async function runPrDiscovery(config) {
|
|
|
121
122
|
// `command` stays undefined so the discovery agent runs on the chat prompt and does NOT pick up
|
|
122
123
|
// `commands.pr`'s posture; `owningCommand` is label-only, so a notice about this run says "the
|
|
123
124
|
// pr command" rather than something the user cannot connect to what they typed (GS2-81).
|
|
124
|
-
|
|
125
|
+
//
|
|
126
|
+
// **The checkpoint saver is not optional here, even though `init` accepts none.** An unset
|
|
127
|
+
// command answers approvals (`commandAnswersApprovals`), and every tool this agent binds —
|
|
128
|
+
// `set_diff`, `set_requirements`, `gh_pr`, `gh_diff`, `gh_issue` — has no built-in access class,
|
|
129
|
+
// so all five are in the rung-independent interrupt set whatever the rung. The first tool call
|
|
130
|
+
// therefore suspends the graph on a LangGraph interrupt, and an interrupt with nowhere to
|
|
131
|
+
// checkpoint throws `MISSING_CHECKPOINTER` instead of suspending — which killed the whole
|
|
132
|
+
// discovery run on its first tool call, before it could set either a diff or requirements.
|
|
133
|
+
//
|
|
134
|
+
// Per run, not per process: this saver's only job is to hold the graph one discovery run
|
|
135
|
+
// suspends on, and that run dies with the runner it is created beside. `MemorySaver` is what
|
|
136
|
+
// every other surface that drives a gating-capable agent hands the runner.
|
|
137
|
+
await runner.init(undefined, getPrDiscoveryAgentConfig(config, discoveryConfig), new MemorySaver(), {
|
|
125
138
|
owningCommand: 'pr',
|
|
126
139
|
});
|
|
127
140
|
await runner.processMessages([
|