chore: update dependencies with compatibility fixes

- Update all packages to latest versions via pnpm update --latest
- Downgrade Prisma 7 to 6 (v7 requires schema migration)
- Downgrade Tailwind CSS 4 to 3 (v4 requires PostCSS migration)
- Downgrade Storybook 10 to 8 (addons not available in v10)
- Pin cheerio to 1.0.0-rc.12 via pnpm override (type exports changed)
- Fix AI SDK tool definitions: parameters -> inputSchema
- Fix cheerio types in extract-meta and table-extract tools
- Add explicit type annotations to tool execute functions
- Migrate biome config to v2.3.11 schema

All type-checks, tests, and builds pass.
This commit is contained in:
Ajax Davis 2026-01-09 22:49:41 +10:00
parent cb157611df
commit 5c9f1a1d0a
195 changed files with 5893 additions and 4845 deletions

View file

@ -11,8 +11,8 @@
"clean": "rm -rf .next .turbo" "clean": "rm -rf .next .turbo"
}, },
"dependencies": { "dependencies": {
"@ai-sdk/openai": "3.0.1", "@ai-sdk/openai": "3.0.7",
"@ai-sdk/react": "3.0.3", "@ai-sdk/react": "3.0.23",
"@tpmjs/db": "workspace:*", "@tpmjs/db": "workspace:*",
"@tpmjs/env": "workspace:*", "@tpmjs/env": "workspace:*",
"@tpmjs/hello": "workspace:*", "@tpmjs/hello": "workspace:*",
@ -21,30 +21,30 @@
"@tpmjs/ui": "workspace:*", "@tpmjs/ui": "workspace:*",
"@tpmjs/utils": "workspace:*", "@tpmjs/utils": "workspace:*",
"@vercel/analytics": "^1.6.1", "@vercel/analytics": "^1.6.1",
"ai": "6.0.3", "ai": "6.0.23",
"firecrawl-aisdk": "^0.7.2", "firecrawl-aisdk": "^0.7.2",
"nanoid": "^5.1.6", "nanoid": "^5.1.6",
"next": "^16.0.8", "next": "^16.1.1",
"next-themes": "^0.4.6", "next-themes": "^0.4.6",
"openai": "^6.9.1", "openai": "^6.15.0",
"react": "^19.0.0", "react": "^19.2.3",
"react-dom": "^19.0.0", "react-dom": "^19.2.3",
"streamdown": "^1.6.9", "streamdown": "^1.6.11",
"zod": "^4.0.0" "zod": "^4.3.5"
}, },
"devDependencies": { "devDependencies": {
"@tailwindcss/typography": "^0.5.19", "@tailwindcss/typography": "^0.5.19",
"@tpmjs/eslint-config": "workspace:*", "@tpmjs/eslint-config": "workspace:*",
"@tpmjs/tailwind-config": "workspace:*", "@tpmjs/tailwind-config": "workspace:*",
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"@types/node": "^22.10.2", "@types/node": "^25.0.3",
"@types/react": "^19.0.2", "@types/react": "^19.2.7",
"@types/react-dom": "^19.0.2", "@types/react-dom": "^19.2.3",
"autoprefixer": "^10.4.20", "autoprefixer": "^10.4.23",
"eslint": "^9.39.1", "eslint": "^9.39.2",
"eslint-config-next": "^16.0.4", "eslint-config-next": "^16.1.1",
"postcss": "^8.5.1", "postcss": "^8.5.6",
"tailwindcss": "^3.4.17", "tailwindcss": "^3.4.19",
"typescript": "^5.9.3" "typescript": "^5.9.3"
} }
} }

View file

@ -9,7 +9,7 @@
"dev": "node server.js" "dev": "node server.js"
}, },
"dependencies": { "dependencies": {
"express": "^4.18.2", "cors": "^2.8.5",
"cors": "^2.8.5" "express": "^5.2.1"
} }
} }

View file

@ -13,23 +13,23 @@
"dependencies": { "dependencies": {
"@tpmjs/ui": "workspace:*", "@tpmjs/ui": "workspace:*",
"@tpmjs/utils": "workspace:*", "@tpmjs/utils": "workspace:*",
"framer-motion": "^11.15.0", "framer-motion": "^12.25.0",
"next": "^16.0.8", "next": "^16.1.1",
"react": "^19.0.0", "react": "^19.2.3",
"react-dom": "^19.0.0" "react-dom": "^19.2.3"
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/eslint-config": "workspace:*", "@tpmjs/eslint-config": "workspace:*",
"@tpmjs/tailwind-config": "workspace:*", "@tpmjs/tailwind-config": "workspace:*",
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"@types/node": "^22.10.2", "@types/node": "^25.0.3",
"@types/react": "^19.0.2", "@types/react": "^19.2.7",
"@types/react-dom": "^19.0.2", "@types/react-dom": "^19.2.3",
"autoprefixer": "^10.4.20", "autoprefixer": "^10.4.23",
"eslint": "^9.39.1", "eslint": "^9.39.2",
"eslint-config-next": "^16.0.4", "eslint-config-next": "^16.1.1",
"postcss": "^8.5.1", "postcss": "^8.5.6",
"tailwindcss": "^3.4.17", "tailwindcss": "^3.4.19",
"typescript": "^5.9.3" "typescript": "^5.9.3"
} }
} }

View file

@ -15,13 +15,13 @@
"generate-og": "tsx scripts/generate-og-images.ts" "generate-og": "tsx scripts/generate-og-images.ts"
}, },
"dependencies": { "dependencies": {
"@ai-sdk/anthropic": "^3.0.2", "@ai-sdk/anthropic": "^3.0.9",
"@ai-sdk/google": "^3.0.2", "@ai-sdk/google": "^3.0.6",
"@ai-sdk/groq": "^3.0.2", "@ai-sdk/groq": "^3.0.4",
"@ai-sdk/mistral": "^3.0.2", "@ai-sdk/mistral": "^3.0.5",
"@ai-sdk/openai": "3.0.1", "@ai-sdk/openai": "3.0.7",
"@modelcontextprotocol/sdk": "^1.25.1", "@modelcontextprotocol/sdk": "^1.25.2",
"@prisma/client": "^6.19.0", "@prisma/client": "^6.19.1",
"@tpmjs/db": "workspace:*", "@tpmjs/db": "workspace:*",
"@tpmjs/env": "workspace:*", "@tpmjs/env": "workspace:*",
"@tpmjs/npm-client": "workspace:*", "@tpmjs/npm-client": "workspace:*",
@ -34,42 +34,42 @@
"@vercel/analytics": "^1.6.1", "@vercel/analytics": "^1.6.1",
"@vercel/blob": "^2.0.0", "@vercel/blob": "^2.0.0",
"@vercel/kv": "^3.0.0", "@vercel/kv": "^3.0.0",
"ai": "6.0.3", "ai": "6.0.23",
"better-auth": "^1.4.10", "better-auth": "^1.4.10",
"bm25": "^0.1.1", "bm25": "^0.1.1",
"d3": "^7.9.0", "d3": "^7.9.0",
"next": "^16.0.8", "next": "^16.1.1",
"next-themes": "^0.4.6", "next-themes": "^0.4.6",
"openai": "^6.9.1", "openai": "^6.15.0",
"prisma": "^6.19.0", "prisma": "^6.19.1",
"react": "^19.0.0", "react": "^19.2.3",
"react-dom": "^19.0.0", "react-dom": "^19.2.3",
"react-markdown": "^10.1.0", "react-markdown": "^10.1.0",
"react-syntax-highlighter": "^16.1.0", "react-syntax-highlighter": "^16.1.0",
"react-virtuoso": "^4.18.1", "react-virtuoso": "^4.18.1",
"rehype-raw": "^7.0.0", "rehype-raw": "^7.0.0",
"rehype-sanitize": "^6.0.0", "rehype-sanitize": "^6.0.0",
"remark-gfm": "^4.0.1", "remark-gfm": "^4.0.1",
"resend": "^6.6.0", "resend": "^6.7.0",
"sonner": "^2.0.7", "sonner": "^2.0.7",
"zod": "^4.0.0" "zod": "^4.3.5"
}, },
"devDependencies": { "devDependencies": {
"@tailwindcss/typography": "^0.5.19", "@tailwindcss/typography": "^0.5.19",
"@tpmjs/eslint-config": "workspace:*", "@tpmjs/eslint-config": "workspace:*",
"@tpmjs/tailwind-config": "workspace:*", "@tpmjs/tailwind-config": "workspace:*",
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"@types/node": "^22.10.2", "@types/node": "^25.0.3",
"@types/react": "^19.0.2", "@types/react": "^19.2.7",
"@types/react-dom": "^19.0.2", "@types/react-dom": "^19.2.3",
"autoprefixer": "^10.4.20", "autoprefixer": "^10.4.23",
"dotenv": "^17.2.3", "dotenv": "^17.2.3",
"eslint": "^9.39.1", "eslint": "^9.39.2",
"eslint-config-next": "^16.0.4", "eslint-config-next": "^16.1.1",
"postcss": "^8.5.1", "postcss": "^8.5.6",
"tailwindcss": "^3.4.17", "tailwindcss": "^3.4.19",
"tsx": "^4.21.0", "tsx": "^4.21.0",
"typescript": "^5.9.3", "typescript": "^5.9.3",
"vitest": "^2.1.9" "vitest": "^4.0.16"
} }
} }

