- Environment Variables
+
+ Environment Variables
+
Both packages support self-hosted registries via environment variables. This is useful
for enterprise deployments or running your own tool registry.
@@ -455,7 +465,9 @@ export TPMJS_EXECUTOR_URL=https://executor.mycompany.com`}
{/* Passing API Keys */}
- Passing API Keys
+
+ Passing API Keys
+
Many tools require API keys (e.g., Firecrawl, Exa). The recommended approach is to
wrap registryExecuteTool with your
@@ -534,8 +546,10 @@ Use registrySearch to find tools, then registryExecute to run them.\`,
{/* Security */}
- Security
-
+
+ Security
+
+
๐๏ธ
Sandboxed Execution
@@ -573,7 +587,9 @@ Use registrySearch to find tools, then registryExecute to run them.\`,
{/* Vision & Future */}
- The Vision
+
+ The Vision
+
We're building the{' '}
@@ -677,7 +693,9 @@ const tools = await tpmjs.loadCollection('my-company/internal-tools');`}
{/* CTA */}
- Ready to Get Started?
+
+ Ready to Get Started?
+
Give your AI agent access to thousands of tools in minutes.
diff --git a/apps/web/src/app/spec/page.tsx b/apps/web/src/app/spec/page.tsx
index 114c966..56f75ce 100644
--- a/apps/web/src/app/spec/page.tsx
+++ b/apps/web/src/app/spec/page.tsx
@@ -22,7 +22,7 @@ export default function SpecPage(): React.ReactElement {
{/* Hero */}
-
+
TPMJS Specification
@@ -32,7 +32,9 @@ export default function SpecPage(): React.ReactElement {
{/* What is TPMJS */}
- What is TPMJS?
+
+ What is TPMJS?
+
TPMJS (Tool Package Manager for JavaScript) is an open standard and registry for AI
@@ -62,8 +64,10 @@ export default function SpecPage(): React.ReactElement {
{/* How it Works */}
- How it Works
-
+
+ How it Works
+
+
๐ฆ
@@ -110,7 +114,9 @@ export default function SpecPage(): React.ReactElement {
{/* The Specification */}
- The Specification
+
+ The Specification
+
The TPMJS specification defines a{' '}
tpmjs field in
@@ -173,7 +179,7 @@ export default function SpecPage(): React.ReactElement {
Tool category for organization. Must be one of the following:
-
+
{TPMJS_CATEGORIES.map((cat) => (
{cat}
@@ -398,7 +404,9 @@ export default function SpecPage(): React.ReactElement {
{/* Schema Extraction */}
- Schema Extraction
+
+ Schema Extraction
+
When TPMJS syncs your package, it automatically extracts your tool's inputSchema
by loading and inspecting your tool in a sandboxed environment.
@@ -459,7 +467,9 @@ export default function SpecPage(): React.ReactElement {
{/* Field Reference Table */}
- Field Reference
+
+ Field Reference
+
@@ -561,7 +571,9 @@ export default function SpecPage(): React.ReactElement {
{/* Quality Score */}
- Quality Score
+
+ Quality Score
+
Tools are ranked by quality score, calculated from three factors:
@@ -631,11 +643,13 @@ export default function SpecPage(): React.ReactElement {
{/* Discovery & Sync */}
- Discovery & Sync
+
+ Discovery & Sync
+
TPMJS automatically discovers and updates tools using three strategies:
-
+
Changes Feed
@@ -684,7 +698,9 @@ export default function SpecPage(): React.ReactElement {
{/* Validation */}
- Validation
+
+ Validation
+
The TPMJS specification is validated using Zod schemas. The validation logic is
available in the{' '}
@@ -723,11 +739,13 @@ export default function SpecPage(): React.ReactElement {
{/* Publishing Your Tool */}
- Publishing Your Tool
+
+ Publishing Your Tool
+
Publishing a tool to TPMJS is simple:
-
+
1๏ธโฃ
@@ -771,8 +789,10 @@ export default function SpecPage(): React.ReactElement {
{/* Support & Resources */}
- Support & Resources
-
+
+ Support & Resources
+
+
Documentation
diff --git a/apps/web/src/app/terms/page.tsx b/apps/web/src/app/terms/page.tsx
index 6c55c31..9c479c3 100644
--- a/apps/web/src/app/terms/page.tsx
+++ b/apps/web/src/app/terms/page.tsx
@@ -16,7 +16,7 @@ export default function TermsPage(): React.ReactElement {
{/* Header */}
-
+
Terms of Service
Last updated: December 2024
@@ -26,7 +26,9 @@ export default function TermsPage(): React.ReactElement {
{/* 1. Introduction */}
- 1. Introduction
+
+ 1. Introduction
+
Welcome to TPMJS (Tool Package Manager for JavaScript). By accessing or using
@@ -44,10 +46,12 @@ export default function TermsPage(): React.ReactElement {
{/* 2. Service Description */}
- 2. Service Description
+
+ 2. Service Description
+
TPMJS provides the following services:
-
+
-
Automatic discovery and indexing of npm packages with the{' '}
tpmjs-tool{' '}
@@ -69,7 +73,7 @@ export default function TermsPage(): React.ReactElement {
{/* 3. User Responsibilities */}
-
+
3. User Responsibilities When Publishing Tools
@@ -77,7 +81,7 @@ export default function TermsPage(): React.ReactElement {
If you publish a tool package to npm with the intention of it being indexed by
TPMJS, you agree to:
-
+
-
Provide accurate and complete metadata in the{' '}
tpmjs{' '}
@@ -111,7 +115,7 @@ export default function TermsPage(): React.ReactElement {
{/* 4. No Warranties on Third-Party Tools */}
-
+
4. No Warranties on Third-Party Tools
@@ -126,7 +130,7 @@ export default function TermsPage(): React.ReactElement {
of any kind.
We make no representations or warranties regarding:
-
+
- The functionality, quality, or reliability of third-party tools
- The accuracy or completeness of tool descriptions and metadata
- The security or safety of executing third-party tools
@@ -149,7 +153,7 @@ export default function TermsPage(): React.ReactElement {
{/* 5. Limitation of Liability */}
-
+
5. Limitation of Liability
@@ -159,7 +163,7 @@ export default function TermsPage(): React.ReactElement {
THROUGH THE SERVICE.
This includes, but is not limited to:
-
+
- Direct, indirect, incidental, special, consequential, or punitive damages
- Loss of profits, revenue, data, or business opportunities
-
@@ -186,10 +190,12 @@ export default function TermsPage(): React.ReactElement {
{/* 6. Acceptable Use Policy */}
-
6. Acceptable Use Policy
+
+ 6. Acceptable Use Policy
+
You agree not to use the Service to:
-
+
- Violate any applicable laws, regulations, or third-party rights
- Distribute malware, viruses, or other harmful code
-
@@ -221,7 +227,9 @@ export default function TermsPage(): React.ReactElement {
{/* 7. Intellectual Property */}
-
7. Intellectual Property
+
+ 7. Intellectual Property
+
The TPMJS Service, including its design, code, and documentation, is protected by
@@ -233,7 +241,7 @@ export default function TermsPage(): React.ReactElement {
tpmjs-tool{' '}
keyword, you grant TPMJS a non-exclusive, worldwide, royalty-free license to:
-
+
- Index and display your tool's metadata on tpmjs.com
-
Execute your tool in our sandbox environment for testing and demonstration
@@ -249,12 +257,14 @@ export default function TermsPage(): React.ReactElement {
{/* 8. Privacy and Data */}
-
8. Privacy and Data
+
+ 8. Privacy and Data
+
TPMJS collects and processes data necessary to operate the Service, including:
-
+
- Package metadata from npm (names, versions, descriptions, etc.)
- Download statistics and quality metrics from public npm registries
- Tool execution results and health check data
@@ -270,7 +280,7 @@ export default function TermsPage(): React.ReactElement {
{/* 9. Modifications to the Service */}
-
+
9. Modifications to the Service
@@ -289,7 +299,9 @@ export default function TermsPage(): React.ReactElement {
{/* 10. Termination */}