@deepstrike/wasm 0.2.44 → 0.2.45

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.
@@ -1,5 +1,11 @@
1
1
  import { formatToolError } from "./errors.js";
2
2
  export function tool(name, description, parameters, fn) {
3
+ // Fail at registration, not as a vendor 400 at call time: every major provider rejects a tool
4
+ // whose parameters root is not `type: "object"` — wrap union variants under an object root.
5
+ if (!parameters || typeof parameters !== "object" || Array.isArray(parameters) || parameters.type !== "object") {
6
+ throw new Error(`tool "${name}": parameters must be a JSON Schema with root type "object" `
7
+ + `(got type: ${JSON.stringify(parameters?.type ?? null)})`);
8
+ }
3
9
  return {
4
10
  schema: { name, description, parameters: JSON.stringify(parameters) },
5
11
  async execute(args, ctx) { return fn(args, ctx); },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deepstrike/wasm",
3
- "version": "0.2.44",
3
+ "version": "0.2.45",
4
4
  "description": "DeepStrike WASM SDK — browser, Cloudflare Workers, Deno Deploy",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -15,7 +15,7 @@
15
15
  "test": "node --experimental-vm-modules node_modules/.bin/jest"
16
16
  },
17
17
  "dependencies": {
18
- "@deepstrike/wasm-kernel": "0.2.44"
18
+ "@deepstrike/wasm-kernel": "0.2.45"
19
19
  },
20
20
  "devDependencies": {
21
21
  "@types/jest": "^30.0.0",