@wrongstack/core 0.148.0 → 0.155.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 (50) hide show
  1. package/dist/{agent-bridge-r9y6gdn4.d.ts → agent-bridge-BbZU5TPN.d.ts} +1 -1
  2. package/dist/{agent-subagent-runner-1GeQE_L0.d.ts → agent-subagent-runner-Bsueu0J2.d.ts} +2 -2
  3. package/dist/{brain-Cp_3GIS2.d.ts → brain-CS_B0vIE.d.ts} +2 -0
  4. package/dist/coordination/index.d.ts +7 -7
  5. package/dist/coordination/index.js +143 -6
  6. package/dist/coordination/index.js.map +1 -1
  7. package/dist/defaults/index.d.ts +13 -13
  8. package/dist/defaults/index.js +223 -65
  9. package/dist/defaults/index.js.map +1 -1
  10. package/dist/execution/index.d.ts +6 -6
  11. package/dist/execution/index.js +143 -6
  12. package/dist/execution/index.js.map +1 -1
  13. package/dist/extension/index.d.ts +2 -2
  14. package/dist/{goal-preamble-CYJLg0wk.d.ts → goal-preamble-CbV8pXLD.d.ts} +3 -3
  15. package/dist/{index-CPweVoFM.d.ts → index-B5wz-GXm.d.ts} +1 -1
  16. package/dist/{index-BZdezm3g.d.ts → index-CI1hRfPt.d.ts} +2 -2
  17. package/dist/index.d.ts +22 -22
  18. package/dist/index.js +233 -70
  19. package/dist/index.js.map +1 -1
  20. package/dist/infrastructure/index.d.ts +3 -3
  21. package/dist/infrastructure/index.js +11 -2
  22. package/dist/infrastructure/index.js.map +1 -1
  23. package/dist/kernel/index.d.ts +3 -3
  24. package/dist/kernel/index.js.map +1 -1
  25. package/dist/{mcp-servers-Bl5LTvQg.d.ts → mcp-servers-CPERR2De.d.ts} +8 -1
  26. package/dist/{multi-agent-coordinator-QWEzJDlm.d.ts → multi-agent-coordinator-BSKSFNhv.d.ts} +1 -1
  27. package/dist/{null-fleet-bus-BUyfqh23.d.ts → null-fleet-bus-CGOez8Le.d.ts} +4 -4
  28. package/dist/observability/index.d.ts +1 -1
  29. package/dist/{parallel-eternal-engine-C75QuhAI.d.ts → parallel-eternal-engine-CYoTKjsz.d.ts} +4 -4
  30. package/dist/{path-resolver-DRjQBkoO.d.ts → path-resolver-DuhlmPil.d.ts} +1 -1
  31. package/dist/{plan-templates-CkKNPU3I.d.ts → plan-templates-DbH7lg-t.d.ts} +2 -2
  32. package/dist/{provider-runner-BNpuIyOL.d.ts → provider-runner-Cocq0O9E.d.ts} +1 -1
  33. package/dist/sdd/index.d.ts +3 -3
  34. package/dist/sdd/index.js +143 -6
  35. package/dist/sdd/index.js.map +1 -1
  36. package/dist/{secret-vault-DoISxaKO.d.ts → secret-vault-BJDY28ev.d.ts} +7 -1
  37. package/dist/{secret-vault-BTcC_T5v.d.ts → secret-vault-w8MbUe2Q.d.ts} +1 -1
  38. package/dist/security/index.d.ts +2 -2
  39. package/dist/security/index.js +59 -22
  40. package/dist/security/index.js.map +1 -1
  41. package/dist/storage/index.d.ts +5 -5
  42. package/dist/storage/index.js +76 -42
  43. package/dist/storage/index.js.map +1 -1
  44. package/dist/types/index.d.ts +11 -11
  45. package/dist/types/index.js +59 -22
  46. package/dist/types/index.js.map +1 -1
  47. package/dist/utils/index.d.ts +65 -1
  48. package/dist/utils/index.js +61 -2
  49. package/dist/utils/index.js.map +1 -1
  50. package/package.json +1 -1
@@ -15,5 +15,11 @@ interface SecretVault {
15
15
  decrypt(value: string): string;
16
16
  isEncrypted(value: string): boolean;
17
17
  }
18
+ /**
19
+ * No-op SecretVault that passes values through unchanged.
20
+ * Used in contexts where encryption is not needed — e.g. reading/writing
21
+ * config sections that contain no secret fields (models, settings, etc.).
22
+ */
23
+ declare const noOpVault: SecretVault;
18
24
 
19
- export type { SecretVault as S };
25
+ export { type SecretVault as S, noOpVault as n };
@@ -1,5 +1,5 @@
1
1
  import { S as SecretScrubber } from './permission-B7nKnEvQ.js';
2
- import { S as SecretVault } from './secret-vault-DoISxaKO.js';
2
+ import { S as SecretVault } from './secret-vault-BJDY28ev.js';
3
3
 
