autodev-cli 1.4.132 → 1.4.134

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 (265) hide show
  1. package/media/profile/00c-verifiable-threads.md +78 -0
  2. package/media/profile/00d-turn-end-retrospective.md +61 -0
  3. package/media/profile/00e-long-horizon-planning.md +83 -0
  4. package/media/profile/00f-swarm-orchestration.md +101 -0
  5. package/media/profile/00g-swarm-living-documents.md +76 -0
  6. package/out/commands/office.js +4 -0
  7. package/out/commands/office.js.map +1 -1
  8. package/out/commands/start.js +1 -1
  9. package/out/commands/start.js.map +1 -1
  10. package/out/core/claudeUsage.d.ts +1 -26
  11. package/out/core/claudeUsage.js +15 -91
  12. package/out/core/claudeUsage.js.map +1 -1
  13. package/out/core/modelInfo.d.ts +1 -28
  14. package/out/core/modelInfo.js +15 -94
  15. package/out/core/modelInfo.js.map +1 -1
  16. package/out/core/provider/BaseProvider.d.ts +1 -14
  17. package/out/core/provider/BaseProvider.js +15 -22
  18. package/out/core/provider/BaseProvider.js.map +1 -1
  19. package/out/core/provider/ProviderRegistry.d.ts +1 -12
  20. package/out/core/provider/ProviderRegistry.js +15 -38
  21. package/out/core/provider/ProviderRegistry.js.map +1 -1
  22. package/out/core/provider/contract.d.ts +1 -62
  23. package/out/core/provider/contract.js +15 -6
  24. package/out/core/provider/contract.js.map +1 -1
  25. package/out/core/provider/implementations.d.ts +1 -65
  26. package/out/core/provider/implementations.js +4 -169
  27. package/out/core/provider/implementations.js.map +1 -1
  28. package/out/dispatcher.js +7 -0
  29. package/out/dispatcher.js.map +1 -1
  30. package/out/hookEventNormalizer.d.ts +1 -33
  31. package/out/hookEventNormalizer.js +15 -424
  32. package/out/hookEventNormalizer.js.map +1 -1
  33. package/out/profileBuilder.js +41 -0
  34. package/out/profileBuilder.js.map +1 -1
  35. package/out/providers/base/BaseProvider.d.ts +14 -0
  36. package/out/providers/base/BaseProvider.js +25 -0
  37. package/out/providers/base/BaseProvider.js.map +1 -0
  38. package/out/providers/base/ProviderEvents.d.ts +12 -0
  39. package/out/providers/base/ProviderEvents.js +81 -0
  40. package/out/providers/base/ProviderEvents.js.map +1 -0
  41. package/out/providers/base/ProviderManager.d.ts +25 -0
  42. package/out/providers/base/ProviderManager.js +22 -0
  43. package/out/providers/base/ProviderManager.js.map +1 -0
  44. package/out/providers/base/ProviderModels.d.ts +28 -0
  45. package/out/providers/base/ProviderModels.js +89 -0
  46. package/out/providers/base/ProviderModels.js.map +1 -0
  47. package/out/providers/base/ProviderNormalizer.d.ts +42 -0
  48. package/out/providers/base/ProviderNormalizer.js +439 -0
  49. package/out/providers/base/ProviderNormalizer.js.map +1 -0
  50. package/out/providers/base/ProviderRegistry.d.ts +12 -0
  51. package/out/providers/base/ProviderRegistry.js +42 -0
  52. package/out/providers/base/ProviderRegistry.js.map +1 -0
  53. package/out/providers/base/ProviderSessions.d.ts +15 -0
  54. package/out/providers/base/ProviderSessions.js +15 -0
  55. package/out/providers/base/ProviderSessions.js.map +1 -0
  56. package/out/providers/base/ProviderState.d.ts +9 -0
  57. package/out/providers/base/ProviderState.js +16 -0
  58. package/out/providers/base/ProviderState.js.map +1 -0
  59. package/out/providers/base/ProviderUsage.d.ts +12 -0
  60. package/out/providers/base/ProviderUsage.js +33 -0
  61. package/out/providers/base/ProviderUsage.js.map +1 -0
  62. package/out/providers/base/contract.d.ts +62 -0
  63. package/out/providers/base/contract.js +9 -0
  64. package/out/providers/base/contract.js.map +1 -0
  65. package/out/providers/base/factories.d.ts +64 -0
  66. package/out/providers/base/factories.js +265 -0
  67. package/out/providers/base/factories.js.map +1 -0
  68. package/out/providers/base/implementations.d.ts +5 -0
  69. package/out/providers/base/implementations.js +23 -0
  70. package/out/providers/base/implementations.js.map +1 -0
  71. package/out/providers/base/index.d.ts +13 -0
  72. package/out/providers/base/index.js +29 -0
  73. package/out/providers/base/index.js.map +1 -0
  74. package/out/providers/base/types.d.ts +30 -0
  75. package/out/providers/base/types.js +8 -0
  76. package/out/providers/base/types.js.map +1 -0
  77. package/out/providers/claude/ProviderEvents.d.ts +5 -0
  78. package/out/providers/claude/ProviderEvents.js +18 -0
  79. package/out/providers/claude/ProviderEvents.js.map +1 -0
  80. package/out/providers/claude/ProviderManager.d.ts +39 -0
  81. package/out/providers/claude/ProviderManager.js +50 -0
  82. package/out/providers/claude/ProviderManager.js.map +1 -0
  83. package/out/providers/claude/ProviderModels.d.ts +8 -0
  84. package/out/providers/claude/ProviderModels.js +23 -0
  85. package/out/providers/claude/ProviderModels.js.map +1 -0
  86. package/out/providers/claude/ProviderNormalizer.d.ts +5 -0
  87. package/out/providers/claude/ProviderNormalizer.js +10 -0
  88. package/out/providers/claude/ProviderNormalizer.js.map +1 -0
  89. package/out/providers/claude/ProviderSessions.d.ts +14 -0
  90. package/out/providers/claude/ProviderSessions.js +35 -0
  91. package/out/providers/claude/ProviderSessions.js.map +1 -0
  92. package/out/providers/claude/ProviderState.d.ts +13 -0
  93. package/out/providers/claude/ProviderState.js +19 -0
  94. package/out/providers/claude/ProviderState.js.map +1 -0
  95. package/out/providers/claude/ProviderUsage.d.ts +13 -0
  96. package/out/providers/claude/ProviderUsage.js +59 -0
  97. package/out/providers/claude/ProviderUsage.js.map +1 -0
  98. package/out/providers/claude/cli.d.ts +95 -0
  99. package/out/providers/claude/cli.js +674 -0
  100. package/out/providers/claude/cli.js.map +1 -0
  101. package/out/providers/claude/index.d.ts +9 -0
  102. package/out/providers/claude/index.js +26 -0
  103. package/out/providers/claude/index.js.map +1 -0
  104. package/out/providers/claude/tui.d.ts +38 -0
  105. package/out/providers/claude/tui.js +346 -0
  106. package/out/providers/claude/tui.js.map +1 -0
  107. package/out/providers/claudeCliProvider.d.ts +1 -95
  108. package/out/providers/claudeCliProvider.js +4 -660
  109. package/out/providers/claudeCliProvider.js.map +1 -1
  110. package/out/providers/claudeTuiProvider.d.ts +1 -38
  111. package/out/providers/claudeTuiProvider.js +4 -332
  112. package/out/providers/claudeTuiProvider.js.map +1 -1
  113. package/out/providers/copilot/ProviderEvents.d.ts +6 -0
  114. package/out/providers/copilot/ProviderEvents.js +18 -0
  115. package/out/providers/copilot/ProviderEvents.js.map +1 -0
  116. package/out/providers/copilot/ProviderManager.d.ts +39 -0
  117. package/out/providers/copilot/ProviderManager.js +98 -0
  118. package/out/providers/copilot/ProviderManager.js.map +1 -0
  119. package/out/providers/copilot/ProviderModels.d.ts +7 -0
  120. package/out/providers/copilot/ProviderModels.js +18 -0
  121. package/out/providers/copilot/ProviderModels.js.map +1 -0
  122. package/out/providers/copilot/ProviderNormalizer.d.ts +5 -0
  123. package/out/providers/copilot/ProviderNormalizer.js +10 -0
  124. package/out/providers/copilot/ProviderNormalizer.js.map +1 -0
  125. package/out/providers/copilot/ProviderSessions.d.ts +12 -0
  126. package/out/providers/copilot/ProviderSessions.js +39 -0
  127. package/out/providers/copilot/ProviderSessions.js.map +1 -0
  128. package/out/providers/copilot/ProviderState.d.ts +11 -0
  129. package/out/providers/copilot/ProviderState.js +17 -0
  130. package/out/providers/copilot/ProviderState.js.map +1 -0
  131. package/out/providers/copilot/ProviderUsage.d.ts +12 -0
  132. package/out/providers/copilot/ProviderUsage.js +41 -0
  133. package/out/providers/copilot/ProviderUsage.js.map +1 -0
  134. package/out/providers/copilot/cli.d.ts +16 -0
  135. package/out/providers/copilot/cli.js +52 -0
  136. package/out/providers/copilot/cli.js.map +1 -0
  137. package/out/providers/copilot/index.d.ts +10 -0
  138. package/out/providers/copilot/index.js +27 -0
  139. package/out/providers/copilot/index.js.map +1 -0
  140. package/out/providers/copilot/sdk.d.ts +22 -0
  141. package/out/providers/copilot/sdk.js +489 -0
  142. package/out/providers/copilot/sdk.js.map +1 -0
  143. package/out/providers/copilot/sessions.d.ts +25 -0
  144. package/out/providers/copilot/sessions.js +214 -0
  145. package/out/providers/copilot/sessions.js.map +1 -0
  146. package/out/providers/copilotCliProvider.d.ts +1 -16
  147. package/out/providers/copilotCliProvider.js +15 -49
  148. package/out/providers/copilotCliProvider.js.map +1 -1
  149. package/out/providers/copilotSdkProvider.d.ts +1 -22
  150. package/out/providers/copilotSdkProvider.js +4 -475
  151. package/out/providers/copilotSdkProvider.js.map +1 -1
  152. package/out/providers/copilotSessions.d.ts +1 -25
  153. package/out/providers/copilotSessions.js +4 -200
  154. package/out/providers/copilotSessions.js.map +1 -1
  155. package/out/providers/dummy/ProviderEvents.d.ts +5 -0
  156. package/out/providers/dummy/ProviderEvents.js +16 -0
  157. package/out/providers/dummy/ProviderEvents.js.map +1 -0
  158. package/out/providers/dummy/ProviderManager.d.ts +31 -0
  159. package/out/providers/dummy/ProviderManager.js +115 -0
  160. package/out/providers/dummy/ProviderManager.js.map +1 -0
  161. package/out/providers/dummy/ProviderModels.d.ts +7 -0
  162. package/out/providers/dummy/ProviderModels.js +15 -0
  163. package/out/providers/dummy/ProviderModels.js.map +1 -0
  164. package/out/providers/dummy/ProviderNormalizer.d.ts +4 -0
  165. package/out/providers/dummy/ProviderNormalizer.js +9 -0
  166. package/out/providers/dummy/ProviderNormalizer.js.map +1 -0
  167. package/out/providers/dummy/ProviderSessions.d.ts +12 -0
  168. package/out/providers/dummy/ProviderSessions.js +105 -0
  169. package/out/providers/dummy/ProviderSessions.js.map +1 -0
  170. package/out/providers/dummy/ProviderState.d.ts +12 -0
  171. package/out/providers/dummy/ProviderState.js +23 -0
  172. package/out/providers/dummy/ProviderState.js.map +1 -0
  173. package/out/providers/dummy/ProviderUsage.d.ts +9 -0
  174. package/out/providers/dummy/ProviderUsage.js +27 -0
  175. package/out/providers/dummy/ProviderUsage.js.map +1 -0
  176. package/out/providers/dummy/commands.d.ts +9 -0
  177. package/out/providers/dummy/commands.js +48 -0
  178. package/out/providers/dummy/commands.js.map +1 -0
  179. package/out/providers/dummy/index.d.ts +10 -0
  180. package/out/providers/dummy/index.js +27 -0
  181. package/out/providers/dummy/index.js.map +1 -0
  182. package/out/providers/dummy/office.d.ts +23 -0
  183. package/out/providers/dummy/office.js +66 -0
  184. package/out/providers/dummy/office.js.map +1 -0
  185. package/out/providers/dummy/traces.d.ts +8 -0
  186. package/out/providers/dummy/traces.js +174 -0
  187. package/out/providers/dummy/traces.js.map +1 -0
  188. package/out/providers/grok/ProviderEvents.d.ts +6 -0
  189. package/out/providers/grok/ProviderEvents.js +17 -0
  190. package/out/providers/grok/ProviderEvents.js.map +1 -0
  191. package/out/providers/grok/ProviderManager.d.ts +42 -0
  192. package/out/providers/grok/ProviderManager.js +48 -0
  193. package/out/providers/grok/ProviderManager.js.map +1 -0
  194. package/out/providers/grok/ProviderModels.d.ts +7 -0
  195. package/out/providers/grok/ProviderModels.js +16 -0
  196. package/out/providers/grok/ProviderModels.js.map +1 -0
  197. package/out/providers/grok/ProviderNormalizer.d.ts +5 -0
  198. package/out/providers/grok/ProviderNormalizer.js +10 -0
  199. package/out/providers/grok/ProviderNormalizer.js.map +1 -0
  200. package/out/providers/grok/ProviderSessions.d.ts +12 -0
  201. package/out/providers/grok/ProviderSessions.js +27 -0
  202. package/out/providers/grok/ProviderSessions.js.map +1 -0
  203. package/out/providers/grok/ProviderState.d.ts +10 -0
  204. package/out/providers/grok/ProviderState.js +15 -0
  205. package/out/providers/grok/ProviderState.js.map +1 -0
  206. package/out/providers/grok/ProviderUsage.d.ts +7 -0
  207. package/out/providers/grok/ProviderUsage.js +20 -0
  208. package/out/providers/grok/ProviderUsage.js.map +1 -0
  209. package/out/providers/grok/index.d.ts +9 -0
  210. package/out/providers/grok/index.js +26 -0
  211. package/out/providers/grok/index.js.map +1 -0
  212. package/out/providers/grok/sessions.d.ts +27 -0
  213. package/out/providers/grok/sessions.js +246 -0
  214. package/out/providers/grok/sessions.js.map +1 -0
  215. package/out/providers/grok/tui.d.ts +38 -0
  216. package/out/providers/grok/tui.js +1630 -0
  217. package/out/providers/grok/tui.js.map +1 -0
  218. package/out/providers/grokSessions.d.ts +1 -27
  219. package/out/providers/grokSessions.js +4 -232
  220. package/out/providers/grokSessions.js.map +1 -1
  221. package/out/providers/grokTuiProvider.d.ts +1 -38
  222. package/out/providers/grokTuiProvider.js +4 -1616
  223. package/out/providers/grokTuiProvider.js.map +1 -1
  224. package/out/providers/opencode/ProviderEvents.d.ts +6 -0
  225. package/out/providers/opencode/ProviderEvents.js +18 -0
  226. package/out/providers/opencode/ProviderEvents.js.map +1 -0
  227. package/out/providers/opencode/ProviderManager.d.ts +39 -0
  228. package/out/providers/opencode/ProviderManager.js +90 -0
  229. package/out/providers/opencode/ProviderManager.js.map +1 -0
  230. package/out/providers/opencode/ProviderModels.d.ts +7 -0
  231. package/out/providers/opencode/ProviderModels.js +17 -0
  232. package/out/providers/opencode/ProviderModels.js.map +1 -0
  233. package/out/providers/opencode/ProviderNormalizer.d.ts +5 -0
  234. package/out/providers/opencode/ProviderNormalizer.js +10 -0
  235. package/out/providers/opencode/ProviderNormalizer.js.map +1 -0
  236. package/out/providers/opencode/ProviderSessions.d.ts +11 -0
  237. package/out/providers/opencode/ProviderSessions.js +28 -0
  238. package/out/providers/opencode/ProviderSessions.js.map +1 -0
  239. package/out/providers/opencode/ProviderState.d.ts +14 -0
  240. package/out/providers/opencode/ProviderState.js +20 -0
  241. package/out/providers/opencode/ProviderState.js.map +1 -0
  242. package/out/providers/opencode/ProviderUsage.d.ts +7 -0
  243. package/out/providers/opencode/ProviderUsage.js +20 -0
  244. package/out/providers/opencode/ProviderUsage.js.map +1 -0
  245. package/out/providers/opencode/cli.d.ts +29 -0
  246. package/out/providers/opencode/cli.js +199 -0
  247. package/out/providers/opencode/cli.js.map +1 -0
  248. package/out/providers/opencode/index.d.ts +9 -0
  249. package/out/providers/opencode/index.js +26 -0
  250. package/out/providers/opencode/index.js.map +1 -0
  251. package/out/providers/opencode/sdk.d.ts +32 -0
  252. package/out/providers/opencode/sdk.js +610 -0
  253. package/out/providers/opencode/sdk.js.map +1 -0
  254. package/out/providers/opencodeCliProvider.d.ts +1 -29
  255. package/out/providers/opencodeCliProvider.js +15 -196
  256. package/out/providers/opencodeCliProvider.js.map +1 -1
  257. package/out/providers/opencodeSdkProvider.d.ts +1 -32
  258. package/out/providers/opencodeSdkProvider.js +4 -596
  259. package/out/providers/opencodeSdkProvider.js.map +1 -1
  260. package/out/providers.d.ts +1 -1
  261. package/out/providers.js +5 -0
  262. package/out/providers.js.map +1 -1
  263. package/out/sdk/index.js +5 -0
  264. package/out/sdk/index.js.map +1 -1
  265. package/package.json +2 -2
