@nextclaw/nextclaw-narp-runtime-claude-code-sdk 0.2.2 → 0.2.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.
@@ -17,23 +17,32 @@ var ClaudeCodeNarpRuntimeWrapper = class {
17
17
  const { cwd, modelId, promptMeta, sessionId } = context;
18
18
  const providerRoute = promptMeta.providerRoute;
19
19
  const sessionMetadata = promptMeta.sessionMetadata ?? {};
20
- const apiKey = readString(providerRoute?.apiKey) ?? readString(process.env.NEXTCLAW_API_KEY) ?? readString(process.env.ANTHROPIC_API_KEY) ?? "";
21
- const apiBase = resolveClaudeCompatibleApiBase(readString(providerRoute?.apiBase) ?? readString(process.env.NEXTCLAW_API_BASE) ?? readString(process.env.ANTHROPIC_BASE_URL) ?? readString(process.env.ANTHROPIC_API_URL), shouldUseAnthropicGateway(providerRoute?.headers));
20
+ const useClaudeRuntimeDefaults = !providerRoute && !readString(modelId);
21
+ const apiKey = useClaudeRuntimeDefaults ? "" : readString(providerRoute?.apiKey) ?? readString(process.env.NEXTCLAW_API_KEY) ?? readString(process.env.ANTHROPIC_API_KEY) ?? "";
22
+ const apiBase = useClaudeRuntimeDefaults ? void 0 : resolveClaudeCompatibleApiBase(readString(providerRoute?.apiBase) ?? readString(process.env.NEXTCLAW_API_BASE) ?? readString(process.env.ANTHROPIC_BASE_URL) ?? readString(process.env.ANTHROPIC_API_URL), shouldUseAnthropicGateway(providerRoute?.headers));
23
+ const authToken = useClaudeRuntimeDefaults ? void 0 : readString(process.env.ANTHROPIC_AUTH_TOKEN) ?? readString(process.env.CLAUDE_CODE_OAUTH_TOKEN) ?? resolveClaudeCompatibleAuthToken({
24
+ apiBase,
25
+ apiKey
26
+ });
27
+ const model = useClaudeRuntimeDefaults ? void 0 : readString(providerRoute?.model) ?? readString(modelId) ?? readString(process.env.NEXTCLAW_MODEL) ?? readString(process.env.ANTHROPIC_MODEL);
22
28
  return {
23
29
  sessionId,
24
30
  apiKey,
25
- authToken: readString(process.env.ANTHROPIC_AUTH_TOKEN) ?? readString(process.env.CLAUDE_CODE_OAUTH_TOKEN) ?? resolveClaudeCompatibleAuthToken({
26
- apiBase,
27
- apiKey
28
- }),
31
+ ...useClaudeRuntimeDefaults ? { useClaudeRuntimeDefaults: true } : {},
32
+ authToken,
29
33
  apiBase,
30
- model: readString(providerRoute?.model) ?? readString(modelId) ?? readString(process.env.NEXTCLAW_MODEL) ?? readString(process.env.ANTHROPIC_MODEL),
34
+ model,
31
35
  workingDirectory: cwd,
32
36
  sessionRuntimeId: readString(sessionMetadata.claude_session_id) ?? null,
33
37
  sessionMetadata,
34
38
  baseQueryOptions: {
35
39
  permissionMode: "bypassPermissions",
36
- includePartialMessages: true
40
+ includePartialMessages: true,
41
+ ...useClaudeRuntimeDefaults ? { settingSources: [
42
+ "user",
43
+ "project",
44
+ "local"
45
+ ] } : {}
37
46
  },
38
47
  ...apiBase && shouldUseAnthropicGateway(providerRoute?.headers) ? { anthropicGateway: {
39
48
  upstreamApiBase: apiBase,
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code-narp-runtime-wrapper.service.js","names":[],"sources":["../../src/services/claude-code-narp-runtime-wrapper.service.ts"],"sourcesContent":["import type { NcpAgentRuntime } from \"@nextclaw/ncp\";\nimport {\n NarpStdioRuntimeWrapper,\n type NarpStdioRuntimeWrapperContext,\n} from \"@nextclaw/nextclaw-narp-stdio-runtime-wrapper\";\nimport {\n ClaudeCodeSdkNcpAgentRuntime,\n type ClaudeCodeSdkNcpAgentRuntimeConfig,\n} from \"@nextclaw/nextclaw-ncp-runtime-claude-code-sdk\";\n\nconst NARP_API_MODE_HEADER = \"x-nextclaw-narp-api-mode\";\n\nexport type ClaudeCodeNarpRuntimeFactory = (\n config: ClaudeCodeSdkNcpAgentRuntimeConfig,\n) => NcpAgentRuntime;\n\nexport class ClaudeCodeNarpRuntimeWrapper {\n constructor(\n private readonly createRuntime: ClaudeCodeNarpRuntimeFactory = (\n config,\n ) => new ClaudeCodeSdkNcpAgentRuntime(config),\n ) {}\n\n start = (): void => {\n new NarpStdioRuntimeWrapper({\n agentName: \"NextClaw Claude Code NARP\",\n createRuntime: (context) => this.createClaudeCodeRuntime(context),\n }).start();\n };\n\n createClaudeCodeRuntime = (\n context: NarpStdioRuntimeWrapperContext,\n ): NcpAgentRuntime => this.createRuntime(this.buildRuntimeConfig(context));\n\n buildRuntimeConfig = (\n context: NarpStdioRuntimeWrapperContext,\n ): ClaudeCodeSdkNcpAgentRuntimeConfig => {\n const { cwd, modelId, promptMeta, sessionId } = context;\n const providerRoute = promptMeta.providerRoute;\n const sessionMetadata = promptMeta.sessionMetadata ?? {};\n const apiKey =\n readString(providerRoute?.apiKey) ??\n readString(process.env.NEXTCLAW_API_KEY) ??\n readString(process.env.ANTHROPIC_API_KEY) ??\n \"\";\n const apiBase = resolveClaudeCompatibleApiBase(\n readString(providerRoute?.apiBase) ??\n readString(process.env.NEXTCLAW_API_BASE) ??\n readString(process.env.ANTHROPIC_BASE_URL) ??\n readString(process.env.ANTHROPIC_API_URL),\n shouldUseAnthropicGateway(providerRoute?.headers),\n );\n const authToken =\n readString(process.env.ANTHROPIC_AUTH_TOKEN) ??\n readString(process.env.CLAUDE_CODE_OAUTH_TOKEN) ??\n resolveClaudeCompatibleAuthToken({ apiBase, apiKey });\n const model =\n readString(providerRoute?.model) ??\n readString(modelId) ??\n readString(process.env.NEXTCLAW_MODEL) ??\n readString(process.env.ANTHROPIC_MODEL);\n\n return {\n sessionId,\n apiKey,\n authToken,\n apiBase,\n model,\n workingDirectory: cwd,\n sessionRuntimeId: readString(sessionMetadata.claude_session_id) ?? null,\n sessionMetadata,\n baseQueryOptions: {\n permissionMode: \"bypassPermissions\",\n includePartialMessages: true,\n },\n ...(apiBase && shouldUseAnthropicGateway(providerRoute?.headers)\n ? {\n anthropicGateway: {\n upstreamApiBase: apiBase,\n upstreamApiKey: apiKey,\n },\n }\n : {}),\n };\n };\n}\n\nfunction readApiMode(headers: Record<string, string> | undefined): string | undefined {\n for (const [key, value] of Object.entries(headers ?? {})) {\n if (key.toLowerCase() === NARP_API_MODE_HEADER) {\n return readString(value)?.toLowerCase();\n }\n }\n return undefined;\n}\n\nfunction readString(value: unknown): string | undefined {\n if (typeof value !== \"string\") {\n return undefined;\n }\n const trimmed = value.trim();\n return trimmed.length > 0 ? trimmed : undefined;\n}\n\nfunction normalizeApiBase(value: string | undefined): string | undefined {\n return readString(value)?.replace(/\\/+$/, \"\");\n}\n\nfunction resolveClaudeCompatibleApiBase(\n value: string | undefined,\n shouldPreserveOpenAiBase = false,\n): string | undefined {\n const apiBase = normalizeApiBase(value);\n if (!apiBase || shouldPreserveOpenAiBase || !isMiniMaxApiBase(apiBase)) {\n return apiBase;\n }\n if (apiBase.endsWith(\"/anthropic\")) {\n return apiBase;\n }\n return `${apiBase.replace(/\\/v1$/i, \"\")}/anthropic`;\n}\n\nfunction resolveClaudeCompatibleAuthToken(params: {\n apiBase?: string;\n apiKey: string;\n}): string | undefined {\n return params.apiBase && isMiniMaxApiBase(params.apiBase)\n ? readString(params.apiKey)\n : undefined;\n}\n\nfunction isMiniMaxApiBase(apiBase: string): boolean {\n try {\n const host = new URL(apiBase).hostname.toLowerCase();\n return host === \"api.minimaxi.com\" || host.endsWith(\".minimaxi.com\");\n } catch {\n return apiBase.toLowerCase().includes(\"api.minimaxi.com\");\n }\n}\n\nfunction shouldUseAnthropicGateway(headers: Record<string, string> | undefined): boolean {\n return readApiMode(headers) === \"chat_completions\";\n}\n"],"mappings":";;;AAUA,MAAM,uBAAuB;AAM7B,IAAa,+BAAb,MAA0C;CACxC,YACE,iBACE,WACG,IAAI,6BAA6B,OAAO,EAC7C;AAHiB,OAAA,gBAAA;;CAKnB,cAAoB;AAClB,MAAI,wBAAwB;GAC1B,WAAW;GACX,gBAAgB,YAAY,KAAK,wBAAwB,QAAQ;GAClE,CAAC,CAAC,OAAO;;CAGZ,2BACE,YACoB,KAAK,cAAc,KAAK,mBAAmB,QAAQ,CAAC;CAE1E,sBACE,YACuC;EACvC,MAAM,EAAE,KAAK,SAAS,YAAY,cAAc;EAChD,MAAM,gBAAgB,WAAW;EACjC,MAAM,kBAAkB,WAAW,mBAAmB,EAAE;EACxD,MAAM,SACJ,WAAW,eAAe,OAAO,IACjC,WAAW,QAAQ,IAAI,iBAAiB,IACxC,WAAW,QAAQ,IAAI,kBAAkB,IACzC;EACF,MAAM,UAAU,+BACd,WAAW,eAAe,QAAQ,IAChC,WAAW,QAAQ,IAAI,kBAAkB,IACzC,WAAW,QAAQ,IAAI,mBAAmB,IAC1C,WAAW,QAAQ,IAAI,kBAAkB,EAC3C,0BAA0B,eAAe,QAAQ,CAClD;AAWD,SAAO;GACL;GACA;GACA,WAZA,WAAW,QAAQ,IAAI,qBAAqB,IAC5C,WAAW,QAAQ,IAAI,wBAAwB,IAC/C,iCAAiC;IAAE;IAAS;IAAQ,CAAC;GAWrD;GACA,OAVA,WAAW,eAAe,MAAM,IAChC,WAAW,QAAQ,IACnB,WAAW,QAAQ,IAAI,eAAe,IACtC,WAAW,QAAQ,IAAI,gBAAgB;GAQvC,kBAAkB;GAClB,kBAAkB,WAAW,gBAAgB,kBAAkB,IAAI;GACnE;GACA,kBAAkB;IAChB,gBAAgB;IAChB,wBAAwB;IACzB;GACD,GAAI,WAAW,0BAA0B,eAAe,QAAQ,GAC5D,EACE,kBAAkB;IAChB,iBAAiB;IACjB,gBAAgB;IACjB,EACF,GACD,EAAE;GACP;;;AAIL,SAAS,YAAY,SAAiE;AACpF,MAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,WAAW,EAAE,CAAC,CACtD,KAAI,IAAI,aAAa,KAAK,qBACxB,QAAO,WAAW,MAAM,EAAE,aAAa;;AAM7C,SAAS,WAAW,OAAoC;AACtD,KAAI,OAAO,UAAU,SACnB;CAEF,MAAM,UAAU,MAAM,MAAM;AAC5B,QAAO,QAAQ,SAAS,IAAI,UAAU,KAAA;;AAGxC,SAAS,iBAAiB,OAA+C;AACvE,QAAO,WAAW,MAAM,EAAE,QAAQ,QAAQ,GAAG;;AAG/C,SAAS,+BACP,OACA,2BAA2B,OACP;CACpB,MAAM,UAAU,iBAAiB,MAAM;AACvC,KAAI,CAAC,WAAW,4BAA4B,CAAC,iBAAiB,QAAQ,CACpE,QAAO;AAET,KAAI,QAAQ,SAAS,aAAa,CAChC,QAAO;AAET,QAAO,GAAG,QAAQ,QAAQ,UAAU,GAAG,CAAC;;AAG1C,SAAS,iCAAiC,QAGnB;AACrB,QAAO,OAAO,WAAW,iBAAiB,OAAO,QAAQ,GACrD,WAAW,OAAO,OAAO,GACzB,KAAA;;AAGN,SAAS,iBAAiB,SAA0B;AAClD,KAAI;EACF,MAAM,OAAO,IAAI,IAAI,QAAQ,CAAC,SAAS,aAAa;AACpD,SAAO,SAAS,sBAAsB,KAAK,SAAS,gBAAgB;SAC9D;AACN,SAAO,QAAQ,aAAa,CAAC,SAAS,mBAAmB;;;AAI7D,SAAS,0BAA0B,SAAsD;AACvF,QAAO,YAAY,QAAQ,KAAK"}
1
+ {"version":3,"file":"claude-code-narp-runtime-wrapper.service.js","names":[],"sources":["../../src/services/claude-code-narp-runtime-wrapper.service.ts"],"sourcesContent":["import type { NcpAgentRuntime } from \"@nextclaw/ncp\";\nimport {\n NarpStdioRuntimeWrapper,\n type NarpStdioRuntimeWrapperContext,\n} from \"@nextclaw/nextclaw-narp-stdio-runtime-wrapper\";\nimport {\n ClaudeCodeSdkNcpAgentRuntime,\n type ClaudeCodeSdkNcpAgentRuntimeConfig,\n} from \"@nextclaw/nextclaw-ncp-runtime-claude-code-sdk\";\n\nconst NARP_API_MODE_HEADER = \"x-nextclaw-narp-api-mode\";\n\nexport type ClaudeCodeNarpRuntimeFactory = (\n config: ClaudeCodeSdkNcpAgentRuntimeConfig,\n) => NcpAgentRuntime;\n\nexport class ClaudeCodeNarpRuntimeWrapper {\n constructor(\n private readonly createRuntime: ClaudeCodeNarpRuntimeFactory = (\n config,\n ) => new ClaudeCodeSdkNcpAgentRuntime(config),\n ) {}\n\n start = (): void => {\n new NarpStdioRuntimeWrapper({\n agentName: \"NextClaw Claude Code NARP\",\n createRuntime: (context) => this.createClaudeCodeRuntime(context),\n }).start();\n };\n\n createClaudeCodeRuntime = (\n context: NarpStdioRuntimeWrapperContext,\n ): NcpAgentRuntime => this.createRuntime(this.buildRuntimeConfig(context));\n\n buildRuntimeConfig = (\n context: NarpStdioRuntimeWrapperContext,\n ): ClaudeCodeSdkNcpAgentRuntimeConfig => {\n const { cwd, modelId, promptMeta, sessionId } = context;\n const providerRoute = promptMeta.providerRoute;\n const sessionMetadata = promptMeta.sessionMetadata ?? {};\n const useClaudeRuntimeDefaults = !providerRoute && !readString(modelId);\n const apiKey = useClaudeRuntimeDefaults\n ? \"\"\n : readString(providerRoute?.apiKey) ??\n readString(process.env.NEXTCLAW_API_KEY) ??\n readString(process.env.ANTHROPIC_API_KEY) ??\n \"\";\n const apiBase = useClaudeRuntimeDefaults\n ? undefined\n : resolveClaudeCompatibleApiBase(\n readString(providerRoute?.apiBase) ??\n readString(process.env.NEXTCLAW_API_BASE) ??\n readString(process.env.ANTHROPIC_BASE_URL) ??\n readString(process.env.ANTHROPIC_API_URL),\n shouldUseAnthropicGateway(providerRoute?.headers),\n );\n const authToken = useClaudeRuntimeDefaults\n ? undefined\n : readString(process.env.ANTHROPIC_AUTH_TOKEN) ??\n readString(process.env.CLAUDE_CODE_OAUTH_TOKEN) ??\n resolveClaudeCompatibleAuthToken({ apiBase, apiKey });\n const model = useClaudeRuntimeDefaults\n ? undefined\n : readString(providerRoute?.model) ??\n readString(modelId) ??\n readString(process.env.NEXTCLAW_MODEL) ??\n readString(process.env.ANTHROPIC_MODEL);\n\n return {\n sessionId,\n apiKey,\n ...(useClaudeRuntimeDefaults ? { useClaudeRuntimeDefaults: true } : {}),\n authToken,\n apiBase,\n model,\n workingDirectory: cwd,\n sessionRuntimeId: readString(sessionMetadata.claude_session_id) ?? null,\n sessionMetadata,\n baseQueryOptions: {\n permissionMode: \"bypassPermissions\",\n includePartialMessages: true,\n ...(useClaudeRuntimeDefaults\n ? { settingSources: [\"user\", \"project\", \"local\"] }\n : {}),\n },\n ...(apiBase && shouldUseAnthropicGateway(providerRoute?.headers)\n ? {\n anthropicGateway: {\n upstreamApiBase: apiBase,\n upstreamApiKey: apiKey,\n },\n }\n : {}),\n };\n };\n}\n\nfunction readApiMode(headers: Record<string, string> | undefined): string | undefined {\n for (const [key, value] of Object.entries(headers ?? {})) {\n if (key.toLowerCase() === NARP_API_MODE_HEADER) {\n return readString(value)?.toLowerCase();\n }\n }\n return undefined;\n}\n\nfunction readString(value: unknown): string | undefined {\n if (typeof value !== \"string\") {\n return undefined;\n }\n const trimmed = value.trim();\n return trimmed.length > 0 ? trimmed : undefined;\n}\n\nfunction normalizeApiBase(value: string | undefined): string | undefined {\n return readString(value)?.replace(/\\/+$/, \"\");\n}\n\nfunction resolveClaudeCompatibleApiBase(\n value: string | undefined,\n shouldPreserveOpenAiBase = false,\n): string | undefined {\n const apiBase = normalizeApiBase(value);\n if (!apiBase || shouldPreserveOpenAiBase || !isMiniMaxApiBase(apiBase)) {\n return apiBase;\n }\n if (apiBase.endsWith(\"/anthropic\")) {\n return apiBase;\n }\n return `${apiBase.replace(/\\/v1$/i, \"\")}/anthropic`;\n}\n\nfunction resolveClaudeCompatibleAuthToken(params: {\n apiBase?: string;\n apiKey: string;\n}): string | undefined {\n return params.apiBase && isMiniMaxApiBase(params.apiBase)\n ? readString(params.apiKey)\n : undefined;\n}\n\nfunction isMiniMaxApiBase(apiBase: string): boolean {\n try {\n const host = new URL(apiBase).hostname.toLowerCase();\n return host === \"api.minimaxi.com\" || host.endsWith(\".minimaxi.com\");\n } catch {\n return apiBase.toLowerCase().includes(\"api.minimaxi.com\");\n }\n}\n\nfunction shouldUseAnthropicGateway(headers: Record<string, string> | undefined): boolean {\n return readApiMode(headers) === \"chat_completions\";\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nextclaw/nextclaw-narp-runtime-claude-code-sdk",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "private": false,
5
5
  "description": "NARP stdio launcher for the NextClaw Claude Code SDK runtime.",
6
6
  "type": "module",
@@ -19,9 +19,9 @@
19
19
  "README.md"
20
20
  ],
21
21
  "dependencies": {
22
- "@nextclaw/ncp": "0.7.2",
23
- "@nextclaw/nextclaw-narp-stdio-runtime-wrapper": "0.3.2",
24
- "@nextclaw/nextclaw-ncp-runtime-claude-code-sdk": "0.2.2"
22
+ "@nextclaw/ncp": "0.7.3",
23
+ "@nextclaw/nextclaw-narp-stdio-runtime-wrapper": "0.3.3",
24
+ "@nextclaw/nextclaw-ncp-runtime-claude-code-sdk": "0.2.3"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@types/node": "^20.17.6",