totalfusion 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/AGENTS.md CHANGED
@@ -6,7 +6,7 @@ Guidance for AI coding agents. The first part is for an agent that **uses** Tota
6
6
 
7
7
  TotalFusion extends Total.js 5 with other runtimes: functions written in **Python, Rust, Go and WebAssembly** are called from Node.js as `async` functions, and become Total.js actions, API routes, MCP tools, Server-Sent Events and nodes of Flow. Each runtime is a pool of worker processes that Node.js supervises; a crash in a worker never takes the application down. The engine (`require('totalfusion')`) does not depend on Total.js; `fusion.register()`, `fusion.sse()` and `fusion.flow()` do.
8
8
 
9
- Package name: `totalfusion` (version 0.1.0)
9
+ Package name: `totalfusion` (version 0.1.1)
10
10
  Node.js: 20 or newer. No dependencies. Plain JavaScript, no TypeScript (Total.js does not support it: never add types or `.d.ts`).
11
11
  License: MIT
12
12
 
@@ -51,7 +51,7 @@ Each area (`go/`, `rust/`, `python/`, `wasm/`, `total5/`, `tests/`) has its own
51
51
  - For Codex: this file is the native entry point; no separate Codex instructions file is needed. Start the chat in the TotalFusion repository so instructions and repo-local skills are discovered. The four entries in `.agents/skills/` reuse the shared checklists in `.claude/skills/`; read their linked checklist when a workflow applies. See `docs/ai.md`.
52
52
  - For agents: this file, `CLAUDE.md` and `GEMINI.md` (they import it), `.github/copilot-instructions.md`, `.claude/skills/` (four checklists: add a function, diagnose a worker, add a tutorial, verify a change) and `.claude/settings.json` (the commands that are safe to run without asking), `schemas/` and `llms.txt`.
53
53
  - `tests/` has the tests and the workers they run (`tests/go`, `tests/rust`, `tests/wasm`, `tests/components`). `examples/` has the examples (`examples/README.md` lists them, and `tests/examples.test.js` runs them) and the applications of the tutorials (`examples/tutorials`). `docs/` is the documentation, and it is tested.
54
- - `.github/workflows/test.yml` runs the suite on Linux (Node.js 20, 22, 24), macOS and Windows.
54
+ - `.github/workflows/test.yml` runs the suite on Linux (Node.js 20, 22, 24), macOS and Windows. A change that only touches documentation (`docs/`, `*.md`, `llms*.txt`) runs only the checks of the texts; a release always runs everything.
55
55
 
56
56
  ## Commands
57
57
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.1
4
+
5
+ The first version published with trusted publishing (no token), and the texts of the package page.
6
+
7
+ - **npm:** the README links to the package page and shows its version; the first sentence names the four runtimes.
8
+ - **Publishing:** a release is published to npm by the workflow with trusted publishing, which also adds the provenance of the package.
9
+ - **Continuous integration:** a change that only touches documentation runs the checks of the texts; a change to code, and every release, runs the whole matrix.
10
+ - No change in the code of the runtimes.
11
+
3
12
  ## 0.1.0
4
13
 
5
14
  The first version.
package/README.md CHANGED
@@ -9,9 +9,9 @@
9
9
 
10
10
  <p align="center"><sub>Python, Rust, Go and WebAssembly &middot; for Total.js and Node.js</sub></p>
11
11
 
12
- <p align="center"><a href="https://github.com/totaljs-es/totalfusion/actions/workflows/test.yml"><img src="https://github.com/totaljs-es/totalfusion/actions/workflows/test.yml/badge.svg" alt="Tests on Linux, macOS and Windows"></a></p>
12
+ <p align="center"><a href="https://www.npmjs.com/package/totalfusion"><img src="https://img.shields.io/npm/v/totalfusion" alt="npm version"></a> <a href="https://github.com/totaljs-es/totalfusion/actions/workflows/test.yml"><img src="https://github.com/totaljs-es/totalfusion/actions/workflows/test.yml/badge.svg" alt="Tests on Linux, macOS and Windows"></a></p>
13
13
 
