@ethosagent/core 0.3.6 → 0.3.8

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/index.js CHANGED
@@ -8,6 +8,62 @@ var __export = (target, all) => {
8
8
  __defProp(target, name, { get: all[name], enumerable: true });
9
9
  };
10
10
 
11
+ // ../safety/redact/src/index.ts
12
+ function redactString(value, extraPatterns) {
13
+ let out = value;
14
+ for (const p of PATTERNS2) {
15
+ out = out.replace(p.regex, p.tag);
16
+ }
17
+ if (extraPatterns) {
18
+ for (const pat of extraPatterns) {
19
+ try {
20
+ out = out.replace(new RegExp(pat, "g"), "[REDACTED:custom]");
21
+ } catch {
22
+ }
23
+ }
24
+ }
25
+ return out;
26
+ }
27
+ var PATTERNS2;
28
+ var init_src = __esm({
29
+ "../safety/redact/src/index.ts"() {
30
+ "use strict";
31
+ PATTERNS2 = [
32
+ { label: "GitHub PAT", tag: "[REDACTED:github-pat]", regex: /ghp_[A-Za-z0-9]{36}/g },
33
+ { label: "GitHub PAT", tag: "[REDACTED:github-pat]", regex: /github_pat_[A-Za-z0-9_]{82}/g },
34
+ {
35
+ label: "Anthropic API key",
36
+ tag: "[REDACTED:anthropic-key]",
37
+ regex: /sk-ant-[A-Za-z0-9_-]{93,}/g
38
+ },
39
+ {
40
+ label: "OpenAI API key",
41
+ tag: "[REDACTED:openai-key]",
42
+ regex: /sk-(?:proj-)?[A-Za-z0-9_-]{40,}/g
43
+ },
44
+ { label: "AWS access key", tag: "[REDACTED:aws-key]", regex: /AKIA[0-9A-Z]{16}/g },
45
+ {
46
+ label: "Slack token",
47
+ tag: "[REDACTED:slack-token]",
48
+ regex: /xox[bpoa]-[0-9]{10,}-[0-9]{10,}-[A-Za-z0-9]{24,}/g
49
+ },
50
+ {
51
+ label: "Slack app token",
52
+ tag: "[REDACTED:slack-token]",
53
+ regex: /xapp-[0-9]+-[A-Za-z0-9]+-[A-Za-z0-9]+/g
54
+ },
55
+ { label: "Stripe key", tag: "[REDACTED:stripe-key]", regex: /sk_live_[A-Za-z0-9]{24,}/g },
56
+ { label: "Groq API key", tag: "[REDACTED:groq-key]", regex: /gsk_[A-Za-z0-9]{20,}/g },
57
+ {
58
+ label: "Generic secret",
59
+ tag: "[REDACTED:generic-secret]",
60
+ // biome-ignore format: long regex must stay on one line
61
+ regex: /(?<=^|[\s,{;(])(?:key|token|password|secret)=["']?[A-Za-z0-9+/=_-]{20,}["']?/gi
62
+ }
63
+ ];
64
+ }
65
+ });
66
+
11
67
  // src/dry-run.ts
12
68
  var dry_run_exports = {};
13
69
  __export(dry_run_exports, {
@@ -15,7 +71,6 @@ __export(dry_run_exports, {
15
71
  synthesizeDryRunCapResult: () => synthesizeDryRunCapResult,
16
72
  synthesizeDryRunResult: () => synthesizeDryRunResult
17
73
  });
18
- import { redactString } from "@ethosagent/safety-redact";
19
74
  function redactArgs(args) {
20
75
  if (typeof args === "string") {
21
76
  const redacted = redactString(args);
@@ -54,6 +109,7 @@ var MAX_STRING_LENGTH;
54
109
  var init_dry_run = __esm({
55
110
  "src/dry-run.ts"() {
56
111
  "use strict";
112
+ init_src();
57
113
  MAX_STRING_LENGTH = 500;
58
114
  }
59
115
  });
@@ -202,7 +258,7 @@ function encodeAttr(value) {
202
258
  }
203
259
 
204
260
  // src/agent-loop.ts
205
- import { redactString as redactString2 } from "@ethosagent/safety-redact";
261
+ init_src();
206
262
 
207
263
  // ../storage-fs/src/default-deny.ts
208
264
  import { homedir } from "os";
@@ -2002,7 +2058,7 @@ ${text}` : text;
2002
2058
  const heading = orderHints[e.key] ?? e.key;
2003
2059
  blocks.push(`## ${heading}
2004
2060
 
2005
- ${redactString2(e.content.trim())}`);
2061
+ ${redactString(e.content.trim())}`);
2006
2062
  }
2007
2063
  if (blocks.length > 0) {
2008
2064
  let rendered = `## Memory