@gaunt-sloth/core 2.0.0-beta.0 → 2.0.0-beta.2
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/config/loader.d.ts +13 -0
- package/dist/config/loader.js +55 -11
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +10 -0
- package/dist/config/schema.js +46 -24
- package/dist/config/schema.js.map +1 -1
- package/dist/config/shell-policy.d.ts +142 -1
- package/dist/config/shell-policy.js +114 -7
- package/dist/config/shell-policy.js.map +1 -1
- package/dist/config/types.d.ts +19 -0
- package/dist/config/types.js.map +1 -1
- package/dist/constants.d.ts +10 -0
- package/dist/constants.js +10 -0
- package/dist/constants.js.map +1 -1
- package/dist/core/GthAbstractAgent.d.ts +31 -0
- package/dist/core/GthAbstractAgent.js +159 -4
- package/dist/core/GthAbstractAgent.js.map +1 -1
- package/dist/core/GthAgentRunner.d.ts +314 -18
- package/dist/core/GthAgentRunner.js +1032 -101
- package/dist/core/GthAgentRunner.js.map +1 -1
- package/dist/core/approvals/approvalRequest.d.ts +247 -0
- package/dist/core/approvals/approvalRequest.js +315 -0
- package/dist/core/approvals/approvalRequest.js.map +1 -0
- package/dist/core/approvals/grants.d.ts +165 -9
- package/dist/core/approvals/grants.js +702 -57
- package/dist/core/approvals/grants.js.map +1 -1
- package/dist/core/plainToolIndication.d.ts +11 -1
- package/dist/core/plainToolIndication.js +25 -10
- package/dist/core/plainToolIndication.js.map +1 -1
- package/dist/core/shell/abstention.d.ts +1 -1
- package/dist/core/shell/abstention.js +65 -11
- package/dist/core/shell/abstention.js.map +1 -1
- package/dist/core/shell/alignment.d.ts +491 -0
- package/dist/core/shell/alignment.js +687 -0
- package/dist/core/shell/alignment.js.map +1 -0
- package/dist/core/shell/approvalCapture.d.ts +53 -41
- package/dist/core/shell/approvalCapture.js +0 -42
- package/dist/core/shell/approvalCapture.js.map +1 -1
- package/dist/core/shell/approvalStop.d.ts +121 -3
- package/dist/core/shell/approvalStop.js +153 -90
- package/dist/core/shell/approvalStop.js.map +1 -1
- package/dist/core/shell/hardline.d.ts +26 -4
- package/dist/core/shell/hardline.js +321 -16
- package/dist/core/shell/hardline.js.map +1 -1
- package/dist/core/shell/negotiation.d.ts +352 -63
- package/dist/core/shell/negotiation.js +295 -123
- package/dist/core/shell/negotiation.js.map +1 -1
- package/dist/core/shell/openWorld.d.ts +135 -0
- package/dist/core/shell/openWorld.js +572 -35
- package/dist/core/shell/openWorld.js.map +1 -1
- package/dist/core/shell/provenance.d.ts +91 -0
- package/dist/core/shell/provenance.js +136 -0
- package/dist/core/shell/provenance.js.map +1 -0
- package/dist/core/shell/rater.d.ts +394 -163
- package/dist/core/shell/rater.js +536 -238
- package/dist/core/shell/rater.js.map +1 -1
- package/dist/core/shell/raterHealth.d.ts +101 -0
- package/dist/core/shell/raterHealth.js +121 -0
- package/dist/core/shell/raterHealth.js.map +1 -0
- package/dist/core/shell/raterModel.d.ts +17 -8
- package/dist/core/shell/raterModel.js +11 -8
- package/dist/core/shell/raterModel.js.map +1 -1
- package/dist/core/shell/rejection.d.ts +20 -5
- package/dist/core/shell/rejection.js +18 -4
- package/dist/core/shell/rejection.js.map +1 -1
- package/dist/core/toolDisplay.d.ts +42 -0
- package/dist/core/toolDisplay.js +31 -0
- package/dist/core/toolDisplay.js.map +1 -1
- package/dist/core/types.d.ts +134 -16
- package/dist/core/types.js.map +1 -1
- package/dist/providers/configurationPassthrough.d.ts +36 -6
- package/dist/providers/configurationPassthrough.js +40 -28
- package/dist/providers/configurationPassthrough.js.map +1 -1
- package/dist/providers/openrouter.js +36 -6
- package/dist/providers/openrouter.js.map +1 -1
- package/dist/providers/vertexai.js +21 -0
- package/dist/providers/vertexai.js.map +1 -1
- package/dist/utils/binaryOutputUtils.js +103 -21
- package/dist/utils/binaryOutputUtils.js.map +1 -1
- package/dist/utils/fileUtils.d.ts +7 -1
- package/dist/utils/fileUtils.js +17 -3
- package/dist/utils/fileUtils.js.map +1 -1
- package/dist/utils/globalConfigUtils.d.ts +5 -2
- package/dist/utils/globalConfigUtils.js +14 -3
- package/dist/utils/globalConfigUtils.js.map +1 -1
- package/dist/utils/vertexaiUtils.js +61 -3
- package/dist/utils/vertexaiUtils.js.map +1 -1
- package/package.json +4 -4
- package/schema/gsloth-config.schema.json +34 -0
|
@@ -51,37 +51,119 @@ function getBinaryOutputFilePath(command, extension) {
|
|
|
51
51
|
}
|
|
52
52
|
return `${suffixBase}_${Date.now()}.${normalizedExtension}`;
|
|
53
53
|
}
|
|
54
|
+
function parseDataUrl(url) {
|
|
55
|
+
if (typeof url !== 'string' || !url.startsWith('data:')) {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
const commaPos = url.indexOf(',');
|
|
59
|
+
if (commaPos === -1) {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
const meta = url.slice(5, commaPos);
|
|
63
|
+
const data = url.slice(commaPos + 1);
|
|
64
|
+
if (!data) {
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
const parts = meta.split(';');
|
|
68
|
+
const mimeType = parts[0]?.trim() || 'application/octet-stream';
|
|
69
|
+
return { mimeType, data };
|
|
70
|
+
}
|
|
71
|
+
function tryExtractBinaryFromBlock(block) {
|
|
72
|
+
if (block === null || block === undefined) {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
if (typeof block === 'string') {
|
|
76
|
+
return parseDataUrl(block);
|
|
77
|
+
}
|
|
78
|
+
if (typeof block !== 'object') {
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
const obj = block;
|
|
82
|
+
// Check inlineData / inline_data (nested or flat)
|
|
83
|
+
const inlineObj = (obj.inlineData ?? obj.inline_data);
|
|
84
|
+
if (inlineObj && typeof inlineObj === 'object') {
|
|
85
|
+
const mimeType = (inlineObj.mimeType ?? inlineObj.mime_type ?? inlineObj.media_type);
|
|
86
|
+
const data = inlineObj.data;
|
|
87
|
+
if (typeof mimeType === 'string' && typeof data === 'string') {
|
|
88
|
+
return { mimeType, data };
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
// Check image_url / imageUrl
|
|
92
|
+
const imageUrl = obj.image_url ?? obj.imageUrl;
|
|
93
|
+
if (imageUrl) {
|
|
94
|
+
if (typeof imageUrl === 'string') {
|
|
95
|
+
const parsed = parseDataUrl(imageUrl);
|
|
96
|
+
if (parsed)
|
|
97
|
+
return parsed;
|
|
98
|
+
}
|
|
99
|
+
else if (typeof imageUrl === 'object' && imageUrl !== null) {
|
|
100
|
+
const url = imageUrl.url;
|
|
101
|
+
if (typeof url === 'string') {
|
|
102
|
+
const parsed = parseDataUrl(url);
|
|
103
|
+
if (parsed)
|
|
104
|
+
return parsed;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
// Check source property (Anthropic / LangChain image source)
|
|
109
|
+
const source = obj.source;
|
|
110
|
+
if (source && typeof source === 'object') {
|
|
111
|
+
const mimeType = (source.media_type ?? source.mime_type ?? source.mimeType);
|
|
112
|
+
const data = source.data;
|
|
113
|
+
if (typeof data === 'string') {
|
|
114
|
+
if (typeof mimeType === 'string') {
|
|
115
|
+
return { mimeType, data };
|
|
116
|
+
}
|
|
117
|
+
const parsed = parseDataUrl(data);
|
|
118
|
+
if (parsed)
|
|
119
|
+
return parsed;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
// Check flat properties (mimeType / mime_type / media_type and data)
|
|
123
|
+
const mimeType = (obj.mimeType ?? obj.mime_type ?? obj.media_type);
|
|
124
|
+
const data = obj.data;
|
|
125
|
+
if (typeof mimeType === 'string' && typeof data === 'string') {
|
|
126
|
+
return { mimeType, data };
|
|
127
|
+
}
|
|
128
|
+
// Check flat url property
|
|
129
|
+
if (typeof obj.url === 'string') {
|
|
130
|
+
const parsed = parseDataUrl(obj.url);
|
|
131
|
+
if (parsed)
|
|
132
|
+
return parsed;
|
|
133
|
+
}
|
|
134
|
+
// Check flat data property if it's a data URL
|
|
135
|
+
if (typeof data === 'string') {
|
|
136
|
+
const parsed = parseDataUrl(data);
|
|
137
|
+
if (parsed)
|
|
138
|
+
return parsed;
|
|
139
|
+
}
|
|
140
|
+
return null;
|
|
141
|
+
}
|
|
54
142
|
export function extractInlineBinaryBlocks(content) {
|
|
55
|
-
if (
|
|
143
|
+
if (content === null || content === undefined) {
|
|
56
144
|
return [];
|
|
57
145
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
typeof block.inlineData.mimeType === 'string' &&
|
|
69
|
-
typeof block.inlineData.data === 'string') {
|
|
70
|
-
return [
|
|
71
|
-
{
|
|
72
|
-
index,
|
|
73
|
-
mimeType: block.inlineData.mimeType,
|
|
74
|
-
data: block.inlineData.data,
|
|
75
|
-
},
|
|
76
|
-
];
|
|
146
|
+
const items = Array.isArray(content) ? content : [content];
|
|
147
|
+
const results = [];
|
|
148
|
+
items.forEach((block, index) => {
|
|
149
|
+
const extracted = tryExtractBinaryFromBlock(block);
|
|
150
|
+
if (extracted) {
|
|
151
|
+
results.push({
|
|
152
|
+
index,
|
|
153
|
+
mimeType: extracted.mimeType,
|
|
154
|
+
data: extracted.data,
|
|
155
|
+
});
|
|
77
156
|
}
|
|
78
|
-
return [];
|
|
79
157
|
});
|
|
158
|
+
return results;
|
|
80
159
|
}
|
|
81
160
|
export function renderAssistantContent(content, binaryPlaceholders = new Map()) {
|
|
82
161
|
if (content === undefined || content === null) {
|
|
83
162
|
return '';
|
|
84
163
|
}
|
|
164
|
+
if (binaryPlaceholders.has(0) && (typeof content === 'string' || !Array.isArray(content))) {
|
|
165
|
+
return binaryPlaceholders.get(0);
|
|
166
|
+
}
|
|
85
167
|
if (typeof content === 'string') {
|
|
86
168
|
return content;
|
|
87
169
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binaryOutputUtils.js","sourceRoot":"","sources":["../../src/utils/binaryOutputUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAQjG,MAAM,oBAAoB,GAA2B;IACnD,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,KAAK;IACnB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,MAAM;IACpB,eAAe,EAAE,KAAK;IACtB,YAAY,EAAE,MAAM;IACpB,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,KAAK;IACnB,WAAW,EAAE,KAAK;IAClB,WAAW,EAAE,KAAK;IAClB,WAAW,EAAE,KAAK;CACnB,CAAC;AAEF,SAAS,gBAAgB,CAAC,QAAgB;IACxC,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACjD,IAAI,oBAAoB,CAAC,UAAU,CAAC,EAAE,CAAC;QACrC,OAAO,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAChE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACvD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,uBAAuB,CAAC,OAA+B,EAAE,SAAiB;IACjF,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;IACxC,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACzE,MAAM,mBAAmB,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC;IAClE,MAAM,QAAQ,GAAG,OAAO,WAAW,IAAI,UAAU,IAAI,mBAAmB,EAAE,CAAC;IAC3E,MAAM,WAAW,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAEhD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3E,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,GAAG,UAAU,IAAI,MAAM,IAAI,mBAAmB,EAAE,CAAC;QACnE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,mBAAmB,EAAE,CAAC;AAC9D,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"binaryOutputUtils.js","sourceRoot":"","sources":["../../src/utils/binaryOutputUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,10 +17,16 @@ export declare function getGslothFilePath(filename: string): string;
|
|
|
17
17
|
* If .gsloth dir exists returns `projectdir/.gsloth/.gsloth-settings`
|
|
18
18
|
* If .gsloth dir does not exist returns `projectdir`
|
|
19
19
|
*
|
|
20
|
+
* When `identityProfileRaw` names a profile, the path is always
|
|
21
|
+
* `projectdir/.gsloth/.gsloth-settings/<profile>`, creating `.gsloth` and the profile dir as
|
|
22
|
+
* needed — a named profile only exists under `.gsloth-settings/`, so there is no project-root
|
|
23
|
+
* fallback for it. A blank/whitespace-only profile name counts as "no profile".
|
|
24
|
+
*
|
|
20
25
|
* @param filename The configuration filename
|
|
26
|
+
* @param identityProfileRaw Optional identity profile subdirectory name within `.gsloth-settings`
|
|
21
27
|
* @returns The resolved path where the configuration file should be written
|
|
22
28
|
*/
|
|
23
|
-
export declare function getGslothConfigWritePath(filename: string): string;
|
|
29
|
+
export declare function getGslothConfigWritePath(filename: string, identityProfileRaw?: string): string;
|
|
24
30
|
/**
|
|
25
31
|
* Gets the path where gsloth should look for configuration files based on .gsloth directory existence
|
|
26
32
|
* @param filename The configuration filename to look for
|
package/dist/utils/fileUtils.js
CHANGED
|
@@ -37,14 +37,28 @@ export function getGslothFilePath(filename) {
|
|
|
37
37
|
* If .gsloth dir exists returns `projectdir/.gsloth/.gsloth-settings`
|
|
38
38
|
* If .gsloth dir does not exist returns `projectdir`
|
|
39
39
|
*
|
|
40
|
+
* When `identityProfileRaw` names a profile, the path is always
|
|
41
|
+
* `projectdir/.gsloth/.gsloth-settings/<profile>`, creating `.gsloth` and the profile dir as
|
|
42
|
+
* needed — a named profile only exists under `.gsloth-settings/`, so there is no project-root
|
|
43
|
+
* fallback for it. A blank/whitespace-only profile name counts as "no profile".
|
|
44
|
+
*
|
|
40
45
|
* @param filename The configuration filename
|
|
46
|
+
* @param identityProfileRaw Optional identity profile subdirectory name within `.gsloth-settings`
|
|
41
47
|
* @returns The resolved path where the configuration file should be written
|
|
42
48
|
*/
|
|
43
|
-
export function getGslothConfigWritePath(filename) {
|
|
49
|
+
export function getGslothConfigWritePath(filename, identityProfileRaw) {
|
|
44
50
|
const currentDir = getProjectDir();
|
|
51
|
+
const identityProfile = identityProfileRaw?.trim();
|
|
52
|
+
const gslothDirPath = resolve(currentDir, GSLOTH_DIR);
|
|
53
|
+
const gslothSettingsPath = resolve(gslothDirPath, GSLOTH_SETTINGS_DIR);
|
|
54
|
+
if (identityProfile) {
|
|
55
|
+
const profileDirPath = resolve(gslothSettingsPath, identityProfile);
|
|
56
|
+
if (!existsSync(profileDirPath)) {
|
|
57
|
+
mkdirSync(profileDirPath, { recursive: true });
|
|
58
|
+
}
|
|
59
|
+
return resolve(profileDirPath, filename);
|
|
60
|
+
}
|
|
45
61
|
if (gslothDirExists()) {
|
|
46
|
-
const gslothDirPath = resolve(currentDir, GSLOTH_DIR);
|
|
47
|
-
const gslothSettingsPath = resolve(gslothDirPath, GSLOTH_SETTINGS_DIR);
|
|
48
62
|
// Create .gsloth-settings directory if it doesn't exist
|
|
49
63
|
if (!existsSync(gslothSettingsPath)) {
|
|
50
64
|
mkdirSync(gslothSettingsPath, { recursive: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileUtils.js","sourceRoot":"","sources":["../../src/utils/fileUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7F,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EACL,YAAY,EACZ,WAAW,EACX,cAAc,EACd,cAAc,GACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACtD,OAAO,UAAU,CAAC,aAAa,CAAC,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,IAAI,eAAe,EAAE,EAAE,CAAC;QACtB,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACtD,OAAO,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"fileUtils.js","sourceRoot":"","sources":["../../src/utils/fileUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,14 +34,17 @@ export declare function resolveGlobalConfigPath(globalDir: string, filename: str
|
|
|
34
34
|
export declare function getGlobalGslothConfigReadPath(filename: string, identityProfileRaw?: string): string;
|
|
35
35
|
/**
|
|
36
36
|
* Gets the write path for a global gsloth config file (e.g. `.gsloth.config.json`)
|
|
37
|
-
* inside the global `~/.gsloth` directory
|
|
37
|
+
* inside the global `~/.gsloth` directory (or `~/.gsloth/.gsloth-settings/<identityProfile>/`),
|
|
38
|
+
* ensuring the relevant directory exists.
|
|
38
39
|
*
|
|
39
40
|
* Intended for first-run setup flows (CFG-2) that need to persist global settings.
|
|
40
41
|
*
|
|
41
42
|
* @param filename The configuration filename (e.g. `.gsloth.config.json`)
|
|
43
|
+
* @param identityProfileRaw Optional identity profile subdirectory name within `.gsloth-settings`.
|
|
44
|
+
* A blank/whitespace-only value counts as "no profile".
|
|
42
45
|
* @returns The resolved path where the global configuration file should be written
|
|
43
46
|
*/
|
|
44
|
-
export declare function getGlobalGslothConfigWritePath(filename: string): string;
|
|
47
|
+
export declare function getGlobalGslothConfigWritePath(filename: string, identityProfileRaw?: string): string;
|
|
45
48
|
/**
|
|
46
49
|
* Gets the global auth directory path
|
|
47
50
|
* @returns The resolved path to the global auth directory
|
|
@@ -54,15 +54,26 @@ export function getGlobalGslothConfigReadPath(filename, identityProfileRaw) {
|
|
|
54
54
|
}
|
|
55
55
|
/**
|
|
56
56
|
* Gets the write path for a global gsloth config file (e.g. `.gsloth.config.json`)
|
|
57
|
-
* inside the global `~/.gsloth` directory
|
|
57
|
+
* inside the global `~/.gsloth` directory (or `~/.gsloth/.gsloth-settings/<identityProfile>/`),
|
|
58
|
+
* ensuring the relevant directory exists.
|
|
58
59
|
*
|
|
59
60
|
* Intended for first-run setup flows (CFG-2) that need to persist global settings.
|
|
60
61
|
*
|
|
61
62
|
* @param filename The configuration filename (e.g. `.gsloth.config.json`)
|
|
63
|
+
* @param identityProfileRaw Optional identity profile subdirectory name within `.gsloth-settings`.
|
|
64
|
+
* A blank/whitespace-only value counts as "no profile".
|
|
62
65
|
* @returns The resolved path where the global configuration file should be written
|
|
63
66
|
*/
|
|
64
|
-
export function getGlobalGslothConfigWritePath(filename) {
|
|
65
|
-
|
|
67
|
+
export function getGlobalGslothConfigWritePath(filename, identityProfileRaw) {
|
|
68
|
+
const globalDir = ensureGlobalGslothDir();
|
|
69
|
+
const identityProfile = identityProfileRaw?.trim();
|
|
70
|
+
if (identityProfile) {
|
|
71
|
+
const profileDirPath = resolve(globalDir, GSLOTH_SETTINGS_DIR, identityProfile);
|
|
72
|
+
if (!existsSync(profileDirPath)) {
|
|
73
|
+
mkdirSync(profileDirPath, { recursive: true });
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return resolveGlobalConfigPath(globalDir, filename, identityProfileRaw);
|
|
66
77
|
}
|
|
67
78
|
/**
|
|
68
79
|
* Gets the global auth directory path
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globalConfigUtils.js","sourceRoot":"","sources":["../../src/utils/globalConfigUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEjF;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,OAAO,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;IAEvC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CACrC,SAAiB,EACjB,QAAgB,EAChB,kBAA2B;IAE3B,MAAM,eAAe,GAAG,kBAAkB,EAAE,IAAI,EAAE,CAAC;IACnD,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,OAAO,CAAC,SAAS,EAAE,mBAAmB,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,6BAA6B,CAC3C,QAAgB,EAChB,kBAA2B;IAE3B,OAAO,uBAAuB,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;AACrF,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"globalConfigUtils.js","sourceRoot":"","sources":["../../src/utils/globalConfigUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,14 +10,72 @@ export function isVertexGoogleLlm(llm) {
|
|
|
10
10
|
// - OAuth "invalid_grant" with "invalid_rapt" subtype, or any "reauth" wording
|
|
11
11
|
// (expired ADC credentials / reauth proof token — `gcloud auth ... login` needed)
|
|
12
12
|
const VERTEX_AUTH_ERROR_PATTERN = /\b401\b|unauthori[sz]ed|invalid_grant|invalid_rapt|reauth/i;
|
|
13
|
+
/**
|
|
14
|
+
* Read the credential in use off the CONSTRUCTED client, mirroring the same precedence its own
|
|
15
|
+
* request path applies: an API key wins, then service-account credentials, then ADC. Determined from
|
|
16
|
+
* the client rather than from config, because the same config shape can produce different
|
|
17
|
+
* credentials depending on the environment — which is the whole reason this hint was wrong before.
|
|
18
|
+
*
|
|
19
|
+
* Never throws: this runs while formatting somebody's error, and losing the original message to a
|
|
20
|
+
* secondary failure would be worse than a less specific hint.
|
|
21
|
+
*/
|
|
22
|
+
function vertexAuthMode(llm) {
|
|
23
|
+
try {
|
|
24
|
+
const client = llm?.apiClient;
|
|
25
|
+
if (!client) {
|
|
26
|
+
return 'unknown';
|
|
27
|
+
}
|
|
28
|
+
if (typeof client.hasApiKey === 'function' && client.hasApiKey()) {
|
|
29
|
+
return 'apiKey';
|
|
30
|
+
}
|
|
31
|
+
if (client.credentials !== undefined) {
|
|
32
|
+
return 'serviceAccount';
|
|
33
|
+
}
|
|
34
|
+
if (client.googleAuth !== undefined) {
|
|
35
|
+
return 'adc';
|
|
36
|
+
}
|
|
37
|
+
return 'unknown';
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return 'unknown';
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* The remedy sentences, one per credential. Each is true for every session that reaches it and names
|
|
45
|
+
* only things that session can actually change.
|
|
46
|
+
*
|
|
47
|
+
* The API-key branch covers two setups that are indistinguishable on the constructed client — an
|
|
48
|
+
* `apiKey` in the `llm` block, and a `.gsloth.config.mjs` that builds `ChatGoogle` itself and picks
|
|
49
|
+
* up `GOOGLE_API_KEY` from the environment — so it names both sources rather than asserting one.
|
|
50
|
+
*/
|
|
51
|
+
const VERTEX_AUTH_GUIDANCE = {
|
|
52
|
+
apiKey: 'This session is authenticating with an API key (Vertex AI express mode), not with ' +
|
|
53
|
+
'Application Default Credentials, so `gcloud auth` will not change it. ' +
|
|
54
|
+
'The key is the `apiKey` in your `llm` block — or, if your `.gsloth.config.mjs` constructs ' +
|
|
55
|
+
'`ChatGoogle` itself and so bypasses the preset, `GOOGLE_API_KEY` from your environment. ' +
|
|
56
|
+
'A Google AI Studio key is not valid for Vertex AI endpoints: use a Vertex AI express-mode ' +
|
|
57
|
+
'key, or remove the key to fall back to ADC.',
|
|
58
|
+
serviceAccount: 'This session is authenticating with a Google Cloud service account — from `credentials` in ' +
|
|
59
|
+
'your `llm` block, or `GOOGLE_CLOUD_CREDENTIALS` in your environment — not with Application ' +
|
|
60
|
+
'Default Credentials, so `gcloud auth` will not change it. ' +
|
|
61
|
+
'Check that the service-account key is still valid and that it may use the Vertex AI API in ' +
|
|
62
|
+
'this project.',
|
|
63
|
+
adc: 'This session authenticates through Application Default Credentials: run `gcloud auth login` ' +
|
|
64
|
+
'and `gcloud auth application-default login`. ' +
|
|
65
|
+
'No API key is in use — a `type: vertexai` config ignores any `GOOGLE_API_KEY` in your ' +
|
|
66
|
+
'environment, so unsetting that will not help here.',
|
|
67
|
+
unknown: 'Vertex AI accepts three credentials and only one is in use per session: Application Default ' +
|
|
68
|
+
'Credentials (`gcloud auth application-default login`), a service account (`credentials` or ' +
|
|
69
|
+
'`GOOGLE_CLOUD_CREDENTIALS`), or an express-mode API key (`apiKey` in the `llm` block). ' +
|
|
70
|
+
'Check the one this session is configured for — a Google AI Studio key is not valid for ' +
|
|
71
|
+
'Vertex AI endpoints.',
|
|
72
|
+
};
|
|
13
73
|
export function enhanceVertexUnauthorizedMessage(originalMessage, llm) {
|
|
14
74
|
if (!isVertexGoogleLlm(llm) || !VERTEX_AUTH_ERROR_PATTERN.test(originalMessage)) {
|
|
15
75
|
return originalMessage;
|
|
16
76
|
}
|
|
17
77
|
return (`${originalMessage}\n\n` +
|
|
18
78
|
'Vertex AI authentication failed. ' +
|
|
19
|
-
|
|
20
|
-
'Also make sure `GOOGLE_API_KEY` is unset or not a Google AI Studio key, ' +
|
|
21
|
-
'since AI Studio keys are not valid for Vertex AI endpoints.\n');
|
|
79
|
+
`${VERTEX_AUTH_GUIDANCE[vertexAuthMode(llm)]}\n`);
|
|
22
80
|
}
|
|
23
81
|
//# sourceMappingURL=vertexaiUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vertexaiUtils.js","sourceRoot":"","sources":["../../src/utils/vertexaiUtils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,iBAAiB,CAAC,GAAY;IAC5C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,GAA6B,CAAC;IAC5C,OAAO,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC;AACnC,CAAC;AAED,4DAA4D;AAC5D,gEAAgE;AAChE,gFAAgF;AAChF,qFAAqF;AACrF,MAAM,yBAAyB,GAAG,4DAA4D,CAAC;
|
|
1
|
+
{"version":3,"file":"vertexaiUtils.js","sourceRoot":"","sources":["../../src/utils/vertexaiUtils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,iBAAiB,CAAC,GAAY;IAC5C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,GAA6B,CAAC;IAC5C,OAAO,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC;AACnC,CAAC;AAED,4DAA4D;AAC5D,gEAAgE;AAChE,gFAAgF;AAChF,qFAAqF;AACrF,MAAM,yBAAyB,GAAG,4DAA4D,CAAC;AAY/F;;;;;;;;GAQG;AACH,SAAS,cAAc,CAAC,GAAY;IAClC,IAAI,CAAC;QACH,MAAM,MAAM,GACV,GAGD,EAAE,SAAS,CAAC;QACb,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,UAAU,IAAI,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;YACjE,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,oBAAoB,GAAmC;IAC3D,MAAM,EACJ,oFAAoF;QACpF,wEAAwE;QACxE,4FAA4F;QAC5F,0FAA0F;QAC1F,4FAA4F;QAC5F,6CAA6C;IAC/C,cAAc,EACZ,6FAA6F;QAC7F,6FAA6F;QAC7F,4DAA4D;QAC5D,6FAA6F;QAC7F,eAAe;IACjB,GAAG,EACD,8FAA8F;QAC9F,+CAA+C;QAC/C,wFAAwF;QACxF,oDAAoD;IACtD,OAAO,EACL,8FAA8F;QAC9F,6FAA6F;QAC7F,yFAAyF;QACzF,yFAAyF;QACzF,sBAAsB;CACzB,CAAC;AAEF,MAAM,UAAU,gCAAgC,CAAC,eAAuB,EAAE,GAAY;IACpF,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QAChF,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,OAAO,CACL,GAAG,eAAe,MAAM;QACxB,mCAAmC;QACnC,GAAG,oBAAoB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,CACjD,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gaunt-sloth/core",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.2",
|
|
4
4
|
"description": "Core utilities and types for Gaunt Sloth",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Andrew Kondratev",
|
|
@@ -30,11 +30,11 @@
|
|
|
30
30
|
"#src/*.js": "./dist/*.js"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@langchain/core": "^1.2.
|
|
34
|
-
"@langchain/langgraph": "^1.4.
|
|
33
|
+
"@langchain/core": "^1.2.9",
|
|
34
|
+
"@langchain/langgraph": "^1.4.12",
|
|
35
35
|
"jiti": "^2.7.0",
|
|
36
36
|
"jsonc-parser": "^3.3.1",
|
|
37
|
-
"langchain": "^1.5.
|
|
37
|
+
"langchain": "^1.5.10",
|
|
38
38
|
"string-width": "^8.2.2",
|
|
39
39
|
"zod": "^4.4.3"
|
|
40
40
|
},
|
|
@@ -427,6 +427,9 @@
|
|
|
427
427
|
"rater": {
|
|
428
428
|
"type": "string"
|
|
429
429
|
},
|
|
430
|
+
"alignmentChecker": {
|
|
431
|
+
"type": "string"
|
|
432
|
+
},
|
|
430
433
|
"allow": {
|
|
431
434
|
"type": "array",
|
|
432
435
|
"items": {
|
|
@@ -776,6 +779,9 @@
|
|
|
776
779
|
"rater": {
|
|
777
780
|
"type": "string"
|
|
778
781
|
},
|
|
782
|
+
"alignmentChecker": {
|
|
783
|
+
"type": "string"
|
|
784
|
+
},
|
|
779
785
|
"allow": {
|
|
780
786
|
"type": "array",
|
|
781
787
|
"items": {
|
|
@@ -939,6 +945,11 @@
|
|
|
939
945
|
},
|
|
940
946
|
"errorOnReviewFail": {
|
|
941
947
|
"type": "boolean"
|
|
948
|
+
},
|
|
949
|
+
"timeoutMs": {
|
|
950
|
+
"type": "integer",
|
|
951
|
+
"minimum": 1,
|
|
952
|
+
"maximum": 9007199254740991
|
|
942
953
|
}
|
|
943
954
|
}
|
|
944
955
|
},
|
|
@@ -1097,6 +1108,9 @@
|
|
|
1097
1108
|
"rater": {
|
|
1098
1109
|
"type": "string"
|
|
1099
1110
|
},
|
|
1111
|
+
"alignmentChecker": {
|
|
1112
|
+
"type": "string"
|
|
1113
|
+
},
|
|
1100
1114
|
"allow": {
|
|
1101
1115
|
"type": "array",
|
|
1102
1116
|
"items": {
|
|
@@ -1257,6 +1271,11 @@
|
|
|
1257
1271
|
},
|
|
1258
1272
|
"errorOnReviewFail": {
|
|
1259
1273
|
"type": "boolean"
|
|
1274
|
+
},
|
|
1275
|
+
"timeoutMs": {
|
|
1276
|
+
"type": "integer",
|
|
1277
|
+
"minimum": 1,
|
|
1278
|
+
"maximum": 9007199254740991
|
|
1260
1279
|
}
|
|
1261
1280
|
}
|
|
1262
1281
|
},
|
|
@@ -1409,6 +1428,9 @@
|
|
|
1409
1428
|
"rater": {
|
|
1410
1429
|
"type": "string"
|
|
1411
1430
|
},
|
|
1431
|
+
"alignmentChecker": {
|
|
1432
|
+
"type": "string"
|
|
1433
|
+
},
|
|
1412
1434
|
"allow": {
|
|
1413
1435
|
"type": "array",
|
|
1414
1436
|
"items": {
|
|
@@ -1701,6 +1723,9 @@
|
|
|
1701
1723
|
"rater": {
|
|
1702
1724
|
"type": "string"
|
|
1703
1725
|
},
|
|
1726
|
+
"alignmentChecker": {
|
|
1727
|
+
"type": "string"
|
|
1728
|
+
},
|
|
1704
1729
|
"allow": {
|
|
1705
1730
|
"type": "array",
|
|
1706
1731
|
"items": {
|
|
@@ -1993,6 +2018,9 @@
|
|
|
1993
2018
|
"rater": {
|
|
1994
2019
|
"type": "string"
|
|
1995
2020
|
},
|
|
2021
|
+
"alignmentChecker": {
|
|
2022
|
+
"type": "string"
|
|
2023
|
+
},
|
|
1996
2024
|
"allow": {
|
|
1997
2025
|
"type": "array",
|
|
1998
2026
|
"items": {
|
|
@@ -2285,6 +2313,9 @@
|
|
|
2285
2313
|
"rater": {
|
|
2286
2314
|
"type": "string"
|
|
2287
2315
|
},
|
|
2316
|
+
"alignmentChecker": {
|
|
2317
|
+
"type": "string"
|
|
2318
|
+
},
|
|
2288
2319
|
"allow": {
|
|
2289
2320
|
"type": "array",
|
|
2290
2321
|
"items": {
|
|
@@ -2577,6 +2608,9 @@
|
|
|
2577
2608
|
"rater": {
|
|
2578
2609
|
"type": "string"
|
|
2579
2610
|
},
|
|
2611
|
+
"alignmentChecker": {
|
|
2612
|
+
"type": "string"
|
|
2613
|
+
},
|
|
2580
2614
|
"allow": {
|
|
2581
2615
|
"type": "array",
|
|
2582
2616
|
"items": {
|