From b0a1fb0c3f873e95ac012d4d8fb6a668c11ed6ca Mon Sep 17 00:00:00 2001 From: SentienceDEV Date: Tue, 10 Feb 2026 20:12:42 -0800 Subject: [PATCH] change npm package branding --- .github/workflows/release.yml | 4 ++-- README.md | 22 ++++++++++---------- examples/agent-runtime-captcha-strategies.ts | 4 ++-- examples/lang-chain/README.md | 2 +- examples/lang-chain/sentience-tools-demo.ts | 2 +- package-lock.json | 10 ++++----- package.json | 4 ++-- src/cli.ts | 2 +- src/visual-agent.ts | 2 +- 9 files changed, 26 insertions(+), 26 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 62fd051c..88eb8e3d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -150,11 +150,11 @@ jobs: tag_name: v${{ steps.version.outputs.version }} name: Release v${{ steps.version.outputs.version }} body: | - Release v${{ steps.version.outputs.version }} of sentienceapi + Release v${{ steps.version.outputs.version }} of @predicatelabs/sdk ## Installation ```bash - npm install sentienceapi@${{ steps.version.outputs.version }} + npm install @predicatelabs/sdk@${{ steps.version.outputs.version }} ``` draft: false prerelease: false diff --git a/README.md b/README.md index 3c83e723..90f66641 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ The core loop is: ## Install ```bash -npm install sentienceapi +npm install @predicatelabs/sdk npx playwright install chromium ``` @@ -41,9 +41,9 @@ npx playwright install chromium ## Quickstart: a verification-first loop ```ts -import { SentienceBrowser, AgentRuntime } from 'sentienceapi'; -import { JsonlTraceSink, Tracer } from 'sentienceapi'; -import { exists, urlContains } from 'sentienceapi'; +import { SentienceBrowser, AgentRuntime } from '@predicatelabs/sdk'; +import { JsonlTraceSink, Tracer } from '@predicatelabs/sdk'; +import { exists, urlContains } from '@predicatelabs/sdk'; import type { Page } from 'playwright'; async function main(): Promise { @@ -86,7 +86,7 @@ Key idea: your agent still executes actions — Sentience **snapshots and verifi ```ts import type { Page } from 'playwright'; -import { SentienceDebugger, Tracer, JsonlTraceSink, exists, urlContains } from 'sentienceapi'; +import { SentienceDebugger, Tracer, JsonlTraceSink, exists, urlContains } from '@predicatelabs/sdk'; async function runExistingAgent(page: Page): Promise { const tracer = new Tracer('run-123', new JsonlTraceSink('trace.jsonl')); @@ -113,7 +113,7 @@ async function runExistingAgent(page: Page): Promise { If you want Sentience to drive the loop end-to-end, you can use the SDK primitives directly: take a snapshot, select elements, act, then verify. ```ts -import { SentienceBrowser, snapshot, find, typeText, click, waitFor } from 'sentienceapi'; +import { SentienceBrowser, snapshot, find, typeText, click, waitFor } from '@predicatelabs/sdk'; async function loginExample(): Promise { const browser = new SentienceBrowser(); @@ -173,7 +173,7 @@ async function loginExample(): Promise { ## ToolRegistry (LLM-callable tools) ```ts -import { ToolRegistry, registerDefaultTools } from 'sentienceapi'; +import { ToolRegistry, registerDefaultTools } from '@predicatelabs/sdk'; const registry = new ToolRegistry(); registerDefaultTools(registry); @@ -185,8 +185,8 @@ const toolsForLLM = registry.llmTools(); Chrome permission prompts are outside the DOM and can be invisible to snapshots. Prefer setting a policy **before navigation**. ```ts -import { SentienceBrowser } from 'sentienceapi'; -import type { PermissionPolicy } from 'sentienceapi'; +import { SentienceBrowser } from '@predicatelabs/sdk'; +import type { PermissionPolicy } from '@predicatelabs/sdk'; const policy: PermissionPolicy = { default: 'clear', @@ -220,7 +220,7 @@ If your backend supports it, you can also use ToolRegistry permission tools (`gr ## Downloads (verification predicate) ```ts -import { downloadCompleted } from 'sentienceapi'; +import { downloadCompleted } from '@predicatelabs/sdk'; runtime.assert(downloadCompleted('report.csv'), 'download_ok', true); ``` @@ -230,7 +230,7 @@ runtime.assert(downloadCompleted('report.csv'), 'download_ok', true); - **Manual driver CLI**: ```bash -npx sentience driver --url https://example.com +npx predicate driver --url https://example.com ``` - **Verification + artifacts + debugging with time-travel traces (Sentience Studio demo)**: diff --git a/examples/agent-runtime-captcha-strategies.ts b/examples/agent-runtime-captcha-strategies.ts index 91cfa0ed..c155290a 100644 --- a/examples/agent-runtime-captcha-strategies.ts +++ b/examples/agent-runtime-captcha-strategies.ts @@ -5,8 +5,8 @@ import { HumanHandoffSolver, SentienceBrowser, VisionSolver, -} from 'sentienceapi'; -import { createTracer } from 'sentienceapi'; +} from '@predicatelabs/sdk'; +import { createTracer } from '@predicatelabs/sdk'; async function notifyWebhook(ctx: any): Promise { console.log(`[captcha] external resolver notified: url=${ctx.url} run_id=${ctx.runId}`); diff --git a/examples/lang-chain/README.md b/examples/lang-chain/README.md index 98570b29..71b9c98d 100644 --- a/examples/lang-chain/README.md +++ b/examples/lang-chain/README.md @@ -5,7 +5,7 @@ These examples show how to wrap Sentience TS SDK primitives as LangChain JS tool Install (example): ```bash -npm install sentienceapi @langchain/core zod +npm install @predicatelabs/sdk @langchain/core zod ``` Run: diff --git a/examples/lang-chain/sentience-tools-demo.ts b/examples/lang-chain/sentience-tools-demo.ts index 80115fa8..3d3e42d9 100644 --- a/examples/lang-chain/sentience-tools-demo.ts +++ b/examples/lang-chain/sentience-tools-demo.ts @@ -2,7 +2,7 @@ * Example: Wrap Sentience TS SDK primitives as LangChain JS tools. * * Install (example): - * npm install sentienceapi @langchain/core zod + * npm install @predicatelabs/sdk @langchain/core zod * * Run: * npx ts-node examples/lang-chain/sentience-tools-demo.ts diff --git a/package-lock.json b/package-lock.json index 9f884aaf..254cdaf7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { - "name": "sentienceapi", - "version": "0.99.0", + "name": "@predicatelabs/sdk", + "version": "0.99.7", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "sentienceapi", - "version": "0.99.0", + "name": "@predicatelabs/sdk", + "version": "0.99.7", "license": "(MIT OR Apache-2.0)", "dependencies": { "canvas": "^3.2.1", @@ -17,7 +17,7 @@ "zod": "^3.22.0" }, "bin": { - "sentience": "dist/cli.js" + "predicate": "dist/cli.js" }, "devDependencies": { "@eslint/js": "^9.39.2", diff --git a/package.json b/package.json index c51ed7e6..09d6c3c3 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "sentienceapi", + "name": "@predicatelabs/sdk", "version": "0.99.7", "description": "TypeScript SDK for Sentience AI Agent Browser Automation", "main": "dist/index.js", @@ -27,7 +27,7 @@ "cli": "ts-node src/cli.ts" }, "bin": { - "sentience": "./dist/cli.js" + "predicate": "./dist/cli.js" }, "dependencies": { "canvas": "^3.2.1", diff --git a/src/cli.ts b/src/cli.ts index 5b7879d1..0e9f97d9 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -400,7 +400,7 @@ async function main() { ' sentience record --proxy http://user:pass@proxy.com:8000 --url https://example.com' ); console.log(' sentience gen trace.json --lang py --output script.py'); - console.log(' sentience driver --url https://example.com'); + console.log(' predicate driver --url https://example.com'); process.exit(1); } } diff --git a/src/visual-agent.ts b/src/visual-agent.ts index b3302869..66ca1384 100644 --- a/src/visual-agent.ts +++ b/src/visual-agent.ts @@ -675,7 +675,7 @@ Return ONLY the integer ID number from the label, nothing else.`; playgroundPath = path.join(cwd, 'playground', 'images'); } else { // Check if we're in a playground context via module path - const modulePaths = require.resolve.paths('sentienceapi') || []; + const modulePaths = require.resolve.paths('@predicatelabs/sdk') || []; for (const modulePath of modulePaths) { const potentialPlayground = path.join(modulePath, '..', 'playground', 'images'); if (fs.existsSync(path.dirname(potentialPlayground))) {