@@ -1,427 +1,18 @@
1
1
  "use strict";
2
- // ---------------------------------------------------------------------------
3
- // hookEventNormalizer converts raw events from any supported provider into
4
- // the unified hook-event schema written to .autodev/hooks-events.jsonl.
5
- //
6
- // Unified schema (same as Claude/Copilot CLI hook scripts):
7
- // hook_event_name — PascalCase event name (required)
8
- // provider — source provider string (required)
9
- // tool_name — name of tool involved (optional)
10
- // tool_input — tool arguments (optional)
11
- // tool_output — { text: string } (optional)
12
- // success — boolean (optional)
13
- // session_id — session / call ID (optional)
14
- // message — free-form text (optional)
15
- // timestamp — ISO-8601 (added here) (required)
16
- //
17
- // Usage:
18
- // import { normalizeEvent } from './hookEventNormalizer';
19
- // const hookEv = normalizeEvent('copilot-sdk', rawSdkEvent);
20
- // if (hookEv) fs.appendFileSync(jsonlPath, JSON.stringify(hookEv) + '\n');
21
- // ---------------------------------------------------------------------------
22
- Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.eventTypeFor = eventTypeFor;
24
- exports.normalizeEvent = normalizeEvent;
25
- exports.appendHookEvent = appendHookEvent;
26
- // ---------------------------------------------------------------------------
27
- // Helpers
28
- // ---------------------------------------------------------------------------
29
- function safeStr(v) {
30
- if (v == null) {
31
- return null;
32
- }
33
- if (typeof v === 'string') {
34
- return v;
35
- }
36
- try {
37
- return JSON.stringify(v);
38
- }
39
- catch {
40
- return String(v);
41
- }
42
- }
43
- function safeObj(v) {
44
- if (v == null) {
45
- return null;
46
- }
47
- try {
48
- return JSON.parse(JSON.stringify(v));
49
- }
50
- catch {
51
- return String(v);
52
- }
53
- }
54
- function textOut(v, maxLen = 400) {
55
- if (v == null) {
56
- return null;
57
- }
58
- const s = typeof v === 'string' ? v : safeStr(v) ?? '';
59
- return s.length > 0 ? { text: s.slice(0, maxLen) } : null;
60
- }
61
- // ---------------------------------------------------------------------------
62
- // Provider: 'copilot-sdk'
63
- //
64
- // Raw event shape: { type: string; data?: Record<string, unknown>; ephemeral?: boolean }
65
- // Caller should only pass non-ephemeral events.
66
- // toolCallId → toolName: populated by tool.execution_start, consumed by
67
- // tool.execution_complete so we can resolve the tool name even when the SDK
68
- // doesn't repeat it in the completion payload. Auto-pruned after 500 entries.
69
- const _toolCallNames = new Map();
70
- // toolCallId → intentionSummary: populated by assistant.message (toolRequests),
71
- // consumed by tool.execution_start so PreToolUse carries the agent's stated reasoning.
72
- const _toolCallIntentions = new Map();
73
- // ---------------------------------------------------------------------------
74
- function normalizeCopilotSdk(raw, provider) {
75
- const type = raw['type'];
76
- if (!type) {
77
- return null;
78
- }
79
- const d = raw['data'] ?? {};
80
- const toolName = (d['toolName'] ?? d['name'] ?? d['toolId']);
81
- // Safe-serialise the raw data payload so pixel-office has all available fields.
82
- const rawData = safeObj(d);
83
- // Base event: include safe raw data so nothing is lost, then let mapped
84
- // fields below override / supplement.
85
- const base = {
86
- sdk_type: type,
87
- data: rawData,
88
- };
89
- switch (type) {
90
- case 'tool.execution_start': {
91
- const callId = safeStr(d['toolCallId']);
92
- if (callId && toolName) {
93
- if (_toolCallNames.size > 500) {
94
- _toolCallNames.clear();
95
- }
96
- _toolCallNames.set(callId, toolName);
97
- }
98
- // Look up reasoning from the preceding assistant.message toolRequests
99
- const reasoning = callId ? (_toolCallIntentions.get(callId) ?? null) : null;
100
- if (callId) {
101
- _toolCallIntentions.delete(callId);
102
- }
103
- return {
104
- ...base,
105
- hook_event_name: 'PreToolUse',
106
- provider,
107
- tool_name: toolName ?? 'unknown',
108
- tool_input: safeObj(d['arguments']),
109
- session_id: callId,
110
- reasoning,
111
- };
112
- }
113
- case 'tool.execution_complete': {
114
- const success = d['success'];
115
- const result = d['result'];
116
- const err = d['error'];
117
- const outRaw = success === false
118
- ? (err?.['message'])
119
- : (result?.['content'] ?? result?.['detailedContent']);
120
- // tool name: prefer explicit field, then the start-event cache by toolCallId,
121
- // then telemetry properties.command (present on failures), else 'unknown'.
122
- const callId2 = safeStr(d['toolCallId']);
123
- const telemetry = d['toolTelemetry'];
124
- const telProps = telemetry?.['properties'];
125
- const resolvedToolName = toolName
126
- ?? (callId2 ? _toolCallNames.get(callId2) : undefined)
127
- ?? safeStr(telProps?.['command'])
128
- ?? 'unknown';
129
- if (callId2) {
130
- _toolCallNames.delete(callId2);
131
- } // clean up
132
- // Parse file paths (JSON string in restrictedProperties.filePaths)
133
- const telRestricted = telemetry?.['restrictedProperties'];
134
- const fpRaw = telRestricted?.['filePaths'];
135
- let filePaths = null;
136
- if (typeof fpRaw === 'string') {
137
- try {
138
- const parsed = JSON.parse(fpRaw);
139
- if (Array.isArray(parsed)) {
140
- filePaths = parsed.filter((x) => typeof x === 'string');
141
- }
142
- }
143
- catch { /* ignore */ }
144
- }
145
- else if (Array.isArray(fpRaw)) {
146
- filePaths = fpRaw.filter((x) => typeof x === 'string');
147
- }
148
- // Lines added/removed from telemetry metrics
149
- const telMetrics = telemetry?.['metrics'];
150
- const linesAdded = typeof telMetrics?.['linesAdded'] === 'number' ? telMetrics['linesAdded'] : null;
151
- const linesRemoved = typeof telMetrics?.['linesRemoved'] === 'number' ? telMetrics['linesRemoved'] : null;
152
- return {
153
- ...base,
154
- hook_event_name: success === false ? 'PostToolUseFailure' : 'PostToolUse',
155
- provider,
156
- tool_name: resolvedToolName,
157
- tool_output: textOut(outRaw),
158
- success: success ?? true,
159
- session_id: safeStr(d['toolCallId']),
160
- model: safeStr(d['model']),
161
- interaction_id: safeStr(d['interactionId']),
162
- file_paths: filePaths,
163
- lines_added: linesAdded,
164
- lines_removed: linesRemoved,
165
- };
166
- }
167
- case 'subagent.started':
168
- return {
169
- ...base,
170
- hook_event_name: 'SubagentStart',
171
- provider,
172
- message: safeStr(d['agentDisplayName'] ?? d['agentName']),
173
- session_id: safeStr(d['toolCallId']),
174
- };
175
- case 'assistant.message': {
176
- const content = d['content'];
177
- const tools = d['toolRequests'];
178
- const outputTokens = typeof d['outputTokens'] === 'number' ? d['outputTokens'] : null;
179
- const interactionId = safeStr(d['interactionId']);
180
- if ((!content || content.length === 0) && (!tools || tools.length === 0)) {
181
- return null;
182
- }
183
- // Store intentionSummary per toolCallId so PreToolUse can carry reasoning
184
- if (tools && tools.length > 0) {
185
- for (const t of tools) {
186
- const cid = safeStr(t['toolCallId']);
187
- const intention = safeStr(t['intentionSummary']);
188
- if (cid && intention) {
189
- if (_toolCallIntentions.size > 500) {
190
- _toolCallIntentions.clear();
191
- }
192
- _toolCallIntentions.set(cid, intention);
193
- }
194
- }
195
- }
196
- // Build message: prefer content text; fall back to intention summaries; then count
197
- let summary;
198
- if (content && content.length > 0) {
199
- summary = content.slice(0, 400);
200
- }
201
- else if (tools && tools.length > 0) {
202
- const intentions = tools
203
- .map(t => safeStr(t['intentionSummary']))
204
- .filter((s) => s !== null && s.length > 0)
205
- .join(' | ');
206
- summary = intentions || `[${tools.length} tool call(s)]`;
207
- }
208
- else {
209
- summary = '[empty message]';
210
- }
211
- return {
212
- ...base,
213
- hook_event_name: 'AgentMessage',
214
- provider,
215
- message: summary,
216
- session_id: safeStr(d['messageId'] ?? d['interactionId']),
217
- interaction_id: interactionId,
218
- output_tokens: outputTokens,
219
- };
220
- }
221
- case 'session.task_complete':
222
- return {
223
- ...base,
224
- hook_event_name: 'Stop',
225
- provider,
226
- message: safeStr(d['summary']),
227
- };
228
- case 'user.message':
229
- return {
230
- ...base,
231
- hook_event_name: 'UserPromptSubmit',
232
- provider,
233
- message: safeStr(d['content']),
234
- session_id: safeStr(d['messageId']),
235
- };
236
- case 'assistant.turn_start':
237
- return { ...base, hook_event_name: 'TurnStart', provider, interaction_id: safeStr(d['interactionId']) };
238
- case 'assistant.turn_end':
239
- return { ...base, hook_event_name: 'TurnEnd', provider };
240
- case 'permission.requested':
241
- return {
242
- ...base,
243
- hook_event_name: 'PermissionRequest',
244
- provider,
245
- message: safeStr(d['permissionRequest']),
246
- session_id: safeStr(d['requestId']),
247
- };
248
- default:
249
- return null; // unknown / uninteresting event
250
- }
251
- }
252
- // ---------------------------------------------------------------------------
253
- // Provider: 'opencode-sdk'
254
- //
255
- // Raw event shape: the outer SSE envelope; relevant data in payload.properties.
256
- // ---------------------------------------------------------------------------
257
- function normalizeOpencodeSDK(raw, provider) {
258
- const payload = (raw['payload'] ?? raw);
259
- const type = payload['type'];
260
- const props = payload['properties'];
261
- if (!type) {
262
- return null;
263
- }
264
- const toolName = (props?.['toolID'] ?? props?.['name'] ?? props?.['tool']);
265
- const sessionId = safeStr(props?.['sessionID'] ?? props?.['session_id']);
266
- switch (type) {
267
- case 'tool.execute.before':
268
- return {
269
- hook_event_name: 'PreToolUse',
270
- provider,
271
- tool_name: toolName ?? 'unknown',
272
- tool_input: safeObj(props?.['args'] ?? props?.['input']),
273
- session_id: sessionId,
274
- };
275
- case 'tool.execute.after': {
276
- const rawOut = props?.['output'] ?? props?.['result'] ?? props?.['text'];
277
- return {
278
- hook_event_name: 'PostToolUse',
279
- provider,
280
- tool_name: toolName ?? 'unknown',
281
- tool_input: safeObj(props?.['args'] ?? props?.['input']),
282
- tool_output: textOut(rawOut),
283
- session_id: sessionId,
284
- };
285
- }
286
- case 'permission.updated': {
287
- const permTitle = safeStr(props?.['title']);
288
- return {
289
- hook_event_name: 'PermissionReplied',
290
- provider,
291
- message: permTitle,
292
- session_id: sessionId,
293
- };
294
- }
295
- case 'session.compacted':
296
- return {
297
- hook_event_name: 'PostCompact',
298
- provider,
299
- session_id: sessionId,
300
- };
301
- case 'session.idle': {
302
- // Optional _assistantText injected by opencodeSdkProvider for flush
303
- const assistantText = props?.['_assistantText'];
304
- if (assistantText) {
305
- return {
306
- hook_event_name: 'AgentMessage',
307
- provider,
308
- message: assistantText,
309
- session_id: sessionId,
310
- };
311
- }
312
- return {
313
- hook_event_name: 'Stop',
314
- provider,
315
- session_id: sessionId,
316
- };
317
- }
318
- case 'session.error':
319
- return {
320
- hook_event_name: 'StopFailure',
321
- provider,
322
- message: safeStr(props?.['error'] ?? props?.['message']),
323
- session_id: sessionId,
324
- };
325
- case 'message.part.delta':
326
- return null; // streamed text — not forwarded
327
- default:
328
- return null;
329
- }
330
- }
331
- // ---------------------------------------------------------------------------
332
- // Provider: 'claude-cli' / 'copilot-cli'
333
- //
334
- // Raw event = the JSON that was already written by the hook script.
335
- // It already has hook_event_name + provider; we just ensure timestamp + schema.
336
- // ---------------------------------------------------------------------------
337
- function normalizeCliHook(raw, provider) {
338
- const hookName = raw['hook_event_name'] ?? raw['hook'];
339
- if (!hookName) {
340
- return null;
341
- }
342
- return {
343
- ...raw,
344
- hook_event_name: hookName,
345
- provider: raw['provider'] ?? provider,
346
- tool_name: raw['tool_name'] ?? raw['tool'],
347
- session_id: safeStr(raw['session_id'] ?? raw['sessionId']),
348
- message: safeStr(raw['message'] ?? raw['summary']),
349
- };
350
- }
351
- // ---------------------------------------------------------------------------
352
- // Public API
353
- // ---------------------------------------------------------------------------
354
- /**
355
- * Normalize a raw provider event into the unified HookEvent schema.
356
- *
357
- * @param provider One of: 'copilot-sdk' | 'opencode-sdk' | 'claude-cli' |
358
- * 'copilot-cli' | or any string for pass-through.
359
- * @param raw The raw event object from the provider.
360
- * @returns A HookEvent ready to be JSON-stringified, or null if the
361
- * event type is not mapped / not interesting.
362
- */
363
- // Canonical hook_event_name (PascalCase) → event_type (snake_case). Mirrors
364
- // pixel-office's HookEventNormalizer::CLAUDE_CODE_TYPES so the CLI can emit the
365
- // final event_type itself — the server then trusts it and doesn't have to know
366
- // every provider (which is what let grok-tui events fall through to "unknown").
367
- const EVENT_TYPE_MAP = {
368
- PreToolUse: 'tool_start', PostToolUse: 'tool_end', PostToolUseFailure: 'tool_error',
369
- SessionStart: 'session_start', SessionEnd: 'session_end', Stop: 'session_end', StopFailure: 'stop_failure',
370
- SubagentStart: 'subagent_start', SubagentStop: 'subagent_stop', TeammateIdle: 'teammate_idle',
371
- PermissionRequest: 'permission_request', PermissionDenied: 'permission_denied', PermissionReplied: 'permission_replied',
372
- UserPromptSubmit: 'user_prompt_submit',
373
- TaskCreated: 'task_created', TaskCompleted: 'task_completed',
374
- CwdChanged: 'cwd_changed', FileChanged: 'file_changed', InstructionsLoaded: 'instructions_loaded', ConfigChange: 'config_change',
375
- PreCompact: 'pre_compact', PostCompact: 'post_compact',
376
- Elicitation: 'elicitation', ElicitationResult: 'elicitation_result',
377
- WorktreeCreate: 'worktree_create', WorktreeRemove: 'worktree_remove',
378
- Notification: 'notification',
379
- AgentMessage: 'agent_message', TurnStart: 'turn_start', TurnEnd: 'turn_end',
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
380
15
  };
