@superblocksteam/clark 2.0.123 → 2.0.124-next.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/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export { ClarkChatModelId } from "./clark-chat-settings.js";
2
2
  export { createClark, type ClarkProvider, type ClarkProviderSettings, type ClarkProviderDependencies, type ClarkModelFactory, type ClarkModelFactoryOptions, type ClarkModelFactoryDependencies, } from "./clark-provider.js";
3
3
  export { type ClarkErrorData } from "./clark-error-handler.js";
4
+ export { buildThinkingProviderOptions, usesAdaptiveEffort, type ThinkingOptionsParams, type ThinkingProviderOptions, } from "./thinking-options.js";
4
5
  export { MCPClient, DOCS_MCP_URL, getDocsMcpTools } from "./mcp/index.js";
5
6
  export { extractMcpTextContent } from "./mcp/index.js";
6
7
  export type { McpLogger } from "./mcp/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EACL,WAAW,EACX,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,GACnC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EACL,WAAW,EACX,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,GACnC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EACL,4BAA4B,EAC5B,kBAAkB,EAClB,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,GAC7B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export { ClarkChatModelId } from "./clark-chat-settings.js";
2
2
  export { createClark, } from "./clark-provider.js";
3
3
  export {} from "./clark-error-handler.js";
4
+ export { buildThinkingProviderOptions, usesAdaptiveEffort, } from "./thinking-options.js";
4
5
  // MCP infrastructure
5
6
  export { MCPClient, DOCS_MCP_URL, getDocsMcpTools } from "./mcp/index.js";
6
7
  export { extractMcpTextContent } from "./mcp/index.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EACL,WAAW,GAOZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAuB,MAAM,0BAA0B,CAAC;AAE/D,qBAAqB;AACrB,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EACL,WAAW,GAOZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAuB,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EACL,4BAA4B,EAC5B,kBAAkB,GAGnB,MAAM,uBAAuB,CAAC;AAE/B,qBAAqB;AACrB,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,18 @@