View file

@ -1,4 +1,4 @@
{ {
"$schema": "https://biomejs.dev/schemas/1.9.4/schema.json", "$schema": "https://biomejs.dev/schemas/2.3.11/schema.json",
"extends": ["./packages/config/biome.json"] "extends": ["./packages/config/biome.json"]
} }

View file

@ -12,7 +12,15 @@
"bugs": { "bugs": {
"url": "https://github.com/tpmjs/tpmjs/issues" "url": "https://github.com/tpmjs/tpmjs/issues"
}, },
"keywords": ["tpmjs", "ai", "agents", "tools", "mcp", "typescript", "npm"], "keywords": [
"tpmjs",
"ai",
"agents",
"tools",
"mcp",
"typescript",
"npm"
],
"private": true, "private": true,
"type": "module", "type": "module",
"engines": { "engines": {
@ -40,21 +48,28 @@
"prepare": "node -e \"if (!process.env.CI && !process.env.VERCEL && require('fs').existsSync('.git')) { require('child_process').execSync('lefthook install', {stdio: 'inherit'}) }\"" "prepare": "node -e \"if (!process.env.CI && !process.env.VERCEL && require('fs').existsSync('.git')) { require('child_process').execSync('lefthook install', {stdio: 'inherit'}) }\""
}, },
"pnpm": { "pnpm": {
"onlyBuiltDependencies": ["better-sqlite3", "esbuild"] "onlyBuiltDependencies": [
"better-sqlite3",
"esbuild"
],
"overrides": {
"cheerio": "1.0.0-rc.12",
"tailwindcss": "3.4.17"
}
}, },
"devDependencies": { "devDependencies": {
"@biomejs/biome": "^1.9.4", "@biomejs/biome": "^2.3.11",
"@blocksai/cli": "^0.2.1", "@blocksai/cli": "^0.3.0",
"@blocksai/validators": "^1.1.1", "@blocksai/validators": "^1.2.0",
"@changesets/cli": "^2.27.10", "@changesets/cli": "^2.29.8",
"@total-typescript/ts-reset": "^0.6.1", "@total-typescript/ts-reset": "^0.6.1",
"@types/node": "^22.10.2", "@types/node": "^25.0.3",
"dependency-cruiser": "^17.3.1", "dependency-cruiser": "^17.3.6",
"knip": "^5.70.2", "knip": "^5.80.2",
"lefthook": "^1.10.1", "lefthook": "^2.0.13",
"openai": "^6.9.1", "openai": "^6.15.0",
"tsx": "^4.21.0", "tsx": "^4.21.0",
"turbo": "^2.6.1", "turbo": "^2.7.3",
"type-coverage": "^2.29.7", "type-coverage": "^2.29.7",
"typescript": "^5.9.3" "typescript": "^5.9.3"
} }

View file

