@fidacy/openclaw-plugin 0.5.9 → 0.5.10
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/CHANGELOG.md +12 -0
- package/README.md +47 -28
- package/dist/index.js +3 -3
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.5.10
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 1d9d11d: Corrects a false privacy claim that 0.5.9 introduced, and closes the endpoint list properly.
|
|
8
|
+
|
|
9
|
+
0.5.9 stated that this plugin never writes the session log to disk. That is wrong. At the end of every session it writes `~/.fidacy/sessions/<session-id>.json` (file 0600, directory 0700) holding the full action record: the command, file path and arguments of every tool call it observed, plus the hash chain over them. The path is even printed on the `[fidacy] log` line in your terminal. The claim came from reading the plugin's own source imports, which do not reference the writer, instead of the shipped bundle, where the observer that calls it is inlined. On a plugin that watches everything an agent does, that is the single most important fact to state correctly, so it is now the first thing in the disclosure and the first item in the file list.
|
|
10
|
+
|
|
11
|
+
Also corrected: the network list was described as complete while covering only the default local mode. Setting `FIDACY_MODE=http` moves the decision itself to a hosted core and adds `/v1/decide`, `/v1/mandate/get`, `/v1/audit/proof` and `/v1/audit/list`, which carry the payment request. That path is now disclosed and marked as the one thing that is genuinely on the decision path.
|
|
12
|
+
|
|
13
|
+
Documentation only, no behaviour change. Every claim in this version was verified against `dist/index.js`, the artifact that actually ships, rather than against the source tree or the previous README.
|
|
14
|
+
|
|
3
15
|
## 0.5.9
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -12,29 +12,37 @@ Read this before installing. Since 0.5.0 the plugin is not payment-only: it
|
|
|
12
12
|
hooks every agent tool call to build a session report, and each session ends in
|
|
13
13
|
a hash digest anyone can recompute.
|
|
14
14
|
|
|
15
|
-
**The session log
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
15
|
+
**The session log IS written to disk, and it holds the detail.** At the end of
|
|
16
|
+
each session the plugin writes `~/.fidacy/sessions/<session-id>.json` (file mode
|
|
17
|
+
0600, directory 0700) containing the full action record: the command, file path
|
|
18
|
+
and arguments of every tool call it observed, plus the hash chain over them. The
|
|
19
|
+
path is printed in your terminal at session end, on the `[fidacy] log` line, so
|
|
20
|
+
you can open it and read exactly what was kept. It stays on your machine and it
|
|
21
|
+
is yours to delete. Read this paragraph as the important one: this plugin
|
|
22
|
+
observes everything the agent does, and that observation lands on your disk.
|
|
23
|
+
|
|
24
|
+
What leaves is only the hash digest of that record plus per-category counts (for
|
|
25
|
+
example `shell: 9, file: 4`). The commands, paths and arguments themselves are
|
|
26
|
+
never transmitted.
|
|
23
27
|
|
|
24
28
|
Written to disk, and this is the complete list:
|
|
25
29
|
|
|
26
|
-
- `~/.fidacy/
|
|
30
|
+
- `~/.fidacy/sessions/<session-id>.json` (0600, directory 0700): the full action
|
|
31
|
+
record described above
|
|
32
|
+
- `~/.fidacy/config.json` (0600): the anonymous install id, tier, and your
|
|
27
33
|
mandate rules
|
|
28
34
|
- `~/.fidacy/audit/audit.log`: the hash-chained decision log
|
|
29
|
-
- `~/.fidacy/pending-anchors.jsonl
|
|
30
|
-
|
|
31
|
-
|
|
35
|
+
- `~/.fidacy/pending-anchors.jsonl`: one line per finished session holding its
|
|
36
|
+
digest, id, timestamp and per-category counts, with no command, path or
|
|
37
|
+
argument. Lines are removed once anchored.
|
|
32
38
|
- `~/.fidacy/pending-anchors.taking`: a lock file, present only while that queue
|
|
33
39
|
is being drained
|
|
34
40
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
41
|
+
`rm -rf ~/.fidacy` clears all five.
|
|
42
|
+
|
|
43
|
+
Leaves your machine. Every one goes to your configured engine
|
|
44
|
+
(`https://api.fidacy.com` by default) and nowhere else. In the default local mode
|
|
45
|
+
these five are the complete list:
|
|
38
46
|
|
|
39
47
|
- `/v1/telemetry`: anonymous usage events (install, session, decision counts; a
|
|
40
48
|
random UUID, never a name or hostname). Off with `FIDACY_DISABLE_TELEMETRY=1`.
|
|
@@ -52,9 +60,15 @@ else:
|
|
|
52
60
|
- `/v1/register`: only if you set `operatorEmail`, which is opt-in and removable.
|
|
53
61
|
Sends that email and nothing else.
|
|
54
62
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
63
|
+
There is a sixth path, and it is opt-in: setting `FIDACY_MODE=http` moves the
|
|
64
|
+
decision itself to a hosted core, which adds `/v1/decide`, `/v1/mandate/get`,
|
|
65
|
+
`/v1/audit/proof` and `/v1/audit/list`. Those carry the payment request, so leave
|
|
66
|
+
`FIDACY_MODE` unset if you want decisions to stay on your machine. The default is
|
|
67
|
+
local.
|
|
68
|
+
|
|
69
|
+
With `FIDACY_DISABLE_TELEMETRY=1`, `FIDACY_DISABLE_PROVISION=1`, no engine key,
|
|
70
|
+
no `operatorEmail` and `FIDACY_MODE` unset, the plugin makes no network calls at
|
|
71
|
+
all and gates payments entirely offline.
|
|
58
72
|
|
|
59
73
|
## The tools
|
|
60
74
|
|
|
@@ -133,16 +147,21 @@ Verify any verdict yourself: https://api.fidacy.com/.well-known/jwks.json
|
|
|
133
147
|
|
|
134
148
|
This is a payment-control plugin, so audit it like one. What it actually does:
|
|
135
149
|
|
|
136
|
-
- **Network calls it makes:** the five endpoints listed under "what
|
|
137
|
-
machine" above,
|
|
138
|
-
stated once, at the top, on purpose: this
|
|
139
|
-
shorter copy naming only two of them, and a
|
|
140
|
-
contradicts itself is worse than a long one. None of
|
|
141
|
-
decision path
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
of it
|
|
150
|
+
- **Network calls it makes:** the five default endpoints listed under "what
|
|
151
|
+
leaves your machine" above, plus the four that only exist if you opt into
|
|
152
|
+
`FIDACY_MODE=http`. The list is stated once, at the top, on purpose: this
|
|
153
|
+
section used to carry a second, shorter copy naming only two of them, and a
|
|
154
|
+
privacy disclosure that contradicts itself is worse than a long one. None of
|
|
155
|
+
the default five is on the decision path, so payment gating works fully
|
|
156
|
+
offline. The `FIDACY_MODE=http` four ARE the decision path, which is the whole
|
|
157
|
+
reason that switch is opt-in and called out separately.
|
|
158
|
+
- **Local state:** the five files listed above, and nothing else. Earlier
|
|
159
|
+
versions of this bullet were wrong twice over: it named two files and ended
|
|
160
|
+
with "Nothing else" while `pending-anchors.jsonl` went undisclosed, and a
|
|
161
|
+
later attempt to fix that claimed the session log was never written to disk at
|
|
162
|
+
all. It is written, it holds the command, path and arguments of every observed
|
|
163
|
+
tool call, and it is the first item on the list above. `rm -rf ~/.fidacy`
|
|
164
|
+
clears everything.
|
|
146
165
|
- **`FIDACY_SIGNING_KEY_B64`:** an OPTIONAL env var the operator sets to pin a
|
|
147
166
|
stable local Ed25519 signing key for grants. If unset, a per-session key is
|
|
148
167
|
generated. The plugin reads it; it never writes or transmits it.
|
package/dist/index.js
CHANGED
|
@@ -5102,7 +5102,7 @@ var FileAuditStore = class {
|
|
|
5102
5102
|
import { statSync } from "node:fs";
|
|
5103
5103
|
|
|
5104
5104
|
// ../mcp/src/telemetry.ts
|
|
5105
|
-
var CLIENT_VERSION = true ? "0.5.
|
|
5105
|
+
var CLIENT_VERSION = true ? "0.5.10" : "dev";
|
|
5106
5106
|
function bandOf(amount) {
|
|
5107
5107
|
if (typeof amount !== "number" || !Number.isFinite(amount) || amount <= 0) return void 0;
|
|
5108
5108
|
if (amount < 10) return "lt10";
|
|
@@ -5317,7 +5317,7 @@ function requestUpgrade() {
|
|
|
5317
5317
|
}
|
|
5318
5318
|
|
|
5319
5319
|
// ../mcp/src/provision.ts
|
|
5320
|
-
var CLIENT_VERSION2 = true ? "0.5.
|
|
5320
|
+
var CLIENT_VERSION2 = true ? "0.5.10" : "dev";
|
|
5321
5321
|
function provisionEnabled() {
|
|
5322
5322
|
const v = (process.env.FIDACY_DISABLE_PROVISION ?? "").trim().toLowerCase();
|
|
5323
5323
|
return !(v === "1" || v === "true" || v === "yes");
|
|
@@ -5460,7 +5460,7 @@ function trialCountdownLine(keyOverride) {
|
|
|
5460
5460
|
}
|
|
5461
5461
|
|
|
5462
5462
|
// ../mcp/src/register.ts
|
|
5463
|
-
var CLIENT_VERSION3 = true ? "0.5.
|
|
5463
|
+
var CLIENT_VERSION3 = true ? "0.5.10" : "dev";
|
|
5464
5464
|
function endpoint3() {
|
|
5465
5465
|
const base = (process.env.FIDACY_ENGINE_URL ?? "https://api.fidacy.com").replace(/\/$/, "");
|
|
5466
5466
|
return `${base}/v1/register`;
|
package/openclaw.plugin.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"name": "Fidacy AI Agent Firewall",
|
|
4
4
|
"description": "Firewall for AI agents. Watches every action the agent takes and ends each session in a digest anyone can recompute; commands, paths and arguments never leave your machine, only counts and a hash. Blocks wrong/lookalike payee, over-cap and duplicate-invoice fraud before money moves. Non-custodial, local-first, deny-by-default. Anonymous telemetry (counts only) can be disabled with FIDACY_DISABLE_TELEMETRY=1.",
|
|
5
5
|
"icon": "https://fidacy.com/logo.png",
|
|
6
|
-
"version": "0.5.
|
|
6
|
+
"version": "0.5.10",
|
|
7
7
|
"contracts": {
|
|
8
8
|
"tools": [
|
|
9
9
|
"request_payment",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fidacy/openclaw-plugin",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.10",
|
|
4
4
|
"description": "Fidacy payment firewall as a native OpenClaw plugin: signed, verifiable verdicts on every money-moving agent action, in-process (no MCP subprocess).",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Fidacy (ZeepCode Group Technology LLC) <hello@fidacy.com> (https://fidacy.com)",
|