@wrongstack/core 0.257.0 → 0.260.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.
Files changed (65) hide show
  1. package/dist/{agent-bridge-BrxWHEOm.d.ts → agent-bridge-BbskZ7HH.d.ts} +1 -1
  2. package/dist/{agent-subagent-runner-US741uBH.d.ts → agent-subagent-runner-BNIGZx18.d.ts} +28 -8
  3. package/dist/{brain-TjEEwSpw.d.ts → brain-C2yDd7Lw.d.ts} +58 -1
  4. package/dist/{compactor-C5sT4U7I.d.ts → compactor-t0R_AIt_.d.ts} +1 -1
  5. package/dist/{config-DuAu23zm.d.ts → config-FG6As4H5.d.ts} +1 -1
  6. package/dist/{context-CGdgA0q6.d.ts → context-JFOVvu6z.d.ts} +22 -0
  7. package/dist/coordination/index.d.ts +14 -14
  8. package/dist/coordination/index.js +195 -33
  9. package/dist/coordination/index.js.map +1 -1
  10. package/dist/defaults/index.d.ts +25 -25
  11. package/dist/defaults/index.js +908 -92
  12. package/dist/defaults/index.js.map +1 -1
  13. package/dist/execution/index.d.ts +15 -15
  14. package/dist/execution/index.js +134 -35
  15. package/dist/execution/index.js.map +1 -1
  16. package/dist/execution/prompt-enhancer.d.ts +1 -1
  17. package/dist/extension/index.d.ts +6 -6
  18. package/dist/{goal-preamble-UiEkbNmW.d.ts → goal-preamble-B1IXJtLX.d.ts} +11 -9
  19. package/dist/{goal-store-CV9Yz2X_.d.ts → goal-store-CPXz6Mml.d.ts} +4 -2
  20. package/dist/{index-CitPrI3a.d.ts → index-BPcg4N3M.d.ts} +5 -5
  21. package/dist/{index-CC0Mcm05.d.ts → index-CebbJB94.d.ts} +8 -8
  22. package/dist/index.d.ts +47 -43
  23. package/dist/index.js +1571 -284
  24. package/dist/index.js.map +1 -1
  25. package/dist/infrastructure/index.d.ts +6 -6
  26. package/dist/kernel/index.d.ts +9 -9
  27. package/dist/kernel/index.js.map +1 -1
  28. package/dist/{llm-selector-CJ4SyAFE.d.ts → llm-selector-DXxI2tlu.d.ts} +2 -2
  29. package/dist/{mcp-servers-D8YnLaEp.d.ts → mcp-servers-OwNHo43-.d.ts} +3 -3
  30. package/dist/models/index.d.ts +5 -5
  31. package/dist/{models-registry-ByZCdFuQ.d.ts → models-registry-Djlmq4uB.d.ts} +1 -1
  32. package/dist/{multi-agent-coordinator-DqTUEAeC.d.ts → multi-agent-coordinator-CEmrSCMJ.d.ts} +1 -1
  33. package/dist/{null-fleet-bus-B5mfTJXT.d.ts → null-fleet-bus-DT92xqgJ.d.ts} +13 -8
  34. package/dist/observability/index.d.ts +2 -2
  35. package/dist/{package-outdated-watcher-BSgR_kK-.d.ts → package-outdated-watcher-C70ag2G9.d.ts} +3 -3
  36. package/dist/{parallel-eternal-engine-C0juOszP.d.ts → parallel-eternal-engine-0SItuq5r.d.ts} +13 -9
  37. package/dist/{path-resolver-CbkT-RMU.d.ts → path-resolver-DKBh6Jlo.d.ts} +3 -3
  38. package/dist/{permission-CwBBpCoF.d.ts → permission-BJ7eO9Vl.d.ts} +1 -1
  39. package/dist/{permission-policy-B8rSu908.d.ts → permission-policy-DEXOfnpm.d.ts} +3 -2
  40. package/dist/{pipeline-JG8XoudC.d.ts → pipeline-zflkI2dp.d.ts} +2 -2
  41. package/dist/{plan-templates-DPiQMkBz.d.ts → plan-templates-BFXyRkEK.d.ts} +32 -11
  42. package/dist/{provider-runner-hM7EXlLI.d.ts → provider-runner-BC-uywtT.d.ts} +3 -3
  43. package/dist/{retry-policy-Tg7LXkoK.d.ts → retry-policy-Cavrzmtk.d.ts} +1 -1
  44. package/dist/sdd/index.d.ts +8 -8
  45. package/dist/sdd/index.js +20 -2
  46. package/dist/sdd/index.js.map +1 -1
  47. package/dist/{secret-vault-gxtFZYBt.d.ts → secret-vault-CDvDYXWX.d.ts} +1 -1
  48. package/dist/security/index.d.ts +4 -4
  49. package/dist/security/index.js +30 -1
  50. package/dist/security/index.js.map +1 -1
  51. package/dist/{selector-DWsqVjGf.d.ts → selector-B7AivHsu.d.ts} +1 -1
  52. package/dist/{session-event-bridge-BAFWdgQ3.d.ts → session-event-bridge-BmIDxdJd.d.ts} +1 -1
  53. package/dist/{session-reader-CqRvaL5v.d.ts → session-reader-DtofsB-2.d.ts} +1 -1
  54. package/dist/storage/index.d.ts +30 -21
  55. package/dist/storage/index.js +1264 -216
  56. package/dist/storage/index.js.map +1 -1
  57. package/dist/types/index.d.ts +19 -19
  58. package/dist/types/index.js +8 -0
  59. package/dist/types/index.js.map +1 -1
  60. package/dist/utils/index.d.ts +101 -3
  61. package/dist/utils/index.js +92 -1
  62. package/dist/utils/index.js.map +1 -1
  63. package/package.json +1 -1
  64. package/skills/output-standards/SKILL.md +14 -9
  65. package/skills/output-standards/SKILL.save.md +3 -2