381
- /** Canonical event_type for a hook_event_name (falls back to snake_case-ing the name). */
382
- function eventTypeFor(hookEventName) {
383
- if (EVENT_TYPE_MAP[hookEventName]) {
384
- return EVENT_TYPE_MAP[hookEventName];
385
- }
386
- // Unknown PascalCase name → best-effort snake_case so it's at least descriptive.
387
- return hookEventName.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toLowerCase();
388
- }
389
- function normalizeEvent(provider, raw) {
390
- let partial = null;
391
- if (provider === 'copilot-sdk') {
392
- partial = normalizeCopilotSdk(raw, provider);
393
- }
394
- else if (provider === 'opencode-sdk') {
395
- partial = normalizeOpencodeSDK(raw, provider);
396
- }
397
- else {
398
- // claude-cli, copilot-cli, or any other — treat as already-formatted hook
399
- partial = normalizeCliHook(raw, provider);
400
- }
401
- if (!partial) {
402
- return null;
403
- }
404
- // Emit the canonical event_type alongside hook_event_name so downstream
405
- // consumers (pixel-office) never have to re-derive it per provider.
406
- const event_type = eventTypeFor(String(partial.hook_event_name ?? 'unknown'));
407
- return { ...partial, event_type, timestamp: new Date().toISOString() };
408
- }
409
- /**
410
- * Append a normalized event to a JSONL sink file.
411
- * Creates the directory if it doesn't exist.
412
- * Silently ignores write errors (non-critical path).
413
- */
414
- function appendHookEvent(jsonlPath, provider, raw, fs, path, onError) {
415
- const ev = normalizeEvent(provider, raw);
416
- if (!ev) {
417
- return;
418
- }
419
- try {
420
- fs.mkdirSync(path.dirname(jsonlPath), { recursive: true });
421
- fs.appendFileSync(jsonlPath, JSON.stringify(ev) + '\n', 'utf8');
422
- }
423
- catch (e) {
424
- onError?.(e);
425
- }
426
- }
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./providers/base/ProviderNormalizer"), exports);
427
18
  //# sourceMappingURL=hookEventNormalizer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hookEventNormalizer.js","sourceRoot":"","sources":["../src/hookEventNormalizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hookEventNormalizer.js","sourceRoot":"","sources":["../src/hookEventNormalizer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sEAAoD"}
