@clawtrail/context-graph-openclaw 0.7.5 → 0.8.1

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 (79) hide show
  1. package/README.md +64 -56
  2. package/dist/OpenClawAdapter.d.ts +6 -6
  3. package/dist/OpenClawAdapter.d.ts.map +1 -1
  4. package/dist/OpenClawAdapter.js +46 -36
  5. package/dist/OpenClawAdapter.js.map +1 -1
  6. package/dist/detectors/BuildDetector.js +11 -11
  7. package/dist/detectors/HttpDetector.d.ts.map +1 -1
  8. package/dist/detectors/HttpDetector.js +20 -17
  9. package/dist/detectors/HttpDetector.js.map +1 -1
  10. package/dist/detectors/TestDetector.js +9 -9
  11. package/dist/hooks/lifecycle.d.ts +1 -1
  12. package/dist/hooks/lifecycle.js +4 -4
  13. package/dist/hooks/llmOutput.d.ts +2 -2
  14. package/dist/hooks/llmOutput.js +5 -5
  15. package/dist/hooks/toolCall.d.ts +3 -3
  16. package/dist/hooks/toolCall.d.ts.map +1 -1
  17. package/dist/hooks/toolCall.js +4 -4
  18. package/dist/hooks/toolCall.js.map +1 -1
  19. package/dist/index.d.ts +29 -29
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +18 -18
  22. package/dist/index.js.map +1 -1
  23. package/dist/mappers/MapperRegistry.d.ts +4 -0
  24. package/dist/mappers/MapperRegistry.d.ts.map +1 -1
  25. package/dist/mappers/MapperRegistry.js +8 -0
  26. package/dist/mappers/MapperRegistry.js.map +1 -1
  27. package/dist/mappers/browser.d.ts +11 -0
  28. package/dist/mappers/browser.d.ts.map +1 -0
  29. package/dist/mappers/browser.js +66 -0
  30. package/dist/mappers/browser.js.map +1 -0
  31. package/dist/mappers/document.d.ts +7 -0
  32. package/dist/mappers/document.d.ts.map +1 -0
  33. package/dist/mappers/document.js +49 -0
  34. package/dist/mappers/document.js.map +1 -0
  35. package/dist/mappers/fallback.d.ts +1 -1
  36. package/dist/mappers/fallback.js +3 -3
  37. package/dist/mappers/fs.d.ts +1 -1
  38. package/dist/mappers/fs.d.ts.map +1 -1
  39. package/dist/mappers/fs.js +11 -11
  40. package/dist/mappers/fs.js.map +1 -1
  41. package/dist/mappers/git.d.ts +1 -1
  42. package/dist/mappers/git.d.ts.map +1 -1
  43. package/dist/mappers/git.js +21 -14
  44. package/dist/mappers/git.js.map +1 -1
  45. package/dist/mappers/message.d.ts +11 -0
  46. package/dist/mappers/message.d.ts.map +1 -0
  47. package/dist/mappers/message.js +72 -0
  48. package/dist/mappers/message.js.map +1 -0
  49. package/dist/mappers/session.d.ts +12 -0
  50. package/dist/mappers/session.d.ts.map +1 -0
  51. package/dist/mappers/session.js +71 -0
  52. package/dist/mappers/session.js.map +1 -0
  53. package/dist/mappers/shell.d.ts +4 -4
  54. package/dist/mappers/shell.d.ts.map +1 -1
  55. package/dist/mappers/shell.js +17 -15
  56. package/dist/mappers/shell.js.map +1 -1
  57. package/dist/mappers/web.d.ts +11 -0
  58. package/dist/mappers/web.d.ts.map +1 -0
  59. package/dist/mappers/web.js +89 -0
  60. package/dist/mappers/web.js.map +1 -0
  61. package/dist/register.d.ts.map +1 -1
  62. package/dist/register.js +195 -17
  63. package/dist/register.js.map +1 -1
  64. package/dist/rules/openclaw-rules.d.ts +7 -1
  65. package/dist/rules/openclaw-rules.d.ts.map +1 -1
  66. package/dist/rules/openclaw-rules.js +321 -120
  67. package/dist/rules/openclaw-rules.js.map +1 -1
  68. package/dist/tools/status.d.ts +1 -1
  69. package/dist/tools/status.js +3 -3
  70. package/dist/tools/summarize.d.ts +1 -1
  71. package/dist/tools/summarize.d.ts.map +1 -1
  72. package/dist/tools/summarize.js +5 -5
  73. package/dist/tools/summarize.js.map +1 -1
  74. package/dist/util/hash.d.ts +1 -1
  75. package/dist/util/hash.d.ts.map +1 -1
  76. package/dist/util/hash.js +52 -43
  77. package/dist/util/hash.js.map +1 -1
  78. package/openclaw.plugin.json +5 -1
  79. package/package.json +6 -4
