JSPM

  • Created
  • Published
  • Downloads 4183
  • Score
    100M100P100Q142845F
  • License Apache-2.0

Puter.js - A JavaScript library for interacting with Puter services.

Package Exports

  • @heyputer/puter.js
  • @heyputer/puter.js/src/index.js
  • @heyputer/puter.js/src/init.cjs

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@heyputer/puter.js) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Puter.js

The official JavaScript SDK for Puter.com

Free, Serverless, Cloud and AI from the frontend code.

Learn More · Docs · Tutorials · Examples · X


Installation

NPM:

npm install @heyputer/puter.js

CDN:

Include Puter.js directly in your HTML via CDN in the <head> section:

<script src="https://js.puter.com/v2/"></script>

Usage

Browser

ES Modules

import {puter} from '@heyputer/puter.js';
// or
import puter from '@heyputer/puter.js';
// or 
import '@heyputer/puter.js'; // puter will be available globally

CommonJS

const {puter} = require('@heyputer/puter.js');
// or
const puter = require('@heyputer/puter.js');
// or
require('@heyputer/puter.js'); // puter will be available globally

Node.js (with Auth Token)

const {init} = require("@heyputer/puter.js/src/init.cjs"); // NODE JS ONLY
// or
import {init} from "@heyputer/puter.js/src/init.cjs";

const puter = init(process.env.puterAuthToken); // uses your auth token
const puter2 = init(process.env.puterAuthToken2); // use some other auth token

Node.js (with Auth Token + Web Login)

const {init, getAuthToken} = require("@heyputer/puter.js/src/init.cjs");
// or
import {init, getAuthToken} from "@heyputer/puter.js/src/init.cjs";

const authToken = await getAuthToken(); // performs browser based auth and retrieves token (requires browser)
const puter = init(authToken); // uses your auth token

Usage Example

After importing, you can use the global puter object:

// Print a message
puter.print('Hello from Puter.js!');

// Chat with GPT-5 nano
puter.ai.chat('What color was Napoleon\'s white horse?').then(response => {
  puter.print(response);
});

Starter Templates

You can also use one of the following templates:


Setting Custom Origins

By default puter.js uses the official Puter API and GUI origins. You can customize these origins by setting global variables before importing the SDK like so:

// For API origin
globalThis.PUTER_API_ORIGIN = 'https://custom-api.puter.com';
// For GUI origin
globalThis.PUTER_ORIGIN = 'https://custom-gui.puter.com';

import {puter} from '@heyputer/puter.js'; // or however you import it for your env


Documentation & Community

License

Apache-2.0