@ -1,22 +1,24 @@
{ {
"$schema": "https://biomejs.dev/schemas/1.9.4/schema.json", "root": false,
"$schema": "https://biomejs.dev/schemas/2.3.11/schema.json",
"vcs": { "vcs": {
"enabled": true, "enabled": true,
"clientKind": "git", "clientKind": "git",
"useIgnoreFile": true "useIgnoreFile": true
}, },
"files": { "files": {
"ignore": [ "includes": [
"**/node_modules/**", "**",
"**/dist/**", "!**/node_modules",
"**/build/**", "!**/dist",
"**/.next/**", "!**/build",
"**/out/**", "!**/.next",
"**/coverage/**", "!**/out",
"**/.turbo/**", "!**/coverage",
"**/storybook-static/**", "!**/.turbo",
"**/*.tsbuildinfo", "!**/storybook-static",
"**/next-env.d.ts" "!**/*.tsbuildinfo",
"!**/next-env.d.ts"
] ]
}, },
"formatter": { "formatter": {
@ -46,9 +48,7 @@
} }
} }
}, },
"organizeImports": { "assist": { "actions": { "source": { "organizeImports": "on" } } },
"enabled": true
},
"javascript": { "javascript": {
"formatter": { "formatter": {
"quoteStyle": "single", "quoteStyle": "single",
@ -58,7 +58,7 @@
}, },
"overrides": [ "overrides": [
{ {
"include": ["**/*.test.ts", "**/*.test.tsx", "**/*.spec.ts", "**/*.spec.tsx"], "includes": ["**/*.test.ts", "**/*.test.tsx", "**/*.spec.ts", "**/*.spec.tsx"],
"linter": { "linter": {
"rules": { "rules": {
"style": { "style": {
@ -68,7 +68,7 @@
} }
}, },
{ {
"include": ["**/layout.tsx", "**/page.tsx"], "includes": ["**/layout.tsx", "**/page.tsx"],
"linter": { "linter": {
"rules": { "rules": {
"security": { "security": {
@ -78,7 +78,7 @@
} }
}, },
{ {
"include": ["**/MobileMenu.tsx"], "includes": ["**/MobileMenu.tsx"],
"linter": { "linter": {
"rules": { "rules": {
"a11y": { "a11y": {
@ -88,7 +88,7 @@
} }
}, },
{ {
"include": ["**/MessageBubble.tsx"], "includes": ["**/MessageBubble.tsx"],
"linter": { "linter": {
"rules": { "rules": {
"complexity": { "complexity": {
@ -98,7 +98,7 @@
} }
}, },
{ {
"include": ["**/railway-executor/server.ts"], "includes": ["**/railway-executor/server.ts"],
"linter": { "linter": {
"rules": { "rules": {
"complexity": { "complexity": {

View file

@ -4,15 +4,18 @@
"private": true, "private": true,
"type": "module", "type": "module",
"main": "./base.js", "main": "./base.js",
"files": ["base.js", "react.js"], "files": [
"base.js",
"react.js"
],
"dependencies": { "dependencies": {
"@eslint/js": "^9.18.0", "@eslint/js": "^9.39.2",
"eslint": "^9.18.0", "eslint": "^9.39.2",
"eslint-plugin-import": "^2.31.0", "eslint-plugin-import": "^2.32.0",
"eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-jsx-a11y": "^6.10.2",
"eslint-plugin-react": "^7.37.3", "eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^5.1.0", "eslint-plugin-react-hooks": "^7.0.1",
"typescript-eslint": "^8.19.1", "typescript-eslint": "^8.52.0",
"zod": "^4.1.13" "zod": "^4.3.5"
} }
} }

View file

@ -2,8 +2,13 @@
"name": "@tpmjs/config", "name": "@tpmjs/config",
"version": "0.0.0", "version": "0.0.0",
"private": true, "private": true,
"files": ["biome.json", "eslint", "tailwind", "tsconfig"], "files": [
"biome.json",
"eslint",
"tailwind",
"tsconfig"
],
"dependencies": { "dependencies": {
"zod": "^4.1.13" "zod": "^4.3.5"
} }
} }

View file

@ -3,10 +3,12 @@
"version": "0.0.0", "version": "0.0.0",
"private": true, "private": true,
"main": "./base.ts", "main": "./base.ts",
"files": ["base.ts"], "files": [
"base.ts"
],
"dependencies": { "dependencies": {
"tailwindcss": "^3.4.17", "tailwindcss": "^4.1.18",
"zod": "^4.1.13" "zod": "^4.3.5"
}, },
"devDependencies": { "devDependencies": {
"typescript": "^5.9.3" "typescript": "^5.9.3"

View file

@ -2,8 +2,12 @@
"name": "@tpmjs/tsconfig", "name": "@tpmjs/tsconfig",
"version": "0.0.0", "version": "0.0.0",
"private": true, "private": true,
"files": ["base.json", "nextjs.json", "react-library.json"], "files": [
"base.json",
"nextjs.json",
"react-library.json"
],
"dependencies": { "dependencies": {
"zod": "^4.1.13" "zod": "^4.3.5"
} }
} }

View file

@ -15,14 +15,14 @@
"type-check": "tsc --noEmit" "type-check": "tsc --noEmit"
}, },
"dependencies": { "dependencies": {
"@prisma/client": "^6.2.0", "@prisma/client": "^6.19.1",
"zod": "^4.1.13" "zod": "^4.3.5"
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"@types/node": "^22.10.2", "@types/node": "^25.0.3",
"prisma": "^6.2.0", "prisma": "^6.19.1",
"tsx": "^4.19.2", "tsx": "^4.21.0",
"typescript": "^5.9.3" "typescript": "^5.9.3"
} }
} }

View file

@ -10,7 +10,13 @@
"directory": "packages/env" "directory": "packages/env"
}, },
"homepage": "https://tpmjs.com", "homepage": "https://tpmjs.com",
"keywords": ["tpmjs", "typescript", "environment", "zod", "validation"], "keywords": [
"tpmjs",
"typescript",
"environment",
"zod",
"validation"
],
"type": "module", "type": "module",
"exports": { "exports": {
".": { ".": {
@ -18,7 +24,9 @@
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -26,12 +34,12 @@
"clean": "rm -rf dist .turbo" "clean": "rm -rf dist .turbo"
}, },
"dependencies": { "dependencies": {
"zod": "^4.1.13" "zod": "^4.3.5"
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"@types/node": "^22.10.2", "@types/node": "^25.0.3",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {

View file

@ -13,7 +13,9 @@
"default": "./dist/handlers.js" "default": "./dist/handlers.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -21,12 +23,12 @@
"clean": "rm -rf dist .turbo" "clean": "rm -rf dist .turbo"
}, },
"dependencies": { "dependencies": {
"msw": "^2.7.0", "msw": "^2.12.7",
"zod": "^4.1.13" "zod": "^4.3.5"
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
} }
} }

View file

@ -18,11 +18,11 @@
"type-check": "tsc --noEmit" "type-check": "tsc --noEmit"
}, },
"dependencies": { "dependencies": {
"zod": "^4.1.13" "zod": "^4.3.5"
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"@types/node": "^22.10.2", "@types/node": "^25.0.3",
"typescript": "^5.9.3" "typescript": "^5.9.3"
} }
} }

View file

@ -10,13 +10,13 @@
"type-check": "tsc --noEmit" "type-check": "tsc --noEmit"
}, },
"dependencies": { "dependencies": {
"semver": "^7.6.0", "semver": "^7.7.3",
"zod": "^4.1.13" "zod": "^4.3.5"
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"@types/node": "^22.10.2", "@types/node": "^25.0.3",
"@types/semver": "^7.5.6", "@types/semver": "^7.7.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
} }
} }

View file

@ -10,25 +10,25 @@
}, },
"dependencies": { "dependencies": {
"@tpmjs/ui": "workspace:*", "@tpmjs/ui": "workspace:*",
"react": "^19.0.0", "react": "^19.2.3",
"react-dom": "^19.0.0", "react-dom": "^19.2.3",
"zod": "^4.1.13" "zod": "^4.3.5"
}, },
"devDependencies": { "devDependencies": {
"@storybook/addon-essentials": "^8.5.0", "@storybook/addon-essentials": "^8.6.14",
"@storybook/addon-interactions": "^8.5.0", "@storybook/addon-interactions": "^8.6.14",
"@storybook/addon-links": "^8.5.0", "@storybook/addon-links": "^8.6.15",
"@storybook/blocks": "^8.5.0", "@storybook/blocks": "^8.6.14",
"@storybook/react": "^8.5.0", "@storybook/react": "^8.6.15",
"@storybook/react-vite": "^8.5.0", "@storybook/react-vite": "^8.6.15",
"@storybook/test": "^8.5.0", "@storybook/test": "^8.6.15",
"@tpmjs/tailwind-config": "workspace:*", "@tpmjs/tailwind-config": "workspace:*",
"@types/react": "^19.0.2", "@types/react": "^19.2.7",
"@types/react-dom": "^19.0.2", "@types/react-dom": "^19.2.3",
"autoprefixer": "^10.4.20", "autoprefixer": "^10.4.23",
"postcss": "^8.5.1", "postcss": "^8.5.6",
"storybook": "^8.5.0", "storybook": "^8.6.15",
"tailwindcss": "^3.4.17", "tailwindcss": "^4.1.18",
"vite": "^6.0.7" "vite": "^7.3.1"
} }
} }

View file

@ -5,9 +5,11 @@
"exports": { "exports": {
"./vitest": "./vitest.config.ts" "./vitest": "./vitest.config.ts"
}, },
"files": ["vitest.config.ts"], "files": [
"vitest.config.ts"
],
"dependencies": { "dependencies": {
"vitest": "^2.1.8", "vitest": "^4.0.16",
"zod": "^4.1.13" "zod": "^4.3.5"
} }
} }

View file

@ -13,7 +13,9 @@
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -21,23 +23,23 @@
"cli": "tsx src/cli.ts" "cli": "tsx src/cli.ts"
}, },
"dependencies": { "dependencies": {
"ai": "^6.0.3", "@ai-sdk/openai": "^3.0.7",
"@ai-sdk/openai": "^3.0.1", "ai": "^6.0.23",
"better-sqlite3": "^11.8.1", "better-sqlite3": "^12.5.0",
"drizzle-orm": "^0.38.3", "chalk": "^5.6.2",
"commander": "^13.0.0", "commander": "^14.0.2",
"p-limit": "^6.2.0", "drizzle-orm": "^0.45.1",
"zod": "^3.24.1", "ora": "^9.0.0",
"ora": "^8.1.1", "p-limit": "^7.2.0",
"chalk": "^5.4.1" "zod": "^4.3.5"
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"@types/better-sqlite3": "^7.6.12", "@types/better-sqlite3": "^7.6.13",
"@types/node": "^22.10.5", "@types/node": "^25.0.3",
"drizzle-kit": "^0.30.1", "drizzle-kit": "^0.31.8",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"tsx": "^4.19.2", "tsx": "^4.21.0",
"typescript": "^5.7.2" "typescript": "^5.9.3"
} }
} }

View file

@ -13,20 +13,31 @@
"dev": "tsup --watch", "dev": "tsup --watch",
"type-check": "tsc --noEmit" "type-check": "tsc --noEmit"
}, },
"keywords": ["tpmjs", "ai-sdk", "generator", "cli", "scaffold", "boilerplate"], "keywords": [
"tpmjs",
"ai-sdk",
"generator",
"cli",
"scaffold",
"boilerplate"
],
"dependencies": { "dependencies": {
"@clack/prompts": "^0.7.0", "@clack/prompts": "^0.11.0",
"commander": "^14.0.0", "commander": "^14.0.2",
"picocolors": "^1.0.0", "picocolors": "^1.1.1",
"validate-npm-package-name": "^5.0.0", "validate-npm-package-name": "^7.0.2",
"zod": "^4.1.13" "zod": "^4.3.5"
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"@tpmjs/types": "workspace:*", "@tpmjs/types": "workspace:*",
"@types/validate-npm-package-name": "^4.0.2", "@types/validate-npm-package-name": "^4.0.2",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"files": ["dist", "templates", "README.md"] "files": [
"dist",
"templates",
"README.md"
]
} }

View file

@ -9,10 +9,17 @@
"build": "tsc", "build": "tsc",
"type-check": "tsc --noEmit" "type-check": "tsc --noEmit"
}, },
"keywords": ["tpmjs", "emoji", "ai", "text-processing"], "keywords": [
"tpmjs",
"emoji",
"ai",
"text-processing"
],
"tpmjs": { "tpmjs": {
"category": "text-analysis", "category": "text-analysis",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"exportName": "textToEmoji", "exportName": "textToEmoji",
@ -25,8 +32,8 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.131", "ai": "6.0.23",
"zod": "^4.1.13" "zod": "^4.3.5"
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",

View file

@ -10,10 +10,17 @@
"clean": "rm -rf dist", "clean": "rm -rf dist",
"type-check": "tsc --noEmit" "type-check": "tsc --noEmit"
}, },
"keywords": ["tpmjs", "ai-sdk", "hello", "example"], "keywords": [
"tpmjs",
"ai-sdk",
"hello",
"example"
],
"tpmjs": { "tpmjs": {
"category": "text-analysis", "category": "text-analysis",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"exportName": "helloWorldTool", "exportName": "helloWorldTool",
@ -56,12 +63,15 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsx": "^4.20.6", "tsx": "^4.21.0",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"files": ["dist", "README.md"] "files": [
"dist",
"README.md"
]
} }

View file