@@ -2,24 +2,24 @@
2
2
  * Filesystem mapper — maps read/write/edit tool calls to FILE_READ/FILE_WRITE events.
3
3
  * File contents are NEVER logged — only hashes, extensions, and byte counts.
4
4
  */
5
- import { extname, basename } from 'node:path';
6
- import { sha256, mimeFromExtension } from '../util/hash.js';
5
+ import { extname, basename } from "node:path";
6
+ import { sha256, mimeFromExtension } from "../util/hash.js";
7
7
  /** Safely coerce unknown values to string */
8
8
  function str(val) {
9
- if (typeof val === 'string')
9
+ if (typeof val === "string")
10
10
  return val;
11
11
  if (Array.isArray(val))
12
- return val.join(' ');
13
- return val == null ? '' : String(val);
12
+ return val.join(" ");
13
+ return val == null ? "" : String(val);
14
14
  }
15
15
  export class FsMapper {
16
- toolNames = ['read', 'write', 'edit'];
16
+ toolNames = ["read", "write", "edit"];
17
17
  mapStart(toolName, params) {
18
18
  const filePath = str(params.path || params.file);
19
19
  const ext = extname(filePath);
20
- const isRead = toolName === 'read';
20
+ const isRead = toolName === "read";
21
21
  return {
22
- type: isRead ? 'FILE_READ' : 'FILE_WRITE',
22
+ type: isRead ? "FILE_READ" : "FILE_WRITE",
23
23
  data: {
24
24
  path_hash: sha256(filePath),
25
25
  path_extension: ext || undefined,
@@ -30,10 +30,10 @@ export class FsMapper {
30
30
  mapEnd(toolName, params, result, _error) {
31
31
  const filePath = str(params.path || params.file);
32
32
  const ext = extname(filePath);
33
- if (toolName === 'read') {
33
+ if (toolName === "read") {
34
34
  const content = str(result?.content);
35
35
  return {
36
- type: 'FILE_READ',
36
+ type: "FILE_READ",
37
37
  data: {
38
38
  path_hash: sha256(filePath),
39
39
  path_extension: ext || undefined,
@@ -47,7 +47,7 @@ export class FsMapper {
47
47
  const diff = str(result?.diff || result?.content);
48
48
  const bytesWritten = result?.bytesWritten ?? diff.length ?? 0;
49
49
  return {
50
- type: 'FILE_WRITE',
50
+ type: "FILE_WRITE",
51
51
  data: {
52
52
  path_hash: sha256(filePath),
53
53
  path_extension: ext || undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/mappers/fs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,6CAA6C;AAC7C,SAAS,GAAG,CAAC,GAAY;IACvB,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7C,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,OAAO,QAAQ;IACnB,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAEtC,QAAQ,CAAC,QAAgB,EAAE,MAA+B;QACxD,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,QAAQ,KAAK,MAAM,CAAC;QAEnC,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY;YACzC,IAAI,EAAE;gBACJ,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC;gBAC3B,cAAc,EAAE,GAAG,IAAI,SAAS;gBAChC,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS;aAC/C;SACF,CAAC;IACJ,CAAC;IAED,MAAM,CACJ,QAAgB,EAChB,MAA+B,EAC/B,MAAsC,EACtC,MAAc;QAEd,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE9B,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACrC,OAAO;gBACL,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE;oBACJ,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC;oBAC3B,cAAc,EAAE,GAAG,IAAI,SAAS;oBAChC,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS;oBAC9C,UAAU,EAAE,OAAO,CAAC,MAAM;oBAC1B,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;iBAC/C;aACF,CAAC;QACJ,CAAC;QAED,gBAAgB;QAChB,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,IAAI,MAAM,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,YAAY,GACf,MAAM,EAAE,YAAuB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QAEvD,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE;gBACJ,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC;gBAC3B,cAAc,EAAE,GAAG,IAAI,SAAS;gBAChC,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS;gBAC9C,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC;gBACvB,aAAa,EAAE,YAAY;gBAC3B,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;aAC/C;SACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/mappers/fs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,6CAA6C;AAC7C,SAAS,GAAG,CAAC,GAAY;IACvB,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7C,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,OAAO,QAAQ;IACnB,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAEtC,QAAQ,CAAC,QAAgB,EAAE,MAA+B;QACxD,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,QAAQ,KAAK,MAAM,CAAC;QAEnC,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY;YACzC,IAAI,EAAE;gBACJ,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC;gBAC3B,cAAc,EAAE,GAAG,IAAI,SAAS;gBAChC,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS;aAC/C;SACF,CAAC;IACJ,CAAC;IAED,MAAM,CACJ,QAAgB,EAChB,MAA+B,EAC/B,MAAsC,EACtC,MAAc;QAEd,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE9B,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACrC,OAAO;gBACL,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE;oBACJ,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC;oBAC3B,cAAc,EAAE,GAAG,IAAI,SAAS;oBAChC,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS;oBAC9C,UAAU,EAAE,OAAO,CAAC,MAAM;oBAC1B,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;iBAC/C;aACF,CAAC;QACJ,CAAC;QAED,gBAAgB;QAChB,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,IAAI,MAAM,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,YAAY,GAAI,MAAM,EAAE,YAAuB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QAE1E,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE;gBACJ,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC;gBAC3B,cAAc,EAAE,GAAG,IAAI,SAAS;gBAChC,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS;gBAC9C,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC;gBACvB,aAAa,EAAE,YAAY;gBAC3B,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;aAC/C;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Git mapper — maps git tool calls to GIT_DIFF / GIT_COMMIT / generic TOOL_CALL.
3
3
  */
4
- import type { EventMapper, MappedEvent } from './MapperRegistry.js';
4
+ import type { EventMapper, MappedEvent } from "./MapperRegistry.js";
5
5
  export declare class GitMapper implements EventMapper {
6
6
  toolNames: string[];
7
7
  mapStart(toolName: string, params: Record<string, unknown>): MappedEvent;
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/mappers/git.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGpE,qBAAa,SAAU,YAAW,WAAW;IAC3C,SAAS,WAAW;IAEpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW;IAWxE,MAAM,CACJ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACtC,MAAM,CAAC,EAAE,KAAK,GACb,WAAW;CAwCf"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/mappers/git.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGpE,qBAAa,SAAU,YAAW,WAAW;IAC3C,SAAS,WAAW;IAEpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW;IAgBxE,MAAM,CACJ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACtC,MAAM,CAAC,EAAE,KAAK,GACb,WAAW;CAwCf"}
@@ -1,10 +1,14 @@
1
- import { sha256, hashArgs } from '../util/hash.js';
1
+ import { sha256, hashArgs } from "../util/hash.js";
2
2
  export class GitMapper {
3
- toolNames = ['git'];
3
+ toolNames = ["git"];
4
4
  mapStart(toolName, params) {
5
5
  const subcommand = extractGitSubcommand(params);
6
6
  return {
7
- type: subcommand === 'diff' ? 'GIT_DIFF' : subcommand === 'commit' ? 'GIT_COMMIT' : 'TOOL_CALL',
7
+ type: subcommand === "diff"
8
+ ? "GIT_DIFF"
9
+ : subcommand === "commit"
10
+ ? "GIT_COMMIT"
11
+ : "TOOL_CALL",
8
12
  data: {
9
13
  tool: `git:${subcommand}`,
10
14
  args_hash: hashArgs(params),
@@ -13,11 +17,11 @@ export class GitMapper {
13
17
  }
14
18
  mapEnd(toolName, params, result, _error) {
15
19
  const subcommand = extractGitSubcommand(params);
16
- const output = (result?.output || result?.stdout || '');
17
- if (subcommand === 'diff') {
20
+ const output = (result?.output || result?.stdout || "");
21
+ if (subcommand === "diff") {
18
22
  const stat = parseDiffStat(output);
19
23
  return {
20
- type: 'GIT_DIFF',
24
+ type: "GIT_DIFF",
21
25
  data: {
22
26
  diff_hash: sha256(output),
23
27
  files_changed: stat.filesChanged,
@@ -26,11 +30,11 @@ export class GitMapper {
26
30
  },
27
31
  };
28
32
  }
29
- if (subcommand === 'commit') {
33
+ if (subcommand === "commit") {
30
34
  const commitHash = parseCommitHash(output);
31
- const message = (params.message || params.m || '');
35
+ const message = (params.message || params.m || "");
32
36
  return {
33
- type: 'GIT_COMMIT',
37
+ type: "GIT_COMMIT",
34
38
  data: {
35
39
  commit_hash: commitHash,
36
40
  message_hash: sha256(message),
@@ -40,7 +44,7 @@ export class GitMapper {
40
44
  }
41
45
  // Other git subcommands
42
46
  return {
43
- type: 'TOOL_CALL',
47
+ type: "TOOL_CALL",
44
48
  data: {
45
49
  tool: `git:${subcommand}`,
46
50
  args_hash: hashArgs(params),
@@ -52,12 +56,15 @@ export class GitMapper {
52
56
  // ── Helpers ────────────────────────────────────────────────────────
53
57
  function extractGitSubcommand(params) {
54
58
  // Support multiple param shapes
55
- const cmd = (params.command || params.cmd || params.subcommand || '');
59
+ const cmd = (params.command ||
60
+ params.cmd ||
61
+ params.subcommand ||
62
+ "");
56
63
  const parts = cmd.trim().split(/\s+/);
57
64
  // If first part is "git", take the second
58
- if (parts[0] === 'git' && parts.length > 1)
65
+ if (parts[0] === "git" && parts.length > 1)
59
66
  return parts[1];
60
- return parts[0] || 'unknown';
67
+ return parts[0] || "unknown";
61
68
  }
62
69
  function parseDiffStat(output) {
63
70
  // "3 files changed, 42 insertions(+), 15 deletions(-)"
@@ -74,6 +81,6 @@ function parseDiffStat(output) {
74
81
  function parseCommitHash(output) {
75
82
  // "[main abc1234] commit message"
76
83
  const match = output.match(/\[[\w/.-]+\s+([a-f0-9]+)\]/);
77
- return match?.[1] || '';
84
+ return match?.[1] || "";
78
85
  }
79
86
  //# sourceMappingURL=git.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/mappers/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/mappers/git.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Message mapper — maps message tool calls to MESSAGE_SEND events.
3
+ * Privacy: No raw content, no recipient IDs, no channel names.
4
+ */
5
+ import type { EventMapper, MappedEvent } from "./MapperRegistry.js";
6
+ export declare class MessageMapper implements EventMapper {
7
+ toolNames: string[];
8
+ mapStart(_toolName: string, params: Record<string, unknown>): MappedEvent;
9
+ mapEnd(_toolName: string, params: Record<string, unknown>, result: Record<string, unknown> | null, _error?: Error): MappedEvent;
10
+ }
11
+ //# sourceMappingURL=message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/mappers/message.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAmCpE,qBAAa,aAAc,YAAW,WAAW;IAC/C,SAAS,WAAe;IAExB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW;IAazE,MAAM,CACJ,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACtC,MAAM,CAAC,EAAE,KAAK,GACb,WAAW;CAoBf"}
@@ -0,0 +1,72 @@
1
+ import { sha256 } from "../util/hash.js";
2
+ /** Safely coerce unknown values to string */
3
+ function str(val) {
4
+ if (typeof val === "string")
5
+ return val;
6
+ if (Array.isArray(val))
7
+ return val.join(" ");
8
+ return val == null ? "" : String(val);
9
+ }
10
+ /** Known messaging platforms */
11
+ const KNOWN_CHANNELS = new Set([
12
+ "discord",
13
+ "slack",
14
+ "telegram",
15
+ "whatsapp",
16
+ "signal",
17
+ "imessage",
18
+ "matrix",
19
+ "teams",
20
+ "irc",
21
+ "google_chat",
22
+ ]);
23
+ /** Classify the message action */
24
+ function classifyAction(action) {
25
+ if (["send", ""].includes(action))
26
+ return "send";
27
+ if (["edit", "delete"].includes(action))
28
+ return action;
29
+ if (["react", "reactions"].includes(action))
30
+ return "react";
31
+ if (action.startsWith("thread"))
32
+ return "thread";
33
+ if (["pin", "unpin", "list-pins"].includes(action))
34
+ return "pin";
35
+ if (["search"].includes(action))
36
+ return "search";
37
+ return action;
38
+ }
39
+ export class MessageMapper {
40
+ toolNames = ["message"];
41
+ mapStart(_toolName, params) {
42
+ const action = str(params.action || "send");
43
+ const channel = str(params.channel || params.platform || "");
44
+ return {
45
+ type: "MESSAGE_SEND",
46
+ data: {
47
+ action: classifyAction(action),
48
+ channel: KNOWN_CHANNELS.has(channel) ? channel : undefined,
49
+ },
50
+ };
51
+ }
52
+ mapEnd(_toolName, params, result, _error) {
53
+ const action = str(params.action || "send");
54
+ const channel = str(params.channel || params.platform || "");
55
+ const content = str(params.text || params.message || params.content || "");
56
+ const media = params.media || params.attachment || params.file;
57
+ return {
58
+ type: "MESSAGE_SEND",
59
+ data: {
60
+ action: classifyAction(action),
61
+ channel: KNOWN_CHANNELS.has(channel) ? channel : undefined,
62
+ message_hash: content ? sha256(content) : undefined,
63
+ message_length: content.length || undefined,
64
+ has_attachment: media != null,
65
+ message_id_hash: result?.messageId
66
+ ? sha256(str(result.messageId))
67
+ : undefined,
68
+ },
69
+ };
70
+ }
71
+ }
72
+ //# sourceMappingURL=message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/mappers/message.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Session mapper — maps multi-agent coordination tools to MULTI_AGENT_ACTION events.
3
+ * Covers sessions_list, sessions_history, sessions_send, sessions_spawn,
4
+ * session_status, and agents_list.
5
+ */
6
+ import type { EventMapper, MappedEvent } from "./MapperRegistry.js";
7
+ export declare class SessionMapper implements EventMapper {
8
+ toolNames: string[];
9
+ mapStart(toolName: string, params: Record<string, unknown>): MappedEvent;
10
+ mapEnd(toolName: string, params: Record<string, unknown>, result: Record<string, unknown> | null, _error?: Error): MappedEvent;
11
+ }
12
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/mappers/session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AA8BpE,qBAAa,aAAc,YAAW,WAAW;IAC/C,SAAS,WAOP;IAEF,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW;IAcxE,MAAM,CACJ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACtC,MAAM,CAAC,EAAE,KAAK,GACb,WAAW;CAwBf"}
@@ -0,0 +1,71 @@
1
+ import { sha256 } from "../util/hash.js";
2
+ /** Safely coerce unknown values to string */
3
+ function str(val) {
4
+ if (typeof val === "string")
5
+ return val;
6
+ if (Array.isArray(val))
7
+ return val.join(" ");
8
+ return val == null ? "" : String(val);
9
+ }
10
+ /** Map tool names to action verbs */
11
+ function actionFromTool(toolName) {
12
+ switch (toolName) {
13
+ case "sessions_list":
14
+ return "list";
15
+ case "sessions_history":
16
+ return "history";
17
+ case "sessions_send":
18
+ return "send";
19
+ case "sessions_spawn":
20
+ return "spawn";
21
+ case "session_status":
22
+ return "status";
23
+ case "agents_list":
24
+ return "agents_list";
25
+ default:
26
+ return toolName;
27
+ }
28
+ }
29
+ export class SessionMapper {
30
+ toolNames = [
31
+ "sessions_list",
32
+ "sessions_history",
33
+ "sessions_send",
34
+ "sessions_spawn",
35
+ "session_status",
36
+ "agents_list",
37
+ ];
38
+ mapStart(toolName, params) {
39
+ const action = actionFromTool(toolName);
40
+ const target = str(params.sessionKey || params.sessionId || params.agentId || "");
41
+ return {
42
+ type: "MULTI_AGENT_ACTION",
43
+ data: {
44
+ action,
45
+ target_hash: target ? sha256(target) : undefined,
46
+ },
47
+ };
48
+ }
49
+ mapEnd(toolName, params, result, _error) {
50
+ const action = actionFromTool(toolName);
51
+ const target = str(params.sessionKey || params.sessionId || params.agentId || "");
52
+ // Extract counts from list-type results
53
+ const sessions = result?.sessions;
54
+ const sessionCount = Array.isArray(sessions) ? sessions.length : undefined;
55
+ const agents = result?.agents;
56
+ const agentCount = Array.isArray(agents) ? agents.length : undefined;
57
+ return {
58
+ type: "MULTI_AGENT_ACTION",
59
+ data: {
60
+ action,
61
+ target_hash: target ? sha256(target) : undefined,
62
+ session_count: sessionCount,
63
+ agent_count: agentCount,
64
+ runtime: str(params.runtime) || undefined,
65
+ mode: str(params.mode) || undefined,
66
+ has_task: toolName === "sessions_spawn" ? !!params.task : undefined,
67
+ },
68
+ };
69
+ }
70
+ }
71
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/mappers/session.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,6CAA6C;AAC7C,SAAS,GAAG,CAAC,GAAY;IACvB,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7C,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACxC,CAAC;AAED,qCAAqC;AACrC,SAAS,cAAc,CAAC,QAAgB;IACtC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,eAAe;YAClB,OAAO,MAAM,CAAC;QAChB,KAAK,kBAAkB;YACrB,OAAO,SAAS,CAAC;QACnB,KAAK,eAAe;YAClB,OAAO,MAAM,CAAC;QAChB,KAAK,gBAAgB;YACnB,OAAO,OAAO,CAAC;QACjB,KAAK,gBAAgB;YACnB,OAAO,QAAQ,CAAC;QAClB,KAAK,aAAa;YAChB,OAAO,aAAa,CAAC;QACvB;YACE,OAAO,QAAQ,CAAC;IACpB,CAAC;AACH,CAAC;AAED,MAAM,OAAO,aAAa;IACxB,SAAS,GAAG;QACV,eAAe;QACf,kBAAkB;QAClB,eAAe;QACf,gBAAgB;QAChB,gBAAgB;QAChB,aAAa;KACd,CAAC;IAEF,QAAQ,CAAC,QAAgB,EAAE,MAA+B;QACxD,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,MAAM,GACV,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAErE,OAAO;YACL,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE;gBACJ,MAAM;gBACN,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;aACjD;SACF,CAAC;IACJ,CAAC;IAED,MAAM,CACJ,QAAgB,EAChB,MAA+B,EAC/B,MAAsC,EACtC,MAAc;QAEd,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,MAAM,GACV,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAErE,wCAAwC;QACxC,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,CAAC;QAClC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC;QAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAErE,OAAO;YACL,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE;gBACJ,MAAM;gBACN,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;gBAChD,aAAa,EAAE,YAAY;gBAC3B,WAAW,EAAE,UAAU;gBACvB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,SAAS;gBACzC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS;gBACnC,QAAQ,EAAE,QAAQ,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;aACpE;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -2,10 +2,10 @@
2
2
  * Shell mapper — maps bash/shell tool calls to SHELL_COMMAND events,
3
3
  * promoting to TEST_RUN or BUILD_RUN when detected.
4
4
  */
5
- import type { EventMapper, MappedEvent } from './MapperRegistry.js';
6
- import { TestDetector } from '../detectors/TestDetector.js';
7
- import { BuildDetector } from '../detectors/BuildDetector.js';
8
- import { HttpDetector } from '../detectors/HttpDetector.js';
5
+ import type { EventMapper, MappedEvent } from "./MapperRegistry.js";
6
+ import { TestDetector } from "../detectors/TestDetector.js";
7
+ import { BuildDetector } from "../detectors/BuildDetector.js";
8
+ import { HttpDetector } from "../detectors/HttpDetector.js";
9
9
  export declare class ShellMapper implements EventMapper {
10
10
  toolNames: string[];
11
11
  private testDetector;
@@ -1 +1 @@
1
- {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/mappers/shell.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAW5D,qBAAa,WAAY,YAAW,WAAW;IAC7C,SAAS,WAA6B;IAEtC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,YAAY,CAAe;gBAGjC,YAAY,CAAC,EAAE,YAAY,EAC3B,aAAa,CAAC,EAAE,aAAa,EAC7B,YAAY,CAAC,EAAE,YAAY;IAO7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW;IAWxE,MAAM,CACJ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACtC,KAAK,CAAC,EAAE,KAAK,GACZ,WAAW;CA4Ef"}
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/mappers/shell.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAW5D,qBAAa,WAAY,YAAW,WAAW;IAC7C,SAAS,WAA6B;IAEtC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,YAAY,CAAe;gBAGjC,YAAY,CAAC,EAAE,YAAY,EAC3B,aAAa,CAAC,EAAE,aAAa,EAC7B,YAAY,CAAC,EAAE,YAAY;IAO7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW;IAWxE,MAAM,CACJ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACtC,KAAK,CAAC,EAAE,KAAK,GACZ,WAAW;CAmFf"}
@@ -1,18 +1,18 @@
1
- import { TestDetector } from '../detectors/TestDetector.js';
2
- import { BuildDetector } from '../detectors/BuildDetector.js';
3
- import { HttpDetector } from '../detectors/HttpDetector.js';
4
- import { hashCommand, extractBaseCommand } from '../util/hash.js';
5
- import { sha256 } from '../util/hash.js';
1
+ import { TestDetector } from "../detectors/TestDetector.js";
2
+ import { BuildDetector } from "../detectors/BuildDetector.js";
3
+ import { HttpDetector } from "../detectors/HttpDetector.js";
4
+ import { hashCommand, extractBaseCommand } from "../util/hash.js";
5
+ import { sha256 } from "../util/hash.js";
6
6
  /** Safely coerce unknown values to string (handles Arrays from OpenClaw) */
7
7
  function str(val) {
8
- if (typeof val === 'string')
8
+ if (typeof val === "string")
9
9
  return val;
10
10
  if (Array.isArray(val))
11
- return val.join(' ');
12
- return val == null ? '' : String(val);
11
+ return val.join(" ");
12
+ return val == null ? "" : String(val);
13
13
  }
14
14
  export class ShellMapper {
15
- toolNames = ['bash', 'shell', 'exec'];
15
+ toolNames = ["bash", "shell", "exec"];
16
16
  testDetector;
17
17
  buildDetector;
18
18
  httpDetector;
@@ -24,7 +24,7 @@ export class ShellMapper {
24
24
  mapStart(toolName, params) {
25
25
  const cmd = str(params.command || params.cmd);
26
26
  return {
27
- type: 'SHELL_COMMAND',
27
+ type: "SHELL_COMMAND",
28
28
  data: {
29
29
  cmd_hash: hashCommand(cmd),
30
30
  cmd_display: extractBaseCommand(cmd),
@@ -33,14 +33,16 @@ export class ShellMapper {
33
33
  }
34
34
  mapEnd(toolName, params, result, error) {
35
35
  const cmd = str(params.command || params.cmd);
36
- const exitCode = (result?.exitCode ?? result?.exit_code ?? (error ? 1 : 0));
36
+ const exitCode = (result?.exitCode ??
37
+ result?.exit_code ??
38
+ (error ? 1 : 0));
37
39
  const stdout = str(result?.stdout);
38
40
  const stderr = str(result?.stderr);
39
41
  // Try to promote to HTTP_REQUEST (most specific for curl/wget commands)
40
42
  const httpResult = this.httpDetector.detect(cmd, stdout, stderr, exitCode);
41
43
  if (httpResult) {
42
44
  return {
43
- type: 'HTTP_REQUEST',
45
+ type: "HTTP_REQUEST",
44
46
  data: {
45
47
  method: httpResult.method,
46
48
  host_hash: httpResult.hostHash,
@@ -61,7 +63,7 @@ export class ShellMapper {
61
63
  const testResult = this.testDetector.detect(cmd, stdout, stderr, exitCode);
62
64
  if (testResult) {
63
65
  return {
64
- type: 'TEST_RUN',
66
+ type: "TEST_RUN",
65
67
  data: {
66
68
  framework: testResult.framework,
67
69
  passed: testResult.passed,
@@ -79,7 +81,7 @@ export class ShellMapper {
79
81
  const buildResult = this.buildDetector.detect(cmd, stdout, stderr, exitCode);
80
82
  if (buildResult) {
81
83
  return {
82
- type: 'BUILD_RUN',
84
+ type: "BUILD_RUN",
83
85
  data: {
84
86
  tool: buildResult.tool,
85
87
  exit_code: exitCode,
@@ -92,7 +94,7 @@ export class ShellMapper {
92
94
  }
93
95
  // Default: generic shell command
94
96
  return {
95
- type: 'SHELL_COMMAND',
97
+ type: "SHELL_COMMAND",
96
98
  data: {
97
99
  cmd_hash: hashCommand(cmd),
98
100
  cmd_display: extractBaseCommand(cmd),
@@ -1 +1 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/mappers/shell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/mappers/shell.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Web mapper — maps web_search and web_fetch tool calls to
3
+ * WEB_SEARCH / WEB_FETCH events with privacy-safe metadata.
4
+ */
5
+ import type { EventMapper, MappedEvent } from "./MapperRegistry.js";
6
+ export declare class WebMapper implements EventMapper {
7
+ toolNames: string[];
8
+ mapStart(toolName: string, params: Record<string, unknown>): MappedEvent;
9
+ mapEnd(toolName: string, params: Record<string, unknown>, result: Record<string, unknown> | null, _error?: Error): MappedEvent;
10
+ }
11
+ //# sourceMappingURL=web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/mappers/web.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AA4BpE,qBAAa,SAAU,YAAW,WAAW;IAC3C,SAAS,WAA+B;IAExC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW;IAuBxE,MAAM,CACJ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACtC,MAAM,CAAC,EAAE,KAAK,GACb,WAAW;CAgDf"}
@@ -0,0 +1,89 @@
1
+ import { sha256 } from "../util/hash.js";
2
+ /** Safely coerce unknown values to string */
3
+ function str(val) {
4
+ if (typeof val === "string")
5
+ return val;
6
+ if (Array.isArray(val))
7
+ return val.join(" ");
8
+ return val == null ? "" : String(val);
9
+ }
10
+ /** Extract host and path from a URL string */
11
+ function parseUrl(raw) {
12
+ try {
13
+ const url = new URL(raw);
14
+ return {
15
+ host: url.host,
16
+ path: url.pathname + url.search,
17
+ hostDisplay: url.hostname,
18
+ };
19
+ }
20
+ catch {
21
+ return { host: raw, path: "", hostDisplay: raw };
22
+ }
23
+ }
24
+ export class WebMapper {
25
+ toolNames = ["web_search", "web_fetch"];
26
+ mapStart(toolName, params) {
27
+ if (toolName === "web_search") {
28
+ return {
29
+ type: "WEB_SEARCH",
30
+ data: {
31
+ query_hash: sha256(str(params.query)),
32
+ },
33
+ };
34
+ }
35
+ // web_fetch
36
+ const url = str(params.url);
37
+ const parsed = parseUrl(url);
38
+ return {
39
+ type: "WEB_FETCH",
40
+ data: {
41
+ host_hash: sha256(parsed.host),
42
+ host_display: parsed.hostDisplay,
43
+ path_hash: sha256(parsed.path),
44
+ },
45
+ };
46
+ }
47
+ mapEnd(toolName, params, result, _error) {
48
+ if (toolName === "web_search") {
49
+ const query = str(params.query);
50
+ // Provider may be in params or result metadata
51
+ const provider = str(params.provider || result?.provider || result?.source || "");
52
+ // Result count from array length or explicit count
53
+ const results = result?.results;
54
+ const resultCount = Array.isArray(results)
55
+ ? results.length
56
+ : typeof result?.count === "number"
57
+ ? result.count
58
+ : undefined;
59
+ return {
60
+ type: "WEB_SEARCH",
61
+ data: {
62
+ query_hash: sha256(query),
63
+ provider: provider || undefined,
64
+ result_count: resultCount,
65
+ country: str(params.country) || undefined,
66
+ freshness: str(params.freshness) || undefined,
67
+ },
68
+ };
69
+ }
70
+ // web_fetch
71
+ const url = str(params.url);
72
+ const parsed = parseUrl(url);
73
+ const content = str(result?.content || result?.text || result?.body);
74
+ const contentType = str(result?.contentType || result?.content_type || "");
75
+ return {
76
+ type: "WEB_FETCH",
77
+ data: {
78
+ host_hash: sha256(parsed.host),
79
+ host_display: parsed.hostDisplay,
80
+ path_hash: sha256(parsed.path),
81
+ url_display: `${parsed.hostDisplay}${parsed.path.split("?")[0]}`,
82
+ content_type: contentType || undefined,
83
+ response_size: content.length || undefined,
84
+ extract_mode: str(params.extractMode) || undefined,
85
+ },
86
+ };
87
+ }
88
+ }
89
+ //# sourceMappingURL=web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/mappers/web.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAqBA,oEAAoE;AACpE,KAAK,QAAQ,GACT,kBAAkB,GAClB,qBAAqB,GACrB,iBAAiB,GACjB,eAAe,GACf,aAAa,GACb,cAAc,GACd,WAAW,GACX,cAAc,GACd,YAAY,GACZ,WAAW,CAAC;AAEhB,UAAU,SAAS;IACjB,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE;YACR,OAAO,CAAC,EAAE,MAAM,CACd,MAAM,EACN;gBAAE,OAAO,CAAC,EAAE,OAAO,CAAC;gBAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;aAAE,CACxD,CAAC;SACH,CAAC;KACH,CAAC;IACF,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAC/B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;KACjC,CAAC;IACF,wEAAwE;IACxE,YAAY,CAAC,CACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,EACjE,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7C,IAAI,CAAC;IACR,iEAAiE;IACjE,EAAE,CAAC,CACD,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,EACrD,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3B,IAAI,CAAC;IACR,YAAY,CAAC,CAAC,IAAI,EAAE;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,OAAO,EAAE,CACP,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACzB,OAAO,CAAC,OAAO,CAAC,CAAC;KACvB,GAAG,IAAI,CAAC;CACV;AAycD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAsZrD"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAqBA,oEAAoE;AACpE,KAAK,QAAQ,GACT,kBAAkB,GAClB,qBAAqB,GACrB,iBAAiB,GACjB,eAAe,GACf,aAAa,GACb,cAAc,GACd,WAAW,GACX,cAAc,GACd,YAAY,GACZ,WAAW,CAAC;AAEhB,UAAU,SAAS;IACjB,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE;YACR,OAAO,CAAC,EAAE,MAAM,CACd,MAAM,EACN;gBAAE,OAAO,CAAC,EAAE,OAAO,CAAC;gBAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;aAAE,CACxD,CAAC;SACH,CAAC;KACH,CAAC;IACF,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAC/B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;KACjC,CAAC;IACF,wEAAwE;IACxE,YAAY,CAAC,CACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,EACjE,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7C,IAAI,CAAC;IACR,iEAAiE;IACjE,EAAE,CAAC,CACD,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,EACrD,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3B,IAAI,CAAC;IACR,YAAY,CAAC,CAAC,IAAI,EAAE;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,OAAO,EAAE,CACP,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACzB,OAAO,CAAC,OAAO,CAAC,CAAC;KACvB,GAAG,IAAI,CAAC;CACV;AAgoBD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CA4drD"}