@wrongstack/tools 0.296.4 → 0.298.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/_spawn-stream.d.ts +2 -0
- package/dist/_util.d.ts +29 -1
- package/dist/audit.js +128 -65
- package/dist/bash.js +20 -4
- package/dist/batch-tool-use.js +70 -7
- package/dist/browser/index.js +31 -1
- package/dist/builtin.js +883 -351
- package/dist/codebase-index/index.js +95 -16
- package/dist/codebase-index/project-server-protocol.d.ts +26 -0
- package/dist/codebase-index/project-server.js +76 -16
- package/dist/codebase-index/worker.js +36 -13
- package/dist/codebase-index/writer-search-helpers.d.ts +16 -0
- package/dist/codebase-index/writer.d.ts +13 -1
- package/dist/design.d.ts +1 -1
- package/dist/design.js +4 -3
- package/dist/diff.js +11 -1
- package/dist/e2e.js +9 -6
- package/dist/edit.js +9 -6
- package/dist/exec.js +562 -516
- package/dist/format.js +131 -65
- package/dist/git.js +22 -2
- package/dist/glob.js +11 -5
- package/dist/grep.js +160 -104
- package/dist/index.js +834 -290
- package/dist/install.js +135 -68
- package/dist/json.js +64 -18
- package/dist/kanban-board-inputs.d.ts +21 -4
- package/dist/kanban.js +20 -5
- package/dist/languages/index.js +143 -71
- package/dist/lint.js +128 -65
- package/dist/next-steps.d.ts +23 -0
- package/dist/next-steps.js +4 -0
- package/dist/outdated.js +101 -26
- package/dist/pack.js +883 -351
- package/dist/patch.js +11 -1
- package/dist/plan.js +32 -10
- package/dist/process-registry.d.ts +9 -0
- package/dist/process-registry.js +15 -0
- package/dist/ps-slash.js +15 -0
- package/dist/read.js +104 -23
- package/dist/replace.js +11 -3
- package/dist/scaffold.js +9 -6
- package/dist/session-kanban.js +21 -5
- package/dist/task.js +3 -1
- package/dist/test.js +128 -65
- package/dist/todo.js +3 -1
- package/dist/tool-tier.js +883 -351
- package/dist/tool-use.d.ts +1 -1
- package/dist/tool-use.js +28 -4
- package/dist/tree.d.ts +1 -0
- package/dist/tree.js +44 -8
- package/dist/typecheck.js +128 -65
- package/dist/write.js +9 -6
- package/package.json +5 -4
- package/dist/_concurrency.d.ts.map +0 -1
- package/dist/_danger-detect.d.ts.map +0 -1
- package/dist/_edit-match.d.ts.map +0 -1
- package/dist/_env.d.ts.map +0 -1
- package/dist/_fetch-guard.d.ts.map +0 -1
- package/dist/_output-spool.d.ts.map +0 -1
- package/dist/_redact-command.d.ts.map +0 -1
- package/dist/_regex.d.ts.map +0 -1
- package/dist/_session-shell.d.ts.map +0 -1
- package/dist/_shell-pick.d.ts.map +0 -1
- package/dist/_spawn-stream.d.ts.map +0 -1
- package/dist/_syntax-check.d.ts.map +0 -1
- package/dist/_util.d.ts.map +0 -1
- package/dist/_win32-resolve.d.ts.map +0 -1
- package/dist/audit.d.ts.map +0 -1
- package/dist/audit.js.map +0 -7
- package/dist/auto-proceed-loop-guard.d.ts.map +0 -1
- package/dist/auto-proceed-loop-guard.js.map +0 -7
- package/dist/bash-kill-guard.d.ts.map +0 -1
- package/dist/bash.d.ts.map +0 -1
- package/dist/bash.js.map +0 -7
- package/dist/batch-tool-use.d.ts.map +0 -1
- package/dist/batch-tool-use.js.map +0 -7
- package/dist/browser/artifacts.d.ts.map +0 -1
- package/dist/browser/index.d.ts.map +0 -1
- package/dist/browser/index.js.map +0 -7
- package/dist/browser/manager.d.ts.map +0 -1
- package/dist/browser/network-guard-proxy.d.ts.map +0 -1
- package/dist/browser/security.d.ts.map +0 -1
- package/dist/browser/tools.d.ts.map +0 -1
- package/dist/browser/types.d.ts.map +0 -1
- package/dist/builtin.d.ts.map +0 -1
- package/dist/builtin.js.map +0 -7
- package/dist/circuit-breaker.d.ts.map +0 -1
- package/dist/circuit-breaker.js.map +0 -7
- package/dist/codebase-index/background-indexer.d.ts.map +0 -1
- package/dist/codebase-index/bm25.d.ts.map +0 -1
- package/dist/codebase-index/circuit-breaker.d.ts.map +0 -1
- package/dist/codebase-index/codebase-index-tool.d.ts.map +0 -1
- package/dist/codebase-index/codebase-search-tool.d.ts.map +0 -1
- package/dist/codebase-index/codebase-stats-tool.d.ts.map +0 -1
- package/dist/codebase-index/dead-code-scan.d.ts.map +0 -1
- package/dist/codebase-index/generic-parser.d.ts.map +0 -1
- package/dist/codebase-index/gitignore.d.ts.map +0 -1
- package/dist/codebase-index/go-parser.d.ts.map +0 -1
- package/dist/codebase-index/index-service.d.ts.map +0 -1
- package/dist/codebase-index/index.d.ts.map +0 -1
- package/dist/codebase-index/index.js.map +0 -7
- package/dist/codebase-index/indexer.d.ts.map +0 -1
- package/dist/codebase-index/json-parser.d.ts.map +0 -1
- package/dist/codebase-index/languages.d.ts.map +0 -1
- package/dist/codebase-index/lsp-kind.d.ts.map +0 -1
- package/dist/codebase-index/parser-dispatch.d.ts.map +0 -1
- package/dist/codebase-index/project-server-cache.d.ts.map +0 -1
- package/dist/codebase-index/project-server-client.d.ts.map +0 -1
- package/dist/codebase-index/project-server-endpoint.d.ts.map +0 -1
- package/dist/codebase-index/project-server-protocol.d.ts.map +0 -1
- package/dist/codebase-index/project-server.d.ts.map +0 -1
- package/dist/codebase-index/project-server.js.map +0 -7
- package/dist/codebase-index/py-parser.d.ts.map +0 -1
- package/dist/codebase-index/refs-extractor.d.ts.map +0 -1
- package/dist/codebase-index/rs-parser.d.ts.map +0 -1
- package/dist/codebase-index/schema.d.ts.map +0 -1
- package/dist/codebase-index/spawn-gate.d.ts.map +0 -1
- package/dist/codebase-index/sqlite-runtime.d.ts.map +0 -1
- package/dist/codebase-index/ts-parser.d.ts.map +0 -1
- package/dist/codebase-index/worker-protocol.d.ts.map +0 -1
- package/dist/codebase-index/worker.d.ts.map +0 -1
- package/dist/codebase-index/worker.js.map +0 -7
- package/dist/codebase-index/writer-admin.d.ts.map +0 -1
- package/dist/codebase-index/writer-bulk-insert.d.ts.map +0 -1
- package/dist/codebase-index/writer-graph-helpers.d.ts.map +0 -1
- package/dist/codebase-index/writer-graph-reader.d.ts.map +0 -1
- package/dist/codebase-index/writer-helpers.d.ts.map +0 -1
- package/dist/codebase-index/writer-pragmas.d.ts.map +0 -1
- package/dist/codebase-index/writer-ref-mapper.d.ts.map +0 -1
- package/dist/codebase-index/writer-schema.d.ts.map +0 -1
- package/dist/codebase-index/writer-search-helpers.d.ts.map +0 -1
- package/dist/codebase-index/writer-store-pool.d.ts.map +0 -1
- package/dist/codebase-index/writer.d.ts.map +0 -1
- package/dist/codebase-index/yaml-parser.d.ts.map +0 -1
- package/dist/design.d.ts.map +0 -1
- package/dist/design.js.map +0 -7
- package/dist/diff.d.ts.map +0 -1
- package/dist/diff.js.map +0 -7
- package/dist/document.d.ts.map +0 -1
- package/dist/document.js.map +0 -7
- package/dist/e2e.d.ts.map +0 -1
- package/dist/e2e.js.map +0 -7
- package/dist/edit.d.ts.map +0 -1
- package/dist/edit.js.map +0 -7
- package/dist/exec-kill-guard.d.ts.map +0 -1
- package/dist/exec.d.ts.map +0 -1
- package/dist/exec.js.map +0 -7
- package/dist/fetch.d.ts.map +0 -1
- package/dist/fetch.js.map +0 -7
- package/dist/format.d.ts.map +0 -1
- package/dist/format.js.map +0 -7
- package/dist/git.d.ts.map +0 -1
- package/dist/git.js.map +0 -7
- package/dist/glob.d.ts.map +0 -1
- package/dist/glob.js.map +0 -7
- package/dist/grep.d.ts.map +0 -1
- package/dist/grep.js.map +0 -7
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -7
- package/dist/install.d.ts.map +0 -1
- package/dist/install.js.map +0 -7
- package/dist/json.d.ts.map +0 -1
- package/dist/json.js.map +0 -7
- package/dist/kanban-board-inputs.d.ts.map +0 -1
- package/dist/kanban-decomposition-actions.d.ts.map +0 -1
- package/dist/kanban-detail-actions.d.ts.map +0 -1
- package/dist/kanban-evidence-bridge.d.ts.map +0 -1
- package/dist/kanban-presence.d.ts.map +0 -1
- package/dist/kanban-split-task-handler.d.ts.map +0 -1
- package/dist/kanban-task-inputs.d.ts.map +0 -1
- package/dist/kanban-tool-results.d.ts.map +0 -1
- package/dist/kanban-tool-schema.d.ts.map +0 -1
- package/dist/kanban-tool-types.d.ts.map +0 -1
- package/dist/kanban.d.ts.map +0 -1
- package/dist/kanban.js.map +0 -7
- package/dist/languages/detect.d.ts.map +0 -1
- package/dist/languages/diagnostics.d.ts.map +0 -1
- package/dist/languages/execute-tool.d.ts.map +0 -1
- package/dist/languages/execute.d.ts.map +0 -1
- package/dist/languages/index.d.ts.map +0 -1
- package/dist/languages/index.js.map +0 -7
- package/dist/languages/legacy-bridge.d.ts.map +0 -1
- package/dist/languages/package-tool.d.ts.map +0 -1
- package/dist/languages/plan.d.ts.map +0 -1
- package/dist/languages/profile-helpers.d.ts.map +0 -1
- package/dist/languages/profiles/additional.d.ts.map +0 -1
- package/dist/languages/profiles/primary.d.ts.map +0 -1
- package/dist/languages/registry.d.ts.map +0 -1
- package/dist/languages/tool.d.ts.map +0 -1
- package/dist/languages/types.d.ts.map +0 -1
- package/dist/lint.d.ts.map +0 -1
- package/dist/lint.js.map +0 -7
- package/dist/logs.d.ts.map +0 -1
- package/dist/logs.js.map +0 -7
- package/dist/memory.d.ts.map +0 -1
- package/dist/memory.js.map +0 -7
- package/dist/mode.d.ts.map +0 -1
- package/dist/mode.js.map +0 -7
- package/dist/next-steps.d.ts.map +0 -1
- package/dist/next-steps.js.map +0 -7
- package/dist/outdated.d.ts.map +0 -1
- package/dist/outdated.js.map +0 -7
- package/dist/pack.d.ts.map +0 -1
- package/dist/pack.js.map +0 -7
- package/dist/patch.d.ts.map +0 -1
- package/dist/patch.js.map +0 -7
- package/dist/plan.d.ts.map +0 -1
- package/dist/plan.js.map +0 -7
- package/dist/process-guardian.d.ts.map +0 -1
- package/dist/process-registry-persistent.d.ts.map +0 -1
- package/dist/process-registry.d.ts.map +0 -1
- package/dist/process-registry.js.map +0 -7
- package/dist/ps-slash.d.ts.map +0 -1
- package/dist/ps-slash.js.map +0 -7
- package/dist/read.d.ts.map +0 -1
- package/dist/read.js.map +0 -7
- package/dist/replace.d.ts.map +0 -1
- package/dist/replace.js.map +0 -7
- package/dist/scaffold.d.ts.map +0 -1
- package/dist/scaffold.js.map +0 -7
- package/dist/search.d.ts.map +0 -1
- package/dist/search.js.map +0 -7
- package/dist/session-kanban.d.ts.map +0 -1
- package/dist/session-kanban.js.map +0 -7
- package/dist/set-working-dir.d.ts.map +0 -1
- package/dist/skill.d.ts.map +0 -1
- package/dist/skill.js.map +0 -7
- package/dist/spawn-background.d.ts.map +0 -1
- package/dist/task.d.ts.map +0 -1
- package/dist/task.js.map +0 -7
- package/dist/test.d.ts.map +0 -1
- package/dist/test.js.map +0 -7
- package/dist/todo.d.ts.map +0 -1
- package/dist/todo.js.map +0 -7
- package/dist/tool-diff.d.ts.map +0 -1
- package/dist/tool-diff.js.map +0 -7
- package/dist/tool-help.d.ts.map +0 -1
- package/dist/tool-help.js.map +0 -7
- package/dist/tool-icon-map.d.ts.map +0 -1
- package/dist/tool-icons.d.ts.map +0 -1
- package/dist/tool-icons.js.map +0 -7
- package/dist/tool-search.d.ts.map +0 -1
- package/dist/tool-search.js.map +0 -7
- package/dist/tool-summary.d.ts.map +0 -1
- package/dist/tool-summary.js.map +0 -7
- package/dist/tool-tier.d.ts.map +0 -1
- package/dist/tool-tier.js.map +0 -7
- package/dist/tool-use.d.ts.map +0 -1
- package/dist/tool-use.js.map +0 -7
- package/dist/tree.d.ts.map +0 -1
- package/dist/tree.js.map +0 -7
- package/dist/typecheck.d.ts.map +0 -1
- package/dist/typecheck.js.map +0 -7
- package/dist/win32.d.ts.map +0 -1
- package/dist/win32.js.map +0 -7
- package/dist/write.d.ts.map +0 -1
- package/dist/write.js.map +0 -7
package/dist/browser/index.js
CHANGED
|
@@ -6,8 +6,14 @@ import * as path from "node:path";
|
|
|
6
6
|
import { atomicWrite, ulid } from "@wrongstack/core/utils";
|
|
7
7
|
var ARTIFACT_RETENTION_MS = 7 * 24 * 60 * 60 * 1e3;
|
|
8
8
|
var sweptRoots = /* @__PURE__ */ new Set();
|
|
9
|
+
var MAX_SWEPT_ROOTS = 128;
|
|
9
10
|
function sweepOldArtifacts(root) {
|
|
10
11
|
if (sweptRoots.has(root)) return;
|
|
12
|
+
while (sweptRoots.size >= MAX_SWEPT_ROOTS) {
|
|
13
|
+
const oldest = sweptRoots.values().next().value;
|
|
14
|
+
if (oldest === void 0) break;
|
|
15
|
+
sweptRoots.delete(oldest);
|
|
16
|
+
}
|
|
11
17
|
sweptRoots.add(root);
|
|
12
18
|
void (async () => {
|
|
13
19
|
const cutoff = Date.now() - ARTIFACT_RETENTION_MS;
|
|
@@ -441,7 +447,7 @@ var BrowserSessionManager = class {
|
|
|
441
447
|
constructor(options, launcher = defaultLauncher) {
|
|
442
448
|
this.launcher = launcher;
|
|
443
449
|
this.artifacts = new BrowserArtifactStore(options.artifactRoot);
|
|
444
|
-
this.allowPrivateHosts = options.allowPrivateHosts ??
|
|
450
|
+
this.allowPrivateHosts = options.allowPrivateHosts ?? false;
|
|
445
451
|
this.allowedPrivateOrigins = options.allowedPrivateOrigins ?? [];
|
|
446
452
|
this.networkProxy = new BrowserNetworkGuardProxy({
|
|
447
453
|
allowPrivateHosts: this.allowPrivateHosts,
|
|
@@ -1017,6 +1023,9 @@ var browserScreenshotTool = {
|
|
|
1017
1023
|
description: "Capture a page or element PNG and return sensitive artifact metadata with integrity hash.",
|
|
1018
1024
|
usageHint: "browser_screenshot({ sessionId, fullPage?, selector? })",
|
|
1019
1025
|
permission: "confirm",
|
|
1026
|
+
// WS-046: the element/expression acted on, not the sessionId — a trust
|
|
1027
|
+
// rule must distinguish clicking one control from another.
|
|
1028
|
+
subjectKey: "selector",
|
|
1020
1029
|
mutating: true,
|
|
1021
1030
|
riskTier: "safe",
|
|
1022
1031
|
capabilities: [ToolCapabilities.NET_OUTBOUND],
|
|
@@ -1046,6 +1055,9 @@ function selectorTool(name, description, run) {
|
|
|
1046
1055
|
description,
|
|
1047
1056
|
usageHint: `${name}({ sessionId, selector })`,
|
|
1048
1057
|
permission: "confirm",
|
|
1058
|
+
// WS-046: the element/expression acted on, not the sessionId — a trust
|
|
1059
|
+
// rule must distinguish clicking one control from another.
|
|
1060
|
+
subjectKey: "selector",
|
|
1049
1061
|
mutating: true,
|
|
1050
1062
|
riskTier: "standard",
|
|
1051
1063
|
capabilities: [ToolCapabilities.NET_OUTBOUND],
|
|
@@ -1075,6 +1087,9 @@ var browserTypeTool = {
|
|
|
1075
1087
|
description: "Fill an input in an owned browser session. Use secretEnv instead of text for credentials so values stay out of tool arguments and session audit.",
|
|
1076
1088
|
usageHint: "browser_type({ sessionId, selector, text? | secretEnv? })",
|
|
1077
1089
|
permission: "confirm",
|
|
1090
|
+
// WS-046: the element/expression acted on, not the sessionId — a trust
|
|
1091
|
+
// rule must distinguish clicking one control from another.
|
|
1092
|
+
subjectKey: "selector",
|
|
1078
1093
|
mutating: true,
|
|
1079
1094
|
riskTier: "standard",
|
|
1080
1095
|
capabilities: [ToolCapabilities.NET_OUTBOUND],
|
|
@@ -1109,6 +1124,9 @@ var browserSelectTool = {
|
|
|
1109
1124
|
description: "Select an option in an owned browser session.",
|
|
1110
1125
|
usageHint: "browser_select({ sessionId, selector, value })",
|
|
1111
1126
|
permission: "confirm",
|
|
1127
|
+
// WS-046: the element/expression acted on, not the sessionId — a trust
|
|
1128
|
+
// rule must distinguish clicking one control from another.
|
|
1129
|
+
subjectKey: "selector",
|
|
1112
1130
|
mutating: true,
|
|
1113
1131
|
riskTier: "standard",
|
|
1114
1132
|
capabilities: [ToolCapabilities.NET_OUTBOUND],
|
|
@@ -1137,6 +1155,9 @@ var browserPressTool = {
|
|
|
1137
1155
|
description: "Press a keyboard key in an owned browser session.",
|
|
1138
1156
|
usageHint: "browser_press({ sessionId, key })",
|
|
1139
1157
|
permission: "confirm",
|
|
1158
|
+
// WS-046: the element/expression acted on, not the sessionId — a trust
|
|
1159
|
+
// rule must distinguish clicking one control from another.
|
|
1160
|
+
subjectKey: "key",
|
|
1140
1161
|
mutating: true,
|
|
1141
1162
|
riskTier: "standard",
|
|
1142
1163
|
capabilities: [ToolCapabilities.NET_OUTBOUND],
|
|
@@ -1155,6 +1176,9 @@ var browserDragTool = {
|
|
|
1155
1176
|
description: "Drag one element to another in an owned browser session.",
|
|
1156
1177
|
usageHint: "browser_drag({ sessionId, from, to })",
|
|
1157
1178
|
permission: "confirm",
|
|
1179
|
+
// WS-046: the element/expression acted on, not the sessionId — a trust
|
|
1180
|
+
// rule must distinguish clicking one control from another.
|
|
1181
|
+
subjectKey: "from",
|
|
1158
1182
|
mutating: true,
|
|
1159
1183
|
riskTier: "standard",
|
|
1160
1184
|
capabilities: [ToolCapabilities.NET_OUTBOUND],
|
|
@@ -1204,6 +1228,9 @@ var browserEvaluateTool = {
|
|
|
1204
1228
|
description: "Evaluate bounded JavaScript in the page. Requires confirmation because page code is arbitrary.",
|
|
1205
1229
|
usageHint: "browser_evaluate({ sessionId, expression })",
|
|
1206
1230
|
permission: "confirm",
|
|
1231
|
+
// WS-046: the element/expression acted on, not the sessionId — a trust
|
|
1232
|
+
// rule must distinguish clicking one control from another.
|
|
1233
|
+
subjectKey: "expression",
|
|
1207
1234
|
mutating: true,
|
|
1208
1235
|
riskTier: "destructive",
|
|
1209
1236
|
capabilities: [ToolCapabilities.NET_OUTBOUND, ToolCapabilities.TOOL_MUTATE_ANY],
|
|
@@ -1226,6 +1253,9 @@ var browserUploadTool = {
|
|
|
1226
1253
|
description: "Upload project-local files through a file input in an owned browser session.",
|
|
1227
1254
|
usageHint: "browser_upload({ sessionId, selector, files })",
|
|
1228
1255
|
permission: "confirm",
|
|
1256
|
+
// WS-046: the element/expression acted on, not the sessionId — a trust
|
|
1257
|
+
// rule must distinguish clicking one control from another.
|
|
1258
|
+
subjectKey: "selector",
|
|
1229
1259
|
mutating: true,
|
|
1230
1260
|
riskTier: "destructive",
|
|
1231
1261
|
capabilities: [ToolCapabilities.NET_OUTBOUND, ToolCapabilities.FS_READ],
|