usertrust-openclaw 1.5.0 → 2.0.0
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/dist/index.d.ts +33 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -32
- package/dist/index.js.map +1 -1
- package/package.json +15 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @usertrust/openclaw — usertrust governance plugin for OpenClaw
|
|
3
|
+
*
|
|
4
|
+
* Adds budget enforcement, policy gates, and hash-chained audit trails
|
|
5
|
+
* to every LLM call in OpenClaw. Zero code changes required — install
|
|
6
|
+
* the plugin and every call is governed.
|
|
7
|
+
*
|
|
8
|
+
* Installation:
|
|
9
|
+
* openclaw plugins install @usertrust/openclaw
|
|
10
|
+
*
|
|
11
|
+
* Or manual setup in openclaw.json:
|
|
12
|
+
* {
|
|
13
|
+
* "plugins": {
|
|
14
|
+
* "entries": {
|
|
15
|
+
* "usertrust": {
|
|
16
|
+
* "enabled": true,
|
|
17
|
+
* "config": { "budget": 100000, "dryRun": true }
|
|
18
|
+
* }
|
|
19
|
+
* }
|
|
20
|
+
* }
|
|
21
|
+
* }
|
|
22
|
+
*
|
|
23
|
+
* How it works:
|
|
24
|
+
* User's LLM call → OpenClaw → wrapStreamFn (usertrust) →
|
|
25
|
+
* 1. Check budget (PENDING hold)
|
|
26
|
+
* 2. Forward to real stream
|
|
27
|
+
* 3. Accumulate token usage from stream
|
|
28
|
+
* 4. POST settle with actual cost
|
|
29
|
+
* 5. Return governed stream to OpenClaw
|
|
30
|
+
*/
|
|
1
31
|
import type { Governor } from "usertrust";
|
|
2
32
|
import type { OpenClawPluginApi, ProviderPlugin, StreamFn, UsertrustPluginConfig } from "./types.js";
|
|
3
|
-
export {
|
|
4
|
-
export { createAccumulator, extractUsageFromEvent, extractUsageFromProviderChunk,
|
|
5
|
-
export type {
|
|
33
|
+
export { wrapCompleteWithGovernance, wrapStreamWithGovernance } from "./stream-governor.js";
|
|
34
|
+
export { createAccumulator, extractTextDeltaLength, extractUsageFromEvent, extractUsageFromProviderChunk, } from "./token-extractor.js";
|
|
35
|
+
export type { GovernedStreamMeta, ProviderPlugin, StreamContext, StreamEvent, StreamFn, StreamUsage, UsertrustPluginConfig, } from "./types.js";
|
|
6
36
|
/**
|
|
7
37
|
* OpenClaw plugin entry point.
|
|
8
38
|
*
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG1C,OAAO,KAAK,EACX,iBAAiB,EACjB,cAAc,EAGd,QAAQ,EACR,qBAAqB,EACrB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EACN,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,GAC7B,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACX,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,WAAW,EACX,QAAQ,EACR,WAAW,EACX,qBAAqB,GACrB,MAAM,YAAY,CAAC;AAKpB;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CA0B7D;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,GAAG,cAAc,CAWnF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,sBAAsB,CAC3C,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,qBAAqB,GAC3B,OAAO,CAAC;IAAE,gBAAgB,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAC,CAI7D;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,QAAQ,GAAG,IAAI,CAE7C;AAED;;;GAGG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAM9C"}
|
package/dist/index.js
CHANGED
|
@@ -1,40 +1,10 @@
|
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
|
2
2
|
// Copyright 2026 Usertools, Inc.
|
|
3
|
-
/**
|
|
4
|
-
* @usertrust/openclaw — usertrust governance plugin for OpenClaw
|
|
5
|
-
*
|
|
6
|
-
* Adds budget enforcement, policy gates, and hash-chained audit trails
|
|
7
|
-
* to every LLM call in OpenClaw. Zero code changes required — install
|
|
8
|
-
* the plugin and every call is governed.
|
|
9
|
-
*
|
|
10
|
-
* Installation:
|
|
11
|
-
* openclaw plugins install @usertrust/openclaw
|
|
12
|
-
*
|
|
13
|
-
* Or manual setup in openclaw.json:
|
|
14
|
-
* {
|
|
15
|
-
* "plugins": {
|
|
16
|
-
* "entries": {
|
|
17
|
-
* "usertrust": {
|
|
18
|
-
* "enabled": true,
|
|
19
|
-
* "config": { "budget": 100000, "dryRun": true }
|
|
20
|
-
* }
|
|
21
|
-
* }
|
|
22
|
-
* }
|
|
23
|
-
* }
|
|
24
|
-
*
|
|
25
|
-
* How it works:
|
|
26
|
-
* User's LLM call → OpenClaw → wrapStreamFn (usertrust) →
|
|
27
|
-
* 1. Check budget (PENDING hold)
|
|
28
|
-
* 2. Forward to real stream
|
|
29
|
-
* 3. Accumulate token usage from stream
|
|
30
|
-
* 4. POST settle with actual cost
|
|
31
|
-
* 5. Return governed stream to OpenClaw
|
|
32
|
-
*/
|
|
33
3
|
import { createGovernor } from "usertrust";
|
|
34
4
|
import { wrapStreamWithGovernance } from "./stream-governor.js";
|
|
35
5
|
// Re-export for consumers
|
|
36
|
-
export {
|
|
37
|
-
export { createAccumulator, extractUsageFromEvent, extractUsageFromProviderChunk,
|
|
6
|
+
export { wrapCompleteWithGovernance, wrapStreamWithGovernance } from "./stream-governor.js";
|
|
7
|
+
export { createAccumulator, extractTextDeltaLength, extractUsageFromEvent, extractUsageFromProviderChunk, } from "./token-extractor.js";
|
|
38
8
|
/** Active governor instance — singleton per plugin lifecycle. */
|
|
39
9
|
let governor = null;
|
|
40
10
|
/**
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAkCjC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAA8B,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAU5F,0BAA0B;AAC1B,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EACN,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,GAC7B,MAAM,sBAAsB,CAAC;AAW9B,iEAAiE;AACjE,IAAI,QAAQ,GAAoB,IAAI,CAAC;AAErC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAsB;IACtD,uFAAuF;IACvF,0DAA0D;IAC1D,0EAA0E;IAE1E,MAAM,MAAM,GAAG;QACd,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,sBAAsB;QAE7B;;;;;WAKG;QACH,YAAY,CAAC,gBAA0B,EAAE,MAA6B;YACrE,yCAAyC;YACzC,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAEzC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;gBAClC,OAAO,kBAAkB,CAAC,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACnF,CAAC,CAAC;QACH,CAAC;KACD,CAAC;IAEF,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAA6B;IAClE,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAEzC,OAAO;QACN,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,sBAAsB;QAC7B,YAAY,CAAC,IAAc;YAC1B,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAClC,kBAAkB,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACjE,CAAC;KACD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC3C,QAAkB,EAClB,MAA6B;IAE7B,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACjE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW;IAC1B,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC7B,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACtB,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;QACzB,QAAQ,GAAG,IAAI,CAAC;QAChB,WAAW,GAAG,IAAI,CAAC;IACpB,CAAC;AACF,CAAC;AAED,iBAAiB;AAEjB,sEAAsE;AACtE,IAAI,WAAW,GAA6B,IAAI,CAAC;AAEjD,SAAS,YAAY,CAAC,MAA6B;IAClD,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,mEAAmE;IACnE,sEAAsE;IACtE,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;QACzB,WAAW,GAAG,cAAc,CAAC;YAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,oEAAoE;YACpE,sEAAsE;YACtE,iEAAiE;YACjE,yEAAyE;YACzE,kEAAkE;YAClE,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI;gBAC1B,CAAC,CAAC;oBACA,QAAQ,EAAE;wBACT,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK;wBAC5B,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,IAAI,SAAS;wBAC7C,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS;4BACxC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE;4BACtC,CAAC,CAAC,EAAE,CAAC;qBACN;iBACD;gBACF,CAAC,CAAC,EAAE,CAAC;SACN,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACf,QAAQ,GAAG,GAAG,CAAC;YACf,OAAO,GAAG,CAAC;QACZ,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,WAAW,CAAC;AACpB,CAAC;AAED,SAAS,YAAY,CAAC,MAA6B;IAClD,IAAI,OAAO,GAA6B,IAAI,CAAC;IAE7C,OAAO,GAAG,EAAE;QACX,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACrB,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,OAAO,CAAC;IAChB,CAAC,CAAC;AACH,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,kBAAkB,CACjC,WAAoC,EACpC,QAAkB,EAClB,KAAa,EACb,OAAsB,EACtB,OAAiC;IAEjC,MAAM,GAAG,GAAG,MAAM,WAAW,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,wBAAwB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACzD,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "usertrust-openclaw",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "usertrust governance plugin for OpenClaw. Budget enforcement, audit trails, and policy gates for every LLM call — zero code changes.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Usertools, Inc. <hello@usertools.ai> (https://usertrust.ai)",
|
|
@@ -11,7 +11,16 @@
|
|
|
11
11
|
"directory": "packages/openclaw"
|
|
12
12
|
},
|
|
13
13
|
"bugs": "https://github.com/usertools-ai/usertrust/issues",
|
|
14
|
-
"keywords": [
|
|
14
|
+
"keywords": [
|
|
15
|
+
"openclaw",
|
|
16
|
+
"usertrust",
|
|
17
|
+
"ai",
|
|
18
|
+
"governance",
|
|
19
|
+
"budget",
|
|
20
|
+
"audit",
|
|
21
|
+
"llm",
|
|
22
|
+
"plugin"
|
|
23
|
+
],
|
|
15
24
|
"type": "module",
|
|
16
25
|
"main": "dist/index.js",
|
|
17
26
|
"types": "dist/index.d.ts",
|
|
@@ -26,7 +35,10 @@
|
|
|
26
35
|
"prepublishOnly": "tsc",
|
|
27
36
|
"demo": "tsx demo/runaway-agent.ts"
|
|
28
37
|
},
|
|
29
|
-
"files": [
|
|
38
|
+
"files": [
|
|
39
|
+
"dist",
|
|
40
|
+
"openclaw.plugin.json"
|
|
41
|
+
],
|
|
30
42
|
"dependencies": {
|
|
31
43
|
"usertrust": "*"
|
|
32
44
|
},
|