tamperward 2.39.1 → 2.39.2
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/cli/index.js +23 -12
- package/package.json +1 -1
package/dist/cli/index.js
CHANGED
|
@@ -19896,6 +19896,17 @@ var init_runtimes = __esm({
|
|
|
19896
19896
|
});
|
|
19897
19897
|
|
|
19898
19898
|
// src/adapters/contract.ts
|
|
19899
|
+
function immutableRuntimeCapabilities(caps) {
|
|
19900
|
+
return Object.freeze({
|
|
19901
|
+
preDeny: Object.freeze([...caps.preDeny]),
|
|
19902
|
+
postObserve: Object.freeze([...caps.postObserve]),
|
|
19903
|
+
endOfTurn: caps.endOfTurn,
|
|
19904
|
+
unsupported: Object.freeze([...caps.unsupported])
|
|
19905
|
+
});
|
|
19906
|
+
}
|
|
19907
|
+
function immutableRuntimeAdapter(adapter) {
|
|
19908
|
+
return Object.freeze(adapter);
|
|
19909
|
+
}
|
|
19899
19910
|
function unknownToolFinding(toolName) {
|
|
19900
19911
|
const name = toolName.length > 80 ? toolName.slice(0, 77) + "..." : toolName;
|
|
19901
19912
|
const detail = 'Copilot tool "' + name + `" is not in TamperWard's explicit operation vocabulary`;
|
|
@@ -19963,7 +19974,7 @@ var init_adapter = __esm({
|
|
|
19963
19974
|
init_contract();
|
|
19964
19975
|
ClaudeRuntimeAdapter = class {
|
|
19965
19976
|
name = "claude-code";
|
|
19966
|
-
capabilities = {
|
|
19977
|
+
capabilities = immutableRuntimeCapabilities({
|
|
19967
19978
|
preDeny: OPERATION_KINDS.filter((kind) => kind !== "mcp" && kind !== "other"),
|
|
19968
19979
|
postObserve: [],
|
|
19969
19980
|
endOfTurn: true,
|
|
@@ -19974,7 +19985,7 @@ var init_adapter = __esm({
|
|
|
19974
19985
|
"network-egress control",
|
|
19975
19986
|
"identity / authentication"
|
|
19976
19987
|
]
|
|
19977
|
-
};
|
|
19988
|
+
});
|
|
19978
19989
|
parseEvent(raw, phase) {
|
|
19979
19990
|
try {
|
|
19980
19991
|
return eventFrom(parseInput(raw), phase);
|
|
@@ -20071,7 +20082,7 @@ var init_adapter = __esm({
|
|
|
20071
20082
|
return failClosedResult(outcome, detail, phase, (f, p) => this.denyPayload(f, p));
|
|
20072
20083
|
}
|
|
20073
20084
|
};
|
|
20074
|
-
claudeAdapter = new ClaudeRuntimeAdapter();
|
|
20085
|
+
claudeAdapter = immutableRuntimeAdapter(new ClaudeRuntimeAdapter());
|
|
20075
20086
|
}
|
|
20076
20087
|
});
|
|
20077
20088
|
|
|
@@ -20373,7 +20384,7 @@ var init_adapter2 = __esm({
|
|
|
20373
20384
|
* stop, so those are declared; every real gap is named in `unsupported`. The
|
|
20374
20385
|
* `probe:codex-runtime` harness is what may later justify moving a kind into `preDeny`.
|
|
20375
20386
|
*/
|
|
20376
|
-
capabilities = {
|
|
20387
|
+
capabilities = immutableRuntimeCapabilities({
|
|
20377
20388
|
preDeny: [],
|
|
20378
20389
|
postObserve: POST_OBSERVE,
|
|
20379
20390
|
endOfTurn: true,
|
|
@@ -20383,7 +20394,7 @@ var init_adapter2 = __esm({
|
|
|
20383
20394
|
"network-egress control",
|
|
20384
20395
|
"identity / authentication"
|
|
20385
20396
|
]
|
|
20386
|
-
};
|
|
20397
|
+
});
|
|
20387
20398
|
parseEvent(raw, phase) {
|
|
20388
20399
|
return normalizeCodexEvent(raw, phase);
|
|
20389
20400
|
}
|
|
@@ -20462,7 +20473,7 @@ var init_adapter2 = __esm({
|
|
|
20462
20473
|
return failClosedResult(outcome, detail, phase, (f, p) => this.denyPayload(f, p));
|
|
20463
20474
|
}
|
|
20464
20475
|
};
|
|
20465
|
-
codexAdapter = new CodexRuntimeAdapter();
|
|
20476
|
+
codexAdapter = immutableRuntimeAdapter(new CodexRuntimeAdapter());
|
|
20466
20477
|
}
|
|
20467
20478
|
});
|
|
20468
20479
|
|
|
@@ -20703,7 +20714,7 @@ var init_adapter3 = __esm({
|
|
|
20703
20714
|
* does not report. Every real gap is named in `unsupported`. The `probe:copilot-runtime`
|
|
20704
20715
|
* harness is what may later justify moving a kind into `preDeny` or populating `postObserve`.
|
|
20705
20716
|
*/
|
|
20706
|
-
capabilities = {
|
|
20717
|
+
capabilities = immutableRuntimeCapabilities({
|
|
20707
20718
|
preDeny: [],
|
|
20708
20719
|
postObserve: [],
|
|
20709
20720
|
endOfTurn: true,
|
|
@@ -20717,7 +20728,7 @@ var init_adapter3 = __esm({
|
|
|
20717
20728
|
"network-egress control",
|
|
20718
20729
|
"identity / authentication"
|
|
20719
20730
|
]
|
|
20720
|
-
};
|
|
20731
|
+
});
|
|
20721
20732
|
parseEvent(raw, phase) {
|
|
20722
20733
|
return normalizeCopilotEvent(raw, phase);
|
|
20723
20734
|
}
|
|
@@ -20812,7 +20823,7 @@ var init_adapter3 = __esm({
|
|
|
20812
20823
|
return failClosedResult(outcome, detail, phase, (f, p) => this.denyPayload(f, p));
|
|
20813
20824
|
}
|
|
20814
20825
|
};
|
|
20815
|
-
copilotAdapter = new CopilotRuntimeAdapter();
|
|
20826
|
+
copilotAdapter = immutableRuntimeAdapter(new CopilotRuntimeAdapter());
|
|
20816
20827
|
}
|
|
20817
20828
|
});
|
|
20818
20829
|
|
|
@@ -21150,7 +21161,7 @@ var init_adapter4 = __esm({
|
|
|
21150
21161
|
* no post-execution veto). `endOfTurn` is true via `onAgentStop`. Every real gap is named in
|
|
21151
21162
|
* `unsupported`, at the granularity #611 asks for.
|
|
21152
21163
|
*/
|
|
21153
|
-
capabilities = {
|
|
21164
|
+
capabilities = immutableRuntimeCapabilities({
|
|
21154
21165
|
preDeny: [],
|
|
21155
21166
|
postObserve: [],
|
|
21156
21167
|
endOfTurn: true,
|
|
@@ -21162,7 +21173,7 @@ var init_adapter4 = __esm({
|
|
|
21162
21173
|
"network-egress control",
|
|
21163
21174
|
"identity / authentication"
|
|
21164
21175
|
]
|
|
21165
|
-
};
|
|
21176
|
+
});
|
|
21166
21177
|
parseEvent(raw, phase) {
|
|
21167
21178
|
return normalizeCopilotSdkEvent(raw, phase);
|
|
21168
21179
|
}
|
|
@@ -21257,7 +21268,7 @@ var init_adapter4 = __esm({
|
|
|
21257
21268
|
return failClosedResult(outcome, detail, phase, (f, p) => this.denyPayload(f, p));
|
|
21258
21269
|
}
|
|
21259
21270
|
};
|
|
21260
|
-
copilotSdkAdapter = new CopilotSdkHostedAdapter();
|
|
21271
|
+
copilotSdkAdapter = immutableRuntimeAdapter(new CopilotSdkHostedAdapter());
|
|
21261
21272
|
}
|
|
21262
21273
|
});
|
|
21263
21274
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tamperward",
|
|
3
|
-
"version": "2.39.
|
|
3
|
+
"version": "2.39.2",
|
|
4
4
|
"description": "The deterministic agent-integrity gate. One ruleset, evaluated on the actual diff/commands as a verdict, enforced everywhere a change can be made.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "hexrift",
|