1
+ export interface ThinkingOptionsParams {
2
+ thinkingEnabled: boolean;
3
+ thinkingBudgetTokens: number;
4
+ interleavedThinking: boolean;
5
+ }
6
+ export interface ThinkingProviderOptions {
7
+ anthropic?: {
8
+ thinking: Record<string, unknown>;
9
+ effort?: string;
10
+ };
11
+ bedrock?: {
12
+ additionalModelRequestFields: Record<string, unknown>;
13
+ };
14
+ headers: Record<string, string | undefined>;
15
+ }
16
+ export declare function usesAdaptiveEffort(coreModel: string | undefined): boolean;
17
+ export declare function buildThinkingProviderOptions(coreModel: string | undefined, params: ThinkingOptionsParams): ThinkingProviderOptions;
18
+ //# sourceMappingURL=thinking-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thinking-options.d.ts","sourceRoot":"","sources":["../src/thinking-options.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,OAAO,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAKD,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACvD,CAAC;IACF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC7C;AAUD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEzE;AAID,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE,qBAAqB,GAC5B,uBAAuB,CA4CzB"}
@@ -0,0 +1,49 @@
1
+ const INTERLEAVED_THINKING_BETA = "interleaved-thinking-2025-05-14";
2
+ // Opus 4.7 rejects `thinking: { type: "enabled" }` with a 400; it requires the
3
+ // adaptive-thinking API with `output_config.effort`. Effort is hardcoded to
4
+ // "high" — the legacy budgetTokens knob does not apply.
5
+ const ADAPTIVE_EFFORT_MODELS = new Set(["claude-opus-4-7"]);
6
+ const HARDCODED_EFFORT = "high";
7
+ export function usesAdaptiveEffort(coreModel) {
8
+ return coreModel !== undefined && ADAPTIVE_EFFORT_MODELS.has(coreModel);
9
+ }
10
+ // Pure function so retries that swap models (e.g. opus-4-7 → sonnet-4-6 →
11
+ // opus-4-7) can call it per attempt to emit the shape the current model accepts.
12
+ export function buildThinkingProviderOptions(coreModel, params) {
13
+ const { thinkingEnabled, thinkingBudgetTokens, interleavedThinking } = params;
14
+ if (usesAdaptiveEffort(coreModel)) {
15
+ // Adaptive thinking and effort are GA on Bedrock; no beta header is
16
+ // required and interleaved thinking is automatically enabled for adaptive
17
+ // mode. Don't send anthropic_beta on this path — stale beta flags can
18
+ // surface as invalid-beta 400s upstream even when the rest of the shape
19
+ // is correct. (AWS docs: claude-messages-adaptive-thinking.)
20
+ const anthropic = {
21
+ thinking: { type: "adaptive", display: "summarized" },
22
+ effort: HARDCODED_EFFORT,
23
+ };
24
+ const bedrock = {
25
+ additionalModelRequestFields: {
26
+ thinking: { type: "adaptive", display: "summarized" },
27
+ output_config: { effort: HARDCODED_EFFORT },
28
+ },
29
+ };
30
+ return { anthropic, bedrock, headers: {} };
31
+ }
32
+ if (!thinkingEnabled) {
33
+ return { headers: {} };
34
+ }
35
+ const anthropic = {
36
+ thinking: { type: "enabled", budgetTokens: thinkingBudgetTokens },
37
+ };
38
+ const bedrock = {
39
+ additionalModelRequestFields: {
40
+ thinking: { type: "enabled", budget_tokens: thinkingBudgetTokens },
41
+ anthropic_beta: [INTERLEAVED_THINKING_BETA],
42
+ },
43
+ };
44
+ const headers = interleavedThinking
45
+ ? { "anthropic-beta": INTERLEAVED_THINKING_BETA }
46
+ : {};
47
+ return { anthropic, bedrock, headers };
48
+ }
49
+ //# sourceMappingURL=thinking-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thinking-options.js","sourceRoot":"","sources":["../src/thinking-options.ts"],"names":[],"mappings":"AAoBA,MAAM,yBAAyB,GAAG,iCAAiC,CAAC;AAEpE,+EAA+E;AAC/E,4EAA4E;AAC5E,wDAAwD;AACxD,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAC5D,MAAM,gBAAgB,GAAG,MAAe,CAAC;AAEzC,MAAM,UAAU,kBAAkB,CAAC,SAA6B;IAC9D,OAAO,SAAS,KAAK,SAAS,IAAI,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC1E,CAAC;AAED,0EAA0E;AAC1E,iFAAiF;AACjF,MAAM,UAAU,4BAA4B,CAC1C,SAA6B,EAC7B,MAA6B;IAE7B,MAAM,EAAE,eAAe,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAAC;IAE9E,IAAI,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,oEAAoE;QACpE,0EAA0E;QAC1E,sEAAsE;QACtE,wEAAwE;QACxE,6DAA6D;QAC7D,MAAM,SAAS,GAAG;YAChB,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE;YACrD,MAAM,EAAE,gBAAgB;SACzB,CAAC;QAEF,MAAM,OAAO,GAAG;YACd,4BAA4B,EAAE;gBAC5B,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE;gBACrD,aAAa,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;aAC5C;SACF,CAAC;QAEF,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,SAAS,GAAG;QAChB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,oBAAoB,EAAE;KAClE,CAAC;IAEF,MAAM,OAAO,GAAG;QACd,4BAA4B,EAAE;YAC5B,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE;YAClE,cAAc,EAAE,CAAC,yBAAyB,CAAC;SAC5C;KACF,CAAC;IAEF,MAAM,OAAO,GAAuC,mBAAmB;QACrE,CAAC,CAAC,EAAE,gBAAgB,EAAE,yBAAyB,EAAE;QACjD,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACzC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superblocksteam/clark",
3
- "version": "2.0.123",
3
+ "version": "2.0.124-next.1",
4
4
  "description": "Clark model provider extracted for reuse and testing",
5
5
  "files": [
6
6
  "dist"
@@ -38,7 +38,7 @@
38
38
  "typescript": "^5.9.3",
39
39
  "typescript-eslint": "^8.59.2",
40
40
  "vitest": "^4.0.17",
41
- "@superblocksteam/library-shared": "2.0.123"
41
+ "@superblocksteam/library-shared": "2.0.124-next.1"
42
42
  },
43
43
  "peerDependencies": {
44
44
  "ai": ">=6.0.0"