clay-server 2.34.0-beta.2 → 2.34.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/lib/mate-datastore.js +27 -5
- package/lib/project-mate-datastore.js +16 -2
- package/lib/public/css/mates.css +68 -41
- package/lib/public/index.html +0 -28
- package/lib/public/modules/app-messages.js +1 -5
- package/lib/public/modules/app-rendering.js +0 -2
- package/lib/public/modules/mate-datastore-ui.js +108 -98
- package/lib/public/modules/tools.js +1 -1
- package/lib/sdk-bridge.js +3 -1
- package/lib/yoke/index.js +36 -10
- package/lib/yoke/instructions.js +0 -1
- package/package.json +1 -2
- package/lib/yoke/adapters/gemini.js +0 -709
package/lib/yoke/index.js
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
var iface = require("./interface");
|
|
5
5
|
var instructions = require("./instructions");
|
|
6
6
|
var createClaudeAdapter = require("./adapters/claude").createClaudeAdapter;
|
|
7
|
-
var createGeminiAdapter = require("./adapters/gemini").createGeminiAdapter;
|
|
8
7
|
var createCodexAdapter = require("./adapters/codex").createCodexAdapter;
|
|
9
8
|
|
|
10
9
|
/**
|
|
@@ -48,8 +47,6 @@ function createAdapter(opts) {
|
|
|
48
47
|
var adapter;
|
|
49
48
|
if (vendor === "claude") {
|
|
50
49
|
adapter = createClaudeAdapter(opts);
|
|
51
|
-
} else if (vendor === "gemini") {
|
|
52
|
-
adapter = createGeminiAdapter(opts);
|
|
53
50
|
} else if (vendor === "codex") {
|
|
54
51
|
adapter = createCodexAdapter(opts);
|
|
55
52
|
} else {
|
|
@@ -113,7 +110,31 @@ function checkAuth() {
|
|
|
113
110
|
return false;
|
|
114
111
|
}
|
|
115
112
|
|
|
113
|
+
function hasThirdPartyProviderAuth() {
|
|
114
|
+
// Claude Code supports third-party providers via env vars. When these are set,
|
|
115
|
+
// `claude auth status` reports "not logged in" because there is no OAuth session,
|
|
116
|
+
// but Claude Code itself authenticates directly through the provider.
|
|
117
|
+
var env = process.env;
|
|
118
|
+
if (env.CLAUDE_CODE_USE_BEDROCK === "1"
|
|
119
|
+
&& (env.AWS_BEARER_TOKEN_BEDROCK
|
|
120
|
+
|| env.AWS_ACCESS_KEY_ID
|
|
121
|
+
|| env.AWS_PROFILE
|
|
122
|
+
|| env.AWS_SESSION_TOKEN)) {
|
|
123
|
+
return "bedrock";
|
|
124
|
+
}
|
|
125
|
+
if (env.CLAUDE_CODE_USE_VERTEX === "1") return "vertex";
|
|
126
|
+
if (env.ANTHROPIC_API_KEY) return "api_key";
|
|
127
|
+
if (env.ANTHROPIC_AUTH_TOKEN) return "auth_token";
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
|
|
116
131
|
function checkClaude() {
|
|
132
|
+
var provider = hasThirdPartyProviderAuth();
|
|
133
|
+
if (provider) {
|
|
134
|
+
console.log("[yoke] Claude auth via third-party provider: " + provider);
|
|
135
|
+
return true;
|
|
136
|
+
}
|
|
137
|
+
|
|
117
138
|
try {
|
|
118
139
|
var out = execSync("claude auth status --json", { timeout: 5000, encoding: "utf8", stdio: ["pipe", "pipe", "pipe"] });
|
|
119
140
|
var parsed = parseClaudeAuthStatusJson(out);
|
|
@@ -159,7 +180,7 @@ function checkAuth() {
|
|
|
159
180
|
}
|
|
160
181
|
}
|
|
161
182
|
|
|
162
|
-
_authCache = { claude: checkClaude(), codex: checkCodex()
|
|
183
|
+
_authCache = { claude: checkClaude(), codex: checkCodex() };
|
|
163
184
|
logAuthCheck(_authCache);
|
|
164
185
|
return _authCache;
|
|
165
186
|
}
|
|
@@ -213,19 +234,24 @@ function createAdapters(opts) {
|
|
|
213
234
|
return { adapters: _sharedAdapters, auth: _sharedAuth };
|
|
214
235
|
}
|
|
215
236
|
|
|
216
|
-
|
|
237
|
+
// Gate adapter creation on binary installation, not OAuth auth status.
|
|
238
|
+
// Claude Code supports multiple auth modes (OAuth, Bedrock, Vertex, API key)
|
|
239
|
+
// that `claude auth status` does not always detect. Runtime auth failures are
|
|
240
|
+
// handled downstream via query-level error detection.
|
|
241
|
+
var installed = checkInstalled();
|
|
242
|
+
var auth = { claude: false, codex: false };
|
|
217
243
|
var adapters = {};
|
|
218
|
-
var vendors = Object.keys(
|
|
244
|
+
var vendors = Object.keys(installed);
|
|
219
245
|
|
|
220
246
|
for (var i = 0; i < vendors.length; i++) {
|
|
221
247
|
var vendor = vendors[i];
|
|
222
|
-
if (!
|
|
248
|
+
if (!installed[vendor]) continue;
|
|
223
249
|
try {
|
|
224
250
|
adapters[vendor] = createAdapter({ vendor: vendor, cwd: opts.cwd });
|
|
251
|
+
auth[vendor] = true;
|
|
225
252
|
console.log("[yoke] Adapter created: " + vendor);
|
|
226
253
|
} catch (e) {
|
|
227
254
|
console.error("[yoke] Failed to create adapter for " + vendor + ":", e.message);
|
|
228
|
-
auth[vendor] = false;
|
|
229
255
|
}
|
|
230
256
|
}
|
|
231
257
|
|
|
@@ -249,8 +275,8 @@ async function lazyCreateAdapter(adapters, vendor, opts) {
|
|
|
249
275
|
invalidateAuthCache();
|
|
250
276
|
_sharedAdapters = null;
|
|
251
277
|
_sharedAuth = null;
|
|
252
|
-
var
|
|
253
|
-
if (!
|
|
278
|
+
var installed = checkInstalled();
|
|
279
|
+
if (!installed[vendor]) return null;
|
|
254
280
|
|
|
255
281
|
try {
|
|
256
282
|
var ad = createAdapter({ vendor: vendor, cwd: opts.cwd });
|
package/lib/yoke/instructions.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clay-server",
|
|
3
|
-
"version": "2.34.0-beta.
|
|
3
|
+
"version": "2.34.0-beta.3",
|
|
4
4
|
"description": "Self-hosted Claude Code in your browser. Multi-session, multi-user, push notifications.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"clay-server": "./bin/cli.js",
|
|
@@ -37,7 +37,6 @@
|
|
|
37
37
|
"author": "Chad",
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@anthropic-ai/claude-agent-sdk": "^0.2.112",
|
|
40
|
-
"@google/genai": "^1.49.0",
|
|
41
40
|
"@lydell/node-pty": "^1.2.0-beta.3",
|
|
42
41
|
"@openai/codex": "^0.121.0",
|
|
43
42
|
"imapflow": "^1.3.1",
|