@turingpulse/sdk-openclaw 1.0.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/openclaw.plugin.json +100 -0
- package/package.json +41 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "turingpulse",
|
|
3
|
+
"name": "TuringPulse Observability & Governance",
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"description": "Deterministic governance, observability, evaluations, and alerting for OpenClaw agents via TuringPulse",
|
|
6
|
+
"configSchema": {
|
|
7
|
+
"type": "object",
|
|
8
|
+
"required": ["apiKey"],
|
|
9
|
+
"additionalProperties": false,
|
|
10
|
+
"properties": {
|
|
11
|
+
"apiKey": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "TuringPulse API key (scoped to a project)"
|
|
14
|
+
},
|
|
15
|
+
"endpoint": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"default": "https://api.turingpulse.ai",
|
|
18
|
+
"description": "TuringPulse API endpoint"
|
|
19
|
+
},
|
|
20
|
+
"governance": {
|
|
21
|
+
"type": "object",
|
|
22
|
+
"properties": {
|
|
23
|
+
"enabled": {
|
|
24
|
+
"type": "boolean",
|
|
25
|
+
"default": true,
|
|
26
|
+
"description": "Enable deterministic policy checks before tool execution"
|
|
27
|
+
},
|
|
28
|
+
"failMode": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"enum": ["open", "closed"],
|
|
31
|
+
"default": "open",
|
|
32
|
+
"description": "Behavior when TuringPulse is unreachable: 'open' allows execution, 'closed' blocks"
|
|
33
|
+
},
|
|
34
|
+
"timeoutMs": {
|
|
35
|
+
"type": "number",
|
|
36
|
+
"default": 3000,
|
|
37
|
+
"description": "Max time to wait for policy check response before applying failMode"
|
|
38
|
+
},
|
|
39
|
+
"excludeTools": {
|
|
40
|
+
"type": "array",
|
|
41
|
+
"items": { "type": "string" },
|
|
42
|
+
"description": "Tool names to skip governance checks for (e.g., safe read-only tools)"
|
|
43
|
+
},
|
|
44
|
+
"scanOutboundMessages": {
|
|
45
|
+
"type": "boolean",
|
|
46
|
+
"default": false,
|
|
47
|
+
"description": "Scan outgoing messages for PII before delivery to chat channels"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"telemetry": {
|
|
52
|
+
"type": "object",
|
|
53
|
+
"properties": {
|
|
54
|
+
"enabled": {
|
|
55
|
+
"type": "boolean",
|
|
56
|
+
"default": true,
|
|
57
|
+
"description": "Enable telemetry capture and emission"
|
|
58
|
+
},
|
|
59
|
+
"batchSize": {
|
|
60
|
+
"type": "number",
|
|
61
|
+
"default": 20,
|
|
62
|
+
"description": "Number of events to buffer before flushing"
|
|
63
|
+
},
|
|
64
|
+
"flushIntervalMs": {
|
|
65
|
+
"type": "number",
|
|
66
|
+
"default": 5000,
|
|
67
|
+
"description": "Max time between flushes in milliseconds"
|
|
68
|
+
},
|
|
69
|
+
"captureMessageContent": {
|
|
70
|
+
"type": "boolean",
|
|
71
|
+
"default": false,
|
|
72
|
+
"description": "Whether to capture message body text (disabled by default for privacy)"
|
|
73
|
+
},
|
|
74
|
+
"captureToolParams": {
|
|
75
|
+
"type": "boolean",
|
|
76
|
+
"default": true,
|
|
77
|
+
"description": "Whether to capture tool call parameters"
|
|
78
|
+
},
|
|
79
|
+
"redactPatterns": {
|
|
80
|
+
"type": "array",
|
|
81
|
+
"items": { "type": "string" },
|
|
82
|
+
"description": "Regex patterns to redact from captured content (applied to tool params, messages)"
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
"metadata": {
|
|
87
|
+
"type": "object",
|
|
88
|
+
"additionalProperties": { "type": "string" },
|
|
89
|
+
"description": "Static key-value metadata attached to all events (e.g., environment, team, deployment)"
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"uiHints": {
|
|
94
|
+
"apiKey": { "label": "TuringPulse API Key", "sensitive": true },
|
|
95
|
+
"endpoint": { "label": "API Endpoint", "placeholder": "https://api.turingpulse.ai" },
|
|
96
|
+
"governance.enabled": { "label": "Enable Governance" },
|
|
97
|
+
"governance.failMode": { "label": "Fail Mode", "placeholder": "open" },
|
|
98
|
+
"telemetry.captureMessageContent": { "label": "Capture Message Content (privacy risk)" }
|
|
99
|
+
}
|
|
100
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@turingpulse/sdk-openclaw",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "TuringPulse observability, governance, and alerting plugin for OpenClaw",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"scripts": {
|
|
15
|
+
"build": "tsc -p tsconfig.json",
|
|
16
|
+
"lint": "tsc -p tsconfig.json --noEmit",
|
|
17
|
+
"test": "vitest run",
|
|
18
|
+
"test:watch": "vitest"
|
|
19
|
+
},
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"@turingpulse/sdk": ">=1.0.0",
|
|
22
|
+
"@turingpulse/interfaces": ">=1.0.0"
|
|
23
|
+
},
|
|
24
|
+
"devDependencies": {
|
|
25
|
+
"@types/node": "^22.7.4",
|
|
26
|
+
"vitest": "^3.0.0"
|
|
27
|
+
},
|
|
28
|
+
"peerDependencies": {
|
|
29
|
+
"typescript": ">=5.0.0"
|
|
30
|
+
},
|
|
31
|
+
"openclaw": {
|
|
32
|
+
"extensions": [
|
|
33
|
+
"./index.js"
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
"files": [
|
|
37
|
+
"dist",
|
|
38
|
+
"openclaw.plugin.json"
|
|
39
|
+
],
|
|
40
|
+
"license": "SEE LICENSE IN LICENSE"
|
|
41
|
+
}
|