@@ -1,4 +1,4 @@
1
- import { S as SecretScrubber } from './permission-CwBBpCoF.js';
1
+ import { S as SecretScrubber } from './permission-BJ7eO9Vl.js';
2
2
  import { L as Logger } from './logger-B63L5bTg.js';
3
3
  import { S as SecretVault } from './secret-vault-BJDY28ev.js';
4
4
 
@@ -1,7 +1,7 @@
1
- export { D as DefaultSecretScrubber, a as DefaultSecretVault, S as SecretVaultOptions, d as decryptConfigSecrets, e as encryptConfigSecrets, i as isSecretField, m as migratePlaintextSecrets, r as rewriteConfigEncrypted } from '../secret-vault-gxtFZYBt.js';
2
- export { A as AutoApprovePermissionPolicy, D as DefaultPermissionPolicy, P as PermissionPolicyOptions } from '../permission-policy-B8rSu908.js';
3
- import '../permission-CwBBpCoF.js';
4
- import '../context-CGdgA0q6.js';
1
+ export { D as DefaultSecretScrubber, a as DefaultSecretVault, S as SecretVaultOptions, d as decryptConfigSecrets, e as encryptConfigSecrets, i as isSecretField, m as migratePlaintextSecrets, r as rewriteConfigEncrypted } from '../secret-vault-CDvDYXWX.js';
2
+ export { A as AutoApprovePermissionPolicy, D as DefaultPermissionPolicy, P as PermissionPolicyOptions } from '../permission-policy-DEXOfnpm.js';
3
+ import '../permission-BJ7eO9Vl.js';
4
+ import '../context-JFOVvu6z.js';
5
5
  import '../logger-B63L5bTg.js';
6
6
  import '../secret-vault-BJDY28ev.js';
7
7
  import '../input-reader-E-ffP2ee.js';
@@ -1041,7 +1041,16 @@ var DefaultPermissionPolicy = class {
1041
1041
  };
1042
1042
  }
1043
1043
  }
1044
- if (tool.permission === "auto" && !tool.mutating) {
1044
+ const hasWriteCap = hasCapability(tool, ToolCapabilities.FS_WRITE);
1045
+ const hasShellCap = hasCapability(tool, [
1046
+ ToolCapabilities.SHELL_ARBITRARY,
1047
+ ToolCapabilities.SHELL_RESTRICTED
1048
+ ]);
1049
+ const hasInstallCap = hasCapability(tool, ToolCapabilities.PACKAGE_INSTALL);
1050
+ const hasConfigCap = hasCapability(tool, ToolCapabilities.CONFIG_MUTATE);
1051
+ const hasSubagentCap = hasCapability(tool, ToolCapabilities.SUBAGENT_SPAWN);
1052
+ const isMutating = tool.mutating || hasWriteCap || hasShellCap || hasInstallCap || hasConfigCap || hasSubagentCap;
1053
+ if (tool.permission === "auto" && !isMutating) {
1045
1054
  const decision = { permission: "auto", source: "default" };
1046
1055
  this._evalCache.set(cacheKey, decision);
1047
1056
  return decision;
@@ -1060,7 +1069,27 @@ var DefaultPermissionPolicy = class {
1060
1069
  }
1061
1070
  return { permission: "confirm", source: "default" };
1062
1071
  }
1072
+ // Capability-based destructive check (preferred over name-based)
1073
+ isDestructiveByCapability(tool) {
1074
+ const caps = tool.capabilities ?? [];
1075
+ if (caps.includes("shell.arbitrary")) return true;
1076
+ if (caps.includes("fs.write")) return true;
1077
+ if (caps.includes("fs.write.outside-project")) return true;
1078
+ return false;
1079
+ }
1063
1080
  isDestructiveYoloCall(tool, input, ctx) {
1081
+ if (this.isDestructiveByCapability(tool)) {
1082
+ if (tool.name === "bash") {
1083
+ const command = getInputString(input, "command");
1084
+ return command ? isClearlyDestructiveBashCommand(command, ctx.projectRoot) : true;
1085
+ }
1086
+ if (tool.name === "write" || tool.name === "edit" || tool.name === "replace" || tool.name === "patch") {
1087
+ const targetPath = getInputString(input, "path") ?? getInputString(input, "file");
1088
+ if (!targetPath || !ctx.projectRoot) return false;
1089
+ return !pathLooksInsideProject(targetPath, ctx.projectRoot);
1090
+ }
1091
+ return true;
1092
+ }
1064
1093
  if (tool.name === "bash") {
1065
1094
  const command = getInputString(input, "command");
1066
1095
  return command ? isClearlyDestructiveBashCommand(command, ctx.projectRoot) : true;