@foothill/agent-move 1.0.6

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 (163) hide show
  1. package/.github/screenshot.png +0 -0
  2. package/README.md +266 -0
  3. package/bin/cli.js +229 -0
  4. package/package.json +53 -0
  5. package/packages/client/dist/assets/BufferResource-Ddjob236.js +185 -0
  6. package/packages/client/dist/assets/CanvasRenderer-B0w6SYyW.js +1 -0
  7. package/packages/client/dist/assets/Filter-NcMGuiK-.js +1 -0
  8. package/packages/client/dist/assets/RenderTargetSystem-DgAzY5_U.js +172 -0
  9. package/packages/client/dist/assets/WebGLRenderer-DUWXDPIX.js +156 -0
  10. package/packages/client/dist/assets/WebGPURenderer-C1HbrllR.js +41 -0
  11. package/packages/client/dist/assets/browserAll-CaF1Fl0O.js +14 -0
  12. package/packages/client/dist/assets/index-CMmR_RuS.css +1 -0
  13. package/packages/client/dist/assets/index-Dh8yWoLP.js +711 -0
  14. package/packages/client/dist/assets/webworkerAll-BJ6UhC7r.js +83 -0
  15. package/packages/client/dist/favicon.svg +27 -0
  16. package/packages/client/dist/index.html +167 -0
  17. package/packages/client/package.json +19 -0
  18. package/packages/server/dist/config.d.ts +12 -0
  19. package/packages/server/dist/config.d.ts.map +1 -0
  20. package/packages/server/dist/config.js +19 -0
  21. package/packages/server/dist/config.js.map +1 -0
  22. package/packages/server/dist/hooks/hook-event-manager.d.ts +39 -0
  23. package/packages/server/dist/hooks/hook-event-manager.d.ts.map +1 -0
  24. package/packages/server/dist/hooks/hook-event-manager.js +161 -0
  25. package/packages/server/dist/hooks/hook-event-manager.js.map +1 -0
  26. package/packages/server/dist/hooks/hook-installer.d.ts +14 -0
  27. package/packages/server/dist/hooks/hook-installer.d.ts.map +1 -0
  28. package/packages/server/dist/hooks/hook-installer.js +179 -0
  29. package/packages/server/dist/hooks/hook-installer.js.map +1 -0
  30. package/packages/server/dist/index.d.ts +4 -0
  31. package/packages/server/dist/index.d.ts.map +1 -0
  32. package/packages/server/dist/index.js +3544 -0
  33. package/packages/server/dist/index.js.map +1 -0
  34. package/packages/server/dist/routes/api.d.ts +4 -0
  35. package/packages/server/dist/routes/api.d.ts.map +1 -0
  36. package/packages/server/dist/routes/api.js +27 -0
  37. package/packages/server/dist/routes/api.js.map +1 -0
  38. package/packages/server/dist/state/activity-processor.d.ts +31 -0
  39. package/packages/server/dist/state/activity-processor.d.ts.map +1 -0
  40. package/packages/server/dist/state/activity-processor.js +417 -0
  41. package/packages/server/dist/state/activity-processor.js.map +1 -0
  42. package/packages/server/dist/state/agent-state-manager.d.ts +107 -0
  43. package/packages/server/dist/state/agent-state-manager.d.ts.map +1 -0
  44. package/packages/server/dist/state/agent-state-manager.js +1622 -0
  45. package/packages/server/dist/state/agent-state-manager.js.map +1 -0
  46. package/packages/server/dist/state/anomaly-detector.d.ts +23 -0
  47. package/packages/server/dist/state/anomaly-detector.d.ts.map +1 -0
  48. package/packages/server/dist/state/anomaly-detector.js +272 -0
  49. package/packages/server/dist/state/anomaly-detector.js.map +1 -0
  50. package/packages/server/dist/state/identity-manager.d.ts +31 -0
  51. package/packages/server/dist/state/identity-manager.d.ts.map +1 -0
  52. package/packages/server/dist/state/identity-manager.js +63 -0
  53. package/packages/server/dist/state/identity-manager.js.map +1 -0
  54. package/packages/server/dist/state/role-resolver.d.ts +23 -0
  55. package/packages/server/dist/state/role-resolver.d.ts.map +1 -0
  56. package/packages/server/dist/state/role-resolver.js +43 -0
  57. package/packages/server/dist/state/role-resolver.js.map +1 -0
  58. package/packages/server/dist/state/task-graph-manager.d.ts +31 -0
  59. package/packages/server/dist/state/task-graph-manager.d.ts.map +1 -0
  60. package/packages/server/dist/state/task-graph-manager.js +191 -0
  61. package/packages/server/dist/state/task-graph-manager.js.map +1 -0
  62. package/packages/server/dist/state/tool-chain-tracker.d.ts +23 -0
  63. package/packages/server/dist/state/tool-chain-tracker.d.ts.map +1 -0
  64. package/packages/server/dist/state/tool-chain-tracker.js +113 -0
  65. package/packages/server/dist/state/tool-chain-tracker.js.map +1 -0
  66. package/packages/server/dist/watcher/agent-watcher.d.ts +16 -0
  67. package/packages/server/dist/watcher/agent-watcher.d.ts.map +1 -0
  68. package/packages/server/dist/watcher/agent-watcher.js +0 -0
  69. package/packages/server/dist/watcher/agent-watcher.js.map +1 -0
  70. package/packages/server/dist/watcher/claude-paths.d.ts +32 -0
  71. package/packages/server/dist/watcher/claude-paths.d.ts.map +1 -0
  72. package/packages/server/dist/watcher/claude-paths.js +104 -0
  73. package/packages/server/dist/watcher/claude-paths.js.map +1 -0
  74. package/packages/server/dist/watcher/file-watcher.d.ts +17 -0
  75. package/packages/server/dist/watcher/file-watcher.d.ts.map +1 -0
  76. package/packages/server/dist/watcher/file-watcher.js +347 -0
  77. package/packages/server/dist/watcher/file-watcher.js.map +1 -0
  78. package/packages/server/dist/watcher/git-info.d.ts +3 -0
  79. package/packages/server/dist/watcher/git-info.d.ts.map +1 -0
  80. package/packages/server/dist/watcher/git-info.js +35 -0
  81. package/packages/server/dist/watcher/git-info.js.map +1 -0
  82. package/packages/server/dist/watcher/jsonl-parser.d.ts +21 -0
  83. package/packages/server/dist/watcher/jsonl-parser.d.ts.map +1 -0
  84. package/packages/server/dist/watcher/jsonl-parser.js +95 -0
  85. package/packages/server/dist/watcher/jsonl-parser.js.map +1 -0
  86. package/packages/server/dist/watcher/opencode/opencode-parser.d.ts +58 -0
  87. package/packages/server/dist/watcher/opencode/opencode-parser.d.ts.map +1 -0
  88. package/packages/server/dist/watcher/opencode/opencode-parser.js +256 -0
  89. package/packages/server/dist/watcher/opencode/opencode-parser.js.map +1 -0
  90. package/packages/server/dist/watcher/opencode/opencode-paths.d.ts +20 -0
  91. package/packages/server/dist/watcher/opencode/opencode-paths.d.ts.map +1 -0
  92. package/packages/server/dist/watcher/opencode/opencode-paths.js +35 -0
  93. package/packages/server/dist/watcher/opencode/opencode-paths.js.map +1 -0
  94. package/packages/server/dist/watcher/opencode/opencode-watcher.d.ts +49 -0
  95. package/packages/server/dist/watcher/opencode/opencode-watcher.d.ts.map +1 -0
  96. package/packages/server/dist/watcher/opencode/opencode-watcher.js +1292 -0
  97. package/packages/server/dist/watcher/opencode/opencode-watcher.js.map +1 -0
  98. package/packages/server/dist/watcher/session-scanner.d.ts +7 -0
  99. package/packages/server/dist/watcher/session-scanner.d.ts.map +1 -0
  100. package/packages/server/dist/watcher/session-scanner.js +69 -0
  101. package/packages/server/dist/watcher/session-scanner.js.map +1 -0
  102. package/packages/server/dist/ws/broadcaster.d.ts +18 -0
  103. package/packages/server/dist/ws/broadcaster.d.ts.map +1 -0
  104. package/packages/server/dist/ws/broadcaster.js +152 -0
  105. package/packages/server/dist/ws/broadcaster.js.map +1 -0
  106. package/packages/server/dist/ws/ws-handler.d.ts +6 -0
  107. package/packages/server/dist/ws/ws-handler.d.ts.map +1 -0
  108. package/packages/server/dist/ws/ws-handler.js +55 -0
  109. package/packages/server/dist/ws/ws-handler.js.map +1 -0
  110. package/packages/server/package.json +25 -0
  111. package/packages/shared/dist/constants/colors.d.ts +46 -0
  112. package/packages/shared/dist/constants/colors.d.ts.map +1 -0
  113. package/packages/shared/dist/constants/colors.js +178 -0
  114. package/packages/shared/dist/constants/colors.js.map +1 -0
  115. package/packages/shared/dist/constants/names.d.ts +6 -0
  116. package/packages/shared/dist/constants/names.d.ts.map +1 -0
  117. package/packages/shared/dist/constants/names.js +28 -0
  118. package/packages/shared/dist/constants/names.js.map +1 -0
  119. package/packages/shared/dist/constants/tools.d.ts +15 -0
  120. package/packages/shared/dist/constants/tools.d.ts.map +1 -0
  121. package/packages/shared/dist/constants/tools.js +120 -0
  122. package/packages/shared/dist/constants/tools.js.map +1 -0
  123. package/packages/shared/dist/constants/zones.d.ts +37 -0
  124. package/packages/shared/dist/constants/zones.d.ts.map +1 -0
  125. package/packages/shared/dist/constants/zones.js +128 -0
  126. package/packages/shared/dist/constants/zones.js.map +1 -0
  127. package/packages/shared/dist/index.d.ts +15 -0
  128. package/packages/shared/dist/index.d.ts.map +1 -0
  129. package/packages/shared/dist/index.js +7 -0
  130. package/packages/shared/dist/index.js.map +1 -0
  131. package/packages/shared/dist/types/agent.d.ts +85 -0
  132. package/packages/shared/dist/types/agent.d.ts.map +1 -0
  133. package/packages/shared/dist/types/agent.js +2 -0
  134. package/packages/shared/dist/types/agent.js.map +1 -0
  135. package/packages/shared/dist/types/anomaly.d.ts +18 -0
  136. package/packages/shared/dist/types/anomaly.d.ts.map +1 -0
  137. package/packages/shared/dist/types/anomaly.js +6 -0
  138. package/packages/shared/dist/types/anomaly.js.map +1 -0
  139. package/packages/shared/dist/types/hooks.d.ts +51 -0
  140. package/packages/shared/dist/types/hooks.d.ts.map +1 -0
  141. package/packages/shared/dist/types/hooks.js +2 -0
  142. package/packages/shared/dist/types/hooks.js.map +1 -0
  143. package/packages/shared/dist/types/jsonl.d.ts +62 -0
  144. package/packages/shared/dist/types/jsonl.d.ts.map +1 -0
  145. package/packages/shared/dist/types/jsonl.js +3 -0
  146. package/packages/shared/dist/types/jsonl.js.map +1 -0
  147. package/packages/shared/dist/types/task-graph.d.ts +20 -0
  148. package/packages/shared/dist/types/task-graph.d.ts.map +1 -0
  149. package/packages/shared/dist/types/task-graph.js +2 -0
  150. package/packages/shared/dist/types/task-graph.js.map +1 -0
  151. package/packages/shared/dist/types/tool-chain.d.ts +17 -0
  152. package/packages/shared/dist/types/tool-chain.d.ts.map +1 -0
  153. package/packages/shared/dist/types/tool-chain.js +2 -0
  154. package/packages/shared/dist/types/tool-chain.js.map +1 -0
  155. package/packages/shared/dist/types/websocket.d.ts +132 -0
  156. package/packages/shared/dist/types/websocket.d.ts.map +1 -0
  157. package/packages/shared/dist/types/websocket.js +2 -0
  158. package/packages/shared/dist/types/websocket.js.map +1 -0
  159. package/packages/shared/dist/types/zone.d.ts +21 -0
  160. package/packages/shared/dist/types/zone.d.ts.map +1 -0
  161. package/packages/shared/dist/types/zone.js +2 -0
  162. package/packages/shared/dist/types/zone.js.map +1 -0
  163. package/packages/shared/package.json +15 -0