14
- **Extends Total.js with other runtimes.** Call functions written in Python, Rust and Go from Total.js and Node.js as plain `async` functions, and use them as Actions, API endpoints and MCP tools for AI agents, without leaving JavaScript. WebAssembly modules run in a sandbox.
14
+ **Extends Total.js with other runtimes.** Call functions written in Python, Rust, Go and WebAssembly from Total.js and Node.js as plain `async` functions, and use them as Actions, API endpoints and MCP tools for AI agents, without leaving JavaScript. WebAssembly modules run in a sandbox.
15
15
 
16
16
  ```python
17
17
  # python/sentiment.py
@@ -66,6 +66,8 @@ A process per call costs about 17.6 ms to start. A worker that is already runnin
66
66
  npm install totalfusion
67
67
  ```
68
68
 
69
+ The package is on [npm](https://www.npmjs.com/package/totalfusion).
70
+
69
71
  It needs Node.js 20 or newer, and Python 3.9 or newer for the Python runtime. Rust and Go are needed only to build a worker in that language. **TotalFusion never installs, downloads or compiles anything for you.** → [Getting started](docs/getting-started.md)
70
72
 
71
73
  ## Documentation
@@ -105,7 +107,7 @@ All of them run from a clone of the repository:
105
107
 
106
108
  ## Status
107
109
 
108
- Version 0.1.0. The whole test suite (more than 410 tests: Python, Rust, Go, WebAssembly and the components for Flow) **passes in GitHub Actions on Linux, macOS and Windows**, and it was run locally on macOS as well:
110
+ Version 0.1.1. The whole test suite (more than 410 tests: Python, Rust, Go, WebAssembly and the components for Flow) **passes in GitHub Actions on Linux, macOS and Windows**, and it was run locally on macOS as well:
109
111
 
110
112
  | | Where it has run |
111
113
  |---|---|
@@ -6,6 +6,8 @@
6
6
  npm install totalfusion
7
7
  ```
8
8
 
9
+ The package is on [npm](https://www.npmjs.com/package/totalfusion).
10
+
9
11
  You need Node.js 20 or newer, and Python 3.9 or newer for the Python runtime. Rust and Go are needed only to **build** a worker in that language, never to run one.
10
12
 
11
13
  ## 2. Your first function, in any Node.js program
package/go/app.go CHANGED
@@ -12,7 +12,7 @@ import (
12
12
  )
13
13
 
14
14
  // Version is the version of this module. It travels in the messages of the protocol and in --describe.
15
- const Version = "0.1.0"
15
+ const Version = "0.1.1"
16
16
 
17
17
  // Memory is the memory of this process in bytes, and false when the system does not allow to know it.
18
18
  //
package/llms.txt CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  > TotalFusion extends Total.js 5 with other runtimes: functions written in Python, Rust, Go and WebAssembly are called from Node.js and Total.js as `async` functions, and become actions, API routes, MCP tools for AI agents, Server-Sent Events and nodes of Flow. Each runtime is a pool of worker processes that Node.js supervises; a crash in a worker never takes the application down. A WebAssembly module runs in a sandbox: no files, no network, no environment.
4
4
 
5
- Node.js 20 or newer, no dependencies, plain JavaScript (no TypeScript). Version 0.1.0: install it with `npm install totalfusion`. The engine (`require('totalfusion')`) does not depend on Total.js; `fusion.register()`, `fusion.sse()` and `fusion.flow()` do. Nothing is downloaded, compiled or installed for the user. MIT license.
5
+ Node.js 20 or newer, no dependencies, plain JavaScript (no TypeScript). Version 0.1.1: install it with `npm install totalfusion`. The engine (`require('totalfusion')`) does not depend on Total.js; `fusion.register()`, `fusion.sse()` and `fusion.flow()` do. Nothing is downloaded, compiled or installed for the user. MIT license.
6
6
 
7
7
  ## Start here
8
8
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "totalfusion",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Extends Total.js with Python, Rust, Go and WebAssembly: supervised workers, contracts that become actions and MCP tools, streaming, binary data and development reload.",
5
5
  "keywords": [
6
6
  "totaljs",
package/rust/Cargo.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "totalfusion"
3
- version = "0.1.0"
3
+ version = "0.1.1"
4
4
  edition = "2021"
5
5
  description = "Rust functions for Node.js and Total.js: the worker side of TotalFusion"
6
6
  license = "MIT"