@wrongstack/tools 0.293.0 → 0.295.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/_env.d.ts +1 -1
- package/dist/_env.d.ts.map +1 -1
- package/dist/_fetch-guard.d.ts.map +1 -1
- package/dist/_spawn-stream.d.ts +1 -1
- package/dist/_spawn-stream.d.ts.map +1 -1
- package/dist/_util.d.ts +1 -1
- package/dist/_util.d.ts.map +1 -1
- package/dist/audit.d.ts +1 -1
- package/dist/audit.d.ts.map +1 -1
- package/dist/audit.js +81 -16
- package/dist/audit.js.map +2 -2
- package/dist/bash.d.ts +1 -1
- package/dist/bash.d.ts.map +1 -1
- package/dist/bash.js +66 -52
- package/dist/bash.js.map +3 -3
- package/dist/batch-tool-use.d.ts +1 -1
- package/dist/batch-tool-use.d.ts.map +1 -1
- package/dist/batch-tool-use.js +1 -1
- package/dist/batch-tool-use.js.map +1 -1
- package/dist/browser/index.js +10 -1
- package/dist/browser/index.js.map +2 -2
- package/dist/browser/manager.d.ts +2 -0
- package/dist/browser/manager.d.ts.map +1 -1
- package/dist/browser/tools.d.ts +1 -1
- package/dist/browser/tools.d.ts.map +1 -1
- package/dist/builtin.d.ts +1 -1
- package/dist/builtin.d.ts.map +1 -1
- package/dist/builtin.js +1394 -553
- package/dist/builtin.js.map +4 -4
- package/dist/codebase-index/background-indexer.d.ts +2 -2
- package/dist/codebase-index/background-indexer.d.ts.map +1 -1
- package/dist/codebase-index/bm25.d.ts +3 -1
- package/dist/codebase-index/bm25.d.ts.map +1 -1
- package/dist/codebase-index/codebase-index-tool.d.ts +1 -1
- package/dist/codebase-index/codebase-index-tool.d.ts.map +1 -1
- package/dist/codebase-index/codebase-search-tool.d.ts +1 -1
- package/dist/codebase-index/codebase-search-tool.d.ts.map +1 -1
- package/dist/codebase-index/codebase-stats-tool.d.ts +1 -1
- package/dist/codebase-index/codebase-stats-tool.d.ts.map +1 -1
- package/dist/codebase-index/generic-parser.d.ts +34 -0
- package/dist/codebase-index/generic-parser.d.ts.map +1 -0
- package/dist/codebase-index/go-parser.d.ts +1 -1
- package/dist/codebase-index/go-parser.d.ts.map +1 -1
- package/dist/codebase-index/index.d.ts +4 -2
- package/dist/codebase-index/index.d.ts.map +1 -1
- package/dist/codebase-index/index.js +1036 -341
- package/dist/codebase-index/index.js.map +4 -4
- package/dist/codebase-index/indexer.d.ts +6 -1
- package/dist/codebase-index/indexer.d.ts.map +1 -1
- package/dist/codebase-index/json-parser.d.ts +1 -1
- package/dist/codebase-index/languages.d.ts +25 -0
- package/dist/codebase-index/languages.d.ts.map +1 -0
- package/dist/codebase-index/py-parser.d.ts +9 -1
- package/dist/codebase-index/py-parser.d.ts.map +1 -1
- package/dist/codebase-index/refs-extractor.d.ts.map +1 -1
- package/dist/codebase-index/rs-parser.d.ts +1 -1
- package/dist/codebase-index/rs-parser.d.ts.map +1 -1
- package/dist/codebase-index/schema.d.ts +9 -2
- package/dist/codebase-index/schema.d.ts.map +1 -1
- package/dist/codebase-index/spawn-gate.d.ts +15 -0
- package/dist/codebase-index/spawn-gate.d.ts.map +1 -0
- package/dist/codebase-index/ts-parser.d.ts +2 -2
- package/dist/codebase-index/ts-parser.d.ts.map +1 -1
- package/dist/codebase-index/worker.js +961 -317
- package/dist/codebase-index/worker.js.map +4 -4
- package/dist/codebase-index/writer.d.ts +83 -4
- package/dist/codebase-index/writer.d.ts.map +1 -1
- package/dist/codebase-index/yaml-parser.d.ts +1 -1
- package/dist/design.d.ts +5 -2
- package/dist/design.d.ts.map +1 -1
- package/dist/design.js +36 -3
- package/dist/design.js.map +2 -2
- package/dist/diff.d.ts +1 -1
- package/dist/diff.d.ts.map +1 -1
- package/dist/diff.js +2 -2
- package/dist/diff.js.map +1 -1
- package/dist/document.d.ts +1 -1
- package/dist/document.d.ts.map +1 -1
- package/dist/document.js +1 -1
- package/dist/document.js.map +1 -1
- package/dist/e2e.d.ts +1 -1
- package/dist/e2e.d.ts.map +1 -1
- package/dist/e2e.js +1 -1
- package/dist/e2e.js.map +1 -1
- package/dist/edit.d.ts +1 -1
- package/dist/edit.d.ts.map +1 -1
- package/dist/edit.js +3 -3
- package/dist/edit.js.map +2 -2
- package/dist/exec.d.ts +1 -1
- package/dist/exec.d.ts.map +1 -1
- package/dist/exec.js +60 -21
- package/dist/exec.js.map +3 -3
- package/dist/fetch.d.ts +1 -1
- package/dist/fetch.d.ts.map +1 -1
- package/dist/fetch.js +4 -5
- package/dist/fetch.js.map +2 -2
- package/dist/format.d.ts +1 -1
- package/dist/format.d.ts.map +1 -1
- package/dist/format.js +81 -16
- package/dist/format.js.map +2 -2
- package/dist/git.d.ts +1 -1
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +3 -2
- package/dist/git.js.map +2 -2
- package/dist/glob.d.ts +1 -1
- package/dist/glob.d.ts.map +1 -1
- package/dist/glob.js +2 -2
- package/dist/glob.js.map +1 -1
- package/dist/grep.d.ts +1 -1
- package/dist/grep.d.ts.map +1 -1
- package/dist/grep.js +4 -3
- package/dist/grep.js.map +2 -2
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1657 -705
- package/dist/index.js.map +4 -4
- package/dist/install.d.ts +1 -1
- package/dist/install.d.ts.map +1 -1
- package/dist/install.js +85 -17
- package/dist/install.js.map +2 -2
- package/dist/json.d.ts +1 -1
- package/dist/json.d.ts.map +1 -1
- package/dist/json.js +2 -2
- package/dist/json.js.map +2 -2
- package/dist/kanban.d.ts +4 -3
- package/dist/kanban.d.ts.map +1 -1
- package/dist/kanban.js +94 -27
- package/dist/kanban.js.map +2 -2
- package/dist/languages/execute-tool.d.ts +1 -1
- package/dist/languages/execute-tool.d.ts.map +1 -1
- package/dist/languages/execute.d.ts +1 -1
- package/dist/languages/execute.d.ts.map +1 -1
- package/dist/languages/index.d.ts +1 -1
- package/dist/languages/index.d.ts.map +1 -1
- package/dist/languages/index.js +99 -17
- package/dist/languages/index.js.map +2 -2
- package/dist/languages/package-tool.d.ts +3 -4
- package/dist/languages/package-tool.d.ts.map +1 -1
- package/dist/languages/plan.d.ts.map +1 -1
- package/dist/languages/profiles/additional.d.ts.map +1 -1
- package/dist/languages/profiles/primary.d.ts.map +1 -1
- package/dist/languages/tool.d.ts +1 -1
- package/dist/languages/tool.d.ts.map +1 -1
- package/dist/lint.d.ts +1 -1
- package/dist/lint.d.ts.map +1 -1
- package/dist/lint.js +81 -16
- package/dist/lint.js.map +2 -2
- package/dist/logs.d.ts +1 -1
- package/dist/logs.d.ts.map +1 -1
- package/dist/logs.js +2 -2
- package/dist/logs.js.map +1 -1
- package/dist/memory.d.ts +1 -1
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +1 -1
- package/dist/memory.js.map +1 -1
- package/dist/mode.d.ts +1 -1
- package/dist/mode.d.ts.map +1 -1
- package/dist/mode.js.map +1 -1
- package/dist/outdated.d.ts +1 -1
- package/dist/outdated.d.ts.map +1 -1
- package/dist/outdated.js +101 -19
- package/dist/outdated.js.map +2 -2
- package/dist/pack.d.ts +1 -1
- package/dist/pack.js +1394 -553
- package/dist/pack.js.map +4 -4
- package/dist/patch.d.ts +1 -1
- package/dist/patch.d.ts.map +1 -1
- package/dist/patch.js +2 -2
- package/dist/patch.js.map +1 -1
- package/dist/plan.d.ts +1 -1
- package/dist/plan.d.ts.map +1 -1
- package/dist/plan.js +7 -7
- package/dist/plan.js.map +2 -2
- package/dist/process-guardian.d.ts +7 -0
- package/dist/process-guardian.d.ts.map +1 -1
- package/dist/process-registry-persistent.d.ts +5 -0
- package/dist/process-registry-persistent.d.ts.map +1 -1
- package/dist/process-registry.d.ts +9 -1
- package/dist/process-registry.d.ts.map +1 -1
- package/dist/process-registry.js +18 -3
- package/dist/process-registry.js.map +2 -2
- package/dist/ps-slash.js +54 -15
- package/dist/ps-slash.js.map +2 -2
- package/dist/read.d.ts +1 -1
- package/dist/read.d.ts.map +1 -1
- package/dist/read.js +3 -2
- package/dist/read.js.map +2 -2
- package/dist/replace.d.ts +1 -1
- package/dist/replace.d.ts.map +1 -1
- package/dist/replace.js +4 -4
- package/dist/replace.js.map +2 -2
- package/dist/scaffold.d.ts +1 -1
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/scaffold.js +2 -2
- package/dist/scaffold.js.map +1 -1
- package/dist/search.d.ts +1 -1
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +4 -4
- package/dist/search.js.map +2 -2
- package/dist/session-kanban.d.ts +4 -1
- package/dist/session-kanban.d.ts.map +1 -1
- package/dist/session-kanban.js +23 -15
- package/dist/session-kanban.js.map +2 -2
- package/dist/set-working-dir.d.ts +1 -1
- package/dist/set-working-dir.d.ts.map +1 -1
- package/dist/skill.d.ts +1 -1
- package/dist/skill.d.ts.map +1 -1
- package/dist/skill.js +2 -5
- package/dist/skill.js.map +2 -2
- package/dist/spawn-background.d.ts.map +1 -1
- package/dist/task.d.ts +3 -2
- package/dist/task.d.ts.map +1 -1
- package/dist/task.js +6 -8
- package/dist/task.js.map +2 -2
- package/dist/test.d.ts +1 -1
- package/dist/test.d.ts.map +1 -1
- package/dist/test.js +81 -16
- package/dist/test.js.map +2 -2
- package/dist/todo.d.ts +2 -1
- package/dist/todo.d.ts.map +1 -1
- package/dist/todo.js +4 -4
- package/dist/todo.js.map +2 -2
- package/dist/tool-help.d.ts +1 -1
- package/dist/tool-help.d.ts.map +1 -1
- package/dist/tool-help.js.map +1 -1
- package/dist/tool-search.d.ts +1 -1
- package/dist/tool-search.d.ts.map +1 -1
- package/dist/tool-search.js.map +1 -1
- package/dist/tool-tier.d.ts +16 -0
- package/dist/tool-tier.d.ts.map +1 -0
- package/dist/tool-tier.js +22233 -0
- package/dist/tool-tier.js.map +7 -0
- package/dist/tool-use.d.ts +1 -1
- package/dist/tool-use.d.ts.map +1 -1
- package/dist/tool-use.js.map +1 -1
- package/dist/tree.d.ts +1 -1
- package/dist/tree.d.ts.map +1 -1
- package/dist/tree.js +2 -2
- package/dist/tree.js.map +1 -1
- package/dist/typecheck.d.ts +1 -1
- package/dist/typecheck.d.ts.map +1 -1
- package/dist/typecheck.js +81 -16
- package/dist/typecheck.js.map +2 -2
- package/dist/write.d.ts +1 -1
- package/dist/write.d.ts.map +1 -1
- package/dist/write.js +3 -2
- package/dist/write.js.map +2 -2
- package/package.json +7 -3
package/dist/_env.d.ts
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Re-exported from @wrongstack/core. This file exists for backward
|
|
3
3
|
* compatibility — tools/src/bash.ts and exec.ts import './_env.js'.
|
|
4
4
|
*/
|
|
5
|
-
export { buildChildEnv } from '@wrongstack/core';
|
|
5
|
+
export { buildChildEnv } from '@wrongstack/core/utils';
|
|
6
6
|
//# sourceMappingURL=_env.d.ts.map
|
package/dist/_env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_env.d.ts","sourceRoot":"","sources":["../src/_env.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"_env.d.ts","sourceRoot":"","sources":["../src/_env.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_fetch-guard.d.ts","sourceRoot":"","sources":["../src/_fetch-guard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"_fetch-guard.d.ts","sourceRoot":"","sources":["../src/_fetch-guard.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,aAAa,SAAwD,CAAC;AAUnF,KAAK,cAAc,GAAG,CACpB,GAAG,EAAE,MAAM,CAAC,cAAc,GAAG,IAAI,EACjC,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EACzE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,KACxB,IAAI,CAAC;AAEV;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EACnE,QAAQ,EAAE,cAAc,GACvB,IAAI,CAsCN;AA6CD;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAG7B,GACA,OAAO,CAAC,QAAQ,CAAC,CAuDnB;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoDtE"}
|
package/dist/_spawn-stream.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_spawn-stream.d.ts","sourceRoot":"","sources":["../src/_spawn-stream.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"_spawn-stream.d.ts","sourceRoot":"","sources":["../src/_spawn-stream.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAShE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,uFAAuF;IACvF,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED;;;;;;GAMG;AACH,wBAAuB,WAAW,CAChC,IAAI,EAAE,kBAAkB,GACvB,cAAc,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAyPtD"}
|
package/dist/_util.d.ts
CHANGED
package/dist/_util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_util.d.ts","sourceRoot":"","sources":["../src/_util.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"_util.d.ts","sourceRoot":"","sources":["../src/_util.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEjD;AACD,wDAAwD;AACxD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAErD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAe/E;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAE/D;AAmBD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAMtE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAE/D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BvF;AAED,iEAAiE;AACjE,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAIlF;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAQ7D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAMnD;AAUD,qEAAqE;AACrE,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAK/C;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO5D;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,SAAuB,GAAG,MAAM,CAgBjG;AAgCD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAYpE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAO,GAC3C,MAAM,CAQR"}
|
package/dist/audit.d.ts
CHANGED
package/dist/audit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAmB,MAAM,
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAmB,MAAM,wBAAwB,CAAC;AAKpE,UAAU,UAAU;IAClB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,KAAK,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC7D,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;CAC1C;AAED,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,UAAU,WAAW;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,kBAAkB,EAAE,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,CA+FnD,CAAC"}
|
package/dist/audit.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
// src/_spawn-stream.ts
|
|
2
2
|
import { spawn as spawn2 } from "node:child_process";
|
|
3
3
|
import {
|
|
4
|
-
buildChildEnv,
|
|
5
4
|
emitProcessCompleted,
|
|
6
5
|
emitProcessOutput,
|
|
7
6
|
emitProcessStarted
|
|
8
|
-
} from "@wrongstack/core";
|
|
7
|
+
} from "@wrongstack/core/observability";
|
|
8
|
+
import { buildChildEnv } from "@wrongstack/core/utils";
|
|
9
9
|
|
|
10
10
|
// src/_output-spool.ts
|
|
11
11
|
import { createWriteStream, mkdirSync } from "node:fs";
|
|
12
12
|
import * as fsp from "node:fs/promises";
|
|
13
13
|
import * as path from "node:path";
|
|
14
|
-
import { wstackGlobalRoot } from "@wrongstack/core";
|
|
14
|
+
import { wstackGlobalRoot } from "@wrongstack/core/utils";
|
|
15
15
|
var SPOOL_RETENTION_MS = 7 * 24 * 60 * 60 * 1e3;
|
|
16
16
|
var SPOOL_WRITE_HWM_BYTES = 4 * 1024 * 1024;
|
|
17
17
|
var sweepStarted = false;
|
|
@@ -311,7 +311,7 @@ var CircuitBreaker = class {
|
|
|
311
311
|
};
|
|
312
312
|
|
|
313
313
|
// src/_redact-command.ts
|
|
314
|
-
import { expectDefined } from "@wrongstack/core";
|
|
314
|
+
import { expectDefined } from "@wrongstack/core/utils";
|
|
315
315
|
var SENSITIVE_FLAG_PATTERNS = [
|
|
316
316
|
// --flag=value or --flag "value" (value captured up to next space or comma)
|
|
317
317
|
/--(?:token|password|passwd|pwd|secret|api[-_]?key|api[-_]?secret|auth|credential|private[-_]?key|access[-_]?key|github[-_]?token|gh[-_]?token|bearer|jwt|oauth|pin|pincode|passphrase|access[-_]?token)(?:[=\s,][^\s]*)?/gi,
|
|
@@ -405,7 +405,12 @@ var ProcessRegistryImpl = class {
|
|
|
405
405
|
this.breaker.setEnabled(false);
|
|
406
406
|
}
|
|
407
407
|
register(info) {
|
|
408
|
-
this.processes.set(info.pid, {
|
|
408
|
+
this.processes.set(info.pid, {
|
|
409
|
+
...info,
|
|
410
|
+
killed: false,
|
|
411
|
+
protected: info.protected ?? false,
|
|
412
|
+
background: info.background ?? false
|
|
413
|
+
});
|
|
409
414
|
}
|
|
410
415
|
_isSafeSignalPid(pid) {
|
|
411
416
|
return Number.isInteger(pid) && pid > 1 && pid !== process.pid && pid !== process.ppid;
|
|
@@ -458,12 +463,21 @@ var ProcessRegistryImpl = class {
|
|
|
458
463
|
}
|
|
459
464
|
return n;
|
|
460
465
|
}
|
|
466
|
+
/** Count of active jobs explicitly launched in background mode. */
|
|
467
|
+
get activeBackgroundCount() {
|
|
468
|
+
let n = 0;
|
|
469
|
+
for (const p of this.processes.values()) {
|
|
470
|
+
if (p.background && !p.killed) n++;
|
|
471
|
+
}
|
|
472
|
+
return n;
|
|
473
|
+
}
|
|
461
474
|
/**
|
|
462
475
|
* Combined stats for observability — used by /ps and the TUI status bar.
|
|
463
476
|
*/
|
|
464
477
|
stats() {
|
|
465
478
|
return {
|
|
466
479
|
activeCount: this.activeCount,
|
|
480
|
+
backgroundCount: this.activeBackgroundCount,
|
|
467
481
|
totalCount: this.processes.size,
|
|
468
482
|
breaker: this.breaker.snapshot()
|
|
469
483
|
};
|
|
@@ -564,7 +578,7 @@ var ProcessRegistryImpl = class {
|
|
|
564
578
|
this.autoKillTimer = setTimeout(() => {
|
|
565
579
|
this.autoKillTimer = null;
|
|
566
580
|
this.autoKillArmedAt = null;
|
|
567
|
-
this.killAll({ force: false });
|
|
581
|
+
this.killAll({ force: false, preserveBackground: true });
|
|
568
582
|
this.breaker.forceReset();
|
|
569
583
|
this._emitBreakerCountdown();
|
|
570
584
|
}, this.autoKillResetMs);
|
|
@@ -604,6 +618,7 @@ var ProcessRegistryImpl = class {
|
|
|
604
618
|
if (!p) return false;
|
|
605
619
|
if (p.killed) return true;
|
|
606
620
|
if (p.protected) return false;
|
|
621
|
+
if (opts.preserveBackground && p.background) return false;
|
|
607
622
|
const { force = false, graceMs = DEFAULT_GRACE_MS } = opts;
|
|
608
623
|
const isWin2 = os.platform() === "win32";
|
|
609
624
|
if (isWin2) {
|
|
@@ -955,7 +970,7 @@ async function* spawnStream(opts) {
|
|
|
955
970
|
|
|
956
971
|
// src/_util.ts
|
|
957
972
|
import * as path3 from "node:path";
|
|
958
|
-
import * as Core from "@wrongstack/core";
|
|
973
|
+
import * as Core from "@wrongstack/core/utils";
|
|
959
974
|
async function detectPackageManager(cwd) {
|
|
960
975
|
const { stat: stat5 } = await import("node:fs/promises");
|
|
961
976
|
try {
|
|
@@ -1155,7 +1170,20 @@ function pythonProfile() {
|
|
|
1155
1170
|
]),
|
|
1156
1171
|
ignoredDirectories: IGNORES,
|
|
1157
1172
|
packageManagers: Object.freeze(["pip", "poetry", "pipenv", "uv"]),
|
|
1158
|
-
executables: Object.freeze([
|
|
1173
|
+
executables: Object.freeze([
|
|
1174
|
+
"python",
|
|
1175
|
+
"python3",
|
|
1176
|
+
"pip",
|
|
1177
|
+
"pip3",
|
|
1178
|
+
"poetry",
|
|
1179
|
+
"pipenv",
|
|
1180
|
+
"uv",
|
|
1181
|
+
"ruff",
|
|
1182
|
+
"black",
|
|
1183
|
+
"pytest",
|
|
1184
|
+
"mypy",
|
|
1185
|
+
"pyright"
|
|
1186
|
+
]),
|
|
1159
1187
|
operations: Object.freeze({
|
|
1160
1188
|
syntax: async (ctx) => {
|
|
1161
1189
|
const py = ctx.options.target ? "python3" : "python3";
|
|
@@ -1215,6 +1243,14 @@ function pythonProfile() {
|
|
|
1215
1243
|
network: true
|
|
1216
1244
|
});
|
|
1217
1245
|
},
|
|
1246
|
+
"package-remove": async (ctx) => {
|
|
1247
|
+
const names = packageNames(ctx);
|
|
1248
|
+
return names.length === 0 ? unavailable(ctx, "package-remove", "At least one package name is required.") : processPlan(ctx, "package-remove", "pip", ["uninstall", "--yes", ...names], {
|
|
1249
|
+
parser: "package-text",
|
|
1250
|
+
reason: "Remove validated Python packages.",
|
|
1251
|
+
mutating: true
|
|
1252
|
+
});
|
|
1253
|
+
},
|
|
1218
1254
|
"package-audit": async (ctx) => processPlan(ctx, "package-audit", "pip", ["audit"], {
|
|
1219
1255
|
parser: "pip-audit",
|
|
1220
1256
|
reason: "Audit Python dependencies for vulnerabilities.",
|
|
@@ -1822,6 +1858,19 @@ function typescriptProfile() {
|
|
|
1822
1858
|
network: true
|
|
1823
1859
|
});
|
|
1824
1860
|
},
|
|
1861
|
+
"package-remove": async (ctx) => {
|
|
1862
|
+
const names = packageNames(ctx);
|
|
1863
|
+
if (names.length === 0)
|
|
1864
|
+
return unavailable(ctx, "package-remove", "At least one package name is required.");
|
|
1865
|
+
const manager = ctx.workspace.packageManager ?? "npm";
|
|
1866
|
+
const args = manager === "npm" ? ["uninstall", "--ignore-scripts", ...names] : ["remove", "--ignore-scripts", ...names];
|
|
1867
|
+
return processPlan(ctx, "package-remove", manager, args, {
|
|
1868
|
+
parser: "package-text",
|
|
1869
|
+
reason: `Remove validated packages with ${manager} and lifecycle scripts disabled.`,
|
|
1870
|
+
mutating: true,
|
|
1871
|
+
network: true
|
|
1872
|
+
});
|
|
1873
|
+
},
|
|
1825
1874
|
"package-audit": async (ctx) => {
|
|
1826
1875
|
const manager = ctx.workspace.packageManager ?? "npm";
|
|
1827
1876
|
return processPlan(ctx, "package-audit", manager, ["audit", "--json"], {
|
|
@@ -2257,13 +2306,28 @@ var csharpProfile = {
|
|
|
2257
2306
|
}),
|
|
2258
2307
|
"package-add": async (ctx) => {
|
|
2259
2308
|
const names = packageNames(ctx);
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
|
|
2309
|
+
const [spec] = names;
|
|
2310
|
+
const versionAt = spec?.lastIndexOf("@") ?? -1;
|
|
2311
|
+
const packageName = versionAt > 0 ? spec?.slice(0, versionAt) : spec;
|
|
2312
|
+
const packageVersion = versionAt > 0 ? spec?.slice(versionAt + 1) : void 0;
|
|
2313
|
+
return names.length === 0 ? unavailable(ctx, "package-add", "At least one NuGet package is required.") : names.length > 1 ? unavailable(ctx, "package-add", "NuGet package changes run one package at a time.") : processPlan(
|
|
2314
|
+
ctx,
|
|
2315
|
+
"package-add",
|
|
2316
|
+
"dotnet",
|
|
2317
|
+
[
|
|
2318
|
+
"add",
|
|
2319
|
+
"package",
|
|
2320
|
+
packageName ?? "",
|
|
2321
|
+
...packageVersion ? ["--version", packageVersion] : []
|
|
2322
|
+
],
|
|
2323
|
+
{
|
|
2324
|
+
parser: "dotnet-package",
|
|
2325
|
+
reason: "Add validated NuGet packages.",
|
|
2326
|
+
mutating: true,
|
|
2327
|
+
network: true,
|
|
2328
|
+
executesProjectCode: true
|
|
2329
|
+
}
|
|
2330
|
+
);
|
|
2267
2331
|
},
|
|
2268
2332
|
"package-remove": async (ctx) => {
|
|
2269
2333
|
const names = packageNames(ctx);
|
|
@@ -3116,6 +3180,7 @@ var MAX_ARGUMENT_LENGTH = 4096;
|
|
|
3116
3180
|
var PACKAGE_NAME_RE = /^(?:@[a-z0-9._-]+\/)?[a-z0-9._-]+(?:@[a-z0-9*+._~^<>=|-]+)?$/i;
|
|
3117
3181
|
var COMPOSER_PACKAGE_RE = /^[a-z0-9_.-]+\/[a-z0-9_.-]+(?::[a-z0-9*+._~^<>=|-]+)?$/i;
|
|
3118
3182
|
var GO_MODULE_RE = /^(?:[a-z0-9.-]+\.)+[a-z0-9.-]+\/[a-z0-9._~+/@-]+$/i;
|
|
3183
|
+
var PYTHON_PACKAGE_RE = /^[a-z0-9._-]+(?:\[[a-z0-9._,-]+\])?==[a-z0-9*+._!~-]+$/i;
|
|
3119
3184
|
async function planLanguageOperation(options) {
|
|
3120
3185
|
validateOperationOptions(options.operation, options.operationOptions?.packages);
|
|
3121
3186
|
const detection = await detectLanguageWorkspaces(options);
|
|
@@ -3299,7 +3364,7 @@ function validateOperationOptions(operation, packages) {
|
|
|
3299
3364
|
if (value.startsWith(".") || value.startsWith("/") || /^[A-Za-z]:/.test(value) || value.includes("://")) {
|
|
3300
3365
|
throw new Error(`Package paths and URLs are not supported: "${value}"`);
|
|
3301
3366
|
}
|
|
3302
|
-
if (!PACKAGE_NAME_RE.test(value) && !COMPOSER_PACKAGE_RE.test(value) && !GO_MODULE_RE.test(value)) {
|
|
3367
|
+
if (!PACKAGE_NAME_RE.test(value) && !COMPOSER_PACKAGE_RE.test(value) && !GO_MODULE_RE.test(value) && !PYTHON_PACKAGE_RE.test(value)) {
|
|
3303
3368
|
throw new Error(`Invalid package identifier "${value}"`);
|
|
3304
3369
|
}
|
|
3305
3370
|
}
|