@clawtrail/context-graph-openclaw 0.7.5 → 0.8.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 (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 +123 -4
  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
@@ -4,10 +4,10 @@
4
4
  */
5
5
  const frameworks = [
6
6
  {
7
- framework: 'jest',
7
+ framework: "jest",
8
8
  cmdPatterns: [/\bjest\b/, /\bvitest\b/],
9
9
  parseOutput(stdout, stderr) {
10
- const combined = stdout + '\n' + stderr;
10
+ const combined = stdout + "\n" + stderr;
11
11
  // Jest/Vitest outputs counts in variable order: "5 passed, 2 failed, 7 total"
12
12
  const passedMatch = combined.match(/(\d+)\s+passed/i);
13
13
  const failedMatch = combined.match(/(\d+)\s+failed/i);
@@ -24,7 +24,7 @@ const frameworks = [
24
24
  },
25
25
  },
26
26
  {
27
- framework: 'mocha',
27
+ framework: "mocha",
28
28
  cmdPatterns: [/\bmocha\b/],
29
29
  parseOutput(stdout) {
30
30
  // Mocha: "5 passing", "2 failing"
@@ -41,7 +41,7 @@ const frameworks = [
41
41
  },
42
42
  },
43
43
  {
44
- framework: 'pytest',
44
+ framework: "pytest",
45
45
  cmdPatterns: [/\bpytest\b/, /python\s+-m\s+pytest/],
46
46
  parseOutput(stdout) {
47
47
  // pytest: "5 passed, 2 failed, 1 skipped"
@@ -57,7 +57,7 @@ const frameworks = [
57
57
  },
58
58
  },
59
59
  {
60
- framework: 'cargo-test',
60
+ framework: "cargo-test",
61
61
  cmdPatterns: [/\bcargo\s+test\b/],
62
62
  parseOutput(stdout) {
63
63
  // Cargo: "test result: ok. 5 passed; 0 failed;"
@@ -73,7 +73,7 @@ const frameworks = [
73
73
  },
74
74
  },
75
75
  {
76
- framework: 'go-test',
76
+ framework: "go-test",
77
77
  cmdPatterns: [/\bgo\s+test\b/],
78
78
  parseOutput(stdout) {
79
79
  // Go: "ok package 0.5s" or "FAIL package 0.5s"
@@ -86,7 +86,7 @@ const frameworks = [
86
86
  },
87
87
  },
88
88
  {
89
- framework: 'hardhat',
89
+ framework: "hardhat",
90
90
  cmdPatterns: [/\bhardhat\s+test\b/],
91
91
  parseOutput(stdout) {
92
92
  // Hardhat uses Mocha output
@@ -116,8 +116,8 @@ export class TestDetector {
116
116
  const parsed = fw.parseOutput(stdout, stderr);
117
117
  // Determine framework name (vitest vs jest)
118
118
  let fwName = fw.framework;
119
- if (fwName === 'jest' && /\bvitest\b/.test(cmd)) {
120
- fwName = 'vitest';
119
+ if (fwName === "jest" && /\bvitest\b/.test(cmd)) {
120
+ fwName = "vitest";
121
121
  }
122
122
  return {
123
123
  framework: fwName,
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Lifecycle hooks — wired into OpenClaw's session_start / session_end events.
3
3
  */
4
- import type { ContextGraph, Session } from '@clawtrail/context-graph';
4
+ import type { ContextGraph, Session } from "@clawtrail/context-graph";
5
5
  export interface OpenClawSessionContext {
6
6
  sessionKey: string;
7
7
  initialMessage?: string;
@@ -8,18 +8,18 @@ export function createLifecycleHandlers(cg, config) {
8
8
  async onSessionStart(ctx) {
9
9
  await cg.init();
10
10
  const session = await cg.startSession({
11
- task: ctx.initialMessage || 'OpenClaw session',
11
+ task: ctx.initialMessage || "OpenClaw session",
12
12
  actorId: config.agentId || `agent:openclaw:${ctx.sessionKey}`,
13
13
  policy: config.policyPath,
14
14
  });
15
- ctx.set('cg:session_id', session.meta.session_id);
15
+ ctx.set("cg:session_id", session.meta.session_id);
16
16
  return session;
17
17
  },
18
18
  async onSessionEnd(ctx) {
19
- const sessionId = ctx.get('cg:session_id');
19
+ const sessionId = ctx.get("cg:session_id");
20
20
  if (!sessionId)
21
21
  return;
22
- await cg.endSession(sessionId, { status: 'COMPLETED' });
22
+ await cg.endSession(sessionId, { status: "COMPLETED" });
23
23
  },
24
24
  };
25
25
  }
@@ -8,8 +8,8 @@
8
8
  *
9
9
  * URLs are always hashed — raw URLs are never persisted.
10
10
  */
11
- import type { ContextGraph } from '@clawtrail/context-graph';
12
- import type { OpenClawSessionContext } from './lifecycle.js';
11
+ import type { ContextGraph } from "@clawtrail/context-graph";
12
+ import type { OpenClawSessionContext } from "./lifecycle.js";
13
13
  export interface LlmHttpReference {
14
14
  urlHash: string;
15
15
  hostHash: string;
@@ -1,4 +1,4 @@
1
- import { sha256 } from '../util/hash.js';
1
+ import { sha256 } from "../util/hash.js";
2
2
  const URL_PATTERN = /https?:\/\/[^\s'"<>\])}]+/g;
3
3
  // Look for HTTP method words immediately before a URL
4
4
  const METHOD_BEFORE_URL = /\b(GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS)\s+(?:to\s+|from\s+)?https?:\/\//gi;
@@ -15,7 +15,7 @@ export function extractHttpReferences(content) {
15
15
  // Build a map of URL → method from context
16
16
  const methodMap = new Map();
17
17
  let match;
18
- const methodRegex = new RegExp(METHOD_BEFORE_URL.source, 'gi');
18
+ const methodRegex = new RegExp(METHOD_BEFORE_URL.source, "gi");
19
19
  while ((match = methodRegex.exec(content)) !== null) {
20
20
  // Find the URL that follows this method keyword
21
21
  const afterMethod = content.slice(match.index + match[1].length);
@@ -25,7 +25,7 @@ export function extractHttpReferences(content) {
25
25
  }
26
26
  }
27
27
  return unique.map((rawUrl) => {
28
- let hostHash = sha256('unknown');
28
+ let hostHash = sha256("unknown");
29
29
  try {
30
30
  const parsed = new URL(rawUrl);
31
31
  hostHash = sha256(parsed.hostname);
@@ -46,7 +46,7 @@ export function extractHttpReferences(content) {
46
46
  export function createLlmOutputHandlers(cg) {
47
47
  return {
48
48
  async onLlmOutput(content, ctx) {
49
- const sessionId = ctx.get('cg:session_id');
49
+ const sessionId = ctx.get("cg:session_id");
50
50
  if (!sessionId)
51
51
  return;
52
52
  const refs = extractHttpReferences(content);
@@ -54,7 +54,7 @@ export function createLlmOutputHandlers(cg) {
54
54
  return;
55
55
  const session = await cg.getSession(sessionId);
56
56
  await session.logEvent({
57
- type: 'LLM_HTTP_REFERENCE',
57
+ type: "LLM_HTTP_REFERENCE",
58
58
  data: {
59
59
  reference_count: refs.length,
60
60
  references: refs.map((r) => ({
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * Tool call hooks — wired into OpenClaw's before_tool_call / after_tool_call events.
3
3
  */
4
- import type { ContextGraph } from '@clawtrail/context-graph';
5
- import type { MapperRegistry } from '../mappers/MapperRegistry.js';
6
- import type { OpenClawSessionContext } from './lifecycle.js';
4
+ import type { ContextGraph } from "@clawtrail/context-graph";
5
+ import type { MapperRegistry } from "../mappers/MapperRegistry.js";
6
+ import type { OpenClawSessionContext } from "./lifecycle.js";
7
7
  export interface ToolCallEvent {
8
8
  toolName: string;
9
9
  params: Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"toolCall.d.ts","sourceRoot":"","sources":["../../src/hooks/toolCall.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAwB,MAAM,0BAA0B,CAAC;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,YAAY,EAChB,OAAO,EAAE,cAAc;4BAIZ,aAAa,OACf,sBAAsB,GAC1B,OAAO,CAAC,IAAI,CAAC;2BAeP,aAAa,OACf,sBAAsB,GAC1B,OAAO,CAAC,IAAI,CAAC;EAwBnB"}
1
+ {"version":3,"file":"toolCall.d.ts","sourceRoot":"","sources":["../../src/hooks/toolCall.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,YAAY,EAChB,OAAO,EAAE,cAAc;4BAIZ,aAAa,OACf,sBAAsB,GAC1B,OAAO,CAAC,IAAI,CAAC;2BAeP,aAAa,OACf,sBAAsB,GAC1B,OAAO,CAAC,IAAI,CAAC;EAwBnB"}
@@ -1,26 +1,26 @@
1
1
  export function createToolCallHandlers(cg, mappers) {
2
2
  return {
3
3
  async onBeforeToolCall(event, ctx) {
4
- const sessionId = ctx.get('cg:session_id');
4
+ const sessionId = ctx.get("cg:session_id");
5
5
  if (!sessionId)
6
6
  return;
7
7
  const session = await cg.getSession(sessionId);
8
8
  const mapped = mappers.mapStart(event.toolName, event.params);
9
9
  await session.logEvent({
10
10
  type: mapped.type,
11
- status: 'STARTED',
11
+ status: "STARTED",
12
12
  data: mapped.data,
13
13
  });
14
14
  },
15
15
  async onAfterToolCall(event, ctx) {
16
- const sessionId = ctx.get('cg:session_id');
16
+ const sessionId = ctx.get("cg:session_id");
17
17
  if (!sessionId)
18
18
  return;
19
19
  const session = await cg.getSession(sessionId);
20
20
  const mapped = mappers.mapEnd(event.toolName, event.params, event.result ?? null, event.error);
21
21
  await session.logEvent({
22
22
  type: mapped.type,
23
- status: (event.error ? 'FAILED' : 'SUCCEEDED'),
23
+ status: (event.error ? "FAILED" : "SUCCEEDED"),
24
24
  data: {
25
25
  ...mapped.data,
26
26
  ...(event.durationMs !== undefined
@@ -1 +1 @@
1
- {"version":3,"file":"toolCall.js","sourceRoot":"","sources":["../../src/hooks/toolCall.ts"],"names":[],"mappings":"AAeA,MAAM,UAAU,sBAAsB,CACpC,EAAgB,EAChB,OAAuB;IAEvB,OAAO;QACL,KAAK,CAAC,gBAAgB,CACpB,KAAoB,EACpB,GAA2B;YAE3B,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,eAAe,CAAuB,CAAC;YACjE,IAAI,CAAC,SAAS;gBAAE,OAAO;YAEvB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAE9D,MAAM,OAAO,CAAC,QAAQ,CAAC;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,SAAwB;gBAChC,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,eAAe,CACnB,KAAoB,EACpB,GAA2B;YAE3B,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,eAAe,CAAuB,CAAC;YACjE,IAAI,CAAC,SAAS;gBAAE,OAAO;YAEvB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAC3B,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,MAAM,IAAI,IAAI,EACpB,KAAK,CAAC,KAAK,CACZ,CAAC;YAEF,MAAM,OAAO,CAAC,QAAQ,CAAC;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAgB;gBAC7D,IAAI,EAAE;oBACJ,GAAG,MAAM,CAAC,IAAI;oBACd,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS;wBAChC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,UAAU,EAAE;wBACnC,CAAC,CAAC,EAAE,CAAC;iBACR;aACF,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"toolCall.js","sourceRoot":"","sources":["../../src/hooks/toolCall.ts"],"names":[],"mappings":"AAmBA,MAAM,UAAU,sBAAsB,CACpC,EAAgB,EAChB,OAAuB;IAEvB,OAAO;QACL,KAAK,CAAC,gBAAgB,CACpB,KAAoB,EACpB,GAA2B;YAE3B,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,eAAe,CAAuB,CAAC;YACjE,IAAI,CAAC,SAAS;gBAAE,OAAO;YAEvB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAE9D,MAAM,OAAO,CAAC,QAAQ,CAAC;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,SAAwB;gBAChC,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,eAAe,CACnB,KAAoB,EACpB,GAA2B;YAE3B,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,eAAe,CAAuB,CAAC;YACjE,IAAI,CAAC,SAAS;gBAAE,OAAO;YAEvB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAC3B,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,MAAM,IAAI,IAAI,EACpB,KAAK,CAAC,KAAK,CACZ,CAAC;YAEF,MAAM,OAAO,CAAC,QAAQ,CAAC;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAgB;gBAC7D,IAAI,EAAE;oBACJ,GAAG,MAAM,CAAC,IAAI;oBACd,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS;wBAChC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,UAAU,EAAE;wBACnC,CAAC,CAAC,EAAE,CAAC;iBACR;aACF,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -5,33 +5,33 @@
5
5
  * Captures agent execution traces as PROV-O events with
6
6
  * hash chain integrity and signed submissions.
7
7
  */
8
- export { OpenClawAdapter } from './OpenClawAdapter.js';
9
- export type { AdapterConfig, SignedSubmission } from './OpenClawAdapter.js';
10
- export { MapperRegistry } from './mappers/MapperRegistry.js';
11
- export type { EventMapper, MappedEvent } from './mappers/MapperRegistry.js';
12
- export { ShellMapper } from './mappers/shell.js';
13
- export { FsMapper } from './mappers/fs.js';
14
- export { GitMapper } from './mappers/git.js';
15
- export { FallbackMapper } from './mappers/fallback.js';
16
- export { TestDetector } from './detectors/TestDetector.js';
17
- export type { TestResult } from './detectors/TestDetector.js';
18
- export { BuildDetector } from './detectors/BuildDetector.js';
19
- export type { BuildResult } from './detectors/BuildDetector.js';
20
- export { HttpDetector } from './detectors/HttpDetector.js';
21
- export type { HttpResult } from './detectors/HttpDetector.js';
22
- export { createLifecycleHandlers } from './hooks/lifecycle.js';
23
- export type { OpenClawSessionContext, LifecycleEvent } from './hooks/lifecycle.js';
24
- export { createToolCallHandlers } from './hooks/toolCall.js';
25
- export type { ToolCallEvent } from './hooks/toolCall.js';
26
- export { createLlmOutputHandlers } from './hooks/llmOutput.js';
27
- export type { LlmHttpReference } from './hooks/llmOutput.js';
28
- export { openclawRules, CanFixBuild, CanFixTests, CanRunTests, CanRecoverFromError, CanWriteCode, CanUseFramework, CanUseTool, CanCallApis, CanHandleHttpErrors, CanCreateContent, CanEngageCommunity, CanRespondToNotifications, CanMakeDecisions, IsConsistentlyActive, } from './rules/openclaw-rules.js';
29
- export { getStatus } from './tools/status.js';
30
- export type { StatusResult } from './tools/status.js';
31
- export { summarizeSession } from './tools/summarize.js';
32
- export type { SummarizeResult } from './tools/summarize.js';
33
- export { hashArgs, hashCommand, hashFileContent, extractBaseCommand, mimeFromExtension, extensionToLanguage } from './util/hash.js';
34
- export { loadChainState, saveChainState } from './chain-state.js';
35
- export type { ChainState, ChainStateSubmission } from './chain-state.js';
36
- export { default as register } from './register.js';
8
+ export { OpenClawAdapter } from "./OpenClawAdapter.js";
9
+ export type { AdapterConfig, SignedSubmission } from "./OpenClawAdapter.js";
10
+ export { MapperRegistry } from "./mappers/MapperRegistry.js";
11
+ export type { EventMapper, MappedEvent } from "./mappers/MapperRegistry.js";
12
+ export { ShellMapper } from "./mappers/shell.js";
13
+ export { FsMapper } from "./mappers/fs.js";
14
+ export { GitMapper } from "./mappers/git.js";
15
+ export { FallbackMapper } from "./mappers/fallback.js";
16
+ export { TestDetector } from "./detectors/TestDetector.js";
17
+ export type { TestResult } from "./detectors/TestDetector.js";
18
+ export { BuildDetector } from "./detectors/BuildDetector.js";
19
+ export type { BuildResult } from "./detectors/BuildDetector.js";
20
+ export { HttpDetector } from "./detectors/HttpDetector.js";
21
+ export type { HttpResult } from "./detectors/HttpDetector.js";
22
+ export { createLifecycleHandlers } from "./hooks/lifecycle.js";
23
+ export type { OpenClawSessionContext, LifecycleEvent, } from "./hooks/lifecycle.js";
24
+ export { createToolCallHandlers } from "./hooks/toolCall.js";
25
+ export type { ToolCallEvent } from "./hooks/toolCall.js";
26
+ export { createLlmOutputHandlers } from "./hooks/llmOutput.js";
27
+ export type { LlmHttpReference } from "./hooks/llmOutput.js";
28
+ export { openclawRules, CanFixBuild, CanFixTests, CanRunTests, CanRecoverFromError, CanWriteCode, CanUseFramework, CanUseTool, CanCallApis, CanHandleHttpErrors, CanCreateContent, CanEngageCommunity, CanRespondToNotifications, CanMakeDecisions, IsConsistentlyActive, } from "./rules/openclaw-rules.js";
29
+ export { getStatus } from "./tools/status.js";
30
+ export type { StatusResult } from "./tools/status.js";
31
+ export { summarizeSession } from "./tools/summarize.js";
32
+ export type { SummarizeResult } from "./tools/summarize.js";
33
+ export { hashArgs, hashCommand, hashFileContent, extractBaseCommand, mimeFromExtension, extensionToLanguage, } from "./util/hash.js";
34
+ export { loadChainState, saveChainState } from "./chain-state.js";
35
+ export type { ChainState, ChainStateSubmission } from "./chain-state.js";
36
+ export { default as register } from "./register.js";
37
37
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG5E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,YAAY,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,YAAY,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,YAAY,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAG9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,YAAY,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7D,OAAO,EACL,aAAa,EACb,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAC1D,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAC3E,gBAAgB,EAAE,kBAAkB,EAAE,yBAAyB,EAC/D,gBAAgB,EAAE,oBAAoB,GACvC,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGpI,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClE,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGzE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG5E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,YAAY,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,YAAY,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,YAAY,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAG9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,YAAY,EACV,sBAAsB,EACtB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7D,OAAO,EACL,aAAa,EACb,WAAW,EACX,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,EACzB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,OAAO,EACL,QAAQ,EACR,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClE,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGzE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -6,30 +6,30 @@
6
6
  * hash chain integrity and signed submissions.
7
7
  */
8
8
  // Adapter
9
- export { OpenClawAdapter } from './OpenClawAdapter.js';
9
+ export { OpenClawAdapter } from "./OpenClawAdapter.js";
10
10
  // Mappers
11
- export { MapperRegistry } from './mappers/MapperRegistry.js';
12
- export { ShellMapper } from './mappers/shell.js';
13
- export { FsMapper } from './mappers/fs.js';
14
- export { GitMapper } from './mappers/git.js';
15
- export { FallbackMapper } from './mappers/fallback.js';
11
+ export { MapperRegistry } from "./mappers/MapperRegistry.js";
12
+ export { ShellMapper } from "./mappers/shell.js";
13
+ export { FsMapper } from "./mappers/fs.js";
14
+ export { GitMapper } from "./mappers/git.js";
15
+ export { FallbackMapper } from "./mappers/fallback.js";
16
16
  // Detectors
17
- export { TestDetector } from './detectors/TestDetector.js';
18
- export { BuildDetector } from './detectors/BuildDetector.js';
19
- export { HttpDetector } from './detectors/HttpDetector.js';
17
+ export { TestDetector } from "./detectors/TestDetector.js";
18
+ export { BuildDetector } from "./detectors/BuildDetector.js";
19
+ export { HttpDetector } from "./detectors/HttpDetector.js";
20
20
  // Hooks
21
- export { createLifecycleHandlers } from './hooks/lifecycle.js';
22
- export { createToolCallHandlers } from './hooks/toolCall.js';
23
- export { createLlmOutputHandlers } from './hooks/llmOutput.js';
21
+ export { createLifecycleHandlers } from "./hooks/lifecycle.js";
22
+ export { createToolCallHandlers } from "./hooks/toolCall.js";
23
+ export { createLlmOutputHandlers } from "./hooks/llmOutput.js";
24
24
  // Rules
25
- export { openclawRules, CanFixBuild, CanFixTests, CanRunTests, CanRecoverFromError, CanWriteCode, CanUseFramework, CanUseTool, CanCallApis, CanHandleHttpErrors, CanCreateContent, CanEngageCommunity, CanRespondToNotifications, CanMakeDecisions, IsConsistentlyActive, } from './rules/openclaw-rules.js';
25
+ export { openclawRules, CanFixBuild, CanFixTests, CanRunTests, CanRecoverFromError, CanWriteCode, CanUseFramework, CanUseTool, CanCallApis, CanHandleHttpErrors, CanCreateContent, CanEngageCommunity, CanRespondToNotifications, CanMakeDecisions, IsConsistentlyActive, } from "./rules/openclaw-rules.js";
26
26
  // Tools
27
- export { getStatus } from './tools/status.js';
28
- export { summarizeSession } from './tools/summarize.js';
27
+ export { getStatus } from "./tools/status.js";
28
+ export { summarizeSession } from "./tools/summarize.js";
29
29
  // Utilities
30
- export { hashArgs, hashCommand, hashFileContent, extractBaseCommand, mimeFromExtension, extensionToLanguage } from './util/hash.js';
30
+ export { hashArgs, hashCommand, hashFileContent, extractBaseCommand, mimeFromExtension, extensionToLanguage, } from "./util/hash.js";
31
31
  // Chain State
32
- export { loadChainState, saveChainState } from './chain-state.js';
32
+ export { loadChainState, saveChainState } from "./chain-state.js";
33
33
  // OpenClaw Plugin Entry Point
34
- export { default as register } from './register.js';
34
+ export { default as register } from "./register.js";
35
35
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,UAAU;AACV,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,UAAU;AACV,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,YAAY;AACZ,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAG3D,QAAQ;AACR,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAG/D,QAAQ;AACR,OAAO,EACL,aAAa,EACb,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAC1D,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAC3E,gBAAgB,EAAE,kBAAkB,EAAE,yBAAyB,EAC/D,gBAAgB,EAAE,oBAAoB,GACvC,MAAM,2BAA2B,CAAC;AAEnC,QAAQ;AACR,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD,YAAY;AACZ,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAEpI,cAAc;AACd,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlE,8BAA8B;AAC9B,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,UAAU;AACV,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,UAAU;AACV,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,YAAY;AACZ,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAG3D,QAAQ;AACR,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAK/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAG/D,QAAQ;AACR,OAAO,EACL,aAAa,EACb,WAAW,EACX,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,EACzB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AAEnC,QAAQ;AACR,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD,YAAY;AACZ,OAAO,EACL,QAAQ,EACR,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB,cAAc;AACd,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlE,8BAA8B;AAC9B,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC"}
@@ -21,6 +21,10 @@ export declare class MapperRegistry {
21
21
  register(mapper: EventMapper): void;
22
22
  /** Find the mapper for a tool name */
23
23
  getMapper(toolName: string): EventMapper;
24
+ /** Check if a tool name has a dedicated mapper (not fallback) */
25
+ hasMapper(toolName: string): boolean;
26
+ /** Get all registered tool names (excluding fallback) */
27
+ registeredToolNames(): string[];
24
28
  /** Map a tool call start */
25
29
  mapStart(toolName: string, params: Record<string, unknown>): MappedEvent;
26
30
  /** Map a tool call end */
@@ -1 +1 @@
1
- {"version":3,"file":"MapperRegistry.d.ts","sourceRoot":"","sources":["../../src/mappers/MapperRegistry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,8CAA8C;IAC9C,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,sCAAsC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,CAAC;IACzE,wDAAwD;IACxD,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,CAAC;CAChB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,QAAQ,CAAc;gBAElB,QAAQ,EAAE,WAAW;IAIjC,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAMnC,sCAAsC;IACtC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW;IAIxC,4BAA4B;IAC5B,QAAQ,CACN,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,WAAW;IAId,0BAA0B;IAC1B,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;CAGf"}
1
+ {"version":3,"file":"MapperRegistry.d.ts","sourceRoot":"","sources":["../../src/mappers/MapperRegistry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,8CAA8C;IAC9C,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,sCAAsC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,CAAC;IACzE,wDAAwD;IACxD,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,CAAC;CAChB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,QAAQ,CAAc;gBAElB,QAAQ,EAAE,WAAW;IAIjC,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAMnC,sCAAsC;IACtC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW;IAIxC,iEAAiE;IACjE,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIpC,yDAAyD;IACzD,mBAAmB,IAAI,MAAM,EAAE;IAI/B,4BAA4B;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW;IAIxE,0BAA0B;IAC1B,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;CAGf"}
@@ -17,6 +17,14 @@ export class MapperRegistry {
17
17
  getMapper(toolName) {
18
18
  return this.mappers.get(toolName) ?? this.fallback;
19
19
  }
20
+ /** Check if a tool name has a dedicated mapper (not fallback) */
21
+ hasMapper(toolName) {
22
+ return this.mappers.has(toolName);
23
+ }
24
+ /** Get all registered tool names (excluding fallback) */
25
+ registeredToolNames() {
26
+ return [...this.mappers.keys()];
27
+ }
20
28
  /** Map a tool call start */
21
29
  mapStart(toolName, params) {
22
30
  return this.getMapper(toolName).mapStart(toolName, params);
@@ -1 +1 @@
1
- {"version":3,"file":"MapperRegistry.js","sourceRoot":"","sources":["../../src/mappers/MapperRegistry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqBH,MAAM,OAAO,cAAc;IACjB,OAAO,GAA6B,IAAI,GAAG,EAAE,CAAC;IAC9C,QAAQ,CAAc;IAE9B,YAAY,QAAqB;QAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,oDAAoD;IACpD,QAAQ,CAAC,MAAmB;QAC1B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,SAAS,CAAC,QAAgB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC;IACrD,CAAC;IAED,4BAA4B;IAC5B,QAAQ,CACN,QAAgB,EAChB,MAA+B;QAE/B,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED,0BAA0B;IAC1B,MAAM,CACJ,QAAgB,EAChB,MAA+B,EAC/B,MAAsC,EACtC,KAAa;QAEb,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC1E,CAAC;CACF"}
1
+ {"version":3,"file":"MapperRegistry.js","sourceRoot":"","sources":["../../src/mappers/MapperRegistry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqBH,MAAM,OAAO,cAAc;IACjB,OAAO,GAA6B,IAAI,GAAG,EAAE,CAAC;IAC9C,QAAQ,CAAc;IAE9B,YAAY,QAAqB;QAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,oDAAoD;IACpD,QAAQ,CAAC,MAAmB;QAC1B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,SAAS,CAAC,QAAgB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC;IACrD,CAAC;IAED,iEAAiE;IACjE,SAAS,CAAC,QAAgB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,yDAAyD;IACzD,mBAAmB;QACjB,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,4BAA4B;IAC5B,QAAQ,CAAC,QAAgB,EAAE,MAA+B;QACxD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED,0BAA0B;IAC1B,MAAM,CACJ,QAAgB,EAChB,MAA+B,EAC/B,MAAsC,EACtC,KAAa;QAEb,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC1E,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Browser mapper — maps browser tool calls to BROWSER_ACTION events.
3
+ * Captures action type, URL visited, and screenshot flag without raw content.
4
+ */
5
+ import type { EventMapper, MappedEvent } from "./MapperRegistry.js";
6
+ export declare class BrowserMapper 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=browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/mappers/browser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAoCpE,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;IAezE,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;CAgBf"}
@@ -0,0 +1,66 @@
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
+ /** Navigation actions that involve a URL */
11
+ const NAV_ACTIONS = new Set(["navigate", "open"]);
12
+ /** Screenshot-related actions */
13
+ const SCREENSHOT_ACTIONS = new Set(["screenshot", "snapshot", "pdf"]);
14
+ /** Classify the browser action into a high-level category */
15
+ function classifyAction(action) {
16
+ if (NAV_ACTIONS.has(action))
17
+ return "navigate";
18
+ if (SCREENSHOT_ACTIONS.has(action))
19
+ return "capture";
20
+ if (["click", "type", "press", "hover", "drag", "fill", "select", "upload"].includes(action))
21
+ return "interact";
22
+ if (["start", "stop", "close", "tabs", "tab", "focus"].includes(action))
23
+ return "session";
24
+ return action;
25
+ }
26
+ /** Extract hostname from a URL string */
27
+ function hostFromUrl(raw) {
28
+ try {
29
+ return new URL(raw).hostname;
30
+ }
31
+ catch {
32
+ return "";
33
+ }
34
+ }
35
+ export class BrowserMapper {
36
+ toolNames = ["browser"];
37
+ mapStart(_toolName, params) {
38
+ const action = str(params.action || params.command || "");
39
+ const url = str(params.url || params.target || "");
40
+ return {
41
+ type: "BROWSER_ACTION",
42
+ data: {
43
+ action: classifyAction(action),
44
+ action_detail: action,
45
+ url_hash: url ? sha256(url) : undefined,
46
+ host_display: url ? hostFromUrl(url) : undefined,
47
+ },
48
+ };
49
+ }
50
+ mapEnd(_toolName, params, result, _error) {
51
+ const action = str(params.action || params.command || "");
52
+ const url = str(params.url || params.target || result?.url || "");
53
+ return {
54
+ type: "BROWSER_ACTION",
55
+ data: {
56
+ action: classifyAction(action),
57
+ action_detail: action,
58
+ url_hash: url ? sha256(url) : undefined,
59
+ host_display: url ? hostFromUrl(url) : undefined,
60
+ screenshot_taken: SCREENSHOT_ACTIONS.has(action),
61
+ profile: str(params.profile) || undefined,
62
+ },
63
+ };
64
+ }
65
+ }
66
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/mappers/browser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { EventMapper, MappedEvent } from "./MapperRegistry.js";
2
+ export declare class DocumentMapper implements EventMapper {
3
+ toolNames: string[];
4
+ mapStart(toolName: string, params: Record<string, unknown>): MappedEvent;
5
+ mapEnd(toolName: string, params: Record<string, unknown>, result: Record<string, unknown> | null, _error?: Error): MappedEvent;
6
+ }
7
+ //# sourceMappingURL=document.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/mappers/document.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAUpE,qBAAa,cAAe,YAAW,WAAW;IAChD,SAAS,WAAoB;IAE7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW;IAaxE,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;CAsBf"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Document mapper — maps pdf and image tool calls to DOCUMENT_ANALYSIS events.
3
+ * Captures document type and metadata without raw content.
4
+ */
5
+ import { extname } from "node:path";
6
+ import { sha256 } from "../util/hash.js";
7
+ /** Safely coerce unknown values to string */
8
+ function str(val) {
9
+ if (typeof val === "string")
10
+ return val;
11
+ if (Array.isArray(val))
12
+ return val.join(" ");
13
+ return val == null ? "" : String(val);
14
+ }
15
+ export class DocumentMapper {
16
+ toolNames = ["pdf", "image"];
17
+ mapStart(toolName, params) {
18
+ const docType = toolName === "pdf" ? "pdf" : "image";
19
+ const source = str(params.path || params.file || params.image || params.url || "");
20
+ return {
21
+ type: "DOCUMENT_ANALYSIS",
22
+ data: {
23
+ doc_type: docType,
24
+ source_hash: source ? sha256(source) : undefined,
25
+ },
26
+ };
27
+ }
28
+ mapEnd(toolName, params, result, _error) {
29
+ const docType = toolName === "pdf" ? "pdf" : "image";
30
+ const source = str(params.path || params.file || params.image || params.url || "");
31
+ const ext = source ? extname(source).toLowerCase() : "";
32
+ return {
33
+ type: "DOCUMENT_ANALYSIS",
34
+ data: {
35
+ doc_type: docType,
36
+ source_hash: source ? sha256(source) : undefined,
37
+ file_extension: ext || undefined,
38
+ page_count: docType === "pdf" && typeof result?.pageCount === "number"
39
+ ? result.pageCount
40
+ : docType === "pdf" && typeof result?.pages === "number"
41
+ ? result.pages
42
+ : undefined,
43
+ has_prompt: !!params.prompt,
44
+ model: str(params.model) || undefined,
45
+ },
46
+ };
47
+ }
48
+ }
49
+ //# sourceMappingURL=document.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/mappers/document.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,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,MAAM,OAAO,cAAc;IACzB,SAAS,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAE7B,QAAQ,CAAC,QAAgB,EAAE,MAA+B;QACxD,MAAM,OAAO,GAAG,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;QACrD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAEnF,OAAO;YACL,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE;gBACJ,QAAQ,EAAE,OAAO;gBACjB,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,OAAO,GAAG,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;QACrD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QACnF,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAExD,OAAO;YACL,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE;gBACJ,QAAQ,EAAE,OAAO;gBACjB,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;gBAChD,cAAc,EAAE,GAAG,IAAI,SAAS;gBAChC,UAAU,EACR,OAAO,KAAK,KAAK,IAAI,OAAO,MAAM,EAAE,SAAS,KAAK,QAAQ;oBACxD,CAAC,CAAC,MAAM,CAAC,SAAS;oBAClB,CAAC,CAAC,OAAO,KAAK,KAAK,IAAI,OAAO,MAAM,EAAE,KAAK,KAAK,QAAQ;wBACtD,CAAC,CAAC,MAAM,CAAC,KAAK;wBACd,CAAC,CAAC,SAAS;gBACjB,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;gBAC3B,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS;aACtC;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -2,7 +2,7 @@
2
2
  * Fallback mapper — catches any tool not handled by a specific mapper.
3
3
  * Produces generic TOOL_CALL events.
4
4
  */
5
- import type { EventMapper, MappedEvent } from './MapperRegistry.js';
5
+ import type { EventMapper, MappedEvent } from "./MapperRegistry.js";
6
6
  export declare class FallbackMapper implements EventMapper {
7
7
  toolNames: never[];
8
8
  mapStart(toolName: string, params: Record<string, unknown>): MappedEvent;
@@ -1,9 +1,9 @@
1
- import { hashArgs, hashContent } from '../util/hash.js';
1
+ import { hashArgs, hashContent } from "../util/hash.js";
2
2
  export class FallbackMapper {
3
3
  toolNames = []; // Never matched directly — used as the registry fallback
4
4
  mapStart(toolName, params) {
5
5
  return {
6
- type: 'TOOL_CALL',
6
+ type: "TOOL_CALL",
7
7
  data: {
8
8
  tool: toolName,
9
9
  args_hash: hashArgs(params),
@@ -12,7 +12,7 @@ export class FallbackMapper {
12
12
  }
13
13
  mapEnd(toolName, params, result, error) {
14
14
  return {
15
- type: 'TOOL_CALL',
15
+ type: "TOOL_CALL",
16
16
  data: {
17
17
  tool: toolName,
18
18
  args_hash: hashArgs(params),
@@ -1,4 +1,4 @@
1
- import type { EventMapper, MappedEvent } from './MapperRegistry.js';
1
+ import type { EventMapper, MappedEvent } from "./MapperRegistry.js";
2
2
  export declare class FsMapper implements EventMapper {
3
3
  toolNames: string[];
4
4
  mapStart(toolName: string, params: Record<string, unknown>): MappedEvent;
@@ -1 +1 @@
1
- {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/mappers/fs.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAUpE,qBAAa,QAAS,YAAW,WAAW;IAC1C,SAAS,WAA6B;IAEtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW;IAexE,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;CAmCf"}
1
+ {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/mappers/fs.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAUpE,qBAAa,QAAS,YAAW,WAAW;IAC1C,SAAS,WAA6B;IAEtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW;IAexE,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;CAkCf"}