@@ -0,0 +1,28 @@
1
+ /** Whimsical names assigned to unnamed agents for easy identification */
2
+ const FUNNY_NAMES = [
3
+ 'Pixel', 'Turbo', 'Nimbus', 'Sparky', 'Biscuit',
4
+ 'Wombat', 'Noodle', 'Zigzag', 'Pickle', 'Mango',
5
+ 'Rocket', 'Waffle', 'Pebble', 'Comet', 'Doodle',
6
+ 'Gizmo', 'Quasar', 'Tango', 'Breeze', 'Fidget',
7
+ 'Blitz', 'Marble', 'Sprout', 'Fizz', 'Cosmo',
8
+ 'Rusty', 'Tofu', 'Orbit', 'Jinx', 'Clover',
9
+ 'Bolt', 'Mochi', 'Atlas', 'Ember', 'Pippin',
10
+ 'Rumble', 'Sage', 'Twix', 'Flint', 'Bumble',
11
+ 'Nova', 'Chip', 'Pecan', 'Drift', 'Pluto',
12
+ 'Rune', 'Taffy', 'Zing', 'Vapor', 'Acorn',
13
+ 'Sonic', 'Puffin', 'Quill', 'Dash', 'Hazel',
14
+ 'Crisp', 'Fable', 'Maple', 'Glitch', 'Sable',
15
+ ];
16
+ /**
17
+ * Deterministic hash of a string to pick a funny name.
18
+ * Stable across reconnects (same sessionId → same name).
19
+ */
20
+ export function getFunnyName(sessionId) {
21
+ let hash = 0;
22
+ for (let i = 0; i < sessionId.length; i++) {
23
+ hash = ((hash << 5) - hash + sessionId.charCodeAt(i)) | 0;
24
+ }
25
+ const index = Math.abs(hash) % FUNNY_NAMES.length;
26
+ return FUNNY_NAMES[index];
27
+ }
28
+ //# sourceMappingURL=names.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"names.js","sourceRoot":"","sources":["../../src/constants/names.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS;IAC/C,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO;IAC/C,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ;IAC/C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ;IAC9C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO;IAC5C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ;IAC1C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ;IAC3C,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ;IAC3C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IACzC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IACzC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO;IAC3C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO;CAC7C,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,SAAiB;IAC5C,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;IAClD,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { ZoneId } from '../types/zone.js';
2
+ /** Tool name -> icon mapping for speech bubbles */
3
+ export declare const TOOL_ICONS: Record<string, string>;
4
+ /** Maps canonical tool names to activity zones */
5
+ export declare const TOOL_ZONE_MAP: Record<string, ZoneId>;
6
+ /** Get the zone for a tool, defaulting to 'thinking' for unknown tools */
7
+ export declare function getZoneForTool(toolName: string): ZoneId;
8
+ /** Normalize an agent-specific tool name to the canonical form. */
9
+ export declare function normalizeToolName(name: string): string;
10
+ /**
11
+ * Normalize agent-specific tool input field names to snake_case.
12
+ * Called by each agent parser so activity-processor always receives snake_case.
13
+ */
14
+ export declare function normalizeToolInput(input: Record<string, unknown>): Record<string, unknown>;
15
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/constants/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,mDAAmD;AACnD,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAoB7C,CAAC;AAEF,kDAAkD;AAClD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA6ChD,CAAC;AAEF,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIvD;AAsBD,mEAAmE;AACnE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUzB"}
@@ -0,0 +1,120 @@
1
+ /** Tool name -> icon mapping for speech bubbles */
2
+ export const TOOL_ICONS = {
3
+ Read: '\u{1F4D6}', // open book
4
+ Write: '\u{270F}\uFE0F', // pencil
5
+ Edit: '\u{1F527}', // wrench
6
+ Patch: '\u{1F527}', // wrench (unified diff)
7
+ Bash: '\u{1F4BB}', // terminal
8
+ Glob: '\u{1F50D}', // search
9
+ Grep: '\u{1F50E}', // search right
10
+ WebSearch: '\u{1F310}', // globe
11
+ WebFetch: '\u{1F310}', // globe
12
+ Agent: '\u{1F916}', // robot
13
+ TeamCreate: '\u{1F465}', // people
14
+ SendMessage: '\u{1F4AC}', // speech
15
+ TaskCreate: '\u{1F4CB}', // clipboard
16
+ TaskUpdate: '\u{2705}', // check
17
+ TodoRead: '\u{1F4CB}', // clipboard
18
+ TodoWrite: '\u{2705}', // check
19
+ AskUserQuestion: '\u{2753}', // question
20
+ EnterPlanMode: '\u{1F4DD}', // memo
21
+ ExitPlanMode: '\u{1F4DD}', // memo
22
+ };
23
+ /** Maps canonical tool names to activity zones */
24
+ export const TOOL_ZONE_MAP = {
25
+ // Files zone
26
+ Read: 'files',
27
+ Write: 'files',
28
+ Edit: 'files',
29
+ Patch: 'files',
30
+ Glob: 'files',
31
+ NotebookEdit: 'files',
32
+ // Terminal zone
33
+ Bash: 'terminal',
34
+ // Search zone
35
+ Grep: 'search',
36
+ WebSearch: 'search',
37
+ // Web zone
38
+ WebFetch: 'web',
39
+ mcp__chrome_devtools__navigate_page: 'web',
40
+ mcp__chrome_devtools__click: 'web',
41
+ mcp__chrome_devtools__fill: 'web',
42
+ mcp__chrome_devtools__take_screenshot: 'web',
43
+ mcp__chrome_devtools__take_snapshot: 'web',
44
+ mcp__chrome_devtools__evaluate_script: 'web',
45
+ // Thinking zone
46
+ EnterPlanMode: 'thinking',
47
+ ExitPlanMode: 'thinking',
48
+ AskUserQuestion: 'thinking',
49
+ // Messaging zone
50
+ SendMessage: 'messaging',
51
+ // Tasks zone
52
+ TaskCreate: 'tasks',
53
+ TaskUpdate: 'tasks',
54
+ TaskList: 'tasks',
55
+ TaskGet: 'tasks',
56
+ TodoRead: 'tasks',
57
+ TodoWrite: 'tasks',
58
+ // Spawn zone
59
+ Agent: 'spawn',
60
+ TeamCreate: 'spawn',
61
+ TeamDelete: 'spawn',
62
+ };
63
+ /** Get the zone for a tool, defaulting to 'thinking' for unknown tools */
64
+ export function getZoneForTool(toolName) {
65
+ // Handle MCP tools with varying names — all route to web zone
66
+ if (toolName.startsWith('mcp__'))
67
+ return 'web';
68
+ return TOOL_ZONE_MAP[toolName] ?? 'thinking';
69
+ }
70
+ /**
71
+ * Agent-specific tool name → canonical PascalCase name.
72
+ * Each agent parser calls normalizeToolName() before emitting ParsedActivity,
73
+ * so the rest of the pipeline only ever sees canonical names.
74
+ */
75
+ const TOOL_NAME_MAP = {
76
+ // OpenCode lowercase → canonical PascalCase
77
+ read: 'Read',
78
+ write: 'Write',
79
+ edit: 'Edit',
80
+ patch: 'Patch',
81
+ glob: 'Glob',
82
+ bash: 'Bash',
83
+ grep: 'Grep',
84
+ websearch: 'WebSearch',
85
+ webfetch: 'WebFetch',
86
+ todoread: 'TodoRead',
87
+ todowrite: 'TodoWrite',
88
+ };
89
+ /** Normalize an agent-specific tool name to the canonical form. */
90
+ export function normalizeToolName(name) {
91
+ return TOOL_NAME_MAP[name] ?? name;
92
+ }
93
+ /**
94
+ * Normalize agent-specific tool input field names to snake_case.
95
+ * Called by each agent parser so activity-processor always receives snake_case.
96
+ */
97
+ export function normalizeToolInput(input) {
98
+ if (!('filePath' in input) && !('oldString' in input) && !('newString' in input) && !('replaceAll' in input)) {
99
+ return input;
100
+ }
101
+ const out = { ...input };
102
+ if ('filePath' in out) {
103
+ out.file_path = out.filePath;
104
+ delete out.filePath;
105
+ }
106
+ if ('oldString' in out) {
107
+ out.old_string = out.oldString;
108
+ delete out.oldString;
109
+ }
110
+ if ('newString' in out) {
111
+ out.new_string = out.newString;
112
+ delete out.newString;
113
+ }
114
+ if ('replaceAll' in out) {
115
+ out.replace_all = out.replaceAll;
116
+ delete out.replaceAll;
117
+ }
118
+ return out;
119
+ }
120
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/constants/tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { ZoneConfig } from '../types/zone.js';
2
+ /**
3
+ * Responsive bento-grid zone layout.
4
+ * Zones are defined by grid position (colStart/colSpan/rowStart/rowSpan)
5
+ * on a 12-column grid with 3 rows of varying weight.
6
+ *
7
+ * Layout:
8
+ * ┌─────────────┬──────────┬────────────┐
9
+ * │ Search │ Terminal │ Web │ Row 0 (weight 5)
10
+ * │ [col 0-4] │ [col 5-7]│ [col 8-11] │
11
+ * ├──────────┬───┴──────────┴──┬─────────┤
12
+ * │ Files │ Thinking │ Msgs │ Row 1 (weight 4)
13
+ * │ [col 0-3]│ [col 4-8] │[col 9-11]│
14
+ * ├────┬─────┴──────────┬──────┴─────────┤
15
+ * │Spwn│ Idle │ Tasks │ Row 2 (weight 3)
16
+ * │0-2 │ [col 3-7] │ [col 8-11] │
17
+ * └────┴────────────────┴────────────────┘
18
+ *
19
+ * x/y/width/height are computed by the LayoutEngine at runtime.
20
+ * The defaults below are fallback values for the original fixed layout.
21
+ */
22
+ export declare const GRID_COLS = 12;
23
+ export declare const ROW_WEIGHTS: number[];
24
+ export declare const ZONES: ZoneConfig[];
25
+ export declare const ZONE_MAP: Map<import("../index.js").ZoneId, ZoneConfig>;
26
+ export declare function setWorldSize(w: number, h: number): void;
27
+ export declare const WORLD_WIDTH_GETTER: {
28
+ readonly value: number;
29
+ };
30
+ export declare const WORLD_HEIGHT_GETTER: {
31
+ readonly value: number;
32
+ };
33
+ /** Legacy static exports — for backward compat in files that import them */
34
+ export declare let WORLD_WIDTH: number;
35
+ export declare let WORLD_HEIGHT: number;
36
+ export declare function updateWorldExports(w: number, h: number): void;
37
+ //# sourceMappingURL=zones.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zones.d.ts","sourceRoot":"","sources":["../../src/constants/zones.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B,eAAO,MAAM,WAAW,UAAY,CAAC;AAErC,eAAO,MAAM,KAAK,EAAE,UAAU,EAqF7B,CAAC;AAEF,eAAO,MAAM,QAAQ,+CAAuC,CAAC;AAM7D,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAGvD;AAED,eAAO,MAAM,kBAAkB;;CAA0C,CAAC;AAC1E,eAAO,MAAM,mBAAmB;;CAA2C,CAAC;AAE5E,4EAA4E;AAC5E,eAAO,IAAI,WAAW,QAAO,CAAC;AAC9B,eAAO,IAAI,YAAY,QAAM,CAAC;AAE9B,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAK7D"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * Responsive bento-grid zone layout.
3
+ * Zones are defined by grid position (colStart/colSpan/rowStart/rowSpan)
4
+ * on a 12-column grid with 3 rows of varying weight.
5
+ *
6
+ * Layout:
7
+ * ┌─────────────┬──────────┬────────────┐
8
+ * │ Search │ Terminal │ Web │ Row 0 (weight 5)
9
+ * │ [col 0-4] │ [col 5-7]│ [col 8-11] │
10
+ * ├──────────┬───┴──────────┴──┬─────────┤
11
+ * │ Files │ Thinking │ Msgs │ Row 1 (weight 4)
12
+ * │ [col 0-3]│ [col 4-8] │[col 9-11]│
13
+ * ├────┬─────┴──────────┬──────┴─────────┤
14
+ * │Spwn│ Idle │ Tasks │ Row 2 (weight 3)
15
+ * │0-2 │ [col 3-7] │ [col 8-11] │
16
+ * └────┴────────────────┴────────────────┘
17
+ *
18
+ * x/y/width/height are computed by the LayoutEngine at runtime.
19
+ * The defaults below are fallback values for the original fixed layout.
20
+ */
21
+ export const GRID_COLS = 12;
22
+ export const ROW_WEIGHTS = [5, 4, 3];
23
+ export const ZONES = [
24
+ // Row 0
25
+ {
26
+ id: 'search',
27
+ label: 'Search',
28
+ description: 'Grep, WebSearch — Research & lookup',
29
+ icon: '\u{1F4DA}',
30
+ color: 0xeab308,
31
+ colStart: 0, colSpan: 5, rowStart: 0, rowSpan: 1,
32
+ x: 0, y: 0, width: 0, height: 0,
33
+ },
34
+ {
35
+ id: 'terminal',
36
+ label: 'Terminal',
37
+ description: 'Bash commands — Server room',
38
+ icon: '\u{1F4BB}',
39
+ color: 0x22c55e,
40
+ colStart: 5, colSpan: 3, rowStart: 0, rowSpan: 1,
41
+ x: 0, y: 0, width: 0, height: 0,
42
+ },
43
+ {
44
+ id: 'web',
45
+ label: 'Web',
46
+ description: 'WebFetch, Browser — Network hub',
47
+ icon: '\u{1F310}',
48
+ color: 0x8b5cf6,
49
+ colStart: 8, colSpan: 4, rowStart: 0, rowSpan: 1,
50
+ x: 0, y: 0, width: 0, height: 0,
51
+ },
52
+ // Row 1
53
+ {
54
+ id: 'files',
55
+ label: 'Files',
56
+ description: 'Read, Write, Edit, Glob — File storage',
57
+ icon: '\u{1F4C1}',
58
+ color: 0x3b82f6,
59
+ colStart: 0, colSpan: 4, rowStart: 1, rowSpan: 1,
60
+ x: 0, y: 0, width: 0, height: 0,
61
+ },
62
+ {
63
+ id: 'thinking',
64
+ label: 'Thinking',
65
+ description: 'Planning, Questions — Conference area',
66
+ icon: '\u{1F4AD}',
67
+ color: 0xf97316,
68
+ colStart: 4, colSpan: 5, rowStart: 1, rowSpan: 1,
69
+ x: 0, y: 0, width: 0, height: 0,
70
+ },
71
+ {
72
+ id: 'messaging',
73
+ label: 'Messaging',
74
+ description: 'SendMessage, Teams — Chat & relax',
75
+ icon: '\u{1F4AC}',
76
+ color: 0xec4899,
77
+ colStart: 9, colSpan: 3, rowStart: 1, rowSpan: 1,
78
+ x: 0, y: 0, width: 0, height: 0,
79
+ },
80
+ // Row 2
81
+ {
82
+ id: 'spawn',
83
+ label: 'Spawn',
84
+ description: 'Agent spawn/despawn — Entry portal',
85
+ icon: '\u{1F300}',
86
+ color: 0xa855f7,
87
+ colStart: 0, colSpan: 3, rowStart: 2, rowSpan: 1,
88
+ x: 0, y: 0, width: 0, height: 0,
89
+ },
90
+ {
91
+ id: 'idle',
92
+ label: 'Idle',
93
+ description: 'Idle agents rest here — Kitchen & lounge',
94
+ icon: '\u{2615}',
95
+ color: 0x6b7280,
96
+ colStart: 3, colSpan: 5, rowStart: 2, rowSpan: 1,
97
+ x: 0, y: 0, width: 0, height: 0,
98
+ },
99
+ {
100
+ id: 'tasks',
101
+ label: 'Tasks',
102
+ description: 'TaskCreate, TaskUpdate — Kanban & planning',
103
+ icon: '\u{1F4CB}',
104
+ color: 0x14b8a6,
105
+ colStart: 8, colSpan: 4, rowStart: 2, rowSpan: 1,
106
+ x: 0, y: 0, width: 0, height: 0,
107
+ },
108
+ ];
109
+ export const ZONE_MAP = new Map(ZONES.map((z) => [z.id, z]));
110
+ /** Dynamic world dimensions — updated by LayoutEngine */
111
+ let _worldWidth = 1100;
112
+ let _worldHeight = 980;
113
+ export function setWorldSize(w, h) {
114
+ _worldWidth = w;
115
+ _worldHeight = h;
116
+ }
117
+ export const WORLD_WIDTH_GETTER = { get value() { return _worldWidth; } };
118
+ export const WORLD_HEIGHT_GETTER = { get value() { return _worldHeight; } };
119
+ /** Legacy static exports — for backward compat in files that import them */
120
+ export let WORLD_WIDTH = 1100;
121
+ export let WORLD_HEIGHT = 980;
122
+ export function updateWorldExports(w, h) {
123
+ WORLD_WIDTH = w;
124
+ WORLD_HEIGHT = h;
125
+ _worldWidth = w;
126
+ _worldHeight = h;
127
+ }
128
+ //# sourceMappingURL=zones.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zones.js","sourceRoot":"","sources":["../../src/constants/zones.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export type { JsonlMessage, AssistantMessage, ContentBlock, TextBlock, ThinkingBlock, ToolUseBlock, ToolResultBlock, TokenUsage } from './types/jsonl.js';
2
+ export type { AgentState, AgentRole, AgentPhase, AgentEvent, ActivityEntry } from './types/agent.js';
3
+ export type { ZoneId, ZoneConfig } from './types/zone.js';
4
+ export type { ServerMessage, ClientMessage, PingMessage, FullStateMessage, AgentSpawnMessage, AgentUpdateMessage, AgentIdleMessage, AgentShutdownMessage, AgentHistoryMessage, RequestHistoryMessage, TimelineEvent, TimelineSnapshotMessage, AnomalyAlertMessage, ToolChainSnapshotMessage, TaskGraphSnapshotMessage, RequestToolChainMessage, RequestTaskGraphMessage, PermissionRequestMessage, PermissionResolvedMessage, SessionPhaseMessage, HooksStatusMessage, PermissionApproveMessage, PermissionDenyMessage, PermissionApproveAlwaysMessage, TaskCompletedNotification } from './types/websocket.js';
5
+ export type { HookEventName, HookEvent, PermissionDecision, PermissionResponse, PendingPermission } from './types/hooks.js';
6
+ export type { AnomalyKind, AnomalyEvent, AnomalyConfig } from './types/anomaly.js';
7
+ export { DEFAULT_ANOMALY_CONFIG } from './types/anomaly.js';
8
+ export type { ToolTransition, ToolChainData } from './types/tool-chain.js';
9
+ export type { TaskStatus, TaskNode, TaskGraphData } from './types/task-graph.js';
10
+ export { TOOL_ZONE_MAP, getZoneForTool, TOOL_ICONS, normalizeToolName, normalizeToolInput } from './constants/tools.js';
11
+ export { ZONES, ZONE_MAP, WORLD_WIDTH, WORLD_HEIGHT, GRID_COLS, ROW_WEIGHTS, updateWorldExports } from './constants/zones.js';
12
+ export { AGENT_PALETTES, COLORS, MODEL_PRICING, DEFAULT_PRICING, getModelPricing, getContextWindow, computeAgentCost, getProjectColorIndex } from './constants/colors.js';
13
+ export type { AgentPalette, ModelPricing } from './constants/colors.js';
14
+ export { getFunnyName } from './constants/names.js';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1J,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACrG,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC1D,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,aAAa,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,8BAA8B,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAChlB,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC5H,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3E,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGjF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACxH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC9H,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC1K,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { DEFAULT_ANOMALY_CONFIG } from './types/anomaly.js';
2
+ // Constants
3
+ export { TOOL_ZONE_MAP, getZoneForTool, TOOL_ICONS, normalizeToolName, normalizeToolInput } from './constants/tools.js';
4
+ export { ZONES, ZONE_MAP, WORLD_WIDTH, WORLD_HEIGHT, GRID_COLS, ROW_WEIGHTS, updateWorldExports } from './constants/zones.js';
5
+ export { AGENT_PALETTES, COLORS, MODEL_PRICING, DEFAULT_PRICING, getModelPricing, getContextWindow, computeAgentCost, getProjectColorIndex } from './constants/colors.js';
6
+ export { getFunnyName } from './constants/names.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAI5D,YAAY;AACZ,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACxH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC9H,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE1K,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,85 @@
1
+ import type { ZoneId } from './zone.js';
2
+ export type AgentRole = 'main' | 'subagent' | 'team-lead' | 'team-member';
3
+ /** Precise session lifecycle phase (hook-sourced when available, inferred otherwise) */
4
+ export type AgentPhase = 'idle' | 'running' | 'compacting';
5
+ export interface AgentState {
6
+ id: string;
7
+ sessionId: string;
8
+ /** Root session ID — the top-level main agent's sessionId in this hierarchy.
9
+ * Used to scope all lookups so agents from different terminal sessions don't interact. */
10
+ rootSessionId: string;
11
+ projectPath: string;
12
+ projectName: string;
13
+ /** Logical team agent name (e.g., "alice", "bob") — used to merge multiple sessions into one agent */
14
+ agentName: string | null;
15
+ role: AgentRole;
16
+ parentId: string | null;
17
+ teamName: string | null;
18
+ currentZone: ZoneId;
19
+ currentTool: string | null;
20
+ currentActivity: string | null;
21
+ /** Name of the agent being messaged (for SendMessage flow visualization) */
22
+ messageTarget: string | null;
23
+ taskDescription: string | null;
24
+ speechText: string | null;
25
+ lastActivityAt: number;
26
+ spawnedAt: number;
27
+ isIdle: boolean;
28
+ /** Agent has been idle long enough to be considered finished/done */
29
+ isDone: boolean;
30
+ /** Agent is in planning mode (between EnterPlanMode and ExitPlanMode) */
31
+ isPlanning: boolean;
32
+ /** Agent is blocked waiting for user input (AskUserQuestion, permission confirmation) */
33
+ isWaitingForUser: boolean;
34
+ /** Precise lifecycle phase. Set by hook events when available; mirrors isIdle otherwise. */
35
+ phase: AgentPhase;
36
+ /** Result of the most recent tool execution (hook-sourced) */
37
+ lastToolOutcome: 'success' | 'failure' | null;
38
+ totalInputTokens: number;
39
+ totalOutputTokens: number;
40
+ cacheReadTokens: number;
41
+ cacheCreationTokens: number;
42
+ /** Total context fill for the most recent request: input_tokens + cache_read_input_tokens */
43
+ contextTokens: number;
44
+ /** Cache-read portion of contextTokens — how much of the context came from the prompt cache */
45
+ contextCacheTokens: number;
46
+ model: string | null;
47
+ colorIndex: number;
48
+ /** Total number of tool_use events processed (for leaderboard) */
49
+ toolUseCount: number;
50
+ /** Current git branch for the agent's project */
51
+ gitBranch: string | null;
52
+ /** Last N file paths touched by the agent */
53
+ recentFiles: string[];
54
+ /** Recent Edit diffs (newest first, max 10) */
55
+ recentDiffs: Array<{
56
+ filePath: string;
57
+ oldText: string;
58
+ newText: string;
59
+ timestamp: number;
60
+ }>;
61
+ }
62
+ export interface AgentEvent {
63
+ type: 'agent:spawn' | 'agent:update' | 'agent:idle' | 'agent:shutdown';
64
+ agent: AgentState;
65
+ timestamp: number;
66
+ }
67
+ /** A single activity entry in the agent's history feed */
68
+ export interface ActivityEntry {
69
+ timestamp: number;
70
+ kind: 'tool' | 'text' | 'zone-change' | 'idle' | 'spawn' | 'shutdown' | 'tokens';
71
+ zone?: ZoneId;
72
+ prevZone?: ZoneId;
73
+ tool?: string;
74
+ toolArgs?: string;
75
+ text?: string;
76
+ /** Diff data from Edit tool calls */
77
+ diff?: {
78
+ filePath: string;
79
+ oldText: string;
80
+ newText: string;
81
+ };
82
+ inputTokens?: number;
83
+ outputTokens?: number;
84
+ }
85
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ export type AnomalyKind = 'token-spike' | 'retry-loop' | 'stuck-agent';
2
+ export interface AnomalyEvent {
3
+ id: string;
4
+ agentId: string;
5
+ agentName: string;
6
+ kind: AnomalyKind;
7
+ message: string;
8
+ severity: 'warning' | 'critical';
9
+ timestamp: number;
10
+ details?: Record<string, unknown>;
11
+ }
12
+ export interface AnomalyConfig {
13
+ tokenVelocityThreshold: number;
14
+ retryLoopThreshold: number;
15
+ stuckTimeoutSeconds: number;
16
+ }
17
+ export declare const DEFAULT_ANOMALY_CONFIG: AnomalyConfig;
18
+ //# sourceMappingURL=anomaly.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anomaly.d.ts","sourceRoot":"","sources":["../../src/types/anomaly.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,YAAY,GAAG,aAAa,CAAC;AAEvE,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,SAAS,GAAG,UAAU,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,sBAAsB,EAAE,aAIpC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export const DEFAULT_ANOMALY_CONFIG = {
2
+ tokenVelocityThreshold: 100_000,
3
+ retryLoopThreshold: 5,
4
+ stuckTimeoutSeconds: 120,
5
+ };
6
+ //# sourceMappingURL=anomaly.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anomaly.js","sourceRoot":"","sources":["../../src/types/anomaly.ts"],"names":[],"mappings":"AAmBA,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,sBAAsB,EAAE,OAAO;IAC/B,kBAAkB,EAAE,CAAC;IACrB,mBAAmB,EAAE,GAAG;CACzB,CAAC"}
@@ -0,0 +1,51 @@
1
+ /** Claude Code Hook event names (all 17 types) */
2
+ export type HookEventName = 'SessionStart' | 'SessionEnd' | 'UserPromptSubmit' | 'PreToolUse' | 'PostToolUse' | 'PostToolUseFailure' | 'PermissionRequest' | 'Stop' | 'SubagentStart' | 'SubagentStop' | 'Notification' | 'PreCompact' | 'TaskCompleted' | 'TeammateIdle' | 'ConfigChange' | 'WorktreeCreate' | 'WorktreeRemove';
3
+ /** Raw hook event payload received from Claude Code via stdin → HTTP POST */
4
+ export interface HookEvent {
5
+ hook_event_name: HookEventName;
6
+ session_id: string;
7
+ cwd?: string;
8
+ permission_mode?: string;
9
+ tool_name?: string;
10
+ tool_input?: unknown;
11
+ tool_response?: unknown;
12
+ tool_use_id?: string;
13
+ message?: string;
14
+ title?: string;
15
+ notification_type?: string;
16
+ transcript_path?: string;
17
+ last_assistant_message?: string;
18
+ agent_id?: string;
19
+ agent_type?: string;
20
+ task_id?: string;
21
+ task_subject?: string;
22
+ permission_suggestions?: unknown[];
23
+ terminal_pid?: number;
24
+ shell_pid?: number;
25
+ }
26
+ /** Decision returned to Claude Code for a PermissionRequest hook */
27
+ export interface PermissionDecision {
28
+ behavior: 'allow' | 'deny';
29
+ /** Modified tool input (for AskUserQuestion answers, ExitPlanMode feedback, etc.) */
30
+ updatedInput?: unknown;
31
+ /** New permission rules to add (for "always allow" flows) */
32
+ updatedPermissions?: unknown[];
33
+ }
34
+ /** JSON response body for a PermissionRequest hook */
35
+ export interface PermissionResponse {
36
+ hookSpecificOutput: {
37
+ hookEventName: 'PermissionRequest';
38
+ decision: PermissionDecision;
39
+ };
40
+ }
41
+ /** A pending permission request waiting for user resolution */
42
+ export interface PendingPermission {
43
+ permissionId: string;
44
+ sessionId: string;
45
+ toolName: string;
46
+ toolInput: unknown;
47
+ toolUseId: string;
48
+ permissionSuggestions?: unknown[];
49
+ timestamp: number;
50
+ }
51
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/types/hooks.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,MAAM,MAAM,aAAa,GACrB,cAAc,GACd,YAAY,GACZ,kBAAkB,GAClB,YAAY,GACZ,aAAa,GACb,oBAAoB,GACpB,mBAAmB,GACnB,MAAM,GACN,eAAe,GACf,cAAc,GACd,cAAc,GACd,YAAY,GACZ,eAAe,GACf,cAAc,GACd,cAAc,GACd,gBAAgB,GAChB,gBAAgB,CAAC;AAErB,6EAA6E;AAC7E,MAAM,WAAW,SAAS;IACxB,eAAe,EAAE,aAAa,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB,CAAC,EAAE,OAAO,EAAE,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,oEAAoE;AACpE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,qFAAqF;IACrF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6DAA6D;IAC7D,kBAAkB,CAAC,EAAE,OAAO,EAAE,CAAC;CAChC;AAED,sDAAsD;AACtD,MAAM,WAAW,kBAAkB;IACjC,kBAAkB,EAAE;QAClB,aAAa,EAAE,mBAAmB,CAAC;QACnC,QAAQ,EAAE,kBAAkB,CAAC;KAC9B,CAAC;CACH;AAED,+DAA+D;AAC/D,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB,CAAC,EAAE,OAAO,EAAE,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/types/hooks.ts"],"names":[],"mappings":""}