@ -9,10 +9,17 @@
"build": "tsc", "build": "tsc",
"type-check": "tsc --noEmit" "type-check": "tsc --noEmit"
}, },
"keywords": ["tpmjs", "markdown", "formatter", "text-processing"], "keywords": [
"tpmjs",
"markdown",
"formatter",
"text-processing"
],
"tpmjs": { "tpmjs": {
"category": "text-analysis", "category": "text-analysis",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"exportName": "markdownToPlainText", "exportName": "markdownToPlainText",
@ -25,8 +32,8 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.131", "ai": "6.0.23",
"zod": "^4.1.13" "zod": "^4.3.5"
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",

View file

@ -3,14 +3,24 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Format acceptance criteria from requirements using Given/When/Then (Gherkin) format", "description": "Format acceptance criteria from requirements using Given/When/Then (Gherkin) format",
"type": "module", "type": "module",
"keywords": ["tpmjs", "documentation", "ai", "acceptance-criteria", "gherkin", "bdd", "testing"], "keywords": [
"tpmjs",
"documentation",
"ai",
"acceptance-criteria",
"gherkin",
"bdd",
"testing"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +29,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +44,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "documentation", "category": "documentation",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "acceptanceCriteriaTool", "name": "acceptanceCriteriaTool",
@ -61,6 +73,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,23 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Generates access control matrix from roles, resources, and permissions for RBAC compliance", "description": "Generates access control matrix from roles, resources, and permissions for RBAC compliance",
"type": "module", "type": "module",
"keywords": ["tpmjs", "compliance", "ai", "rbac", "access-control", "security"], "keywords": [
"tpmjs",
"compliance",
"ai",
"rbac",
"access-control",
"security"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +28,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +43,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "compliance", "category": "compliance",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "accessControlMatrix", "name": "accessControlMatrix",
@ -67,6 +78,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,23 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Detect anomalies in data using Median Absolute Deviation (MAD) method", "description": "Detect anomalies in data using Median Absolute Deviation (MAD) method",
"type": "module", "type": "module",
"keywords": ["tpmjs", "statistics", "anomaly-detection", "outliers", "mad", "robust"], "keywords": [
"tpmjs",
"statistics",
"anomaly-detection",
"outliers",
"mad",
"robust"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +28,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +43,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "statistics", "category": "statistics",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "anomalyDetectMADTool", "name": "anomalyDetectMADTool",
@ -61,6 +72,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Create audience persona profiles from demographic and behavioral data", "description": "Create audience persona profiles from demographic and behavioral data",
"type": "module", "type": "module",
"keywords": ["tpmjs", "marketing", "persona", "audience", "ai"], "keywords": [
"tpmjs",
"marketing",
"persona",
"audience",
"ai"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "marketing", "category": "marketing",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"exportName": "audiencePersonaTool", "exportName": "audiencePersonaTool",
@ -70,6 +80,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Decode base64 encoded data to string with support for multiple output encodings", "description": "Decode base64 encoded data to string with support for multiple output encodings",
"type": "module", "type": "module",
"keywords": ["tpmjs", "data", "base64", "decode", "encoding"], "keywords": [
"tpmjs",
"data",
"base64",
"decode",
"encoding"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "data", "category": "data",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "base64DecodeTool", "name": "base64DecodeTool",
@ -61,6 +71,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Encode string or buffer to base64 format with support for multiple character encodings", "description": "Encode string or buffer to base64 format with support for multiple character encodings",
"type": "module", "type": "module",
"keywords": ["tpmjs", "data", "base64", "encode", "encoding"], "keywords": [
"tpmjs",
"data",
"base64",
"encode",
"encoding"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "data", "category": "data",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "base64EncodeTool", "name": "base64EncodeTool",
@ -61,6 +71,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Bayesian beta-binomial conjugate posterior update for estimating probabilities", "description": "Bayesian beta-binomial conjugate posterior update for estimating probabilities",
"type": "module", "type": "module",
"keywords": ["tpmjs", "statistics", "bayesian", "beta-distribution", "inference"], "keywords": [
"tpmjs",
"statistics",
"bayesian",
"beta-distribution",
"inference"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "statistics", "category": "statistics",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "betaBinomialUpdateTool", "name": "betaBinomialUpdateTool",
@ -73,6 +83,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Calculate bootstrap confidence intervals for sample statistics using resampling", "description": "Calculate bootstrap confidence intervals for sample statistics using resampling",
"type": "module", "type": "module",
"keywords": ["tpmjs", "statistics", "bootstrap", "confidence-interval", "resampling"], "keywords": [
"tpmjs",
"statistics",
"bootstrap",
"confidence-interval",
"resampling"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "statistics", "category": "statistics",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "bootstrapCITool", "name": "bootstrapCITool",
@ -67,6 +77,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Calculates budget vs actual variance with percentage and trend analysis", "description": "Calculates budget vs actual variance with percentage and trend analysis",
"type": "module", "type": "module",
"keywords": ["tpmjs", "finance", "budget", "variance", "analysis"], "keywords": [
"tpmjs",
"finance",
"budget",
"variance",
"analysis"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "finance", "category": "finance",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "budgetVarianceTool", "name": "budgetVarianceTool",
@ -61,6 +71,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,21 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Structure marketing campaign briefs with objectives, audience, channels, and KPIs", "description": "Structure marketing campaign briefs with objectives, audience, channels, and KPIs",
"type": "module", "type": "module",
"keywords": ["tpmjs", "marketing", "campaign", "marketing-brief"], "keywords": [
"tpmjs",
"marketing",
"campaign",
"marketing-brief"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +26,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +41,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "marketing", "category": "marketing",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "campaignBriefTool", "name": "campaignBriefTool",
@ -67,6 +76,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "^4.0.0" "ai": "^6.0.23"
} }
} }

View file

@ -633,7 +633,7 @@ function generateSuccessCriteria(campaignType: string): string[] {
export const campaignBriefTool = tool({ export const campaignBriefTool = tool({
description: description:
'Structure a comprehensive marketing campaign brief with objectives, target audience, messaging, channels, budget allocation, timeline, and KPIs. Provide the campaign goal, product name, and optional budget to generate a complete campaign strategy document.', 'Structure a comprehensive marketing campaign brief with objectives, target audience, messaging, channels, budget allocation, timeline, and KPIs. Provide the campaign goal, product name, and optional budget to generate a complete campaign strategy document.',
parameters: jsonSchema<CampaignBriefInput>({ inputSchema: jsonSchema<CampaignBriefInput>({
type: 'object', type: 'object',
properties: { properties: {
campaignGoal: { campaignGoal: {

View file

@ -3,14 +3,22 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Projects cash flow based on receivables, payables, and recurring items", "description": "Projects cash flow based on receivables, payables, and recurring items",
"type": "module", "type": "module",
"keywords": ["tpmjs", "finance", "cash-flow", "projection", "runway"], "keywords": [
"tpmjs",
"finance",
"cash-flow",
"projection",
"runway"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "finance", "category": "finance",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "cashFlowProjectTool", "name": "cashFlowProjectTool",
@ -79,6 +89,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Generate changelog entries in Keep a Changelog format", "description": "Generate changelog entries in Keep a Changelog format",
"type": "module", "type": "module",
"keywords": ["tpmjs", "documentation", "changelog", "versioning", "ai"], "keywords": [
"tpmjs",
"documentation",
"changelog",
"versioning",
"ai"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "documentation", "category": "documentation",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "changelogEntryTool", "name": "changelogEntryTool",
@ -61,6 +71,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,23 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Scores customer churn risk based on usage, engagement, and support signals", "description": "Scores customer churn risk based on usage, engagement, and support signals",
"type": "module", "type": "module",
"keywords": ["tpmjs", "cx", "churn", "retention", "customer-success", "analytics"], "keywords": [
"tpmjs",
"cx",
"churn",
"retention",
"customer-success",
"analytics"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +28,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +43,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "cx", "category": "cx",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"exportName": "churnRiskScoreTool", "exportName": "churnRiskScoreTool",
@ -64,6 +75,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,23 @@
"version": "0.3.0", "version": "0.3.0",
"description": "Extract checkable factual claims from text and identify what needs citations", "description": "Extract checkable factual claims from text and identify what needs citations",
"type": "module", "type": "module",
"keywords": ["tpmjs", "research", "ai", "claims", "fact-checking", "citations"], "keywords": [
"tpmjs",
"research",
"ai",
"claims",
"fact-checking",
"citations"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -20,7 +29,7 @@
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"@types/sbd": "^1.0.5", "@types/sbd": "^1.0.5",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -35,7 +44,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "research", "category": "research",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "claimChecklistTool", "name": "claimChecklistTool",
@ -56,7 +67,7 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124", "ai": "6.0.23",
"sbd": "^1.0.19" "sbd": "^1.0.19"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.3.0", "version": "0.3.0",
"description": "Compare two URLs for agreements, conflicts, and unique points for cross-source validation", "description": "Compare two URLs for agreements, conflicts, and unique points for cross-source validation",
"type": "module", "type": "module",
"keywords": ["tpmjs", "research", "ai", "comparison", "fact-checking"], "keywords": [
"tpmjs",
"research",
"ai",
"comparison",
"fact-checking"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "research", "category": "research",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "comparePagesTool", "name": "comparePagesTool",
@ -61,7 +71,7 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124", "ai": "6.0.23",
"natural": "^8.0.0" "natural": "^8.1.0"
} }
} }

View file

@ -3,14 +3,23 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Structures compensation data into salary bands with percentiles and benchmarks", "description": "Structures compensation data into salary bands with percentiles and benchmarks",
"type": "module", "type": "module",
"keywords": ["tpmjs", "hr", "ai", "compensation", "salary", "benchmarking"], "keywords": [
"tpmjs",
"hr",
"ai",
"compensation",
"salary",
"benchmarking"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +28,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +43,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "hr", "category": "hr",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "compensationBandTool", "name": "compensationBandTool",
@ -67,6 +78,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,21 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Extract and structure competitor information from various sources into a competitive brief", "description": "Extract and structure competitor information from various sources into a competitive brief",
"type": "module", "type": "module",
"keywords": ["tpmjs", "marketing", "competitive-analysis", "market-research"], "keywords": [
"tpmjs",
"marketing",
"competitive-analysis",
"market-research"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +26,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +41,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "marketing", "category": "marketing",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "competitorBriefTool", "name": "competitorBriefTool",
@ -61,6 +70,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "^4.0.0" "ai": "^6.0.23"
} }
} }

View file

@ -394,7 +394,7 @@ function generateOverview(competitorName: string, _sources: string[]): string {
export const competitorBriefTool = tool({ export const competitorBriefTool = tool({
description: description:
'Extract and structure competitor information from various sources into a comprehensive competitive brief. Provide competitor name and source texts (website copy, marketing materials, reviews) to generate a structured analysis including pricing, features, positioning, strengths, weaknesses, and a comparison matrix.', 'Extract and structure competitor information from various sources into a comprehensive competitive brief. Provide competitor name and source texts (website copy, marketing materials, reviews) to generate a structured analysis including pricing, features, positioning, strengths, weaknesses, and a comparison matrix.',
parameters: jsonSchema<CompetitorBriefInput>({ inputSchema: jsonSchema<CompetitorBriefInput>({
type: 'object', type: 'object',
properties: { properties: {
competitorName: { competitorName: {
@ -414,7 +414,7 @@ export const competitorBriefTool = tool({
required: ['competitorName', 'sources'], required: ['competitorName', 'sources'],
additionalProperties: false, additionalProperties: false,
}), }),
async execute({ competitorName, sources }): Promise<CompetitorBrief> { async execute({ competitorName, sources }: CompetitorBriefInput): Promise<CompetitorBrief> {
// Validate inputs // Validate inputs
if ( if (
!competitorName || !competitorName ||

View file

@ -3,14 +3,22 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Normalizes configuration objects by sorting keys, removing nulls, and cleaning empty values", "description": "Normalizes configuration objects by sorting keys, removing nulls, and cleaning empty values",
"type": "module", "type": "module",
"keywords": ["tpmjs", "engineering", "ai", "config", "normalization"], "keywords": [
"tpmjs",
"engineering",
"ai",
"config",
"normalization"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "engineering", "category": "engineering",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "configNormalize", "name": "configNormalize",
@ -61,6 +71,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Generate content calendar structure with themes, topics, and posting schedule", "description": "Generate content calendar structure with themes, topics, and posting schedule",
"type": "module", "type": "module",
"keywords": ["tpmjs", "content-calendar", "marketing", "planning", "ai"], "keywords": [
"tpmjs",
"content-calendar",
"marketing",
"planning",
"ai"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "marketing", "category": "marketing",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"exportName": "contentCalendarPlanTool", "exportName": "contentCalendarPlanTool",
@ -76,6 +86,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Scans contract text to identify and categorize key clauses (termination, liability, IP, etc.)", "description": "Scans contract text to identify and categorize key clauses (termination, liability, IP, etc.)",
"type": "module", "type": "module",
"keywords": ["tpmjs", "legal", "contract", "clause", "analysis"], "keywords": [
"tpmjs",
"legal",
"contract",
"clause",
"analysis"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "legal", "category": "legal",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "contractClauseScanTool", "name": "contractClauseScanTool",
@ -55,6 +65,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Suggests conventional commit messages from descriptions or file changes", "description": "Suggests conventional commit messages from descriptions or file changes",
"type": "module", "type": "module",
"keywords": ["tpmjs", "engineering", "git", "commit", "conventional-commits"], "keywords": [
"tpmjs",
"engineering",
"git",
"commit",
"conventional-commits"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "engineering", "category": "engineering",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "conventionalCommitSuggest", "name": "conventionalCommitSuggest",
@ -61,6 +71,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,21 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Generates appropriate copyright notices for different content types and jurisdictions", "description": "Generates appropriate copyright notices for different content types and jurisdictions",
"type": "module", "type": "module",
"keywords": ["tpmjs", "copyright", "legal", "intellectual-property"], "keywords": [
"tpmjs",
"copyright",
"legal",
"intellectual-property"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +26,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +41,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "legal", "category": "legal",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "copyrightNoticeTool", "name": "copyrightNoticeTool",
@ -67,6 +76,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Tracks which tools have been used in a workflow and calculates coverage percentage", "description": "Tracks which tools have been used in a workflow and calculates coverage percentage",
"type": "module", "type": "module",
"keywords": ["tpmjs", "agent", "ai", "testing", "coverage"], "keywords": [
"tpmjs",
"agent",
"ai",
"testing",
"coverage"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "agent", "category": "agent",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "coverageTrackerTool", "name": "coverageTrackerTool",
@ -61,6 +71,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.3.0", "version": "0.3.0",
"description": "A tool for creating structured blog posts with AI-generated content", "description": "A tool for creating structured blog posts with AI-generated content",
"type": "module", "type": "module",
"keywords": ["tpmjs", "blog", "content", "ai", "writing"], "keywords": [
"tpmjs",
"blog",
"content",
"ai",
"writing"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "text-analysis", "category": "text-analysis",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"exportName": "createBlogPostTool", "exportName": "createBlogPostTool",
@ -94,6 +104,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,21 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Compose Content Security Policy headers from directive configurations", "description": "Compose Content Security Policy headers from directive configurations",
"type": "module", "type": "module",
"keywords": ["tpmjs", "security", "csp", "content-security-policy"], "keywords": [
"tpmjs",
"security",
"csp",
"content-security-policy"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +26,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +41,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "security", "category": "security",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "cspComposeTool", "name": "cspComposeTool",
@ -55,6 +64,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,21 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Parse CSV text into array of objects using papaparse", "description": "Parse CSV text into array of objects using papaparse",
"type": "module", "type": "module",
"keywords": ["tpmjs", "data", "csv", "parse"], "keywords": [
"tpmjs",
"data",
"csv",
"parse"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,8 +26,8 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"@types/papaparse": "^5.3.15", "@types/papaparse": "^5.5.2",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -35,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "data", "category": "data",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "csvParseTool", "name": "csvParseTool",
@ -62,7 +71,7 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124", "ai": "6.0.23",
"papaparse": "^5.4.1" "papaparse": "^5.5.3"
} }
} }

View file

@ -3,14 +3,21 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Convert array of objects to CSV string using papaparse", "description": "Convert array of objects to CSV string using papaparse",
"type": "module", "type": "module",
"keywords": ["tpmjs", "data", "csv", "stringify"], "keywords": [
"tpmjs",
"data",
"csv",
"stringify"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,8 +26,8 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"@types/papaparse": "^5.3.15", "@types/papaparse": "^5.5.2",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -35,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "data", "category": "data",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "csvStringifyTool", "name": "csvStringifyTool",
@ -62,7 +71,7 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124", "ai": "6.0.23",
"papaparse": "^5.4.1" "papaparse": "^5.5.3"
} }
} }

View file

@ -19,7 +19,9 @@
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -28,7 +30,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -43,7 +45,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "edu", "category": "edu",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "curriculumMapTool", "name": "curriculumMapTool",
@ -70,6 +74,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,23 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Classifies data sensitivity using heuristics to detect PII, financial data, and health data patterns", "description": "Classifies data sensitivity using heuristics to detect PII, financial data, and health data patterns",
"type": "module", "type": "module",
"keywords": ["tpmjs", "compliance", "ai", "privacy", "pii", "data-classification"], "keywords": [
"tpmjs",
"compliance",
"ai",
"privacy",
"pii",
"data-classification"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +28,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +43,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "compliance", "category": "compliance",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "dataClassificationHeuristic", "name": "dataClassificationHeuristic",
@ -55,6 +66,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,23 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Parse dates in various natural language formats using chrono-node", "description": "Parse dates in various natural language formats using chrono-node",
"type": "module", "type": "module",
"keywords": ["tpmjs", "date", "time", "parse", "chrono", "natural-language"], "keywords": [
"tpmjs",
"date",
"time",
"parse",
"chrono",
"natural-language"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +28,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +43,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "data", "category": "data",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "dateParseTool", "name": "dateParseTool",
@ -67,7 +78,7 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124", "ai": "6.0.23",
"chrono-node": "^2.7.9" "chrono-node": "^2.9.0"
} }
} }

View file

@ -3,14 +3,23 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Create Architecture Decision Records (ADR) from structured input following industry standards", "description": "Create Architecture Decision Records (ADR) from structured input following industry standards",
"type": "module", "type": "module",
"keywords": ["tpmjs", "documentation", "ai", "adr", "architecture", "decision-record"], "keywords": [
"tpmjs",
"documentation",
"ai",
"adr",
"architecture",
"decision-record"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +28,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +43,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "documentation", "category": "documentation",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "decisionRecordADRTool", "name": "decisionRecordADRTool",
@ -73,6 +84,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Remove duplicate objects from an array based on one or more key fields", "description": "Remove duplicate objects from an array based on one or more key fields",
"type": "module", "type": "module",
"keywords": ["tpmjs", "data", "dedupe", "unique", "array"], "keywords": [
"tpmjs",
"data",
"dedupe",
"unique",
"array"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "data", "category": "data",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "dedupeByKeyTool", "name": "dedupeByKeyTool",
@ -67,6 +77,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,23 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Lightweight audit of package.json dependencies for common issues", "description": "Lightweight audit of package.json dependencies for common issues",
"type": "module", "type": "module",
"keywords": ["tpmjs", "engineering", "ai", "npm", "dependencies", "audit"], "keywords": [
"tpmjs",
"engineering",
"ai",
"npm",
"dependencies",
"audit"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +28,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +43,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "engineering", "category": "engineering",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "dependencyAuditLite", "name": "dependencyAuditLite",
@ -55,6 +66,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Difference-in-differences estimator for causal inference", "description": "Difference-in-differences estimator for causal inference",
"type": "module", "type": "module",
"keywords": ["tpmjs", "statistics", "causal-inference", "diff-in-diff", "econometrics"], "keywords": [
"tpmjs",
"statistics",
"causal-inference",
"diff-in-diff",
"econometrics"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "statistics", "category": "statistics",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "diffInDiffTool", "name": "diffInDiffTool",
@ -73,6 +83,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Creates unified diff between two text strings with context lines", "description": "Creates unified diff between two text strings with context lines",
"type": "module", "type": "module",
"keywords": ["tpmjs", "engineering", "diff", "text", "unified"], "keywords": [
"tpmjs",
"engineering",
"diff",
"text",
"unified"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,8 +27,8 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"@types/diff": "^6.0.0", "@types/diff": "^8.0.0",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -35,7 +43,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "engineering", "category": "engineering",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "diffTextUnified", "name": "diffTextUnified",
@ -68,7 +78,7 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124", "ai": "6.0.23",
"diff": "^7.0.0" "diff": "^8.0.2"
} }
} }

View file

@ -3,14 +3,23 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Generate Data Protection Impact Assessment (DPIA) outline for GDPR compliance", "description": "Generate Data Protection Impact Assessment (DPIA) outline for GDPR compliance",
"type": "module", "type": "module",
"keywords": ["tpmjs", "compliance", "gdpr", "dpia", "privacy", "data-protection"], "keywords": [
"tpmjs",
"compliance",
"gdpr",
"dpia",
"privacy",
"data-protection"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +28,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +43,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "compliance", "category": "compliance",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "dpiaOutlineTool", "name": "dpiaOutlineTool",
@ -67,6 +78,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Calculate effect sizes (Cohen's d, Hedge's g, Glass's delta) for comparing two groups", "description": "Calculate effect sizes (Cohen's d, Hedge's g, Glass's delta) for comparing two groups",
"type": "module", "type": "module",
"keywords": ["tpmjs", "statistics", "effect-size", "cohens-d", "hedges-g"], "keywords": [
"tpmjs",
"statistics",
"effect-size",
"cohens-d",
"hedges-g"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "statistics", "category": "statistics",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "effectSizeSuiteTool", "name": "effectSizeSuiteTool",
@ -61,6 +71,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Score email subject lines for open rate potential based on length, urgency, personalization", "description": "Score email subject lines for open rate potential based on length, urgency, personalization",
"type": "module", "type": "module",
"keywords": ["tpmjs", "email", "marketing", "subject-line", "ai"], "keywords": [
"tpmjs",
"email",
"marketing",
"subject-line",
"ai"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "marketing", "category": "marketing",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"exportName": "emailSubjectScoreTool", "exportName": "emailSubjectScoreTool",
@ -64,6 +74,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Generates documentation for environment variables from .env files", "description": "Generates documentation for environment variables from .env files",
"type": "module", "type": "module",
"keywords": ["tpmjs", "engineering", "ai", "env", "documentation"], "keywords": [
"tpmjs",
"engineering",
"ai",
"env",
"documentation"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "engineering", "category": "engineering",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "envVarDocsGenerate", "name": "envVarDocsGenerate",
@ -55,6 +65,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Triages error logs by severity and frequency, groups similar errors, and provides recommendations", "description": "Triages error logs by severity and frequency, groups similar errors, and provides recommendations",
"type": "module", "type": "module",
"keywords": ["tpmjs", "engineering", "ai", "error-analysis", "debugging"], "keywords": [
"tpmjs",
"engineering",
"ai",
"error-analysis",
"debugging"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "engineering", "category": "engineering",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "errorLogTriageTool", "name": "errorLogTriageTool",
@ -55,6 +65,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Builds evaluation fixtures for testing AI tools with structured input/output pairs", "description": "Builds evaluation fixtures for testing AI tools with structured input/output pairs",
"type": "module", "type": "module",
"keywords": ["tpmjs", "agent", "ai", "testing", "evaluation"], "keywords": [
"tpmjs",
"agent",
"ai",
"testing",
"evaluation"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "agent", "category": "agent",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "evalFixtureBuildTool", "name": "evalFixtureBuildTool",
@ -67,6 +77,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Format content into executive summary style with key bullets and concise overview", "description": "Format content into executive summary style with key bullets and concise overview",
"type": "module", "type": "module",
"keywords": ["tpmjs", "documentation", "ai", "executive-summary", "business"], "keywords": [
"tpmjs",
"documentation",
"ai",
"executive-summary",
"business"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "documentation", "category": "documentation",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "executiveBriefTool", "name": "executiveBriefTool",
@ -61,6 +71,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Summarizes exit interview responses into themes and retention insights", "description": "Summarizes exit interview responses into themes and retention insights",
"type": "module", "type": "module",
"keywords": ["tpmjs", "hr", "exit-interview", "retention", "analysis"], "keywords": [
"tpmjs",
"hr",
"exit-interview",
"retention",
"analysis"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "hr", "category": "hr",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "exitInterviewSummarizeTool", "name": "exitInterviewSummarizeTool",
@ -55,6 +65,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Categorizes expenses into accounting categories based on description and amount", "description": "Categorizes expenses into accounting categories based on description and amount",
"type": "module", "type": "module",
"keywords": ["tpmjs", "finance", "accounting", "expenses", "categorization"], "keywords": [
"tpmjs",
"finance",
"accounting",
"expenses",
"categorization"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "finance", "category": "finance",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "expenseCategoriizeTool", "name": "expenseCategoriizeTool",
@ -55,6 +65,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,23 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Extract JSON-LD structured data from web pages", "description": "Extract JSON-LD structured data from web pages",
"type": "module", "type": "module",
"keywords": ["tpmjs", "research", "ai", "json-ld", "structured-data", "seo"], "keywords": [
"tpmjs",
"research",
"ai",
"json-ld",
"structured-data",
"seo"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,8 +28,8 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"@types/cheerio": "^0.22.35", "@types/cheerio": "^1.0.0",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -35,7 +44,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "research", "category": "research",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "extractJsonLdTool", "name": "extractJsonLdTool",
@ -56,7 +67,7 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124", "ai": "6.0.23",
"cheerio": "^1.0.0" "cheerio": "^1.0.0-rc.12"
} }
} }

View file

@ -3,14 +3,23 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Extract meta tags from HTML pages (title, description, Open Graph, Twitter Cards)", "description": "Extract meta tags from HTML pages (title, description, Open Graph, Twitter Cards)",
"type": "module", "type": "module",
"keywords": ["tpmjs", "web", "meta", "og", "twitter", "seo"], "keywords": [
"tpmjs",
"web",
"meta",
"og",
"twitter",
"seo"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,9 +28,9 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"@types/cheerio": "^0.22.35", "@types/cheerio": "^1.0.0",
"@types/node": "^22.0.0", "@types/node": "^25.0.3",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -36,7 +45,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "web", "category": "web",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "extractMetaTool", "name": "extractMetaTool",
@ -57,7 +68,7 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124", "ai": "6.0.23",
"cheerio": "^1.0.0" "cheerio": "^1.0.0-rc.12"
} }
} }

View file

@ -8,6 +8,7 @@
*/ */
import { jsonSchema, tool } from 'ai'; import { jsonSchema, tool } from 'ai';
import type { CheerioAPI, Element } from 'cheerio';
import * as cheerio from 'cheerio'; import * as cheerio from 'cheerio';
// Verify fetch is available (Node.js 18+) // Verify fetch is available (Node.js 18+)
@ -52,10 +53,10 @@ function isValidUrl(urlString: string): boolean {
/** /**
* Extracts Open Graph meta tags * Extracts Open Graph meta tags
*/ */
function extractOpenGraphTags($: cheerio.Root): Record<string, string> { function extractOpenGraphTags($: CheerioAPI): Record<string, string> {
const ogTags: Record<string, string> = {}; const ogTags: Record<string, string> = {};
$('meta[property^="og:"]').each((_: number, element: cheerio.Element) => { $('meta[property^="og:"]').each((_: number, element: Element) => {
const property = $(element).attr('property'); const property = $(element).attr('property');
const content = $(element).attr('content'); const content = $(element).attr('content');
@ -72,10 +73,10 @@ function extractOpenGraphTags($: cheerio.Root): Record<string, string> {
/** /**
* Extracts Twitter Card meta tags * Extracts Twitter Card meta tags
*/ */
function extractTwitterTags($: cheerio.Root): Record<string, string> { function extractTwitterTags($: CheerioAPI): Record<string, string> {
const twitterTags: Record<string, string> = {}; const twitterTags: Record<string, string> = {};
$('meta[name^="twitter:"]').each((_: number, element: cheerio.Element) => { $('meta[name^="twitter:"]').each((_: number, element: Element) => {
const name = $(element).attr('name'); const name = $(element).attr('name');
const content = $(element).attr('content'); const content = $(element).attr('content');

View file

@ -3,14 +3,22 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Extract Q&A pairs from text that looks like FAQ format", "description": "Extract Q&A pairs from text that looks like FAQ format",
"type": "module", "type": "module",
"keywords": ["tpmjs", "doc", "ai", "faq", "documentation"], "keywords": [
"tpmjs",
"doc",
"ai",
"faq",
"documentation"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "doc", "category": "doc",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "faqFromTextTool", "name": "faqFromTextTool",
@ -55,6 +65,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,23 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Extracts themes and sentiment from customer feedback text", "description": "Extracts themes and sentiment from customer feedback text",
"type": "module", "type": "module",
"keywords": ["tpmjs", "cx", "feedback", "sentiment", "analysis", "customer-success"], "keywords": [
"tpmjs",
"cx",
"feedback",
"sentiment",
"analysis",
"customer-success"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +28,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +43,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "cx", "category": "cx",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"exportName": "feedbackThemesTool", "exportName": "feedbackThemesTool",
@ -64,6 +75,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Fetch a URL and return plain text content with metadata", "description": "Fetch a URL and return plain text content with metadata",
"type": "module", "type": "module",
"keywords": ["tpmjs", "web", "fetch", "text", "scraping"], "keywords": [
"tpmjs",
"web",
"fetch",
"text",
"scraping"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "web", "category": "web",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "fetchTextTool", "name": "fetchTextTool",
@ -55,6 +65,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Maps data processing activities to GDPR requirements and legal bases", "description": "Maps data processing activities to GDPR requirements and legal bases",
"type": "module", "type": "module",
"keywords": ["tpmjs", "gdpr", "legal", "compliance", "privacy"], "keywords": [
"tpmjs",
"gdpr",
"legal",
"compliance",
"privacy"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "legal", "category": "legal",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "gdprDataMapTool", "name": "gdprDataMapTool",
@ -55,6 +65,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Build a glossary from term definitions in text", "description": "Build a glossary from term definitions in text",
"type": "module", "type": "module",
"keywords": ["tpmjs", "doc", "ai", "glossary", "documentation"], "keywords": [
"tpmjs",
"doc",
"ai",
"glossary",
"documentation"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "doc", "category": "doc",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "glossaryBuildTool", "name": "glossaryBuildTool",
@ -55,6 +65,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Drafts guardrail policies for agent workflows with rules, severity levels, and enforcement actions", "description": "Drafts guardrail policies for agent workflows with rules, severity levels, and enforcement actions",
"type": "module", "type": "module",
"keywords": ["tpmjs", "agent", "ai", "safety", "guardrails"], "keywords": [
"tpmjs",
"agent",
"ai",
"safety",
"guardrails"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "agent", "category": "agent",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "guardrailPolicyDraftTool", "name": "guardrailPolicyDraftTool",
@ -55,6 +65,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Generate web security hardening checklist with scoring and recommendations", "description": "Generate web security hardening checklist with scoring and recommendations",
"type": "module", "type": "module",
"keywords": ["tpmjs", "security", "hardening", "web-security", "checklist"], "keywords": [
"tpmjs",
"security",
"hardening",
"web-security",
"checklist"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "security", "category": "security",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "hardeningChecklistWebTool", "name": "hardeningChecklistWebTool",
@ -55,6 +65,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,23 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Hash text using cryptographic algorithms (MD5, SHA-1, SHA-256, SHA-512)", "description": "Hash text using cryptographic algorithms (MD5, SHA-1, SHA-256, SHA-512)",
"type": "module", "type": "module",
"keywords": ["tpmjs", "data", "hash", "crypto", "md5", "sha256"], "keywords": [
"tpmjs",
"data",
"hash",
"crypto",
"md5",
"sha256"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +28,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +43,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "data", "category": "data",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "hashTextTool", "name": "hashTextTool",
@ -61,6 +72,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -17,7 +17,9 @@
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -26,7 +28,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -41,7 +43,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "cx", "category": "cx",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "healthScoreCalculateTool", "name": "healthScoreCalculateTool",
@ -62,6 +66,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,23 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Sanitize HTML to prevent XSS attacks using isomorphic-dompurify", "description": "Sanitize HTML to prevent XSS attacks using isomorphic-dompurify",
"type": "module", "type": "module",
"keywords": ["tpmjs", "security", "html", "sanitize", "xss", "dompurify"], "keywords": [
"tpmjs",
"security",
"html",
"sanitize",
"xss",
"dompurify"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +28,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +43,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "security", "category": "security",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "htmlSanitizeTool", "name": "htmlSanitizeTool",
@ -61,7 +72,7 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124", "ai": "6.0.23",
"isomorphic-dompurify": "^2.18.0" "isomorphic-dompurify": "^2.35.0"
} }
} }

View file

@ -3,14 +3,23 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Convert HTML to markdown using turndown", "description": "Convert HTML to markdown using turndown",
"type": "module", "type": "module",
"keywords": ["tpmjs", "data", "html", "markdown", "convert", "turndown"], "keywords": [
"tpmjs",
"data",
"html",
"markdown",
"convert",
"turndown"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,8 +28,8 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"@types/turndown": "^5.0.5", "@types/turndown": "^5.0.6",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -35,7 +44,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "data", "category": "data",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "htmlToMarkdownTool", "name": "htmlToMarkdownTool",
@ -62,7 +73,7 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124", "ai": "6.0.23",
"turndown": "^7.2.0" "turndown": "^7.2.2"
} }
} }

View file

@ -3,14 +3,24 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Generates behavioral and technical interview questions for specific roles", "description": "Generates behavioral and technical interview questions for specific roles",
"type": "module", "type": "module",
"keywords": ["tpmjs", "hr", "ai", "interview", "recruiting", "hiring", "questions"], "keywords": [
"tpmjs",
"hr",
"ai",
"interview",
"recruiting",
"hiring",
"questions"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +29,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +44,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "hr", "category": "hr",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "interviewQuestionsTool", "name": "interviewQuestionsTool",
@ -67,6 +79,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Extracts structured data from invoice text including vendor, line items, totals", "description": "Extracts structured data from invoice text including vendor, line items, totals",
"type": "module", "type": "module",
"keywords": ["tpmjs", "finance", "invoice", "accounting", "data-extraction"], "keywords": [
"tpmjs",
"finance",
"invoice",
"accounting",
"data-extraction"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "finance", "category": "finance",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "invoiceDataExtractTool", "name": "invoiceDataExtractTool",
@ -55,6 +65,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Extracts payment terms, due dates, and late fees from invoice text", "description": "Extracts payment terms, due dates, and late fees from invoice text",
"type": "module", "type": "module",
"keywords": ["tpmjs", "legal", "invoice", "payment", "terms"], "keywords": [
"tpmjs",
"legal",
"invoice",
"payment",
"terms"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "legal", "category": "legal",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "invoiceTermsExtractTool", "name": "invoiceTermsExtractTool",
@ -55,6 +65,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,23 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Generates job descriptions from role requirements with responsibilities, qualifications, and benefits", "description": "Generates job descriptions from role requirements with responsibilities, qualifications, and benefits",
"type": "module", "type": "module",
"keywords": ["tpmjs", "hr", "ai", "job-description", "recruiting", "hiring"], "keywords": [
"tpmjs",
"hr",
"ai",
"job-description",
"recruiting",
"hiring"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +28,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +43,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "hr", "category": "hr",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "jobDescriptionDraftTool", "name": "jobDescriptionDraftTool",
@ -67,6 +78,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Query JSON using JSONPath expressions", "description": "Query JSON using JSONPath expressions",
"type": "module", "type": "module",
"keywords": ["tpmjs", "json", "jsonpath", "query", "data"], "keywords": [
"tpmjs",
"json",
"jsonpath",
"query",
"data"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "data", "category": "data",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "jsonPathQueryTool", "name": "jsonPathQueryTool",
@ -61,7 +71,7 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124", "ai": "6.0.23",
"jsonpath-plus": "^10.2.0" "jsonpath-plus": "^10.3.0"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Attempt to repair malformed JSON using jsonrepair", "description": "Attempt to repair malformed JSON using jsonrepair",
"type": "module", "type": "module",
"keywords": ["tpmjs", "data", "json", "repair", "fix"], "keywords": [
"tpmjs",
"data",
"json",
"repair",
"fix"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "data", "category": "data",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "jsonRepairTool", "name": "jsonRepairTool",
@ -55,7 +65,7 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124", "ai": "6.0.23",
"jsonrepair": "^3.11.1" "jsonrepair": "^3.13.1"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Validates JSON data against JSON Schema using ajv", "description": "Validates JSON data against JSON Schema using ajv",
"type": "module", "type": "module",
"keywords": ["tpmjs", "data", "validation", "json-schema", "ajv"], "keywords": [
"tpmjs",
"data",
"validation",
"json-schema",
"ajv"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "data", "category": "data",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "jsonSchemaValidateTool", "name": "jsonSchemaValidateTool",
@ -61,7 +71,7 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124", "ai": "6.0.23",
"ajv": "^8.17.1", "ajv": "^8.17.1",
"ajv-formats": "^3.0.1" "ajv-formats": "^3.0.1"
} }

View file

@ -3,14 +3,21 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Score leads based on engagement signals like email opens, page visits, and company fit", "description": "Score leads based on engagement signals like email opens, page visits, and company fit",
"type": "module", "type": "module",
"keywords": ["tpmjs", "sales", "lead-scoring", "crm"], "keywords": [
"tpmjs",
"sales",
"lead-scoring",
"crm"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +26,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +41,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "sales", "category": "sales",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "leadScoreTool", "name": "leadScoreTool",
@ -55,6 +64,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "^4.0.0" "ai": "^6.0.23"
} }
} }

View file

@ -310,7 +310,7 @@ function generateRecommendation(_score: number, grade: string, breakdown: ScoreB
export const leadScoreTool = tool({ export const leadScoreTool = tool({
description: description:
'Score leads based on engagement signals (email opens, page visits, form fills), company fit (size, revenue, industry), recency of activity, and lead source. Returns a score from 0-100, grade (A-F), detailed breakdown, and recommendations for sales follow-up.', 'Score leads based on engagement signals (email opens, page visits, form fills), company fit (size, revenue, industry), recency of activity, and lead source. Returns a score from 0-100, grade (A-F), detailed breakdown, and recommendations for sales follow-up.',
parameters: jsonSchema<LeadScoreInput>({ inputSchema: jsonSchema<LeadScoreInput>({
type: 'object', type: 'object',
properties: { properties: {
lead: { lead: {

View file

@ -18,7 +18,9 @@
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -27,7 +29,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -42,7 +44,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "edu", "category": "edu",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "learningObjectiveWriteTool", "name": "learningObjectiveWriteTool",
@ -69,6 +73,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,23 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Generates lesson plan outlines with objectives, activities, and assessments", "description": "Generates lesson plan outlines with objectives, activities, and assessments",
"type": "module", "type": "module",
"keywords": ["tpmjs", "education", "ai", "lesson-plan", "teaching", "curriculum"], "keywords": [
"tpmjs",
"education",
"ai",
"lesson-plan",
"teaching",
"curriculum"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +28,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +43,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "edu", "category": "edu",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "lessonPlanOutlineTool", "name": "lessonPlanOutlineTool",
@ -67,6 +78,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,23 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Perform simple linear regression using Ordinary Least Squares (OLS)", "description": "Perform simple linear regression using Ordinary Least Squares (OLS)",
"type": "module", "type": "module",
"keywords": ["tpmjs", "statistics", "ai", "linear-regression", "ols", "machine-learning"], "keywords": [
"tpmjs",
"statistics",
"ai",
"linear-regression",
"ols",
"machine-learning"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +28,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +43,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "statistics", "category": "statistics",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "linearRegressionOLSTool", "name": "linearRegressionOLSTool",
@ -61,6 +72,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,23 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Extract and categorize all links from web pages", "description": "Extract and categorize all links from web pages",
"type": "module", "type": "module",
"keywords": ["tpmjs", "research", "ai", "links", "web-scraping", "seo"], "keywords": [
"tpmjs",
"research",
"ai",
"links",
"web-scraping",
"seo"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,8 +28,8 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"@types/cheerio": "^0.22.35", "@types/cheerio": "^1.0.0",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -35,7 +44,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "research", "category": "research",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "linksCatalogTool", "name": "linksCatalogTool",
@ -56,7 +67,7 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124", "ai": "6.0.23",
"cheerio": "^1.0.0" "cheerio": "^1.0.0-rc.12"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Simple logistic regression implementation for binary classification", "description": "Simple logistic regression implementation for binary classification",
"type": "module", "type": "module",
"keywords": ["tpmjs", "statistics", "machine-learning", "logistic-regression", "classification"], "keywords": [
"tpmjs",
"statistics",
"machine-learning",
"logistic-regression",
"classification"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "statistics", "category": "statistics",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "logisticRegressionTool", "name": "logisticRegressionTool",
@ -67,6 +77,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Basic markdown linting to check for common issues", "description": "Basic markdown linting to check for common issues",
"type": "module", "type": "module",
"keywords": ["tpmjs", "documentation", "markdown", "lint", "ai"], "keywords": [
"tpmjs",
"documentation",
"markdown",
"lint",
"ai"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "documentation", "category": "documentation",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "markdownLintBasicTool", "name": "markdownLintBasicTool",
@ -55,6 +65,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

View file

@ -3,14 +3,23 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Convert markdown to HTML using marked", "description": "Convert markdown to HTML using marked",
"type": "module", "type": "module",
"keywords": ["tpmjs", "data", "markdown", "html", "convert", "marked"], "keywords": [
"tpmjs",
"data",
"markdown",
"html",
"convert",
"marked"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -20,7 +29,7 @@
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"@types/marked": "^6.0.0", "@types/marked": "^6.0.0",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -35,7 +44,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "data", "category": "data",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "markdownToHtmlTool", "name": "markdownToHtmlTool",
@ -62,7 +73,7 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124", "ai": "6.0.23",
"marked": "^14.1.4" "marked": "^17.0.1"
} }
} }

View file

@ -3,14 +3,22 @@
"version": "0.2.0", "version": "0.2.0",
"description": "Formats meeting minutes from structured input into markdown", "description": "Formats meeting minutes from structured input into markdown",
"type": "module", "type": "module",
"keywords": ["tpmjs", "documentation", "ai", "meeting-minutes", "markdown"], "keywords": [
"tpmjs",
"documentation",
"ai",
"meeting-minutes",
"markdown"
],
"exports": { "exports": {
".": { ".": {
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
"default": "./dist/index.js" "default": "./dist/index.js"
} }
}, },
"files": ["dist"], "files": [
"dist"
],
"scripts": { "scripts": {
"build": "tsup", "build": "tsup",
"dev": "tsup --watch", "dev": "tsup --watch",
@ -19,7 +27,7 @@
}, },
"devDependencies": { "devDependencies": {
"@tpmjs/tsconfig": "workspace:*", "@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5", "tsup": "^8.5.1",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"publishConfig": { "publishConfig": {
@ -34,7 +42,9 @@
"license": "MIT", "license": "MIT",
"tpmjs": { "tpmjs": {
"category": "documentation", "category": "documentation",
"frameworks": ["vercel-ai"], "frameworks": [
"vercel-ai"
],
"tools": [ "tools": [
{ {
"name": "meetingMinutesFormatTool", "name": "meetingMinutesFormatTool",
@ -73,6 +83,6 @@
] ]
}, },
"dependencies": { "dependencies": {
"ai": "6.0.0-beta.124" "ai": "6.0.23"
} }
} }

Some files were not shown because too many files have changed in this diff Show more