4
4
  declare class DefaultSecretScrubber implements SecretScrubber {
5
5
  scrub(text: string): string;
@@ -1,8 +1,8 @@
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-BTcC_T5v.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-w8MbUe2Q.js';
2
2
  export { A as AutoApprovePermissionPolicy, D as DefaultPermissionPolicy, P as PermissionPolicyOptions } from '../permission-policy-8-6zBmfA.js';
3
3
  import '../permission-B7nKnEvQ.js';
4
4
  import '../context-C7G_MtLV.js';
5
- import '../secret-vault-DoISxaKO.js';
5
+ import '../secret-vault-BJDY28ev.js';
6
6
  import '../input-reader-E-ffP2ee.js';
7
7
 
8
8
  /**
@@ -174,6 +174,65 @@ async function renameWithRetry(from, to) {
174
174
  throw lastErr;
175
175
  }
176
176
 
177
+ // src/utils/deep-merge.ts
178
+ var FORBIDDEN_PROTO_KEYS = /* @__PURE__ */ new Set([
179
+ "__proto__",
180
+ "constructor",
181
+ "prototype",
182
+ "__defineGetter__",
183
+ "__defineSetter__",
184
+ "__lookupGetter__",
185
+ "__lookupSetter__"
186
+ ]);
187
+ function isPrimitiveArray(a) {
188
+ return a.every((v) => v === null || typeof v !== "object" && typeof v !== "function");
189
+ }
190
+ function deepMerge(base, patch, options = {}) {
191
+ const {
192
+ conflictResolution = "prefer-patch",
193
+ arrayMode = "replace",
194
+ protectProto = true,
195
+ onNonPrimitiveArrayReplace
196
+ } = options;
197
+ if (typeof base !== "object" || base === null) {
198
+ return conflictResolution === "prefer-patch" ? patch : base;
199
+ }
200
+ if (typeof patch !== "object" || patch === null) {
201
+ return conflictResolution === "prefer-patch" ? patch : base;
202
+ }
203
+ if (Array.isArray(base) && Array.isArray(patch)) {
204
+ if (arrayMode === "concat-primitives" && isPrimitiveArray(base) && isPrimitiveArray(patch)) {
205
+ return [.../* @__PURE__ */ new Set([...base, ...patch])];
206
+ }
207
+ return conflictResolution === "prefer-patch" ? patch : base;
208
+ }
209
+ if (Array.isArray(base) || Array.isArray(patch)) {
210
+ return conflictResolution === "prefer-patch" ? patch : base;
211
+ }
212
+ const baseObj = base;
213
+ const patchObj = patch;
214
+ const out = { ...baseObj };
215
+ for (const [k, v] of Object.entries(patchObj)) {
216
+ if (protectProto && FORBIDDEN_PROTO_KEYS.has(k)) continue;
217
+ const existing = out[k];
218
+ if (v !== null && typeof v === "object" && !Array.isArray(v) && existing !== null && typeof existing === "object" && !Array.isArray(existing)) {
219
+ out[k] = deepMerge(existing, v, options);
220
+ } else if (Array.isArray(v) && Array.isArray(existing)) {
221
+ if (onNonPrimitiveArrayReplace && !isPrimitiveArray(v)) {
222
+ onNonPrimitiveArrayReplace(k, existing.length, v.length);
223
+ }
224
+ out[k] = deepMerge(existing, v, options);
225
+ } else if (v !== void 0) {
226
+ if (onNonPrimitiveArrayReplace && Array.isArray(v) && !isPrimitiveArray(v)) {
227
+ const existingLen = Array.isArray(existing) ? existing.length : 0;
228
+ onNonPrimitiveArrayReplace(k, existingLen, v.length);
229
+ }
230
+ out[k] = v;
231
+ }
232
+ }
233
+ return out;
234
+ }
235
+
177
236
  // src/security/secret-vault.ts
178
237
  var KEY_BYTES = 32;
179
238
  var IV_BYTES = 12;
@@ -376,28 +435,6 @@ function walkCount(node, vault, counter) {
376
435
  }
377
436
  return out;
378
437
  }
379
- var FORBIDDEN_PROTO_KEYS = /* @__PURE__ */ new Set([
380
- "__proto__",
381
- "constructor",
382
- "prototype",
383
- "__defineGetter__",
384
- "__defineSetter__",
385
- "__lookupGetter__",
386
- "__lookupSetter__"
387
- ]);
388
- function deepMerge(a, b) {
389
- const out = { ...a };
390
- for (const [k, v] of Object.entries(b)) {
391
- if (FORBIDDEN_PROTO_KEYS.has(k)) continue;
392
- const existing = out[k];
393
- if (v !== null && typeof v === "object" && !Array.isArray(v) && existing !== null && typeof existing === "object" && !Array.isArray(existing)) {
394
- out[k] = deepMerge(existing, v);
395
- } else {
396
- out[k] = v;
397
- }
398
- }
399
- return out;
400
- }
401
438
 
402
439
  // src/security/capabilities.ts
403
440
  var ToolCapabilities = {