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

View file

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

View file

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

View file

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

View file

@ -12,7 +12,15 @@
"bugs": {
"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,
"type": "module",
"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'}) }\""
},
"pnpm": {
"onlyBuiltDependencies": ["better-sqlite3", "esbuild"]
"onlyBuiltDependencies": [
"better-sqlite3",
"esbuild"
],
"overrides": {
"cheerio": "1.0.0-rc.12",
"tailwindcss": "3.4.17"
}
},
"devDependencies": {
"@biomejs/biome": "^1.9.4",
"@blocksai/cli": "^0.2.1",
"@blocksai/validators": "^1.1.1",
"@changesets/cli": "^2.27.10",
"@biomejs/biome": "^2.3.11",
"@blocksai/cli": "^0.3.0",
"@blocksai/validators": "^1.2.0",
"@changesets/cli": "^2.29.8",
"@total-typescript/ts-reset": "^0.6.1",
"@types/node": "^22.10.2",
"dependency-cruiser": "^17.3.1",
"knip": "^5.70.2",
"lefthook": "^1.10.1",
"openai": "^6.9.1",
"@types/node": "^25.0.3",
"dependency-cruiser": "^17.3.6",
"knip": "^5.80.2",
"lefthook": "^2.0.13",
"openai": "^6.15.0",
"tsx": "^4.21.0",
"turbo": "^2.6.1",
"turbo": "^2.7.3",
"type-coverage": "^2.29.7",
"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": {
"enabled": true,
"clientKind": "git",
"useIgnoreFile": true
},
"files": {
"ignore": [
"**/node_modules/**",
"**/dist/**",
"**/build/**",
"**/.next/**",
"**/out/**",
"**/coverage/**",
"**/.turbo/**",
"**/storybook-static/**",
"**/*.tsbuildinfo",
"**/next-env.d.ts"
"includes": [
"**",
"!**/node_modules",
"!**/dist",
"!**/build",
"!**/.next",
"!**/out",
"!**/coverage",
"!**/.turbo",
"!**/storybook-static",
"!**/*.tsbuildinfo",
"!**/next-env.d.ts"
]
},
"formatter": {
@ -46,9 +48,7 @@
}
}
},
"organizeImports": {
"enabled": true
},
"assist": { "actions": { "source": { "organizeImports": "on" } } },
"javascript": {
"formatter": {
"quoteStyle": "single",
@ -58,7 +58,7 @@
},
"overrides": [
{
"include": ["**/*.test.ts", "**/*.test.tsx", "**/*.spec.ts", "**/*.spec.tsx"],
"includes": ["**/*.test.ts", "**/*.test.tsx", "**/*.spec.ts", "**/*.spec.tsx"],
"linter": {
"rules": {
"style": {
@ -68,7 +68,7 @@
}
},
{
"include": ["**/layout.tsx", "**/page.tsx"],
"includes": ["**/layout.tsx", "**/page.tsx"],
"linter": {
"rules": {
"security": {
@ -78,7 +78,7 @@
}
},
{
"include": ["**/MobileMenu.tsx"],
"includes": ["**/MobileMenu.tsx"],
"linter": {
"rules": {
"a11y": {
@ -88,7 +88,7 @@
}
},
{
"include": ["**/MessageBubble.tsx"],
"includes": ["**/MessageBubble.tsx"],
"linter": {
"rules": {
"complexity": {
@ -98,7 +98,7 @@
}
},
{
"include": ["**/railway-executor/server.ts"],
"includes": ["**/railway-executor/server.ts"],
"linter": {
"rules": {
"complexity": {

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -633,7 +633,7 @@ function generateSuccessCriteria(campaignType: string): string[] {
export const campaignBriefTool = tool({
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.',
parameters: jsonSchema<CampaignBriefInput>({
inputSchema: jsonSchema<CampaignBriefInput>({
type: 'object',
properties: {
campaignGoal: {

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -3,14 +3,21 @@
"version": "0.1.0",
"description": "Extract and structure competitor information from various sources into a competitive brief",
"type": "module",
"keywords": ["tpmjs", "marketing", "competitive-analysis", "market-research"],
"keywords": [
"tpmjs",
"marketing",
"competitive-analysis",
"market-research"
],
"exports": {
".": {
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
}
},
"files": ["dist"],
"files": [
"dist"
],
"scripts": {
"build": "tsup",
"dev": "tsup --watch",
@ -19,7 +26,7 @@
},
"devDependencies": {
"@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.3.5",
"tsup": "^8.5.1",
"typescript": "^5.9.3"
},
"publishConfig": {
@ -34,7 +41,9 @@
"license": "MIT",
"tpmjs": {
"category": "marketing",
"frameworks": ["vercel-ai"],
"frameworks": [
"vercel-ai"
],
"tools": [
{
"name": "competitorBriefTool",
@ -61,6 +70,6 @@
]
},
"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({
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.',
parameters: jsonSchema<CompetitorBriefInput>({
inputSchema: jsonSchema<CompetitorBriefInput>({
type: 'object',
properties: {
competitorName: {
@ -414,7 +414,7 @@ export const competitorBriefTool = tool({
required: ['competitorName', 'sources'],
additionalProperties: false,
}),
async execute({ competitorName, sources }): Promise<CompetitorBrief> {
async execute({ competitorName, sources }: CompetitorBriefInput): Promise<CompetitorBrief> {
// Validate inputs
if (
!competitorName ||

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -8,6 +8,7 @@
*/
import { jsonSchema, tool } from 'ai';
import type { CheerioAPI, Element } from 'cheerio';
import * as cheerio from 'cheerio';
// Verify fetch is available (Node.js 18+)
@ -52,10 +53,10 @@ function isValidUrl(urlString: string): boolean {
/**
* Extracts Open Graph meta tags
*/
function extractOpenGraphTags($: cheerio.Root): Record<string, string> {
function extractOpenGraphTags($: CheerioAPI): 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 content = $(element).attr('content');
@ -72,10 +73,10 @@ function extractOpenGraphTags($: cheerio.Root): Record<string, string> {
/**
* Extracts Twitter Card meta tags
*/
function extractTwitterTags($: cheerio.Root): Record<string, string> {
function extractTwitterTags($: CheerioAPI): 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 content = $(element).attr('content');

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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