@@ -63,6 +63,47 @@ exports.PROFILE_SECTIONS = [
63
63
  'High stakes or fuzzy check → get a RELATIVE second verification (adversarial self-review, or a teammate over A2A via send_message/check_messages, or an independent re-run) rather than trusting one self-judgment. Verify with real gates: the project tests/build/lint, the verify_and_keep gate (.autodev/CONTROL.md), read_file back your writes.',
64
64
  ],
65
65
  },
66
+ {
67
+ id: '00c-verifiable-threads', label: 'Self-Verifying Message Threads & Todos', file: '00c-verifiable-threads.md',
68
+ keyRules: [
69
+ 'Assume every recipient is context-degraded (different session, never saw your reasoning) — write each A2A message (send_message) and each task/TODO.md hand-off so an agent who saw NONE of your run could act AND verify: state the goal, the exact artifact (path/command/ticket id/office slug), and the objective acceptance criterion. No "the file"/"that bug"/"as discussed" — those are context-gap tells.',
70
+ 'Read as a detector: on check_messages/get_tasks look for the tells of a degraded sender (vague referents, missing acceptance criterion, stale refs). If you spot a gap, recover it (check_messages/get_events/agent_profile) or send ONE clarifying send_message BEFORE acting — never act on a degraded instruction and propagate the error downstream.',
71
+ 'Close the loop verifiably: complete_task/status reports the objective result (what changed, where, how checked, pass/fail with command+output) — never a bare "done". A report a fresh reader can verify keeps the thread honest; a vague "done" is the context-gap tell.',
72
+ ],
73
+ },
74
+ {
75
+ id: '00d-turn-end-retrospective', label: 'Turn-End Honest Retrospective & Next Steps', file: '00d-turn-end-retrospective.md',
76
+ keyRules: [
77
+ 'End every turn with a CANDID opinion, not spin: what you achieved vs intended and how much is VERIFIED (a check ran) vs merely assumed; what went wrong/shaky/skipped/uncertain, stated plainly; what you\'d do differently plus any HONEST DISAGREEMENT with the approach or task; calibrated confidence. A cheerful "all done ✅" that hides a partial failure or rubber-stamps a bad plan is a failure of this protocol, not politeness.',
78
+ 'Follow the verdict with concrete NEXT STEPS: the specific next actions ordered by priority with real handles (file path, task id, command, office slug), blockers + what/who unblocks them, and what you RECOMMEND even if nobody asked ("if I were you I\'d do X next").',
79
+ 'Always state it in your closing output; if you are an office/loop agent make it durable — set_status with a terse honest state, a brief send_message to the owner/next agent when there is something to act on, and write next-steps into TODO.md (manage_agent_todos) so the thread survives your context reset. Keep it proportional — a tight paragraph or a few bullets, never a wall of text.',
80
+ ],
81
+ },
82
+ {
83
+ id: '00e-long-horizon-planning', label: 'Long-Horizon Task Planner', file: '00e-long-horizon-planning.md',
84
+ keyRules: [
85
+ 'Plan the full arc BEFORE executing: decompose the task end-to-end into an ordered set of COMPLETE milestones, each with its own acceptance criterion, up to one explicit "done for the WHOLE task". Resist the first-slice reflex — a rushed start ships a half-task. Order by dependency (blockers first) and spike the unknown/risky parts before committing the plan.',
86
+ 'Define "done" for the whole task, not the first increment: name up front every case/state/path the finished task must cover so "done" can\'t silently shrink to the easy part. Compiles-but-doesn\'t-do-the-job, happy-path-only, or 1-of-N cases is NOT done ([[00b-self-verifiable-work]], graded by [[00d-turn-end-retrospective]]).',
87
+ 'The plan persists across turns — write it + remaining steps into TODO.md (manage_agent_todos / get_tasks) so it survives a context reset; carry and update it each turn, never re-derive from scratch. Prefer a thin end-to-end slice over broad half-built sprawl. Reconcile before closing: no complete_task until every planned step is genuinely [x] and verified; else the task stays open with an honest set_status.',
88
+ ],
89
+ },
90
+ {
91
+ id: '00f-swarm-orchestration', label: 'Swarm Orchestration', file: '00f-swarm-orchestration.md',
92
+ keyRules: [
93
+ 'Your context window is finite — grinding a hard/broad/context-heavy task alone fills it and you DEGRADE mid-task (the out-of-context failure). Become the orchestrator: decompose ([[00e-long-horizon-planning]]) and delegate the heavy reading to workers who burn their OWN fresh contexts, keeping yours lean for the plan+steering. The tell "I\'m about to read a lot to answer this" = delegate it. Small edit/quick lookup → do inline; do NOT over-swarm.',
94
+ 'Stay lean: never pull raw file dumps/logs/large outputs into your own window — have workers read and return only the distilled result (conclusion/diff/artifact), in a shape you specify. Bias to parallel fan-out for independent sub-tasks. Spawn via your provider\'s subagent capability (native Task-style spawn) OR assign the slice as an office task to a teammate (send_message + their get_tasks; pick with list_agents/agent_profile/agent_tasks); collect returns with wait_for_events.',
95
+ 'Every worker gets a LIVING DOCUMENT at .autodev/swarm/<agent-slug>/AGENT.md (same durable .autodev/ tree as graph/issues; write with your file tools) — a self-contained brief AND running log: role, scope (owns/must-not-touch), real handles (paths/commands/acceptance) for a context-degraded reader ([[00c-verifiable-threads]]), input→output contract, reusable playbook, progress log. It PERSISTS → reuse+refine for recurring hard tasks. On return VERIFY don\'t rubber-stamp ([[00b-self-verifiable-work]]), reconcile vs plan, honest verdict ([[00d-turn-end-retrospective]]).',
96
+ 'For hard/high-stakes work don\'t trust a producer\'s "done ✅" — because you didn\'t read the source, a distilled return can hide SHALLOW work (skipped edge case, happy-path-only, unverified/subtly-wrong), and a producer grading itself is biased ([[00b-self-verifiable-work]]). Dispatch a CRITIC SWARM: SEPARATE workers, fresh independent context, prompted to REFUTE (diverse lenses — correctness/completeness/does-it-run/edge/security — not one generic "review this"). Producers build, critics attack. Each critic gets its own .autodev/swarm/<critic-slug>/AGENT.md with a rubric + output contract forcing SPECIFIC findings (file:line — what\'s wrong — severity, or "tried to break X via Y and could not"); forbid the "looks good" rubber stamp. Gate on the verdict: defects → revise → re-critique, accept ONLY when critics pass (severity/majority on disagreement). Proportional — don\'t critic-swarm trivial work; report what SURVIVED criticism vs merely producer-claimed ([[00d-turn-end-retrospective]]).',
97
+ ],
98
+ },
99
+ {
100
+ id: '00g-swarm-living-documents', label: 'Swarm Living Documents', file: '00g-swarm-living-documents.md',
101
+ keyRules: [
102
+ 'A swarm worker\'s brief is not one file but a SET of small bounded living documents under .autodev/swarm/<agent-slug>/ — mirroring how a real autodev agent is structured: AGENT.md (role/scope/real-handles/input→output contract/playbook + an INDEX to siblings), SOUL.md (its identity+specialty, §0.0), MEMORY.md (durable facts it accrues, the delegation analog of §0.2 / .autodev/graph/), LESSONS.md (corrections + what worked/didn\'t, so the reusable role sharpens each pass), TODO.md (its task list + running progress log). The split IS the durability — each survives a context reset and loads on its own.',
103
+ 'The 16 KB-per-file cap is a HARD invariant — the same cap every profile pillar obeys. Living docs are read INTO context, so a file over the cap bloats the reader and defeats staying lean ([[00f-swarm-orchestration]]). When a file approaches the limit SPLIT it — by topic, by time (archive older MEMORY to dated sub-files), or into a linked sub-file — so every piece stays digestible. A doc crossing 16 KB is a bug, not housekeeping-for-later.',
104
+ 'Provision each worker with the FULL autodev profile (pillars 00a–00g + the rest), not a one-line prompt — so a worker is a real, fully-capable agent that can plan ([[00e-long-horizon-planning]]), verify ([[00b-self-verifiable-work]]), and even orchestrate its own sub-swarm, never a thin one-shot helper that grinds its slice in one window. How it arrives depends on the worker: a full autodev agent builds its own .autodev/profile/ on startup; a provider subagent inherits/references the parent\'s pillars; a seeded worker gets the set written under .autodev/swarm/<slug>/. Each profile section is itself its own md under 16 KB.',
105
+ ],
106
+ },
66
107
  {
67
108
  id: '01-learning', label: 'Session Start Order (SUMMARY.md)', file: '01-learning.md',
68
109
  keyRules: [
@@ -1 +1 @@
1
- {"version":3,"file":"profileBuilder.js","sourceRoot":"","sources":["../src/profileBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profileBuilder.js","sourceRoot":"","sources":["../src/profileBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { ProviderId } from '../../providers';
2
+ import { IProvider, ProviderKind, Logger, DispatchRequest, DispatchOutcome, DispatchContext } from './contract';
3
+ export declare abstract class BaseProvider implements IProvider {
4
+ abstract readonly id: ProviderId;
5
+ abstract readonly label: string;
6
+ abstract readonly kind: ProviderKind;
7
+ /** Default: no session to resume. CLI providers that probe override this. */
8
+ resolveSession(_root: string, _log: Logger): Promise<string | undefined>;
9
+ abstract dispatch(req: DispatchRequest, ctx: DispatchContext): Promise<DispatchOutcome>;
10
+ /** Default: stateless, never "busy" between dispatches. */
11
+ isBusy(_root: string): boolean;
12
+ /** Default: nothing persistent to tear down. */
13
+ close(_root: string, _log: Logger): void;
14
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ // ---------------------------------------------------------------------------
3
+ // Abstract base — provides the sane defaults shared by every provider so each
4
+ // concrete class only states what is genuinely different (Liskov + DRY). CLI
5
+ // providers inherit the no-op isBusy/close; only persistent sdk/tui providers
6
+ // override them.
7
+ // ---------------------------------------------------------------------------
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.BaseProvider = void 0;
10
+ class BaseProvider {
11
+ /** Default: no session to resume. CLI providers that probe override this. */
12
+ async resolveSession(_root, _log) {
13
+ return undefined;
14
+ }
15
+ /** Default: stateless, never "busy" between dispatches. */
16
+ isBusy(_root) {
17
+ return false;
18
+ }
19
+ /** Default: nothing persistent to tear down. */
20
+ close(_root, _log) {
21
+ /* no-op */
22
+ }
23
+ }
24
+ exports.BaseProvider = BaseProvider;
25
+ //# sourceMappingURL=BaseProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseProvider.js","sourceRoot":"","sources":["../../../src/providers/base/BaseProvider.ts"],"names":[],"mappings":";AAAA,8EAA8E;AAC9E,8EAA8E;AAC9E,6EAA6E;AAC7E,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;;;AAO9E,MAAsB,YAAY;IAKhC,6EAA6E;IAC7E,KAAK,CAAC,cAAc,CAAC,KAAa,EAAE,IAAY;QAC9C,OAAO,SAAS,CAAC;IACnB,CAAC;IAID,2DAA2D;IAC3D,MAAM,CAAC,KAAa;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gDAAgD;IAChD,KAAK,CAAC,KAAa,EAAE,IAAY;QAC/B,WAAW;IACb,CAAC;CACF;AArBD,oCAqBC"}
@@ -0,0 +1,12 @@
1
+ import type { HookEvent } from './types';
2
+ export declare abstract class ProviderEvents {
3
+ abstract readonly provider: string;
4
+ /** Hook names this family is known to emit (PascalCase). */
5
+ abstract listSupported(): string[];
6
+ /** Persist a hook event to `<root>/.autodev/hooks-events.jsonl`. */
7
+ emit(root: string, hookEventName: string, extra?: Record<string, unknown>): HookEvent;
8
+ /** Append an already-built event to the workspace JSONL sink. */
9
+ append(root: string, ev: HookEvent): void;
10
+ /** Read every event currently in the workspace JSONL (best-effort). */
11
+ readAll(root: string): HookEvent[];
12
+ }