@seawork/server 1.0.15 → 1.0.16-rc.1
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/dist/server/server/agent/providers/claude-agent.d.ts +16 -0
- package/dist/server/server/agent/providers/claude-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/claude-agent.js +36 -23
- package/dist/server/server/agent/providers/claude-agent.js.map +1 -1
- package/dist/server/server/agent/providers/seawork-models.d.ts.map +1 -1
- package/dist/server/server/agent/providers/seawork-models.js +47 -9
- package/dist/server/server/agent/providers/seawork-models.js.map +1 -1
- package/dist/server/server/daemon-config-store.d.ts +1 -0
- package/dist/server/server/daemon-config-store.d.ts.map +1 -1
- package/dist/server/server/daemon-config-store.js.map +1 -1
- package/dist/server/server/dictation/dictation-stream-manager.d.ts +9 -0
- package/dist/server/server/dictation/dictation-stream-manager.d.ts.map +1 -1
- package/dist/server/server/dictation/dictation-stream-manager.js +21 -1
- package/dist/server/server/dictation/dictation-stream-manager.js.map +1 -1
- package/dist/server/server/persisted-config.d.ts +145 -39
- package/dist/server/server/persisted-config.d.ts.map +1 -1
- package/dist/server/server/persisted-config.js +113 -13
- package/dist/server/server/persisted-config.js.map +1 -1
- package/dist/server/server/session.js +1 -1
- package/dist/server/server/session.js.map +1 -1
- package/dist/server/server/speech/providers/openai/config.d.ts +6 -0
- package/dist/server/server/speech/providers/openai/config.d.ts.map +1 -1
- package/dist/server/server/speech/providers/openai/config.js +92 -22
- package/dist/server/server/speech/providers/openai/config.js.map +1 -1
- package/dist/server/server/speech/providers/openai/runtime.d.ts.map +1 -1
- package/dist/server/server/speech/providers/openai/runtime.js +43 -12
- package/dist/server/server/speech/providers/openai/runtime.js.map +1 -1
- package/dist/server/server/speech/providers/openai/stt.d.ts +1 -0
- package/dist/server/server/speech/providers/openai/stt.d.ts.map +1 -1
- package/dist/server/server/speech/providers/openai/stt.js +2 -1
- package/dist/server/server/speech/providers/openai/stt.js.map +1 -1
- package/dist/server/server/workspace-registry-model.d.ts.map +1 -1
- package/dist/server/server/workspace-registry-model.js +21 -48
- package/dist/server/server/workspace-registry-model.js.map +1 -1
- package/package.json +3 -3
|
@@ -20,6 +20,22 @@ type ClaudeAgentClientOptions = {
|
|
|
20
20
|
queryFactory?: typeof query;
|
|
21
21
|
};
|
|
22
22
|
export declare function resolveClaudeCliExecutable(): string | null;
|
|
23
|
+
/**
|
|
24
|
+
* Resolves Claude CLI auth mode from the merged spawn env.
|
|
25
|
+
* - API-key mode (ANTHROPIC_API_KEY present): set CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
|
|
26
|
+
* to skip the OAuth client_data ping/metrics/autoupdater hits, and strip conflicting
|
|
27
|
+
* Bedrock/Vertex/OAuth vars so the CLI routes to the API-key code path (avoids
|
|
28
|
+
* 403 invalid_api_key from picking a non-API-key path that ignores our key).
|
|
29
|
+
* Note: do NOT use CLAUDE_CODE_SIMPLE=1 — despite the name it is a kill-switch that
|
|
30
|
+
* also drops Skill/Glob/Grep/Write/Task tools, replaces the system prompt with a
|
|
31
|
+
* 4-line stub, and disables CLAUDE.md/agents/attachments.
|
|
32
|
+
* - Local-auth mode (no API key): leave env untouched so the CLI can use the user's
|
|
33
|
+
* `claude login` OAuth credentials from keychain or ~/.claude/credentials.
|
|
34
|
+
*/
|
|
35
|
+
export declare function resolveClaudeAuthSpawnEnv(mergedEnv: Record<string, string | undefined>): {
|
|
36
|
+
spawnEnv: Record<string, string | undefined>;
|
|
37
|
+
hasApiKey: boolean;
|
|
38
|
+
};
|
|
23
39
|
export declare function extractUserMessageText(content: unknown): string | null;
|
|
24
40
|
export declare function readEventIdentifiers(message: SDKMessage): EventIdentifiers;
|
|
25
41
|
export declare class ClaudeAgentClient implements AgentClient {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-agent.d.ts","sourceRoot":"","sources":["../../../../../src/server/agent/providers/claude-agent.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,eAAe,EAQpB,KAAK,EACL,KAAK,UAAU,EAOhB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,OAAO,KAAK,EACV,oBAAoB,EACpB,WAAW,EACX,kBAAkB,EAGlB,oBAAoB,EAMpB,sBAAsB,EAKtB,YAAY,EACZ,kBAAkB,EAGlB,iBAAiB,EAEjB,iBAAiB,EACjB,0BAA0B,EAE1B,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAoB,KAAK,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AA2B9F,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAkEF,MAAM,MAAM,kBAAkB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC;AAItE,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;KAAE,CAAC;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAC1C,YAAY,CAAC,EAAE,OAAO,KAAK,CAAC;CAC7B,CAAC;AAuBF,wBAAgB,0BAA0B,IAAI,MAAM,GAAG,IAAI,CAoB1D;
|
|
1
|
+
{"version":3,"file":"claude-agent.d.ts","sourceRoot":"","sources":["../../../../../src/server/agent/providers/claude-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -111,6 +111,38 @@ function resolveClaudeSpawnCommand(spawnOptions, runtimeSettings) {
|
|
|
111
111
|
args: [...commandConfig.argv.slice(1), ...spawnOptions.args],
|
|
112
112
|
};
|
|
113
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* Resolves Claude CLI auth mode from the merged spawn env.
|
|
116
|
+
* - API-key mode (ANTHROPIC_API_KEY present): set CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
|
|
117
|
+
* to skip the OAuth client_data ping/metrics/autoupdater hits, and strip conflicting
|
|
118
|
+
* Bedrock/Vertex/OAuth vars so the CLI routes to the API-key code path (avoids
|
|
119
|
+
* 403 invalid_api_key from picking a non-API-key path that ignores our key).
|
|
120
|
+
* Note: do NOT use CLAUDE_CODE_SIMPLE=1 — despite the name it is a kill-switch that
|
|
121
|
+
* also drops Skill/Glob/Grep/Write/Task tools, replaces the system prompt with a
|
|
122
|
+
* 4-line stub, and disables CLAUDE.md/agents/attachments.
|
|
123
|
+
* - Local-auth mode (no API key): leave env untouched so the CLI can use the user's
|
|
124
|
+
* `claude login` OAuth credentials from keychain or ~/.claude/credentials.
|
|
125
|
+
*/
|
|
126
|
+
export function resolveClaudeAuthSpawnEnv(mergedEnv) {
|
|
127
|
+
const apiKey = mergedEnv.ANTHROPIC_API_KEY;
|
|
128
|
+
const hasApiKey = typeof apiKey === "string" && apiKey.length > 0;
|
|
129
|
+
if (!hasApiKey) {
|
|
130
|
+
return { spawnEnv: { ...mergedEnv }, hasApiKey };
|
|
131
|
+
}
|
|
132
|
+
return {
|
|
133
|
+
spawnEnv: {
|
|
134
|
+
...mergedEnv,
|
|
135
|
+
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: "1",
|
|
136
|
+
ANTHROPIC_AUTH_TOKEN: undefined,
|
|
137
|
+
ANTHROPIC_MODEL: undefined,
|
|
138
|
+
ANTHROPIC_SMALL_FAST_MODEL: undefined,
|
|
139
|
+
CLAUDE_CODE_USE_BEDROCK: undefined,
|
|
140
|
+
CLAUDE_CODE_USE_VERTEX: undefined,
|
|
141
|
+
AWS_BEARER_TOKEN_BEDROCK: undefined,
|
|
142
|
+
},
|
|
143
|
+
hasApiKey,
|
|
144
|
+
};
|
|
145
|
+
}
|
|
114
146
|
function applyRuntimeSettingsToClaudeOptions(options, runtimeSettings, launchEnv, logger) {
|
|
115
147
|
return {
|
|
116
148
|
...options,
|
|
@@ -121,30 +153,10 @@ function applyRuntimeSettingsToClaudeOptions(options, runtimeSettings, launchEnv
|
|
|
121
153
|
// unavailable, fall back to the Electron Helper binary (which has
|
|
122
154
|
// LSUIElement=true in its Info.plist, so it won't create Dock icons).
|
|
123
155
|
let command;
|
|
124
|
-
const spawnEnv = {
|
|
156
|
+
const { spawnEnv, hasApiKey } = resolveClaudeAuthSpawnEnv({
|
|
125
157
|
...applyProviderEnv(spawnOptions.env, runtimeSettings),
|
|
126
158
|
...(launchEnv ?? {}),
|
|
127
|
-
|
|
128
|
-
// autoupdater check) so the spawned claude CLI authenticates purely
|
|
129
|
-
// via ANTHROPIC_API_KEY env var without trying api.anthropic.com.
|
|
130
|
-
//
|
|
131
|
-
// Do NOT use CLAUDE_CODE_SIMPLE=1 for this — despite the name, it is a
|
|
132
|
-
// total kill-switch that also: drops Skill/Glob/Grep/Write/Task/...
|
|
133
|
-
// from the model's tool list, replaces the full system prompt with a
|
|
134
|
-
// 4-line stub, skips CLAUDE.md, and disables agents/attachments. That
|
|
135
|
-
// is why skills could not auto-invoke under any custom ANTHROPIC_BASE_URL.
|
|
136
|
-
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: "1",
|
|
137
|
-
// Strip conflicting Anthropic/Bedrock/Vertex auth vars inherited from
|
|
138
|
-
// the user's shell. If these are set, claude CLI picks one of the
|
|
139
|
-
// non-API-key code paths (Bedrock/Vertex/OAuth) and ignores our
|
|
140
|
-
// ANTHROPIC_API_KEY, causing 403 invalid_api_key errors.
|
|
141
|
-
ANTHROPIC_AUTH_TOKEN: undefined,
|
|
142
|
-
ANTHROPIC_MODEL: undefined,
|
|
143
|
-
ANTHROPIC_SMALL_FAST_MODEL: undefined,
|
|
144
|
-
CLAUDE_CODE_USE_BEDROCK: undefined,
|
|
145
|
-
CLAUDE_CODE_USE_VERTEX: undefined,
|
|
146
|
-
AWS_BEARER_TOKEN_BEDROCK: undefined,
|
|
147
|
-
};
|
|
159
|
+
});
|
|
148
160
|
if (!isDefaultRuntime) {
|
|
149
161
|
command = resolved.command;
|
|
150
162
|
}
|
|
@@ -177,7 +189,8 @@ function applyRuntimeSettingsToClaudeOptions(options, runtimeSettings, launchEnv
|
|
|
177
189
|
args: resolved.args,
|
|
178
190
|
cwd: spawnOptions.cwd,
|
|
179
191
|
isElectron: process.versions["electron"] != null,
|
|
180
|
-
|
|
192
|
+
authMode: hasApiKey ? "api-key" : "local-oauth",
|
|
193
|
+
hasAnthropicKey: hasApiKey,
|
|
181
194
|
anthropicKeyPrefix: spawnEnv.ANTHROPIC_API_KEY?.slice(0, 10) ?? null,
|
|
182
195
|
anthropicBaseUrl: spawnEnv.ANTHROPIC_BASE_URL ?? null,
|
|
183
196
|
launchEnvKeys: Object.keys(launchEnv ?? {}),
|