@sema-agent/core 1.447.0 → 1.448.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.
@@ -2,7 +2,7 @@
2
2
  import { readFileSync, realpathSync, createWriteStream } from "node:fs";
3
3
  import { pathToFileURL } from "node:url";
4
4
  import { Runner, NodeExecutionEnv, createOpenAIBrain, createAnthropicBrain, CODE_SYSTEM_PROMPT, assembleCodeTools, makeWebFetchSummarizer, } from "../index.js";
5
- import { positiveIntFromEnv } from "./tb-env.js";
5
+ import { positiveIntFromEnv, tbModelInput } from "./tb-env.js";
6
6
  import { inferMaxTokensField } from "../brain/openai.js";
7
7
  function usage(code = 2) {
8
8
  const out = code === 0 ? process.stdout : process.stderr;
@@ -12,7 +12,7 @@ function usage(code = 2) {
12
12
  " WARNING: argv is visible to every process in the sandbox (ps / pgrep -f / /proc/*/cmdline) — long\n" +
13
13
  " or sensitive instructions should ride --objective-file or stdin, never --message.\n" +
14
14
  "Env: <PROVIDER>_API_KEY / <PROVIDER>_BASE_URL, TB_MAX_TURNS, TB_TIMEOUT_SEC, TB_FULLBODY, TB_TODOREMIND, TB_BGTASKS, TB_SUMMARIZE,\n" +
15
- " TB_FINALVERIFY, TB_CALLCAP, TB_FINALIZE, TB_REASONING, TB_JSONL, TB_CONTEXT_WINDOW, TB_MAX_OUTPUT_TOKENS, TB_TASKLIST\n" +
15
+ " TB_FINALVERIFY, TB_CALLCAP, TB_FINALIZE, TB_REASONING, TB_JSONL, TB_CONTEXT_WINDOW, TB_MAX_OUTPUT_TOKENS, TB_TASKLIST, TB_VISION\n" +
16
16
  ' TB_COST="input,output[,cacheRead[,cacheWrite]]" — USD per MTok; explicit pricing override (omitted\n' +
17
17
  " trailing segments default to 0). Without it, pricing resolves by MODEL FAMILY (deepseek/claude/gpt-o*)\n" +
18
18
  " first, then the wire-prefix table; unknown model on an overridden BASE_URL ⇒ cost accounting disabled.\n");
@@ -185,7 +185,7 @@ function buildModelAndBrain(providerModel) {
185
185
  provider,
186
186
  baseUrl: baseUrlOverride || d.baseUrl,
187
187
  reasoning: process.env.TB_REASONING === "0" ? false : process.env.TB_REASONING === "1" ? true : (d?.reasoning ?? false),
188
- input: ["text"],
188
+ input: tbModelInput(),
189
189
  cost: costRes.cost,
190
190
  contextWindow: contextWindowOverride ?? d?.contextWindow ?? 200_000,
191
191
  maxTokens: maxOutputTokensOverride ?? d?.maxTokens ?? 32_000,
@@ -1 +1,2 @@
1
1
  export declare function positiveIntFromEnv(name: string, env?: NodeJS.ProcessEnv): number | undefined;
2
+ export declare function tbModelInput(env?: NodeJS.ProcessEnv): ("text" | "image")[];
@@ -12,3 +12,6 @@ export function positiveIntFromEnv(name, env = process.env) {
12
12
  }
13
13
  return n;
14
14
  }
15
+ export function tbModelInput(env = process.env) {
16
+ return env.TB_VISION === "1" ? ["text", "image"] : ["text"];
17
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sema-agent/core",
3
- "version": "1.447.0",
3
+ "version": "1.448.1",
4
4
  "description": "Stateless, task-oriented AI agent core",
5
5
  "type": "module",
6
6
  "license": "BUSL-1.1",
@@ -62,6 +62,9 @@
62
62
  "@modelcontextprotocol/sdk": "1.29.0",
63
63
  "typebox": "1.1.39"
64
64
  },
65
+ "optionalDependencies": {
66
+ "sharp": "^0.35.0"
67
+ },
65
68
  "devDependencies": {
66
69
  "@types/node": "22.10.2",
67
70
  "@types/pg": "^8.20.0",